Re: [StGit PATCH] teach --summary to stg show
- From
- Catalin Marinas <catalin.marinas@gmail.com>
- Date
- Jul 10, 2009, 10:11 UTC
- Message-ID
- <b0943d9e0907100311n26af2e86j95cae2200298ff68@mail.gmail.com>
- In-Reply-To
- <20090619050653.GD21764@ldl.fc.hp.com>
Hi Alex,
Sorry for the loooong delay.
2009/6/19 Alex Chiang <achiang@hp.com>:
> 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