[PATCH 1 of 2] shelve: Move commitfunc closer to use site

Simon Farnsworth simonfar at fb.com
Thu Jan 14 21:09:32 UTC 2016


# HG changeset patch
# User Simon Farnsworth <simonfar at fb.com>
# Date 1452804779 28800
#      Thu Jan 14 12:52:59 2016 -0800
# Node ID 727b137e82bed8ac97cfa4d9ddaa29e92bf393f3
# Parent  4571c0b383378f5eec5189e3a39c672a169ce566
shelve: Move commitfunc closer to use site

Supporting shelving of unknown files needs this code motion.

No functional changes.

diff --git a/hgext/shelve.py b/hgext/shelve.py
--- a/hgext/shelve.py
+++ b/hgext/shelve.py
@@ -267,21 +267,6 @@
         for i in xrange(1, 100):
             yield '%s-%02d' % (label, i)
 
-    def commitfunc(ui, repo, message, match, opts):
-        hasmq = util.safehasattr(repo, 'mq')
-        if hasmq:
-            saved, repo.mq.checkapplied = repo.mq.checkapplied, False
-        backup = repo.ui.backupconfig('phases', 'new-commit')
-        try:
-            repo.ui. setconfig('phases', 'new-commit', phases.secret)
-            editor = cmdutil.getcommiteditor(editform='shelve.shelve', **opts)
-            return repo.commit(message, user, opts.get('date'), match,
-                               editor=editor)
-        finally:
-            repo.ui.restoreconfig(backup)
-            if hasmq:
-                repo.mq.checkapplied = saved
-
     if parent.node() != nullid:
         desc = "changes to: %s" % parent.description().split('\n', 1)[0]
     else:
@@ -320,6 +305,22 @@
             raise error.Abort(_("shelved change names may not start with '.'"))
         interactive = opts.get('interactive', False)
 
+        def commitfunc(ui, repo, message, match, opts):
+            hasmq = util.safehasattr(repo, 'mq')
+            if hasmq:
+                saved, repo.mq.checkapplied = repo.mq.checkapplied, False
+            backup = repo.ui.backupconfig('phases', 'new-commit')
+            try:
+                repo.ui. setconfig('phases', 'new-commit', phases.secret)
+                editor = cmdutil.getcommiteditor(editform='shelve.shelve',
+                                                 **opts)
+                return repo.commit(message, user, opts.get('date'), match,
+                                   editor=editor)
+            finally:
+                repo.ui.restoreconfig(backup)
+                if hasmq:
+                    repo.mq.checkapplied = saved
+
         def interactivecommitfunc(ui, repo, *pats, **opts):
             match = scmutil.match(repo['.'], pats, {})
             message = opts['message']


More information about the Mercurial-devel mailing list