Mercurial > public > mercurial-scm > hg
diff hgext/rebase.py @ 18549:12de53323e59 stable
rebase: derive node from target rev (issue3802)
dest.rev() is the same as target when a new rebase is run, but dest
isn't set when rebase --continue is run. Bug introduced in 2a1fac3650a5,
which fixed issue3685.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Sun, 03 Feb 2013 14:26:39 -0800 |
parents | 0324a1d88a53 |
children | 3e92772d5383 72412afe4c28 |
line wrap: on
line diff
--- a/hgext/rebase.py Fri Feb 01 15:32:05 2013 -0600 +++ b/hgext/rebase.py Sun Feb 03 14:26:39 2013 -0800 @@ -316,6 +316,9 @@ for k, v in state.iteritems(): if v > nullmerge: nstate[repo[k].node()] = repo[v].node() + # XXX this is the same as dest.node() for the non-continue path -- + # this should probably be cleaned up + targetnode = repo[target].node() if not keepf: collapsedas = None @@ -324,7 +327,7 @@ clearrebased(ui, repo, state, skipped, collapsedas) if currentbookmarks: - updatebookmarks(repo, dest, nstate, currentbookmarks) + updatebookmarks(repo, targetnode, nstate, currentbookmarks) clearstatus(repo) ui.note(_("rebase completed\n")) @@ -501,15 +504,14 @@ mq.seriesdirty = True mq.savedirty() -def updatebookmarks(repo, dest, nstate, originalbookmarks): +def updatebookmarks(repo, targetnode, nstate, originalbookmarks): 'Move bookmarks to their correct changesets, and delete divergent ones' - destnode = dest.node() marks = repo._bookmarks for k, v in originalbookmarks.iteritems(): if v in nstate: # update the bookmarks for revs that have moved marks[k] = nstate[v] - bookmarks.deletedivergent(repo, [destnode], k) + bookmarks.deletedivergent(repo, [targetnode], k) marks.write()