chiark / gitweb /
git.pretty_commit() re-implemented with "git show" (bug #10018)
authorCatalin Marinas <catalin.marinas@gmail.com>
Fri, 7 Dec 2007 21:16:36 +0000 (21:16 +0000)
committerCatalin Marinas <catalin.marinas@gmail.com>
Fri, 7 Dec 2007 21:16:36 +0000 (21:16 +0000)
This way, it honours the diff.renames etc. options.

Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
stgit/commands/show.py
stgit/git.py

index e4e70a5a50131a8543aa7ef928c1217de182dd35..e6814d38c870919e98025eec127c5434fed55028 100644 (file)
@@ -39,8 +39,8 @@ options = [make_option('-b', '--branch',
            make_option('-u', '--unapplied',
                        help = 'show the unapplied patches',
                        action = 'store_true'),
-           make_option('-O', '--diff-opts',
-                       help = 'options to pass to git-diff')]
+           make_option('-O', '--show-opts',
+                       help = 'options to pass to "git show"')]
 
 
 def func(parser, options, args):
@@ -64,13 +64,13 @@ def func(parser, options, args):
             patches = parse_patches(args, applied + unapplied +\
                                 crt_series.get_hidden(), len(applied))
 
-    if options.diff_opts:
-        diff_flags = options.diff_opts.split()
+    if options.show_opts:
+        show_flags = options.show_opts.split()
     else:
-        diff_flags = []
+        show_flags = []
 
     commit_ids = [git_id(crt_series, patch) for patch in patches]
-    commit_str = '\n'.join([git.pretty_commit(commit_id, diff_flags=diff_flags)
+    commit_str = '\n'.join([git.pretty_commit(commit_id, flags = show_flags)
                             for commit_id in commit_ids])
     if commit_str:
         pager(commit_str)
index 4cc35c9cd13e52c0a03d7da173e675911edd702e..27d2595cec458045e3b3518d2af8a5bec4f8f091 100644 (file)
@@ -815,13 +815,10 @@ def barefiles(rev1, rev2):
 
     return '\n'.join(result)
 
-def pretty_commit(commit_id = 'HEAD', diff_flags = []):
+def pretty_commit(commit_id = 'HEAD', flags = []):
     """Return a given commit (log + diff)
     """
-    return GRun('diff-tree',
-                *(diff_flags
-                  + ['--cc', '--always', '--pretty', '-r', commit_id])
-                ).raw_output()
+    return GRun('show', *(flags + [commit_id])).raw_output()
 
 def checkout(files = None, tree_id = None, force = False):
     """Check out the given or all files