Show More
@@ -170,6 +170,19 b' def deletedivergent(repo, deletefrom, bm' | |||||
170 | deleted = True |
|
170 | deleted = True | |
171 | return deleted |
|
171 | return deleted | |
172 |
|
172 | |||
|
173 | def calculateupdate(ui, repo, checkout): | |||
|
174 | '''Return a tuple (targetrev, movemarkfrom) indicating the rev to | |||
|
175 | check out and where to move the active bookmark from, if needed.''' | |||
|
176 | movemarkfrom = None | |||
|
177 | if checkout is None: | |||
|
178 | curmark = repo._bookmarkcurrent | |||
|
179 | if iscurrent(repo): | |||
|
180 | movemarkfrom = repo['.'].node() | |||
|
181 | elif curmark: | |||
|
182 | ui.status(_("updating to active bookmark %s\n") % curmark) | |||
|
183 | checkout = curmark | |||
|
184 | return (checkout, movemarkfrom) | |||
|
185 | ||||
173 | def update(repo, parents, node): |
|
186 | def update(repo, parents, node): | |
174 | deletefrom = parents |
|
187 | deletefrom = parents | |
175 | marks = repo._bookmarks |
|
188 | marks = repo._bookmarks |
@@ -4520,7 +4520,7 b' def postincoming(ui, repo, modheads, opt' | |||||
4520 | if modheads == 0: |
|
4520 | if modheads == 0: | |
4521 | return |
|
4521 | return | |
4522 | if optupdate: |
|
4522 | if optupdate: | |
4523 | movemarkfrom = repo['.'].node() |
|
4523 | checkout, movemarkfrom = bookmarks.calculateupdate(ui, repo, checkout) | |
4524 | try: |
|
4524 | try: | |
4525 | ret = hg.update(repo, checkout) |
|
4525 | ret = hg.update(repo, checkout) | |
4526 | except util.Abort, inst: |
|
4526 | except util.Abort, inst: | |
@@ -5829,14 +5829,7 b' def update(ui, repo, node=None, rev=None' | |||||
5829 | cmdutil.clearunfinished(repo) |
|
5829 | cmdutil.clearunfinished(repo) | |
5830 |
|
5830 | |||
5831 | # with no argument, we also move the current bookmark, if any |
|
5831 | # with no argument, we also move the current bookmark, if any | |
5832 | movemarkfrom = None |
|
5832 | rev, movemarkfrom = bookmarks.calculateupdate(ui, repo, rev) | |
5833 | if rev is None: |
|
|||
5834 | curmark = repo._bookmarkcurrent |
|
|||
5835 | if bookmarks.iscurrent(repo): |
|
|||
5836 | movemarkfrom = repo['.'].node() |
|
|||
5837 | elif curmark: |
|
|||
5838 | ui.status(_("updating to active bookmark %s\n") % curmark) |
|
|||
5839 | rev = curmark |
|
|||
5840 |
|
5833 | |||
5841 | # if we defined a bookmark, we have to remember the original bookmark name |
|
5834 | # if we defined a bookmark, we have to remember the original bookmark name | |
5842 | brev = rev |
|
5835 | brev = rev |
@@ -507,19 +507,37 b" update to current bookmark if it's not t" | |||||
507 | * Z 3:125c9a1d6df6 |
|
507 | * Z 3:125c9a1d6df6 | |
508 | x y 2:db815d6d32e6 |
|
508 | x y 2:db815d6d32e6 | |
509 |
|
509 | |||
|
510 | pull --update works the same as pull && update | |||
|
511 | ||||
|
512 | $ hg bookmark -r3 Y | |||
|
513 | moving bookmark 'Y' forward from db815d6d32e6 | |||
|
514 | $ hg -R cloned-bookmarks-update update Y | |||
|
515 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
516 | $ hg -R cloned-bookmarks-update pull --update . | |||
|
517 | pulling from . | |||
|
518 | searching for changes | |||
|
519 | adding changesets | |||
|
520 | adding manifests | |||
|
521 | adding file changes | |||
|
522 | added 2 changesets with 2 changes to 2 files (+1 heads) | |||
|
523 | updating bookmark Y | |||
|
524 | updating bookmark Z | |||
|
525 | updating to active bookmark Y | |||
|
526 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
527 | ||||
510 | test wrongly formated bookmark |
|
528 | test wrongly formated bookmark | |
511 |
|
529 | |||
512 | $ echo '' >> .hg/bookmarks |
|
530 | $ echo '' >> .hg/bookmarks | |
513 | $ hg bookmarks |
|
531 | $ hg bookmarks | |
514 | X2 1:925d80f479bb |
|
532 | X2 1:925d80f479bb | |
515 |
Y |
|
533 | Y 3:125c9a1d6df6 | |
516 | * Z 3:125c9a1d6df6 |
|
534 | * Z 3:125c9a1d6df6 | |
517 | x y 2:db815d6d32e6 |
|
535 | x y 2:db815d6d32e6 | |
518 | $ echo "Ican'thasformatedlines" >> .hg/bookmarks |
|
536 | $ echo "Ican'thasformatedlines" >> .hg/bookmarks | |
519 | $ hg bookmarks |
|
537 | $ hg bookmarks | |
520 | malformed line in .hg/bookmarks: "Ican'thasformatedlines" |
|
538 | malformed line in .hg/bookmarks: "Ican'thasformatedlines" | |
521 | X2 1:925d80f479bb |
|
539 | X2 1:925d80f479bb | |
522 |
Y |
|
540 | Y 3:125c9a1d6df6 | |
523 | * Z 3:125c9a1d6df6 |
|
541 | * Z 3:125c9a1d6df6 | |
524 | x y 2:db815d6d32e6 |
|
542 | x y 2:db815d6d32e6 | |
525 |
|
543 |
General Comments 0
You need to be logged in to leave comments.
Login now