chiark / gitweb /
Merge branch 'stable'
[stgit] / stgit / commands / export.py
index 16c64ba63a787f40c0386f7c59c514b374df0461..6ebfd2aecf910d0d151d0fdff13f23df2ba0a2df 100644 (file)
@@ -89,8 +89,9 @@ def func(parser, options, args):
         series = file(os.path.join(dirname, 'series'), 'w+')
 
     applied = crt_series.get_applied()
+    unapplied = crt_series.get_unapplied()
     if len(args) != 0:
-        patches = parse_patches(args, applied)
+        patches = parse_patches(args, applied + unapplied, len(applied))
     else:
         patches = applied
 
@@ -138,11 +139,13 @@ def func(parser, options, args):
         long_descr = reduce(lambda x, y: x + '\n' + y,
                             descr_lines[1:], '').strip()
 
+        diff = git.diff(rev1 = patch.get_bottom(),
+                        rev2 = patch.get_top(),
+                        diff_flags = options.diff_flags)
         tmpl_dict = {'description': patch.get_description().rstrip(),
                      'shortdescr': short_descr,
                      'longdescr': long_descr,
-                     'diffstat': git.diffstat(rev1 = patch.get_bottom(),
-                                              rev2 = patch.get_top()),
+                     'diffstat': git.diffstat(diff),
                      'authname': patch.get_authname(),
                      'authemail': patch.get_authemail(),
                      'authdate': patch.get_authdate(),
@@ -172,9 +175,7 @@ def func(parser, options, args):
             print '-'*79
 
         f.write(descr)
-        f.write(git.diff(rev1 = patch.get_bottom(),
-                         rev2 = patch.get_top(),
-                         diff_flags = options.diff_flags))
+        f.write(diff)
         if not options.stdout:
             f.close()
         patch_no += 1