test-show-stack.t
220 lines
| 4.3 KiB
| text/troff
|
Tads3Lexer
/ tests / test-show-stack.t
Gregory Szorc
|
r33194 | $ cat >> $HGRCPATH << EOF | ||
> [extensions] | ||||
> show = | ||||
> EOF | ||||
$ hg init repo0 | ||||
$ cd repo0 | ||||
Empty repo / no checkout results in error | ||||
$ hg show stack | ||||
abort: stack view only available when there is a working directory | ||||
[255] | ||||
Stack displays single draft changeset as root revision | ||||
$ echo 0 > foo | ||||
$ hg -q commit -A -m 'commit 0' | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | @ 9f17 commit 0 | ||
Gregory Szorc
|
r33194 | |||
Stack displays multiple draft changesets | ||||
$ echo 1 > foo | ||||
$ hg commit -m 'commit 1' | ||||
$ echo 2 > foo | ||||
$ hg commit -m 'commit 2' | ||||
$ echo 3 > foo | ||||
$ hg commit -m 'commit 3' | ||||
$ echo 4 > foo | ||||
$ hg commit -m 'commit 4' | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | @ 2737 commit 4 | ||
o d1a6 commit 3 | ||||
o 128c commit 2 | ||||
o 181c commit 1 | ||||
o 9f17 commit 0 | ||||
Gregory Szorc
|
r33194 | |||
Public parent of draft base is displayed, separated from stack | ||||
$ hg phase --public -r 0 | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | @ 2737 commit 4 | ||
o d1a6 commit 3 | ||||
o 128c commit 2 | ||||
o 181c commit 1 | ||||
Gregory Szorc
|
r33194 | / (stack base) | ||
Gregory Szorc
|
r34192 | o 9f17 commit 0 | ||
Gregory Szorc
|
r33194 | |||
$ hg phase --public -r 1 | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | @ 2737 commit 4 | ||
o d1a6 commit 3 | ||||
o 128c commit 2 | ||||
Gregory Szorc
|
r33194 | / (stack base) | ||
Gregory Szorc
|
r34192 | o 181c commit 1 | ||
Gregory Szorc
|
r33194 | |||
Draft descendants are shown | ||||
$ hg -q up 2 | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | o 2737 commit 4 | ||
o d1a6 commit 3 | ||||
@ 128c commit 2 | ||||
Gregory Szorc
|
r33194 | / (stack base) | ||
Gregory Szorc
|
r34192 | o 181c commit 1 | ||
Gregory Szorc
|
r33194 | |||
$ hg -q up 3 | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | o 2737 commit 4 | ||
@ d1a6 commit 3 | ||||
o 128c commit 2 | ||||
Gregory Szorc
|
r33194 | / (stack base) | ||
Gregory Szorc
|
r34192 | o 181c commit 1 | ||
Gregory Szorc
|
r33194 | |||
working dir on public changeset should display special message | ||||
$ hg -q up 1 | ||||
$ hg show stack | ||||
Gregory Szorc
|
r33205 | (empty stack; working directory parent is a published changeset) | ||
Gregory Szorc
|
r33194 | |||
Branch point in descendants displayed at top of graph | ||||
$ hg -q up 3 | ||||
$ echo b > foo | ||||
$ hg commit -m 'commit 5 (new dag branch)' | ||||
created new head | ||||
$ hg -q up 2 | ||||
$ hg show stack | ||||
\ / (multiple children) | ||||
| | ||||
Gregory Szorc
|
r34192 | o d1a6 commit 3 | ||
@ 128c commit 2 | ||||
Gregory Szorc
|
r33194 | / (stack base) | ||
Gregory Szorc
|
r34192 | o 181c commit 1 | ||
Gregory Szorc
|
r33194 | |||
$ cd .. | ||||
Base is stopped at merges | ||||
$ hg init merge-base | ||||
$ cd merge-base | ||||
$ echo 0 > foo | ||||
$ hg -q commit -A -m initial | ||||
$ echo h1 > foo | ||||
$ hg commit -m 'head 1' | ||||
$ hg -q up 0 | ||||
$ echo h2 > foo | ||||
$ hg -q commit -m 'head 2' | ||||
$ hg phase --public -r 0:tip | ||||
$ hg -q up 1 | ||||
$ hg merge -t :local 2 | ||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg commit -m 'merge heads' | ||||
TODO doesn't yet handle case where wdir is a draft merge | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | @ 8ee9 merge heads | ||
Gregory Szorc
|
r33194 | / (stack base) | ||
Gregory Szorc
|
r34192 | o 5947 head 1 | ||
Gregory Szorc
|
r33194 | |||
$ echo d1 > foo | ||||
$ hg commit -m 'draft 1' | ||||
$ echo d2 > foo | ||||
$ hg commit -m 'draft 2' | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | @ 430d draft 2 | ||
o 787b draft 1 | ||||
Gregory Szorc
|
r33194 | / (stack base) | ||
Gregory Szorc
|
r34192 | o 8ee9 merge heads | ||
Gregory Szorc
|
r33194 | |||
$ cd .. | ||||
Now move on to stacks when there are more commits after the base branchpoint | ||||
$ hg init public-rebase | ||||
$ cd public-rebase | ||||
$ echo 0 > foo | ||||
$ hg -q commit -A -m 'base' | ||||
$ hg phase --public -r . | ||||
$ echo d1 > foo | ||||
$ hg commit -m 'draft 1' | ||||
$ echo d2 > foo | ||||
$ hg commit -m 'draft 2' | ||||
$ hg -q up 0 | ||||
$ echo 1 > foo | ||||
$ hg commit -m 'new 1' | ||||
created new head | ||||
$ echo 2 > foo | ||||
$ hg commit -m 'new 2' | ||||
$ hg -q up 2 | ||||
Newer draft heads don't impact output | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | @ eaff draft 2 | ||
o 2b21 draft 1 | ||||
Gregory Szorc
|
r33194 | / (stack base) | ||
Gregory Szorc
|
r34192 | o b66b base | ||
Gregory Szorc
|
r33194 | |||
Newer public heads are rendered | ||||
$ hg phase --public -r '::tip' | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | o baa4 new 2 | ||
Gregory Szorc
|
r33194 | / (2 commits ahead) | ||
: | ||||
: (stack head) | ||||
Gregory Szorc
|
r34192 | : @ eaff draft 2 | ||
: o 2b21 draft 1 | ||||
Gregory Szorc
|
r33194 | :/ (stack base) | ||
Gregory Szorc
|
r34192 | o b66b base | ||
Gregory Szorc
|
r33194 | |||
If rebase is available, we show a hint how to rebase to that head | ||||
$ hg --config extensions.rebase= show stack | ||||
Gregory Szorc
|
r34192 | o baa4 new 2 | ||
/ (2 commits ahead; hg rebase --source 2b21 --dest baa4) | ||||
Gregory Szorc
|
r33194 | : | ||
: (stack head) | ||||
Gregory Szorc
|
r34192 | : @ eaff draft 2 | ||
: o 2b21 draft 1 | ||||
Gregory Szorc
|
r33194 | :/ (stack base) | ||
Gregory Szorc
|
r34192 | o b66b base | ||
Gregory Szorc
|
r33194 | |||
Similar tests but for multiple heads | ||||
$ hg -q up 0 | ||||
$ echo h2 > foo | ||||
$ hg -q commit -m 'new head 2' | ||||
$ hg phase --public -r . | ||||
$ hg -q up 2 | ||||
$ hg show stack | ||||
Gregory Szorc
|
r34192 | o baa4 new 2 | ||
Gregory Szorc
|
r33194 | / (2 commits ahead) | ||
Gregory Szorc
|
r34192 | : o 9a84 new head 2 | ||
Gregory Szorc
|
r33194 | :/ (1 commits ahead) | ||
: | ||||
: (stack head) | ||||
Gregory Szorc
|
r34192 | : @ eaff draft 2 | ||
: o 2b21 draft 1 | ||||
Gregory Szorc
|
r33194 | :/ (stack base) | ||
Gregory Szorc
|
r34192 | o b66b base | ||
Gregory Szorc
|
r33194 | |||
$ hg --config extensions.rebase= show stack | ||||
Gregory Szorc
|
r34192 | o baa4 new 2 | ||
/ (2 commits ahead; hg rebase --source 2b21 --dest baa4) | ||||
: o 9a84 new head 2 | ||||
:/ (1 commits ahead; hg rebase --source 2b21 --dest 9a84) | ||||
Gregory Szorc
|
r33194 | : | ||
: (stack head) | ||||
Gregory Szorc
|
r34192 | : @ eaff draft 2 | ||
: o 2b21 draft 1 | ||||
Gregory Szorc
|
r33194 | :/ (stack base) | ||
Gregory Szorc
|
r34192 | o b66b base | ||