Files
@ 631e8000eae8
Branch filter:
Location: kallithea/rhodecode/lib/vcs/utils/paths.py - annotation
631e8000eae8
834 B
text/x-python
diff parser: match the header order of hg diff --git patches
The output might look like:
diff --git a/A b/B
old mode 100644
new mode 100755
rename from A
rename to B
--- a/A
+++ b/B
Such files were shown as 'modified binary file chmod 100644 => 100755' without
diff.
Now the chmod and diff will be shown ... but still not the rename.
Correct parsing of headers do require a better parser - one do not just use a
regexp.
The output might look like:
diff --git a/A b/B
old mode 100644
new mode 100755
rename from A
rename to B
--- a/A
+++ b/B
Such files were shown as 'modified binary file chmod 100644 => 100755' without
diff.
Now the chmod and diff will be shown ... but still not the rename.
Correct parsing of headers do require a better parser - one do not just use a
regexp.
324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 26fac32c215d 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 26fac32c215d | import os
abspath = lambda * p: os.path.abspath(os.path.join(*p))
def get_dirs_for_path(*paths):
"""
Returns list of directories, including intermediate.
"""
for path in paths:
head = path
while head:
head, tail = os.path.split(head)
if head:
yield head
else:
# We don't need to yield empty path
break
def get_dir_size(path):
root_path = path
size = 0
for path, dirs, files in os.walk(root_path):
for f in files:
try:
size += os.path.getsize(os.path.join(path, f))
except OSError:
pass
return size
def get_user_home():
"""
Returns home path of the user.
"""
return os.getenv('HOME', os.getenv('USERPROFILE')) or ''
|