Show More
@@ -487,6 +487,8 b' def listbookmarks(repo):' | |||
|
487 | 487 | |
|
488 | 488 | |
|
489 | 489 | def pushbookmark(repo, key, old, new): |
|
490 | if isdivergent(key): | |
|
491 | return False | |
|
490 | 492 | if bookmarksinstore(repo): |
|
491 | 493 | wlock = util.nullcontextmanager() |
|
492 | 494 | else: |
@@ -2368,6 +2368,11 b' def handlebookmark(op, inpart):' | |||
|
2368 | 2368 | b'prepushkey', throw=True, **pycompat.strkwargs(hookargs) |
|
2369 | 2369 | ) |
|
2370 | 2370 | |
|
2371 | for book, node in changes: | |
|
2372 | if bookmarks.isdivergent(book): | |
|
2373 | msg = _(b'cannot accept divergent bookmark %s!') % book | |
|
2374 | raise error.Abort(msg) | |
|
2375 | ||
|
2371 | 2376 | bookstore.applychanges(op.repo, op.gettransaction(), changes) |
|
2372 | 2377 | |
|
2373 | 2378 | if pushkeycompat: |
@@ -856,7 +856,11 b' def _processcompared(pushop, pushed, exp' | |||
|
856 | 856 | for b, scid, dcid in addsrc: |
|
857 | 857 | if b in explicit: |
|
858 | 858 | explicit.remove(b) |
|
859 | pushop.outbookmarks.append((b, b'', scid)) | |
|
859 | if bookmod.isdivergent(b): | |
|
860 | pushop.ui.warn(_(b'cannot push divergent bookmark %s!\n') % b) | |
|
861 | pushop.bkresult = 2 | |
|
862 | else: | |
|
863 | pushop.outbookmarks.append((b, b'', scid)) | |
|
860 | 864 | # search for overwritten bookmark |
|
861 | 865 | for b, scid, dcid in list(advdst) + list(diverge) + list(differ): |
|
862 | 866 | if b in explicit: |
@@ -24,6 +24,7 b'' | |||
|
24 | 24 | * Use `hg copy --forget --at-rev REV` to unmark already committed |
|
25 | 25 | copies. |
|
26 | 26 | |
|
27 | * prevent pushes of divergent bookmarks (foo@remote) | |
|
27 | 28 | |
|
28 | 29 | == Bug Fixes == |
|
29 | 30 |
@@ -328,6 +328,17 b' delete a remote bookmark' | |||
|
328 | 328 | |
|
329 | 329 | #endif |
|
330 | 330 | |
|
331 | Divergent bookmark cannot be exported | |
|
332 | ||
|
333 | $ hg book W@default | |
|
334 | $ hg push -B W@default ../a | |
|
335 | pushing to ../a | |
|
336 | searching for changes | |
|
337 | cannot push divergent bookmark W@default! | |
|
338 | no changes found | |
|
339 | [2] | |
|
340 | $ hg book -d W@default | |
|
341 | ||
|
331 | 342 | export the active bookmark |
|
332 | 343 | |
|
333 | 344 | $ hg bookmark V |
General Comments 0
You need to be logged in to leave comments.
Login now