git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[StGit PATCH 6/9] Convert 'unhide' to the lib infrastructure

From
CMCatalin Marinas <catalin.marinas@arm.com>
Date
Apr 28, 2009, 15:10 UTC
Message-ID
<20090428151008.27261.10237.stgit@pc1117.cambridge.arm.com>
In-Reply-To
<20090428150742.27261.19620.stgit@pc1117.cambridge.arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
---
 stgit/commands/unhide.py |   39 +++++++++++++++++++++------------------
 1 files changed, 21 insertions(+), 18 deletions(-)
diff --git a/stgit/commands/unhide.py b/stgit/commands/unhide.py
index 0c0832a..656ddea 100644
--- a/stgit/commands/unhide.py
+++ b/stgit/commands/unhide.py
@@ -1,5 +1,5 @@
 __copyright__ = """
-Copyright (C) 2007, Catalin Marinas <catalin.marinas@gmail.com>
+Copyright (C) 2009, Catalin Marinas <catalin.marinas@gmail.com>
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License version 2 as
@@ -15,12 +15,10 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 """
 
-import sys, os
+from stgit.commands import common
+from stgit.lib import transaction
+from stgit import argparse
 from stgit.argparse import opt
-from stgit.commands.common import *
-from stgit.utils import *
-from stgit.out import *
-from stgit import argparse, stack, git
 
 help = 'Unhide a hidden patch'
 kind = 'stack'
@@ -34,19 +32,24 @@ options = [
     opt('-b', '--branch', args = [argparse.stg_branches],
         short = 'Use BRANCH instead of the default branch')]
 
-directory = DirectoryHasRepository(log = True)
+directory = common.DirectoryHasRepositoryLib()
 
 def func(parser, options, args):
-    """Unhide a range of patches in the series
-    """
-    if args:
-        # parsing all the patches for a more meaningful error reporting
-        all_patches = crt_series.get_applied() + crt_series.get_unapplied() \
-                      + crt_series.get_hidden()
-        patches = parse_patches(args, all_patches)
-    else:
+    """Unhide a range of patch in the series."""
+    stack = directory.repository.current_stack
+    trans = transaction.StackTransaction(stack, 'hide')
+
+    if not args:
         parser.error('No patches specified')
 
-    for patch in patches:
-        crt_series.unhide_patch(patch)
-        out.info('Patch "%s" unhidden' % patch)
+    patches = common.parse_patches(args, trans.all_patches)
+    for p in patches:
+        if not p in trans.hidden:
+            raise common.CmdException('Patch "%s" not hidden' % p)
+
+    applied = list(trans.applied)
+    unapplied = trans.unapplied + patches
+    hidden = [p for p in trans.hidden if not p in set(patches)]
+
+    trans.reorder_patches(applied, unapplied, hidden)
+    return trans.run()
Previous: Catalin MarinasNext: Karl Hasselström
Message 14 of 27 in “Various StGit updates”
  1. 0/9 Various StGit updatesCatalin Marinas, Apr 28, 2009
  2. 1/9 Show "Pushing <patch>...done" when pushing a patchCatalin Marinas, Apr 28, 2009
  3. Karl HasselströmApr 29, 2009
  4. 2/9 Show some progress information when checking for upstream merges.Catalin Marinas, Apr 28, 2009
  5. Karl HasselströmApr 29, 2009
  6. 3/9 Do not sleep after the last patch sent by e-mailCatalin Marinas, Apr 28, 2009
  7. Karl HasselströmApr 29, 2009
  8. 4/9 Convert 'clone' to the use stgit.libCatalin Marinas, Apr 28, 2009
  9. Karl HasselströmApr 29, 2009
  10. Catalin MarinasMay 13, 2009
  11. 5/9 Convert 'hide' to the lib infrastructureCatalin Marinas, Apr 28, 2009
  12. Karl HasselströmApr 29, 2009
  13. Catalin MarinasMay 13, 2009
  14. 6/9 Convert 'unhide' to the lib infrastructureCatalin Marinas, Apr 28, 2009
  15. Karl HasselströmApr 29, 2009
  16. 7/9 Reinstate the --annotate option for refreshCatalin Marinas, Apr 28, 2009
  17. Karl HasselströmApr 29, 2009
  18. 8/9 Add the log --clear optionCatalin Marinas, Apr 28, 2009
  19. Karl HasselströmApr 29, 2009
  20. 9/9 Use the default git colouring scheme rather than specific scriptsCatalin Marinas, Apr 28, 2009
  21. Karl HasselströmApr 29, 2009
  22. Samuel TardieuApr 29, 2009
  23. Samuel TardieuApr 29, 2009
  24. Karl HasselströmApr 29, 2009
  25. Shinya KuribayashiMay 4, 2009
  26. Catalin MarinasMay 29, 2009
  27. Shinya KuribayashiMay 30, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.