##// END OF EJS Templates
status: add support for log-like template keywords and functions...
status: add support for log-like template keywords and functions It's bound to ctx2 since "hg status" can be considered to show the status of the files at ctx2 given ctx1 as the base.

File last commit:

r34192:e6b5e732 default
r38563:85e3aa21 @67 default
Show More
test-show-stack.t
220 lines | 4.3 KiB | text/troff | Tads3Lexer
/ tests / test-show-stack.t
Gregory Szorc
show: implement "stack" view...
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
show: use consistent (and possibly shorter) node lengths...
r34192 @ 9f17 commit 0
Gregory Szorc
show: implement "stack" view...
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
show: use consistent (and possibly shorter) node lengths...
r34192 @ 2737 commit 4
o d1a6 commit 3
o 128c commit 2
o 181c commit 1
o 9f17 commit 0
Gregory Szorc
show: implement "stack" view...
r33194
Public parent of draft base is displayed, separated from stack
$ hg phase --public -r 0
$ hg show stack
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 @ 2737 commit 4
o d1a6 commit 3
o 128c commit 2
o 181c commit 1
Gregory Szorc
show: implement "stack" view...
r33194 / (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o 9f17 commit 0
Gregory Szorc
show: implement "stack" view...
r33194
$ hg phase --public -r 1
$ hg show stack
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 @ 2737 commit 4
o d1a6 commit 3
o 128c commit 2
Gregory Szorc
show: implement "stack" view...
r33194 / (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o 181c commit 1
Gregory Szorc
show: implement "stack" view...
r33194
Draft descendants are shown
$ hg -q up 2
$ hg show stack
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o 2737 commit 4
o d1a6 commit 3
@ 128c commit 2
Gregory Szorc
show: implement "stack" view...
r33194 / (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o 181c commit 1
Gregory Szorc
show: implement "stack" view...
r33194
$ hg -q up 3
$ hg show stack
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o 2737 commit 4
@ d1a6 commit 3
o 128c commit 2
Gregory Szorc
show: implement "stack" view...
r33194 / (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o 181c commit 1
Gregory Szorc
show: implement "stack" view...
r33194
working dir on public changeset should display special message
$ hg -q up 1
$ hg show stack
Gregory Szorc
show: tweak warning message...
r33205 (empty stack; working directory parent is a published changeset)
Gregory Szorc
show: implement "stack" view...
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
show: use consistent (and possibly shorter) node lengths...
r34192 o d1a6 commit 3
@ 128c commit 2
Gregory Szorc
show: implement "stack" view...
r33194 / (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o 181c commit 1
Gregory Szorc
show: implement "stack" view...
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
show: use consistent (and possibly shorter) node lengths...
r34192 @ 8ee9 merge heads
Gregory Szorc
show: implement "stack" view...
r33194 / (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o 5947 head 1
Gregory Szorc
show: implement "stack" view...
r33194
$ echo d1 > foo
$ hg commit -m 'draft 1'
$ echo d2 > foo
$ hg commit -m 'draft 2'
$ hg show stack
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 @ 430d draft 2
o 787b draft 1
Gregory Szorc
show: implement "stack" view...
r33194 / (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o 8ee9 merge heads
Gregory Szorc
show: implement "stack" view...
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
show: use consistent (and possibly shorter) node lengths...
r34192 @ eaff draft 2
o 2b21 draft 1
Gregory Szorc
show: implement "stack" view...
r33194 / (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o b66b base
Gregory Szorc
show: implement "stack" view...
r33194
Newer public heads are rendered
$ hg phase --public -r '::tip'
$ hg show stack
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o baa4 new 2
Gregory Szorc
show: implement "stack" view...
r33194 / (2 commits ahead)
:
: (stack head)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 : @ eaff draft 2
: o 2b21 draft 1
Gregory Szorc
show: implement "stack" view...
r33194 :/ (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o b66b base
Gregory Szorc
show: implement "stack" view...
r33194
If rebase is available, we show a hint how to rebase to that head
$ hg --config extensions.rebase= show stack
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o baa4 new 2
/ (2 commits ahead; hg rebase --source 2b21 --dest baa4)
Gregory Szorc
show: implement "stack" view...
r33194 :
: (stack head)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 : @ eaff draft 2
: o 2b21 draft 1
Gregory Szorc
show: implement "stack" view...
r33194 :/ (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o b66b base
Gregory Szorc
show: implement "stack" view...
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
show: use consistent (and possibly shorter) node lengths...
r34192 o baa4 new 2
Gregory Szorc
show: implement "stack" view...
r33194 / (2 commits ahead)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 : o 9a84 new head 2
Gregory Szorc
show: implement "stack" view...
r33194 :/ (1 commits ahead)
:
: (stack head)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 : @ eaff draft 2
: o 2b21 draft 1
Gregory Szorc
show: implement "stack" view...
r33194 :/ (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o b66b base
Gregory Szorc
show: implement "stack" view...
r33194
$ hg --config extensions.rebase= show stack
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
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
show: implement "stack" view...
r33194 :
: (stack head)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 : @ eaff draft 2
: o 2b21 draft 1
Gregory Szorc
show: implement "stack" view...
r33194 :/ (stack base)
Gregory Szorc
show: use consistent (and possibly shorter) node lengths...
r34192 o b66b base