diff hgext/evolve.py @ 263:de62daaf2054

amend: drop --branches, pick it from working directory The amended changeset branch was picked either from --branch or from the first parent, but the actual working directory branch was ignored. The behaviour is changed so the amended revision branch is picked from the intermediate revision, which branch comes from the usual working directory rules. --branch is thus replaced by "hg branch".
author Patrick Mezard <patrick@mezard.eu>
date Tue, 12 Jun 2012 11:14:02 +0200
parents fd3db1e6b7a3
children 1c21865bf8ba
line wrap: on
line diff
--- a/hgext/evolve.py	Tue Jun 12 11:08:27 2012 +0200
+++ b/hgext/evolve.py	Tue Jun 12 11:14:02 2012 +0200
@@ -112,6 +112,8 @@
 
         user = commitopts.get('user') or old.user()
         date = commitopts.get('date') or None # old.date()
+        extra = dict(commitopts.get('extra', {}))
+        extra['branch'] = head.branch()
 
         new = context.memctx(repo,
                              parents=newbases,
@@ -120,7 +122,7 @@
                              filectxfn=filectxfn,
                              user=user,
                              date=date,
-                             extra=commitopts.get('extra') or None)
+                             extra=extra)
 
         if commitopts.get('edit'):
             new._text = cmdutil.commitforceeditor(repo, new, [])
@@ -352,8 +354,6 @@
      _('use text as commit message for this update')),
     ('c', 'change', '',
      _('specifies the changeset to amend'), _('REV')),
-    ('b', 'branch', '',
-     _('specifies a branch for the new.'), _('REV')),
     ('e', 'edit', False,
      _('edit commit message.'), _('')),
     ] + walkopts + commitopts + commitopts2,
@@ -389,12 +389,6 @@
     if change == '.':
         change = 'p1(p1())'
     old = scmutil.revsingle(repo, change)
-    branch = opts.get('branch')
-    if branch:
-        opts.setdefault('extra', {})['branch'] = branch
-    else:
-        if old.branch() != 'default':
-            opts.setdefault('extra', {})['branch'] = old.branch()
 
     lock = repo.lock()
     try:
@@ -421,7 +415,7 @@
             updatenodes = set(cl.nodesbetween(roots=[old.node()],
                                               heads=[head.node()])[0])
             updatenodes.remove(old.node())
-            okoptions = ['message', 'logfile', 'edit', 'user', 'branch']
+            okoptions = ['message', 'logfile', 'edit', 'user']
             if not updatenodes:
                 for o in okoptions:
                     if opts.get(o):