Catalin Marinas <[EMAIL PROTECTED]> writes:
> A new StGIT release is available from http://procode.org/stgit/
I think it would be good if it was possible to include diffstat output
in exported patches, something like this:
Added possibility to include diffstat output in exported patches.
Signed-off-by: Peter Osterlund <[EMAIL PROTECTED]>
---
b/stgit/git.py | 22 ++++++++++++++++++++++
b/stgit/main.py | 2 ++
2 files changed, 24 insertions(+)
diff --git a/stgit/git.py b/stgit/git.py
--- a/stgit/git.py
+++ b/stgit/git.py
@@ -345,6 +345,28 @@ def diff(files = [], rev1 = 'HEAD', rev2
% (rev1, files_str, extra_args)) != 0:
raise GitException, 'git-diff-cache failed'
+def diffstat(files = [], rev1 = 'HEAD', rev2 = None):
+ """Return the diffstat between rev1 and rev2
+ """
+ files_str = reduce(lambda x, y: x + ' ' + y, files, '')
+
+ os.system('git-update-cache --refresh > /dev/null')
+
+ if rev2:
+ f = os.popen('git-diff-tree -p %s %s %s | diffstat -p0'
+ % (rev1, rev2, files_str), 'r')
+ str = f.read()
+ if f.close():
+ raise GitException, 'git-diff-tree failed'
+ return str
+ else:
+ f = os.popen('git-diff-cache -p %s %s | diffstat -p0'
+ % (rev1, files_str), 'r')
+ str = f.read()
+ if f.close():
+ raise GitException, 'git-diff-cache failed'
+ return str
+
def checkout(files = [], force = False):
"""Check out the given or all files
"""
diff --git a/stgit/main.py b/stgit/main.py
--- a/stgit/main.py
+++ b/stgit/main.py
@@ -659,6 +659,8 @@ def export(parser, options, args):
patch = crt_series.get_patch(p)
tmpl_dict = {'description': patch.get_description().rstrip(),
+ 'diffstat': git.diffstat(rev1 = __git_id('%s/bottom' % p),
+ rev2 = __git_id('%s/top' % p)),
'authname': patch.get_authname(),
'authemail': patch.get_authemail(),
'authdate': patch.get_authdate(),
--
Peter Osterlund - [EMAIL PROTECTED]
http://web.telia.com/~u89404340
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html