annotate tests/test-show-work.t @ 35709:1a09dad8b85a

evolution: report new unstable changesets This adds a transaction summary callback that reports the number of new orphan, content-divergent and phase-divergent changesets. The code for reporting it is based on the code from the evolve extension, but simplified a bit. It simply counts the numbers for each kind of instability before and after the transaction. That's obviously not very efficient, but it's easy to reason about, so I'm doing this as a first step that can make us quite confident about the test case changes. We can optimize it later and make sure that the tests are not affected. The code has been used in the evolve extension for a long time and has apparently been sufficiently fast, so it doesn't seem like a pressing issue. Unlike the evolve extension's version of this report, this version applies to all commands (or all transactions run as part of any command, to be exact). Differential Revision: https://phab.mercurial-scm.org/D1867
author Martin von Zweigbergk <martinvonz@google.com>
date Sun, 14 Jan 2018 23:59:17 -0800
parents eb24f1d1b50b
children 3c4b2e880273
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
1 $ cat >> $HGRCPATH << EOF
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
2 > [extensions]
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
3 > show =
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
4 > EOF
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
5
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
6 $ hg init repo0
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
7 $ cd repo0
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
8
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
9 Command works on an empty repo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
10
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
11 $ hg show work
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
12
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
13 Single draft changeset shown
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
14
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
15 $ echo 0 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
16 $ hg -q commit -A -m 'commit 0'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
17
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
18 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
19 @ 9f17 commit 0
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
20
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
21 Even when it isn't the wdir
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
22
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
23 $ hg -q up null
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
24
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
25 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
26 o 9f17 commit 0
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
27
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
28 Single changeset is still there when public because it is a head
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
29
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
30 $ hg phase --public -r 0
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
31 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
32 o 9f17 commit 0
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
33
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
34 A draft child will show both it and public parent
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
35
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
36 $ hg -q up 0
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
37 $ echo 1 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
38 $ hg commit -m 'commit 1'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
39
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
40 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
41 @ 181c commit 1
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
42 o 9f17 commit 0
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
43
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
44 Multiple draft children will be shown
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
45
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
46 $ echo 2 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
47 $ hg commit -m 'commit 2'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
48
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
49 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
50 @ 128c commit 2
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
51 o 181c commit 1
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
52 o 9f17 commit 0
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
53
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
54 Bumping first draft changeset to public will hide its parent
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
55
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
56 $ hg phase --public -r 1
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
57 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
58 @ 128c commit 2
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
59 o 181c commit 1
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
60 |
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
61 ~
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
62
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
63 Multiple DAG heads will be shown
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
64
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
65 $ hg -q up -r 1
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
66 $ echo 3 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
67 $ hg commit -m 'commit 3'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
68 created new head
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
69
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
70 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
71 @ f0ab commit 3
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
72 | o 128c commit 2
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
73 |/
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
74 o 181c commit 1
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
75 |
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
76 ~
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
77
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
78 Even when wdir is something else
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
79
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
80 $ hg -q up null
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
81
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
82 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
83 o f0ab commit 3
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
84 | o 128c commit 2
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
85 |/
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
86 o 181c commit 1
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
87 |
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
88 ~
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
89
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
90 Draft child shows public head (multiple heads)
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
91
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
92 $ hg -q up 0
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
93 $ echo 4 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
94 $ hg commit -m 'commit 4'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
95 created new head
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
96
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
97 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
98 @ 668c commit 4
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
99 | o f0ab commit 3
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
100 | | o 128c commit 2
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
101 | |/
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
102 | o 181c commit 1
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
103 |/
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
104 o 9f17 commit 0
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
105
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
106 $ cd ..
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
107
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
108 Branch name appears in output
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
109
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
110 $ hg init branches
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
111 $ cd branches
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
112 $ echo 0 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
113 $ hg -q commit -A -m 'commit 0'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
114 $ echo 1 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
115 $ hg commit -m 'commit 1'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
116 $ echo 2 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
117 $ hg commit -m 'commit 2'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
118 $ hg phase --public -r .
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
119 $ hg -q up -r 1
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
120 $ hg branch mybranch
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
121 marked working directory as branch mybranch
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
122 (branches are permanent and global, did you want a bookmark?)
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
123 $ echo 3 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
124 $ hg commit -m 'commit 3'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
125 $ echo 4 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
126 $ hg commit -m 'commit 4'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
127
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
128 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
129 @ f8dd (mybranch) commit 4
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
130 o 90cf (mybranch) commit 3
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
131 | o 128c commit 2
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
132 |/
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
133 o 181c commit 1
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
134 |
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
135 ~
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
136
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
137 $ cd ..
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
138
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
139 Bookmark name appears in output
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
140
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
141 $ hg init bookmarks
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
142 $ cd bookmarks
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
143 $ echo 0 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
144 $ hg -q commit -A -m 'commit 0'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
145 $ echo 1 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
146 $ hg commit -m 'commit 1'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
147 $ echo 2 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
148 $ hg commit -m 'commit 2'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
149 $ hg phase --public -r .
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
150 $ hg bookmark @
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
151 $ hg -q up -r 1
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
152 $ echo 3 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
153 $ hg commit -m 'commit 3'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
154 created new head
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
155 $ echo 4 > foo
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
156 $ hg commit -m 'commit 4'
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
157 $ hg bookmark mybook
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
158
32058
0bb157bebb43 show: rename "underway" to "work"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31944
diff changeset
159 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
160 @ cac8 (mybook) commit 4
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
161 o f0ab commit 3
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
162 | o 128c (@) commit 2
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
163 |/
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
164 o 181c commit 1
31944
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
165 |
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
166 ~
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
167
99bc93147d87 show: implement underway view
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
168 $ cd ..
33049
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
169
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
170 Tags are rendered
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
171
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
172 $ hg init tags
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
173 $ cd tags
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
174 $ echo 0 > foo
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
175 $ hg -q commit -A -m 'commit 1'
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
176 $ echo 1 > foo
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
177 $ hg commit -m 'commit 2'
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
178 $ hg tag 0.1
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
179 $ hg phase --public -r .
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
180 $ echo 2 > foo
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
181 $ hg commit -m 'commit 3'
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
182 $ hg tag 0.2
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
183
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
184 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
185 @ 3758 Added tag 0.2 for changeset 6379c25b76f1
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
186 o 6379 (0.2) commit 3
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
187 o a2ad Added tag 0.1 for changeset 6a75536ea0b1
33049
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
188 |
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
189 ~
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
190
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
191 $ cd ..
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
192
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
193 Multiple names on same changeset render properly
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
194
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
195 $ hg init multiplenames
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
196 $ cd multiplenames
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
197 $ echo 0 > foo
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
198 $ hg -q commit -A -m 'commit 1'
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
199 $ hg phase --public -r .
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
200 $ hg branch mybranch
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
201 marked working directory as branch mybranch
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
202 (branches are permanent and global, did you want a bookmark?)
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
203 $ hg bookmark mybook
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
204 $ echo 1 > foo
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
205 $ hg commit -m 'commit 2'
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
206
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
207 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
208 @ 3483 (mybook) (mybranch) commit 2
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
209 o 97fc commit 1
33049
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
210
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
211 Multiple bookmarks on same changeset render properly
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
212
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
213 $ hg book mybook2
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
214 $ hg show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
215 @ 3483 (mybook mybook2) (mybranch) commit 2
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
216 o 97fc commit 1
33049
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
217
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
218 $ cd ..
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
219
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
220 Extra namespaces are rendered
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
221
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
222 $ hg init extranamespaces
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
223 $ cd extranamespaces
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
224 $ echo 0 > foo
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
225 $ hg -q commit -A -m 'commit 1'
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
226 $ hg phase --public -r .
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
227 $ echo 1 > foo
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
228 $ hg commit -m 'commit 2'
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
229 $ echo 2 > foo
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
230 $ hg commit -m 'commit 3'
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
231
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
232 $ hg --config extensions.revnames=$TESTDIR/revnamesext.py show work
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
233 @ 32f3 (r2) commit 3
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
234 o 6a75 (r1) commit 2
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
235 o 97fc (r0) commit 1
33049
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
236
34877
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
237 Obsolescence information appears in labels.
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
238
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
239 $ cat >> .hg/hgrc << EOF
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
240 > [experimental]
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
241 > evolution=createmarkers
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
242 > EOF
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
243 $ hg debugobsolete `hg log -r 'desc("commit 2")' -T "{node}"`
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
244 obsoleted 1 changesets
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 34877
diff changeset
245 1 new orphan changesets
34877
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
246 $ hg show work --color=debug
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
247 @ [log.changeset changeset.draft changeset.unstable instability.orphan|32f3] [log.description|commit 3]
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
248 x [log.changeset changeset.draft changeset.obsolete|6a75] [log.description|commit 2]
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
249 |
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
250 ~
eb24f1d1b50b show: use labelcset() template alias for work (and stack) views
Denis Laxalde <denis@laxalde.org>
parents: 34191
diff changeset
251
33049
0b42c7ba46a6 tests: add more tests for names rendering in `hg show work`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32058
diff changeset
252 $ cd ..
34191
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
253
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
254 Prefix collision on hashes increases shortest node length
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
255
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
256 $ hg init hashcollision
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
257 $ cd hashcollision
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
258 $ echo 0 > a
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
259 $ hg -q commit -Am 0
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
260 $ for i in 17 1057 2857 4025; do
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
261 > hg -q up 0
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
262 > echo $i > a
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
263 > hg -q commit -m $i
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
264 > echo 0 > a
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
265 > hg commit -m "$i commit 2"
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
266 > done
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
267
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
268 $ hg show work
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
269 @ cfd04 4025 commit 2
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
270 o c562d 4025
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
271 | o 08048 2857 commit 2
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
272 | o c5623 2857
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
273 |/
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
274 | o 6a6b6 1057 commit 2
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
275 | o c5625 1057
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
276 |/
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
277 | o 96b4e 17 commit 2
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
278 | o 11424 17
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
279 |/
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
280 o b4e73 0
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
281
e6b5e7329ff2 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33050
diff changeset
282 $ cd ..