git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alex Chiang <achiang@hp.com>
To: catalin.marinas@gmail.com, kha@treskal.com
Cc: git@vger.kernel.org
Subject: [StGit PATCH] teach --summary to stg show
Date: Thu, 18 Jun 2009 23:06:53 -0600	[thread overview]
Message-ID: <20090619050653.GD21764@ldl.fc.hp.com> (raw)

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.

This new option is handy for getting a sense of the scale of your
patch-series-in-progress.

You'd think this option wouldn't be necessary, but simply piping
the output of stg show -a into diffstat (v1.45) doesn't do the
Right Thing(tm):

achiang@bob:linux-2.6$ stg series
+ export-acpi-pci-root
+ acpiphp-find-bridges-easy
> acpi-pci-detect-ejectable-interface

achiang@bob:linux-2.6$ stg show -a | diffstat
 b/drivers/acpi/pci_root.c            |   16 ------
 b/drivers/pci/hotplug/acpi_pcihp.c   |    7 --
 b/drivers/pci/hotplug/acpiphp_glue.c |   89 +++++++++++------------------------
 b/drivers/pci/hotplug/pciehp_acpi.c  |    5 +
 b/include/acpi/acpi_bus.h            |   14 +++++
 b/include/linux/pci_hotplug.h        |    2 
 drivers/pci/hotplug/acpiphp_glue.c   |   14 -----
 7 files changed, 52 insertions(+), 95 deletions(-)

Here is the correct diffstat using the new -s option.

achiang@bob:linux-2.6$ stg show -a -s
 drivers/acpi/pci_root.c            |   16 +------
 drivers/pci/hotplug/acpi_pcihp.c   |    7 +--
 drivers/pci/hotplug/acpiphp_glue.c |   77 ++++++++----------------------------
 drivers/pci/hotplug/pciehp_acpi.c  |    5 +-
 include/acpi/acpi_bus.h            |   14 +++++++
 include/linux/pci_hotplug.h        |    2 -
 6 files changed, 39 insertions(+), 82 deletions(-)

Signed-off-by: Alex Chiang <achiang@hp.com>
---
diff --git a/stgit/commands/show.py b/stgit/commands/show.py
index b7a8aa9..1f862f7 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', '--summary', action = 'store_true',
+        short = 'Show a diffstat summary of the specified patches'),
     ] + argparse.diff_opts_option()
 
 directory = DirectoryHasRepository(log = False)
@@ -62,9 +65,14 @@ def func(parser, options, args):
         patches = args
 
     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.summary:
+        commit_str = gitlib.diffstat(git.diff(
+                                rev1 = git_id(crt_series, '%s^' % patches[0]),
+                                rev2 = git_id(crt_series, '%s' % patches[-1])))
+    else:
+        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 commit_str:
         pager(commit_str)

             reply	other threads:[~2009-06-19  5:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-19  5:06 Alex Chiang [this message]
2009-07-10 10:11 ` [StGit PATCH] teach --summary to stg show Catalin Marinas
2009-07-10 18:56   ` Alex Chiang
2009-07-10 22:14     ` Catalin Marinas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090619050653.GD21764@ldl.fc.hp.com \
    --to=achiang@hp.com \
    --cc=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=kha@treskal.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).