##// END OF EJS Templates
phabricator: warn if unable to amend, instead of aborting after posting...
phabricator: warn if unable to amend, instead of aborting after posting There was a divergence in behavior here between obsolete and strip based amending. I first noticed the abort when testing outside of the test harness, but then had trouble recreating it here after reverting the code changes. It turns out, strip based amend was successfully amending the public commit after it was posted! It looks like the protection is in the `commit --amend` command, not in the underlying code that it calls. I considered doing a preflight check and aborting. But the locks are only acquired at the end, if amending, and this is too large a section of code to be wrapped in a maybe-it's-held-or-not context manager for my tastes. Additionally, some people do post-push reviews, and amending is the default behavior, so they shouldn't see a misleading error message. The lack of a 'Differential Revision' entry in the commit message breaks a {phabreview} test, so it had to be partially conditionalized.

File last commit:

r35386:469b06b4 default
r41198:0101a35d 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
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:49cb3485fa0c "C" (Y Z)
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
rebase: also include other namespaces in changeset description...
r34291 rebasing 3:41acb9dca9eb "D" (W tip)
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
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:6c81ed0049f8 "B" (X)
rebasing 2:49cb3485fa0c "C" (Y Z)
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
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:6c81ed0049f8 "B" (X)
rebasing 2:49cb3485fa0c "C" (Y Z)
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
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:3d5fa227f4b5 "C" (Y Z)
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')
Augie Fackler
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
r18933 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
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:3d5fa227f4b5 "C" (Y Z)
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
rebase: also include other namespaces in changeset description...
r34291 rebasing 7:325c16001345 "bisect3" (bisect tip)
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
rebasing 1:112478962961 "B" (B)
$ 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