Allow the Repository.get_stack() to get a default argument
authorCatalin Marinas <catalin.marinas@gmail.com>
Wed, 28 May 2008 21:02:01 +0000 (22:02 +0100)
committerCatalin Marinas <catalin.marinas@gmail.com>
Wed, 28 May 2008 21:02:01 +0000 (22:02 +0100)
If no argument or if it is None, it returns the current stack. This is
useful for many of the functions taking a --branch option.

Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
stgit/commands/applied.py
stgit/commands/delete.py
stgit/commands/series.py
stgit/commands/unapplied.py
stgit/lib/stack.py

index 522425b..e57c796 100644 (file)
@@ -42,10 +42,7 @@ def func(parser, options, args):
     if len(args) != 0:
         parser.error('incorrect number of arguments')
 
-    if options.branch:
-        s = directory.repository.get_stack(options.branch)
-    else:
-        s = directory.repository.current_stack
+    s = directory.repository.get_stack(options.branch)
 
     if options.count:
         out.stdout(len(s.patchorder.applied))
index de46085..c5d3754 100644 (file)
@@ -34,11 +34,10 @@ options = [make_option('-b', '--branch',
 
 def func(parser, options, args):
     """Delete one or more patches."""
+    stack = directory.repository.get_stack(options.branch)
     if options.branch:
-        stack = directory.repository.get_stack(options.branch)
         iw = None # can't use index/workdir to manipulate another branch
     else:
-        stack = directory.repository.current_stack
         iw = stack.repository.default_iw
     if args:
         patches = set(common.parse_patches(args, list(stack.patchorder.all)))
index c525b9a..04183bd 100644 (file)
@@ -106,10 +106,7 @@ def func(parser, options, args):
     if options.all and options.short:
         raise common.CmdException, 'combining --all and --short is meaningless'
 
-    if options.branch:
-        stack = directory.repository.get_stack(options.branch)
-    else:
-        stack = directory.repository.current_stack
+    stack = directory.repository.get_stack(options.branch)
     if options.missing:
         cmp_stack = stack
         stack = directory.repository.get_stack(options.missing)
index 7702207..7323346 100644 (file)
@@ -41,10 +41,7 @@ def func(parser, options, args):
     if len(args) != 0:
         parser.error('incorrect number of arguments')
 
-    if options.branch:
-        s = directory.repository.get_stack(options.branch)
-    else:
-        s = directory.repository.current_stack
+    s = directory.repository.get_stack(options.branch)
 
     if options.count:
         out.stdout(len(s.patchorder.unapplied))
index f82562d..6a2b40d 100644 (file)
@@ -172,8 +172,10 @@ class Repository(git.Repository):
         return utils.strip_leading('refs/heads/', self.head)
     @property
     def current_stack(self):
-        return self.get_stack(self.current_branch)
-    def get_stack(self, name):
+        return self.get_stack()
+    def get_stack(self, name = None):
+        if not name:
+            name = self.current_branch
         if not name in self.__stacks:
             self.__stacks[name] = Stack(self, name)
         return self.__stacks[name]