##// END OF EJS Templates
worker: raise exception instead of calling sys.exit() with child's code...
worker: raise exception instead of calling sys.exit() with child's code When a worker process returns an error code, we would call `sys.exit()` with that exit code on the main process. The `SystemExit` exception would then get caught in `scmutil.callcatch()`, which would return that error code. The comment there says "Commands shouldn't sys.exit directly", which I agree with. This patch changes it so we raise a specific exception when a worker fails so we can catch instead. I think that means that `SystemExit` is now always an internal error. (I had earlier thought that this call to `sys.exit()` was from within the child process until Matt Harbison made me look again, so thanks for that!) Differential Revision: https://phab.mercurial-scm.org/D9287

File last commit:

r46386:e9555305 default
r46429:8f07f5a9 default
Show More
test-rebase-bookmarks.t
245 lines | 5.4 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-bookmarks.t
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 $ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
Jun Wu
rebase: move bookmarks with --keep (issue5682)...
r34364 > drawdag=$TESTDIR/drawdag.py
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 >
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
>
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 > [alias]
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 > tglog = log -G --template "{rev}: {node|short} '{desc}' bookmarks: {bookmarks}\n"
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 > EOF
Create a repo with several bookmarks
$ hg init a
$ cd a
$ echo a > a
$ hg ci -Am A
adding a
$ echo b > b
$ hg ci -Am B
adding b
$ hg book 'X'
$ hg book 'Y'
Mads Kiilerich
check-code: fix check for trailing whitespace on empty lines...
r17346
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 $ echo c > c
$ hg ci -Am C
adding c
$ hg book 'Z'
$ hg up -q 0
$ echo d > d
$ hg ci -Am D
adding d
created new head
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 $ hg book W
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 3: 41acb9dca9eb 'D' bookmarks: W
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 2: 49cb3485fa0c 'C' bookmarks: Y Z
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 6c81ed0049f8 'B' bookmarks: X
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 1994f17a630e 'A' bookmarks:
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
Mads Kiilerich
check-code: fix check for trailing whitespace on empty lines...
r17346
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 Move only rebased bookmarks
$ cd ..
$ hg clone -q a a1
$ cd a1
$ hg up -q Z
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514 Test deleting divergent bookmarks from dest (issue3685)
$ hg book -r 3 Z@diverge
... and also test that bookmarks not on dest or not being moved aren't deleted
$ hg book -r 3 X@diverge
$ hg book -r 0 Y@diverge
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 41acb9dca9eb 'D' bookmarks: W X@diverge Z@diverge
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | @ 2: 49cb3485fa0c 'C' bookmarks: Y Z
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514 | |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 6c81ed0049f8 'B' bookmarks: X
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 1994f17a630e 'A' bookmarks: Y@diverge
Siddharth Agarwal
rebase: delete divergent bookmarks on destination (issue3685)...
r18514
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase -s Y -d 3
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 2:49cb3485fa0c Y Z "C"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/49cb3485fa0c-126f3e97-rebase.hg
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 3: 17fb3faba63c 'C' bookmarks: Y Z
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 2: 41acb9dca9eb 'D' bookmarks: W X@diverge
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 6c81ed0049f8 'B' bookmarks: X
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 1994f17a630e 'A' bookmarks: Y@diverge
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
Yuya Nishihara
rebase: do not try to reactivate deleted divergent bookmark...
r20523 Do not try to keep active but deleted divergent bookmark
$ cd ..
$ hg clone -q a a4
$ cd a4
$ hg up -q 2
$ hg book W@diverge
$ hg rebase -s W -d .
Martin von Zweigbergk
templates: include all non-branch namespaces in default one-line summary...
r46386 rebasing 3:41acb9dca9eb W tip "D"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/41acb9dca9eb-b35a6a63-rebase.hg
Yuya Nishihara
rebase: do not try to reactivate deleted divergent bookmark...
r20523
$ hg bookmarks
W 3:0d3554f74897
X 1:6c81ed0049f8
Y 2:49cb3485fa0c
Z 2:49cb3485fa0c
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 Keep bookmarks to the correct rebased changeset
$ cd ..
$ hg clone -q a a2
$ cd a2
$ hg up -q Z
$ hg rebase -s 1 -d 3
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 1:6c81ed0049f8 X "B"
rebasing 2:49cb3485fa0c Y Z "C"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/6c81ed0049f8-a687065f-rebase.hg
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 3: 3d5fa227f4b5 'C' bookmarks: Y Z
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 2: e926fccfa8ec 'B' bookmarks: X
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 1: 41acb9dca9eb 'D' bookmarks: W
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 1994f17a630e 'A' bookmarks:
Stefano Tortarolo
rebase: reset bookmarks (issue2265 and issue2873)
r14884
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046
Keep active bookmark on the correct changeset
$ cd ..
$ hg clone -q a a3
$ cd a3
$ hg up -q X
$ hg rebase -d W
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 1:6c81ed0049f8 X "B"
rebasing 2:49cb3485fa0c Y Z "C"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/6c81ed0049f8-a687065f-rebase.hg
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: 3d5fa227f4b5 'C' bookmarks: Y Z
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 2: e926fccfa8ec 'B' bookmarks: X
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 1: 41acb9dca9eb 'D' bookmarks: W
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 1994f17a630e 'A' bookmarks:
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046
Pierre-Yves David
rebase: preserve active bookmark when not at head (issue3813)...
r19926 $ hg bookmarks
W 1:41acb9dca9eb
* X 2:e926fccfa8ec
Y 3:3d5fa227f4b5
Z 3:3d5fa227f4b5
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 rebase --continue with bookmarks present (issue3802)
$ hg up 2
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Siddharth Agarwal
update: when deactivating a bookmark, print a message...
r21404 (leaving bookmark X)
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ echo 'C' > c
$ hg add c
$ hg ci -m 'other C'
created new head
$ hg up 3
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
tests: add an explicit destination in some rebase tests...
r28101 $ hg rebase --dest 4
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 3:3d5fa227f4b5 Y Z "C"
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 merging c
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
Daniel Ploch
error: unify the error message formats for 'rebase' and 'unshelve'...
r45710 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ echo 'c' > c
$ hg resolve --mark c
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
timeless
rebase: hook afterresolvedstates
r27626 continue: hg rebase --continue
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ hg rebase --continue
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 3:3d5fa227f4b5 Y Z "C"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/3d5fa227f4b5-c6ea2371-rebase.hg
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 $ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 4: 45c0f0ec1203 'C' bookmarks: Y Z
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 3: b0e10b7175fd 'other C' bookmarks:
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 2: e926fccfa8ec 'B' bookmarks: X
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 1: 41acb9dca9eb 'D' bookmarks: W
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 1994f17a630e 'A' bookmarks:
Siddharth Agarwal
rebase: derive node from target rev (issue3802)...
r18549
David Schleimer
bookmarks: correctly update current bookmarks on rebase (issue2277)...
r17046
Bryan O'Sullivan
rebase: handle bookmarks matching revset function names (issue3950)...
r19641 ensure that bookmarks given the names of revset functions can be used
as --rev arguments (issue3950)
$ hg update -q 3
$ echo bimble > bimble
$ hg add bimble
$ hg commit -q -m 'bisect'
$ echo e >> bimble
$ hg ci -m bisect2
$ echo e >> bimble
$ hg ci -m bisect3
$ hg book bisect
$ hg update -q Y
$ hg rebase -r '"bisect"^^::"bisect"^' -r bisect -d Z
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 5:345c90f326a4 "bisect"
rebasing 6:f677a2907404 "bisect2"
Martin von Zweigbergk
templates: include all non-branch namespaces in default one-line summary...
r46386 rebasing 7:325c16001345 bisect tip "bisect3"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/345c90f326a4-b4840586-rebase.hg
Jun Wu
rebase: move bookmarks with --keep (issue5682)...
r34364
Bookmark and working parent get moved even if --keep is set (issue5682)
$ hg init $TESTTMP/book-keep
$ cd $TESTTMP/book-keep
$ hg debugdrawdag <<'EOS'
> B C
> |/
> A
> EOS
$ eval `hg tags -T 'hg bookmark -ir {node} {tag};\n' | grep -v tip`
$ rm .hg/localtags
$ hg up -q B
$ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 2: dc0947a82db8 'C' bookmarks: C
Jun Wu
rebase: move bookmarks with --keep (issue5682)...
r34364 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | @ 1: 112478962961 'B' bookmarks: B
Jun Wu
rebase: move bookmarks with --keep (issue5682)...
r34364 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 426bada5c675 'A' bookmarks: A
Jun Wu
rebase: move bookmarks with --keep (issue5682)...
r34364
$ hg rebase -r B -d C --keep
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 1:112478962961 B "B"
Jun Wu
rebase: move bookmarks with --keep (issue5682)...
r34364 $ hg tglog
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 @ 3: 9769fc65c4c5 'B' bookmarks: B
Jun Wu
rebase: move bookmarks with --keep (issue5682)...
r34364 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 2: dc0947a82db8 'C' bookmarks: C
Jun Wu
rebase: move bookmarks with --keep (issue5682)...
r34364 |
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 | o 1: 112478962961 'B' bookmarks:
Jun Wu
rebase: move bookmarks with --keep (issue5682)...
r34364 |/
Phil Cohen
tests: add commit hashes to log commands in rebase tests...
r35386 o 0: 426bada5c675 'A' bookmarks: A
Jun Wu
rebase: move bookmarks with --keep (issue5682)...
r34364