sapling/eden/scm/tests/test-amend-restack-divergence.t
Jun Wu 9bf6b674a6 config: use Rust graph render as default
Summary: Change the legacy Python graph render to Rust renderer.

Reviewed By: DurhamG

Differential Revision: D24317802

fbshipit-source-id: 4c3dc3a6dd02b7ebe79596a8e77f4b6b139d2e20
2020-10-19 17:07:30 -07:00

101 lines
2.9 KiB
Perl

#chg-compatible
$ configure mutation-norecord
$ enable amend rebase
$ mkcommit() {
> echo "$1" > "$1"
> hg add "$1"
> hg ci -m "add $1"
> }
Test situation with divergence. Restack should rebase unstable children
onto the newest successor of their parent.
$ newrepo
$ mkcommit a
$ mkcommit b
$ mkcommit c
$ hg prev
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[*] add b (glob)
$ hg amend -m "successor 1" --no-rebase
hint[amend-restack]: descendants of 7c3bad9141dc are left behind - use 'hg restack' to rebase them
hint[hint-ack]: use 'hg hint --ack amend-restack' to silence these hints
$ hg up 7c3bad9141dcb46ff89abf5f61856facd56e476c
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg amend -m "successor 2" --no-rebase
hint[amend-restack]: descendants of 7c3bad9141dc are left behind - use 'hg restack' to rebase them
hint[hint-ack]: use 'hg hint --ack amend-restack' to silence these hints
$ hg up 7c3bad9141dcb46ff89abf5f61856facd56e476c
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ showgraph
o cef323f40828 successor 2
o f60c1f15a70e successor 1
o 4538525df7e2 add c
@ 7c3bad9141dc add b
o 1f0dee641bb7 add a
$ hg rebase --restack
rebasing 4538525df7e2 "add c"
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ showgraph
o b0a0bc953ac3 add c
@ cef323f40828 successor 2
o f60c1f15a70e successor 1
o 1f0dee641bb7 add a
Test situation with divergence due to an unamend. This should actually succeed
since the successor is obsolete.
$ newrepo
$ mkcommit a
$ mkcommit b
$ mkcommit c
$ hg prev
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[*] add b (glob)
$ echo b >> b
$ hg amend
hint[amend-restack]: descendants of 7c3bad9141dc are left behind - use 'hg restack' to rebase them
hint[hint-ack]: use 'hg hint --ack amend-restack' to silence these hints
$ showgraph
@ c54ee8acf83d add b
o 4538525df7e2 add c
x 7c3bad9141dc add b
o 1f0dee641bb7 add a
$ hg up 7c3bad9141dcb46ff89abf5f61856facd56e476c
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo c >> b
$ hg amend
hint[amend-restack]: descendants of 7c3bad9141dc are left behind - use 'hg restack' to rebase them
hint[hint-ack]: use 'hg hint --ack amend-restack' to silence these hints
$ showgraph
@ 2c965323ca2a add b
o c54ee8acf83d add b
o 4538525df7e2 add c
x 7c3bad9141dc add b
o 1f0dee641bb7 add a
$ hg unamend
$ hg up -C c54ee8acf83d47ec674bca5bb6ba7be56227bd89
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ showgraph
@ c54ee8acf83d add b
o 4538525df7e2 add c
x 7c3bad9141dc add b
o 1f0dee641bb7 add a