Allow patch refreshing for some files only
authorCatalin Marinas <catalin.marinas@gmail.com>
Mon, 23 Jan 2006 17:37:31 +0000 (17:37 +0000)
committerCatalin Marinas <catalin.marinas@gmail.com>
Mon, 23 Jan 2006 17:37:31 +0000 (17:37 +0000)
The patch allows the 'refresh' command to accept files as arguments. Only
the local changes to the specified files will be considered for inclusion
in the patch to be refreshed.

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

index 48b406a..20b7546 100644 (file)
@@ -26,7 +26,7 @@ from stgit.config import config
 
 
 help = 'generate a new commit for the current patch'
-usage = """%prog [options]
+usage = """%prog [options] [<files...>]
 
 Include the latest tree changes in the current patch. This command
 generates a new GIT commit object with the patch details, the previous
@@ -66,9 +66,6 @@ options = [make_option('-f', '--force',
 
 
 def func(parser, options, args):
-    if len(args) != 0:
-        parser.error('incorrect number of arguments')
-
     if config.has_option('stgit', 'autoresolved'):
         autoresolved = config.get('stgit', 'autoresolved')
     else:
@@ -97,7 +94,8 @@ def func(parser, options, args):
 
         if autoresolved == 'yes':
             resolved_all()
-        crt_series.refresh_patch(message = options.message,
+        crt_series.refresh_patch(files = args,
+                                 message = options.message,
                                  edit = options.edit,
                                  show_patch = options.showpatch,
                                  author_name = options.authname,
index c2adeb9..b081c95 100644 (file)
@@ -476,7 +476,8 @@ class Series:
         if os.path.exists(self.__base_file):
             os.remove(self.__base_file)
 
-    def refresh_patch(self, message = None, edit = False, show_patch = False,
+    def refresh_patch(self, files = None, message = None, edit = False,
+                      show_patch = False,
                       cache_update = True,
                       author_name = None, author_email = None,
                       author_date = None,
@@ -512,7 +513,8 @@ class Series:
         if not committer_email:
             committer_email = patch.get_commemail()
 
-        commit_id = git.commit(message = descr, parents = [patch.get_bottom()],
+        commit_id = git.commit(files = files,
+                               message = descr, parents = [patch.get_bottom()],
                                cache_update = cache_update,
                                allowempty = True,
                                author_name = author_name,