##// END OF EJS Templates
rebase: derive node from target rev (issue3802)...
Siddharth Agarwal -
r18549:12de5332 stable
parent child Browse files
Show More
@@ -316,6 +316,9 b' def rebase(ui, repo, **opts):'
316 316 for k, v in state.iteritems():
317 317 if v > nullmerge:
318 318 nstate[repo[k].node()] = repo[v].node()
319 # XXX this is the same as dest.node() for the non-continue path --
320 # this should probably be cleaned up
321 targetnode = repo[target].node()
319 322
320 323 if not keepf:
321 324 collapsedas = None
@@ -324,7 +327,7 b' def rebase(ui, repo, **opts):'
324 327 clearrebased(ui, repo, state, skipped, collapsedas)
325 328
326 329 if currentbookmarks:
327 updatebookmarks(repo, dest, nstate, currentbookmarks)
330 updatebookmarks(repo, targetnode, nstate, currentbookmarks)
328 331
329 332 clearstatus(repo)
330 333 ui.note(_("rebase completed\n"))
@@ -501,15 +504,14 b' def updatemq(repo, state, skipped, **opt'
501 504 mq.seriesdirty = True
502 505 mq.savedirty()
503 506
504 def updatebookmarks(repo, dest, nstate, originalbookmarks):
507 def updatebookmarks(repo, targetnode, nstate, originalbookmarks):
505 508 'Move bookmarks to their correct changesets, and delete divergent ones'
506 destnode = dest.node()
507 509 marks = repo._bookmarks
508 510 for k, v in originalbookmarks.iteritems():
509 511 if v in nstate:
510 512 # update the bookmarks for revs that have moved
511 513 marks[k] = nstate[v]
512 bookmarks.deletedivergent(repo, [destnode], k)
514 bookmarks.deletedivergent(repo, [targetnode], k)
513 515
514 516 marks.write()
515 517
@@ -127,5 +127,36 b' Keep active bookmark on the correct chan'
127 127 |
128 128 o 0: 'A' bookmarks:
129 129
130 rebase --continue with bookmarks present (issue3802)
131
132 $ hg up 2
133 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
134 $ echo 'C' > c
135 $ hg add c
136 $ hg ci -m 'other C'
137 created new head
138 $ hg up 3
139 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
140 $ hg rebase
141 merging c
142 warning: conflicts during merge.
143 merging c incomplete! (edit conflicts, then use 'hg resolve --mark')
144 abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
145 [255]
146 $ echo 'c' > c
147 $ hg resolve --mark c
148 $ hg rebase --continue
149 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/3d5fa227f4b5-backup.hg (glob)
150 $ hg tglog
151 @ 4: 'C' bookmarks: Y Z
152 |
153 o 3: 'other C' bookmarks:
154 |
155 o 2: 'B' bookmarks: X
156 |
157 o 1: 'D' bookmarks: W
158 |
159 o 0: 'A' bookmarks:
160
130 161
131 162 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now