graft: explicit current node tracking
authorDavid Schleimer <dschleimer@fb.com>
Tue, 04 Dec 2012 12:54:18 -0800
changeset 18039 2c2564280900
parent 18038 f8aee8033ab2
child 18040 fe8caf28d580
graft: explicit current node tracking This changes graft to explicitly track the progression of commits it makes, and updates it's idea of the current node based on it's last commit, rather than from the working copy parent. This should have no effect on the value of current since we were reading the working copy parent immediately after commiting to it. The motivation for this change is that a subsequent patch will break the current node and working copy relationship. Splitting this out into a separate patch will make that one more readible.
mercurial/commands.py
--- a/mercurial/commands.py	Tue Dec 04 12:54:18 2012 -0800
+++ b/mercurial/commands.py	Tue Dec 04 12:54:18 2012 -0800
@@ -2830,8 +2830,8 @@
 
     wlock = repo.wlock()
     try:
+        current = repo['.']
         for pos, ctx in enumerate(repo.set("%ld", revs)):
-            current = repo['.']
 
             ui.status(_('grafting revision %s\n') % ctx.rev())
             if opts.get('dry_run'):
@@ -2883,6 +2883,8 @@
                         date=date, extra=extra, editor=editor)
             if node is None:
                 ui.status(_('graft for revision %s is empty\n') % ctx.rev())
+            else:
+                current = repo[node]
     finally:
         wlock.release()