Hi Alex, Sorry for the loooong delay. 2009/6/19 Alex Chiang <achiang@xxxxxx>: > Add -s/--summary option to stg show, which will generate a nice > diffstat, similar to what you get in a cover mail if you specify > %(diffstat)s. I would use --stat for consistency with the diff command. > + commit_str = gitlib.diffstat(git.diff( > + rev1 = git_id(crt_series, '%s^' % patches[0]), > + rev2 = git_id(crt_series, '%s' % patches[-1]))) This works only of the shown patches are consecutive. If you specify random patches, the diffstat isn't correct. I propose this form of the patch: diff --git a/stgit/commands/show.py b/stgit/commands/show.py index b7a8aa9..45c3a56 100644 --- a/stgit/commands/show.py +++ b/stgit/commands/show.py @@ -20,6 +20,7 @@ from pydoc import pager from stgit.argparse import opt from stgit.commands.common import * from stgit import argparse, git +from stgit.lib import git as gitlib help = 'Show the commit corresponding to a patch' kind = 'patch' @@ -38,6 +39,8 @@ options = [ short = 'Show the applied patches'), opt('-u', '--unapplied', action = 'store_true', short = 'Show the unapplied patches'), + opt('-s', '--stat', action = 'store_true', + short = 'Show a diffstat summary of the specified patches'), ] + argparse.diff_opts_option() directory = DirectoryHasRepository(log = False) @@ -61,10 +64,13 @@ def func(parser, options, args): # individual patches or commit ids patches = args - options.diff_flags.extend(color_diff_flags()) + if not options.stat: + options.diff_flags.extend(color_diff_flags()) commit_ids = [git_id(crt_series, patch) for patch in patches] commit_str = '\n'.join([git.pretty_commit(commit_id, flags = options.diff_flags) for commit_id in commit_ids]) + if options.stat: + commit_str = gitlib.diffstat(commit_str) if commit_str: pager(commit_str) -- Catalin -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html