##// END OF EJS Templates
test-obsolete: include <> in user field to check JSON escapes...
Yuya Nishihara -
r32741:8f83f924 default
parent child Browse files
Show More
@@ -1,1396 +1,1397 b''
1 $ cat >> $HGRCPATH << EOF
1 $ cat >> $HGRCPATH << EOF
2 > [phases]
2 > [phases]
3 > # public changeset are not obsolete
3 > # public changeset are not obsolete
4 > publish=false
4 > publish=false
5 > [ui]
5 > [ui]
6 > logtemplate="{rev}:{node|short} ({phase}{if(obsolete, ' *{obsolete}*')}{if(troubles, ' {troubles}')}) [{tags} {bookmarks}] {desc|firstline}\n"
6 > logtemplate="{rev}:{node|short} ({phase}{if(obsolete, ' *{obsolete}*')}{if(troubles, ' {troubles}')}) [{tags} {bookmarks}] {desc|firstline}\n"
7 > EOF
7 > EOF
8 $ mkcommit() {
8 $ mkcommit() {
9 > echo "$1" > "$1"
9 > echo "$1" > "$1"
10 > hg add "$1"
10 > hg add "$1"
11 > hg ci -m "add $1"
11 > hg ci -m "add $1"
12 > }
12 > }
13 $ getid() {
13 $ getid() {
14 > hg log -T "{node}\n" --hidden -r "desc('$1')"
14 > hg log -T "{node}\n" --hidden -r "desc('$1')"
15 > }
15 > }
16
16
17 $ cat > debugkeys.py <<EOF
17 $ cat > debugkeys.py <<EOF
18 > def reposetup(ui, repo):
18 > def reposetup(ui, repo):
19 > class debugkeysrepo(repo.__class__):
19 > class debugkeysrepo(repo.__class__):
20 > def listkeys(self, namespace):
20 > def listkeys(self, namespace):
21 > ui.write('listkeys %s\n' % (namespace,))
21 > ui.write('listkeys %s\n' % (namespace,))
22 > return super(debugkeysrepo, self).listkeys(namespace)
22 > return super(debugkeysrepo, self).listkeys(namespace)
23 >
23 >
24 > if repo.local():
24 > if repo.local():
25 > repo.__class__ = debugkeysrepo
25 > repo.__class__ = debugkeysrepo
26 > EOF
26 > EOF
27
27
28 $ hg init tmpa
28 $ hg init tmpa
29 $ cd tmpa
29 $ cd tmpa
30 $ mkcommit kill_me
30 $ mkcommit kill_me
31
31
32 Checking that the feature is properly disabled
32 Checking that the feature is properly disabled
33
33
34 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
34 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
35 abort: creating obsolete markers is not enabled on this repo
35 abort: creating obsolete markers is not enabled on this repo
36 [255]
36 [255]
37
37
38 Enabling it
38 Enabling it
39
39
40 $ cat >> $HGRCPATH << EOF
40 $ cat >> $HGRCPATH << EOF
41 > [experimental]
41 > [experimental]
42 > evolution=createmarkers,exchange
42 > evolution=createmarkers,exchange
43 > EOF
43 > EOF
44
44
45 Killing a single changeset without replacement
45 Killing a single changeset without replacement
46
46
47 $ hg debugobsolete 0
47 $ hg debugobsolete 0
48 abort: changeset references must be full hexadecimal node identifiers
48 abort: changeset references must be full hexadecimal node identifiers
49 [255]
49 [255]
50 $ hg debugobsolete '00'
50 $ hg debugobsolete '00'
51 abort: changeset references must be full hexadecimal node identifiers
51 abort: changeset references must be full hexadecimal node identifiers
52 [255]
52 [255]
53 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
53 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
54 $ hg debugobsolete
54 $ hg debugobsolete
55 97b7c2d76b1845ed3eb988cd612611e72406cef0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'babar'}
55 97b7c2d76b1845ed3eb988cd612611e72406cef0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'babar'}
56
56
57 (test that mercurial is not confused)
57 (test that mercurial is not confused)
58
58
59 $ hg up null --quiet # having 0 as parent prevents it to be hidden
59 $ hg up null --quiet # having 0 as parent prevents it to be hidden
60 $ hg tip
60 $ hg tip
61 -1:000000000000 (public) [tip ]
61 -1:000000000000 (public) [tip ]
62 $ hg up --hidden tip --quiet
62 $ hg up --hidden tip --quiet
63
63
64 Killing a single changeset with itself should fail
64 Killing a single changeset with itself should fail
65 (simple local safeguard)
65 (simple local safeguard)
66
66
67 $ hg debugobsolete `getid kill_me` `getid kill_me`
67 $ hg debugobsolete `getid kill_me` `getid kill_me`
68 abort: bad obsmarker input: in-marker cycle with 97b7c2d76b1845ed3eb988cd612611e72406cef0
68 abort: bad obsmarker input: in-marker cycle with 97b7c2d76b1845ed3eb988cd612611e72406cef0
69 [255]
69 [255]
70
70
71 $ cd ..
71 $ cd ..
72
72
73 Killing a single changeset with replacement
73 Killing a single changeset with replacement
74 (and testing the format option)
74 (and testing the format option)
75
75
76 $ hg init tmpb
76 $ hg init tmpb
77 $ cd tmpb
77 $ cd tmpb
78 $ mkcommit a
78 $ mkcommit a
79 $ mkcommit b
79 $ mkcommit b
80 $ mkcommit original_c
80 $ mkcommit original_c
81 $ hg up "desc('b')"
81 $ hg up "desc('b')"
82 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
82 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
83 $ mkcommit new_c
83 $ mkcommit new_c
84 created new head
84 created new head
85 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
85 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
86 $ hg debugobsolete --config format.obsstore-version=0 --flag 12 `getid original_c` `getid new_c` -d '121 120'
86 $ hg debugobsolete --config format.obsstore-version=0 --flag 12 `getid original_c` `getid new_c` -d '121 120'
87 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
87 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
88 2:245bde4270cd add original_c
88 2:245bde4270cd add original_c
89 $ hg debugrevlog -cd
89 $ hg debugrevlog -cd
90 # rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen
90 # rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen
91 0 -1 -1 0 59 0 0 0 0 58 58 0 1 0
91 0 -1 -1 0 59 0 0 0 0 58 58 0 1 0
92 1 0 -1 59 118 59 59 0 0 58 116 0 1 0
92 1 0 -1 59 118 59 59 0 0 58 116 0 1 0
93 2 1 -1 118 193 118 118 59 0 76 192 0 1 0
93 2 1 -1 118 193 118 118 59 0 76 192 0 1 0
94 3 1 -1 193 260 193 193 59 0 66 258 0 2 0
94 3 1 -1 193 260 193 193 59 0 66 258 0 2 0
95 $ hg debugobsolete
95 $ hg debugobsolete
96 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
96 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
97
97
98 (check for version number of the obsstore)
98 (check for version number of the obsstore)
99
99
100 $ dd bs=1 count=1 if=.hg/store/obsstore 2>/dev/null
100 $ dd bs=1 count=1 if=.hg/store/obsstore 2>/dev/null
101 \x00 (no-eol) (esc)
101 \x00 (no-eol) (esc)
102
102
103 do it again (it read the obsstore before adding new changeset)
103 do it again (it read the obsstore before adding new changeset)
104
104
105 $ hg up '.^'
105 $ hg up '.^'
106 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
106 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
107 $ mkcommit new_2_c
107 $ mkcommit new_2_c
108 created new head
108 created new head
109 $ hg debugobsolete -d '1337 0' `getid new_c` `getid new_2_c`
109 $ hg debugobsolete -d '1337 0' `getid new_c` `getid new_2_c`
110 $ hg debugobsolete
110 $ hg debugobsolete
111 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
111 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
112 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
112 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
113
113
114 Register two markers with a missing node
114 Register two markers with a missing node
115
115
116 $ hg up '.^'
116 $ hg up '.^'
117 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
117 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
118 $ mkcommit new_3_c
118 $ mkcommit new_3_c
119 created new head
119 created new head
120 $ hg debugobsolete -d '1338 0' `getid new_2_c` 1337133713371337133713371337133713371337
120 $ hg debugobsolete -d '1338 0' `getid new_2_c` 1337133713371337133713371337133713371337
121 $ hg debugobsolete -d '1339 0' 1337133713371337133713371337133713371337 `getid new_3_c`
121 $ hg debugobsolete -d '1339 0' 1337133713371337133713371337133713371337 `getid new_3_c`
122 $ hg debugobsolete
122 $ hg debugobsolete
123 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
123 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
124 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
124 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
125 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
125 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
126 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
126 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
127
127
128 Test the --index option of debugobsolete command
128 Test the --index option of debugobsolete command
129 $ hg debugobsolete --index
129 $ hg debugobsolete --index
130 0 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
130 0 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
131 1 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
131 1 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
132 2 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
132 2 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
133 3 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
133 3 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
134
134
135 Refuse pathological nullid successors
135 Refuse pathological nullid successors
136 $ hg debugobsolete -d '9001 0' 1337133713371337133713371337133713371337 0000000000000000000000000000000000000000
136 $ hg debugobsolete -d '9001 0' 1337133713371337133713371337133713371337 0000000000000000000000000000000000000000
137 transaction abort!
137 transaction abort!
138 rollback completed
138 rollback completed
139 abort: bad obsolescence marker detected: invalid successors nullid
139 abort: bad obsolescence marker detected: invalid successors nullid
140 [255]
140 [255]
141
141
142 Check that graphlog detect that a changeset is obsolete:
142 Check that graphlog detect that a changeset is obsolete:
143
143
144 $ hg log -G
144 $ hg log -G
145 @ 5:5601fb93a350 (draft) [tip ] add new_3_c
145 @ 5:5601fb93a350 (draft) [tip ] add new_3_c
146 |
146 |
147 o 1:7c3bad9141dc (draft) [ ] add b
147 o 1:7c3bad9141dc (draft) [ ] add b
148 |
148 |
149 o 0:1f0dee641bb7 (draft) [ ] add a
149 o 0:1f0dee641bb7 (draft) [ ] add a
150
150
151
151
152 check that heads does not report them
152 check that heads does not report them
153
153
154 $ hg heads
154 $ hg heads
155 5:5601fb93a350 (draft) [tip ] add new_3_c
155 5:5601fb93a350 (draft) [tip ] add new_3_c
156 $ hg heads --hidden
156 $ hg heads --hidden
157 5:5601fb93a350 (draft) [tip ] add new_3_c
157 5:5601fb93a350 (draft) [tip ] add new_3_c
158 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c
158 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c
159 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c
159 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c
160 2:245bde4270cd (draft *obsolete*) [ ] add original_c
160 2:245bde4270cd (draft *obsolete*) [ ] add original_c
161
161
162
162
163 check that summary does not report them
163 check that summary does not report them
164
164
165 $ hg init ../sink
165 $ hg init ../sink
166 $ echo '[paths]' >> .hg/hgrc
166 $ echo '[paths]' >> .hg/hgrc
167 $ echo 'default=../sink' >> .hg/hgrc
167 $ echo 'default=../sink' >> .hg/hgrc
168 $ hg summary --remote
168 $ hg summary --remote
169 parent: 5:5601fb93a350 tip
169 parent: 5:5601fb93a350 tip
170 add new_3_c
170 add new_3_c
171 branch: default
171 branch: default
172 commit: (clean)
172 commit: (clean)
173 update: (current)
173 update: (current)
174 phases: 3 draft
174 phases: 3 draft
175 remote: 3 outgoing
175 remote: 3 outgoing
176
176
177 $ hg summary --remote --hidden
177 $ hg summary --remote --hidden
178 parent: 5:5601fb93a350 tip
178 parent: 5:5601fb93a350 tip
179 add new_3_c
179 add new_3_c
180 branch: default
180 branch: default
181 commit: (clean)
181 commit: (clean)
182 update: 3 new changesets, 4 branch heads (merge)
182 update: 3 new changesets, 4 branch heads (merge)
183 phases: 6 draft
183 phases: 6 draft
184 remote: 3 outgoing
184 remote: 3 outgoing
185
185
186 check that various commands work well with filtering
186 check that various commands work well with filtering
187
187
188 $ hg tip
188 $ hg tip
189 5:5601fb93a350 (draft) [tip ] add new_3_c
189 5:5601fb93a350 (draft) [tip ] add new_3_c
190 $ hg log -r 6
190 $ hg log -r 6
191 abort: unknown revision '6'!
191 abort: unknown revision '6'!
192 [255]
192 [255]
193 $ hg log -r 4
193 $ hg log -r 4
194 abort: hidden revision '4'!
194 abort: hidden revision '4'!
195 (use --hidden to access hidden revisions)
195 (use --hidden to access hidden revisions)
196 [255]
196 [255]
197 $ hg debugrevspec 'rev(6)'
197 $ hg debugrevspec 'rev(6)'
198 $ hg debugrevspec 'rev(4)'
198 $ hg debugrevspec 'rev(4)'
199 $ hg debugrevspec 'null'
199 $ hg debugrevspec 'null'
200 -1
200 -1
201
201
202 Check that public changeset are not accounted as obsolete:
202 Check that public changeset are not accounted as obsolete:
203
203
204 $ hg --hidden phase --public 2
204 $ hg --hidden phase --public 2
205 $ hg log -G
205 $ hg log -G
206 @ 5:5601fb93a350 (draft bumped) [tip ] add new_3_c
206 @ 5:5601fb93a350 (draft bumped) [tip ] add new_3_c
207 |
207 |
208 | o 2:245bde4270cd (public) [ ] add original_c
208 | o 2:245bde4270cd (public) [ ] add original_c
209 |/
209 |/
210 o 1:7c3bad9141dc (public) [ ] add b
210 o 1:7c3bad9141dc (public) [ ] add b
211 |
211 |
212 o 0:1f0dee641bb7 (public) [ ] add a
212 o 0:1f0dee641bb7 (public) [ ] add a
213
213
214
214
215 And that bumped changeset are detected
215 And that bumped changeset are detected
216 --------------------------------------
216 --------------------------------------
217
217
218 If we didn't filtered obsolete changesets out, 3 and 4 would show up too. Also
218 If we didn't filtered obsolete changesets out, 3 and 4 would show up too. Also
219 note that the bumped changeset (5:5601fb93a350) is not a direct successor of
219 note that the bumped changeset (5:5601fb93a350) is not a direct successor of
220 the public changeset
220 the public changeset
221
221
222 $ hg log --hidden -r 'bumped()'
222 $ hg log --hidden -r 'bumped()'
223 5:5601fb93a350 (draft bumped) [tip ] add new_3_c
223 5:5601fb93a350 (draft bumped) [tip ] add new_3_c
224
224
225 And that we can't push bumped changeset
225 And that we can't push bumped changeset
226
226
227 $ hg push ../tmpa -r 0 --force #(make repo related)
227 $ hg push ../tmpa -r 0 --force #(make repo related)
228 pushing to ../tmpa
228 pushing to ../tmpa
229 searching for changes
229 searching for changes
230 warning: repository is unrelated
230 warning: repository is unrelated
231 adding changesets
231 adding changesets
232 adding manifests
232 adding manifests
233 adding file changes
233 adding file changes
234 added 1 changesets with 1 changes to 1 files (+1 heads)
234 added 1 changesets with 1 changes to 1 files (+1 heads)
235 $ hg push ../tmpa
235 $ hg push ../tmpa
236 pushing to ../tmpa
236 pushing to ../tmpa
237 searching for changes
237 searching for changes
238 abort: push includes bumped changeset: 5601fb93a350!
238 abort: push includes bumped changeset: 5601fb93a350!
239 [255]
239 [255]
240
240
241 Fixing "bumped" situation
241 Fixing "bumped" situation
242 We need to create a clone of 5 and add a special marker with a flag
242 We need to create a clone of 5 and add a special marker with a flag
243
243
244 $ hg summary
244 $ hg summary
245 parent: 5:5601fb93a350 tip (bumped)
245 parent: 5:5601fb93a350 tip (bumped)
246 add new_3_c
246 add new_3_c
247 branch: default
247 branch: default
248 commit: (clean)
248 commit: (clean)
249 update: 1 new changesets, 2 branch heads (merge)
249 update: 1 new changesets, 2 branch heads (merge)
250 phases: 1 draft
250 phases: 1 draft
251 bumped: 1 changesets
251 bumped: 1 changesets
252 $ hg up '5^'
252 $ hg up '5^'
253 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
253 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
254 $ hg revert -ar 5
254 $ hg revert -ar 5
255 adding new_3_c
255 adding new_3_c
256 $ hg ci -m 'add n3w_3_c'
256 $ hg ci -m 'add n3w_3_c'
257 created new head
257 created new head
258 $ hg debugobsolete -d '1338 0' --flags 1 `getid new_3_c` `getid n3w_3_c`
258 $ hg debugobsolete -d '1338 0' --flags 1 `getid new_3_c` `getid n3w_3_c`
259 $ hg log -r 'bumped()'
259 $ hg log -r 'bumped()'
260 $ hg log -G
260 $ hg log -G
261 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
261 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
262 |
262 |
263 | o 2:245bde4270cd (public) [ ] add original_c
263 | o 2:245bde4270cd (public) [ ] add original_c
264 |/
264 |/
265 o 1:7c3bad9141dc (public) [ ] add b
265 o 1:7c3bad9141dc (public) [ ] add b
266 |
266 |
267 o 0:1f0dee641bb7 (public) [ ] add a
267 o 0:1f0dee641bb7 (public) [ ] add a
268
268
269
269
270 Basic exclusive testing
270 Basic exclusive testing
271
271
272 $ hg log -G --hidden
272 $ hg log -G --hidden
273 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
273 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
274 |
274 |
275 | x 5:5601fb93a350 (draft *obsolete*) [ ] add new_3_c
275 | x 5:5601fb93a350 (draft *obsolete*) [ ] add new_3_c
276 |/
276 |/
277 | x 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c
277 | x 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c
278 |/
278 |/
279 | x 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c
279 | x 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c
280 |/
280 |/
281 | o 2:245bde4270cd (public) [ ] add original_c
281 | o 2:245bde4270cd (public) [ ] add original_c
282 |/
282 |/
283 o 1:7c3bad9141dc (public) [ ] add b
283 o 1:7c3bad9141dc (public) [ ] add b
284 |
284 |
285 o 0:1f0dee641bb7 (public) [ ] add a
285 o 0:1f0dee641bb7 (public) [ ] add a
286
286
287 $ hg debugobsolete --rev 6f9641995072
287 $ hg debugobsolete --rev 6f9641995072
288 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
288 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
289 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
289 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
290 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
290 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
291 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
291 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
292 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
292 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
293 $ hg debugobsolete --rev 6f9641995072 --exclusive
293 $ hg debugobsolete --rev 6f9641995072 --exclusive
294 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
294 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
295 $ hg debugobsolete --rev 5601fb93a350 --hidden
295 $ hg debugobsolete --rev 5601fb93a350 --hidden
296 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
296 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
297 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
297 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
298 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
298 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
299 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
299 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
300 $ hg debugobsolete --rev 5601fb93a350 --hidden --exclusive
300 $ hg debugobsolete --rev 5601fb93a350 --hidden --exclusive
301 $ hg debugobsolete --rev 5601fb93a350+6f9641995072 --hidden --exclusive
301 $ hg debugobsolete --rev 5601fb93a350+6f9641995072 --hidden --exclusive
302 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
302 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
303 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
303 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
304 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
304 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
305
305
306 $ cd ..
306 $ cd ..
307
307
308 Revision 0 is hidden
308 Revision 0 is hidden
309 --------------------
309 --------------------
310
310
311 $ hg init rev0hidden
311 $ hg init rev0hidden
312 $ cd rev0hidden
312 $ cd rev0hidden
313
313
314 $ mkcommit kill0
314 $ mkcommit kill0
315 $ hg up -q null
315 $ hg up -q null
316 $ hg debugobsolete `getid kill0`
316 $ hg debugobsolete `getid kill0`
317 $ mkcommit a
317 $ mkcommit a
318 $ mkcommit b
318 $ mkcommit b
319
319
320 Should pick the first visible revision as "repo" node
320 Should pick the first visible revision as "repo" node
321
321
322 $ hg archive ../archive-null
322 $ hg archive ../archive-null
323 $ cat ../archive-null/.hg_archival.txt
323 $ cat ../archive-null/.hg_archival.txt
324 repo: 1f0dee641bb7258c56bd60e93edfa2405381c41e
324 repo: 1f0dee641bb7258c56bd60e93edfa2405381c41e
325 node: 7c3bad9141dcb46ff89abf5f61856facd56e476c
325 node: 7c3bad9141dcb46ff89abf5f61856facd56e476c
326 branch: default
326 branch: default
327 latesttag: null
327 latesttag: null
328 latesttagdistance: 2
328 latesttagdistance: 2
329 changessincelatesttag: 2
329 changessincelatesttag: 2
330
330
331
331
332 $ cd ..
332 $ cd ..
333
333
334 Exchange Test
334 Exchange Test
335 ============================
335 ============================
336
336
337 Destination repo does not have any data
337 Destination repo does not have any data
338 ---------------------------------------
338 ---------------------------------------
339
339
340 Simple incoming test
340 Simple incoming test
341
341
342 $ hg init tmpc
342 $ hg init tmpc
343 $ cd tmpc
343 $ cd tmpc
344 $ hg incoming ../tmpb
344 $ hg incoming ../tmpb
345 comparing with ../tmpb
345 comparing with ../tmpb
346 0:1f0dee641bb7 (public) [ ] add a
346 0:1f0dee641bb7 (public) [ ] add a
347 1:7c3bad9141dc (public) [ ] add b
347 1:7c3bad9141dc (public) [ ] add b
348 2:245bde4270cd (public) [ ] add original_c
348 2:245bde4270cd (public) [ ] add original_c
349 6:6f9641995072 (draft) [tip ] add n3w_3_c
349 6:6f9641995072 (draft) [tip ] add n3w_3_c
350
350
351 Try to pull markers
351 Try to pull markers
352 (extinct changeset are excluded but marker are pushed)
352 (extinct changeset are excluded but marker are pushed)
353
353
354 $ hg pull ../tmpb
354 $ hg pull ../tmpb
355 pulling from ../tmpb
355 pulling from ../tmpb
356 requesting all changes
356 requesting all changes
357 adding changesets
357 adding changesets
358 adding manifests
358 adding manifests
359 adding file changes
359 adding file changes
360 added 4 changesets with 4 changes to 4 files (+1 heads)
360 added 4 changesets with 4 changes to 4 files (+1 heads)
361 5 new obsolescence markers
361 5 new obsolescence markers
362 (run 'hg heads' to see heads, 'hg merge' to merge)
362 (run 'hg heads' to see heads, 'hg merge' to merge)
363 $ hg debugobsolete
363 $ hg debugobsolete
364 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
364 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
365 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
365 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
366 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
366 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
367 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
367 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
368 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
368 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
369
369
370 Rollback//Transaction support
370 Rollback//Transaction support
371
371
372 $ hg debugobsolete -d '1340 0' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
372 $ hg debugobsolete -d '1340 0' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
373 $ hg debugobsolete
373 $ hg debugobsolete
374 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
374 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
375 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
375 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
376 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
376 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
377 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
377 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
378 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
378 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
379 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
379 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
380 $ hg rollback -n
380 $ hg rollback -n
381 repository tip rolled back to revision 3 (undo debugobsolete)
381 repository tip rolled back to revision 3 (undo debugobsolete)
382 $ hg rollback
382 $ hg rollback
383 repository tip rolled back to revision 3 (undo debugobsolete)
383 repository tip rolled back to revision 3 (undo debugobsolete)
384 $ hg debugobsolete
384 $ hg debugobsolete
385 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
385 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
386 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
386 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
387 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
387 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
388 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
388 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
389 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
389 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
390
390
391 $ cd ..
391 $ cd ..
392
392
393 Try to push markers
393 Try to push markers
394
394
395 $ hg init tmpd
395 $ hg init tmpd
396 $ hg -R tmpb push tmpd
396 $ hg -R tmpb push tmpd
397 pushing to tmpd
397 pushing to tmpd
398 searching for changes
398 searching for changes
399 adding changesets
399 adding changesets
400 adding manifests
400 adding manifests
401 adding file changes
401 adding file changes
402 added 4 changesets with 4 changes to 4 files (+1 heads)
402 added 4 changesets with 4 changes to 4 files (+1 heads)
403 5 new obsolescence markers
403 5 new obsolescence markers
404 $ hg -R tmpd debugobsolete | sort
404 $ hg -R tmpd debugobsolete | sort
405 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
405 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
406 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
406 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
407 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
407 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
408 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
408 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
409 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
409 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
410
410
411 Check obsolete keys are exchanged only if source has an obsolete store
411 Check obsolete keys are exchanged only if source has an obsolete store
412
412
413 $ hg init empty
413 $ hg init empty
414 $ hg --config extensions.debugkeys=debugkeys.py -R empty push tmpd
414 $ hg --config extensions.debugkeys=debugkeys.py -R empty push tmpd
415 pushing to tmpd
415 pushing to tmpd
416 listkeys phases
416 listkeys phases
417 listkeys bookmarks
417 listkeys bookmarks
418 no changes found
418 no changes found
419 listkeys phases
419 listkeys phases
420 [1]
420 [1]
421
421
422 clone support
422 clone support
423 (markers are copied and extinct changesets are included to allow hardlinks)
423 (markers are copied and extinct changesets are included to allow hardlinks)
424
424
425 $ hg clone tmpb clone-dest
425 $ hg clone tmpb clone-dest
426 updating to branch default
426 updating to branch default
427 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
427 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
428 $ hg -R clone-dest log -G --hidden
428 $ hg -R clone-dest log -G --hidden
429 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
429 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
430 |
430 |
431 | x 5:5601fb93a350 (draft *obsolete*) [ ] add new_3_c
431 | x 5:5601fb93a350 (draft *obsolete*) [ ] add new_3_c
432 |/
432 |/
433 | x 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c
433 | x 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c
434 |/
434 |/
435 | x 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c
435 | x 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c
436 |/
436 |/
437 | o 2:245bde4270cd (public) [ ] add original_c
437 | o 2:245bde4270cd (public) [ ] add original_c
438 |/
438 |/
439 o 1:7c3bad9141dc (public) [ ] add b
439 o 1:7c3bad9141dc (public) [ ] add b
440 |
440 |
441 o 0:1f0dee641bb7 (public) [ ] add a
441 o 0:1f0dee641bb7 (public) [ ] add a
442
442
443 $ hg -R clone-dest debugobsolete
443 $ hg -R clone-dest debugobsolete
444 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
444 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
445 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
445 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
446 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
446 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
447 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
447 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
448 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
448 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
449
449
450
450
451 Destination repo have existing data
451 Destination repo have existing data
452 ---------------------------------------
452 ---------------------------------------
453
453
454 On pull
454 On pull
455
455
456 $ hg init tmpe
456 $ hg init tmpe
457 $ cd tmpe
457 $ cd tmpe
458 $ hg debugobsolete -d '1339 0' 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00
458 $ hg debugobsolete -d '1339 0' 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00
459 $ hg pull ../tmpb
459 $ hg pull ../tmpb
460 pulling from ../tmpb
460 pulling from ../tmpb
461 requesting all changes
461 requesting all changes
462 adding changesets
462 adding changesets
463 adding manifests
463 adding manifests
464 adding file changes
464 adding file changes
465 added 4 changesets with 4 changes to 4 files (+1 heads)
465 added 4 changesets with 4 changes to 4 files (+1 heads)
466 5 new obsolescence markers
466 5 new obsolescence markers
467 (run 'hg heads' to see heads, 'hg merge' to merge)
467 (run 'hg heads' to see heads, 'hg merge' to merge)
468 $ hg debugobsolete
468 $ hg debugobsolete
469 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
469 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
470 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
470 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
471 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
471 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
472 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
472 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
473 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
473 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
474 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
474 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
475
475
476
476
477 On push
477 On push
478
478
479 $ hg push ../tmpc
479 $ hg push ../tmpc
480 pushing to ../tmpc
480 pushing to ../tmpc
481 searching for changes
481 searching for changes
482 no changes found
482 no changes found
483 1 new obsolescence markers
483 1 new obsolescence markers
484 [1]
484 [1]
485 $ hg -R ../tmpc debugobsolete
485 $ hg -R ../tmpc debugobsolete
486 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
486 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
487 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
487 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
488 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
488 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
489 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
489 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
490 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
490 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
491 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
491 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
492
492
493 detect outgoing obsolete and unstable
493 detect outgoing obsolete and unstable
494 ---------------------------------------
494 ---------------------------------------
495
495
496
496
497 $ hg log -G
497 $ hg log -G
498 o 3:6f9641995072 (draft) [tip ] add n3w_3_c
498 o 3:6f9641995072 (draft) [tip ] add n3w_3_c
499 |
499 |
500 | o 2:245bde4270cd (public) [ ] add original_c
500 | o 2:245bde4270cd (public) [ ] add original_c
501 |/
501 |/
502 o 1:7c3bad9141dc (public) [ ] add b
502 o 1:7c3bad9141dc (public) [ ] add b
503 |
503 |
504 o 0:1f0dee641bb7 (public) [ ] add a
504 o 0:1f0dee641bb7 (public) [ ] add a
505
505
506 $ hg up 'desc("n3w_3_c")'
506 $ hg up 'desc("n3w_3_c")'
507 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
507 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
508 $ mkcommit original_d
508 $ mkcommit original_d
509 $ mkcommit original_e
509 $ mkcommit original_e
510 $ hg debugobsolete --record-parents `getid original_d` -d '0 0'
510 $ hg debugobsolete --record-parents `getid original_d` -d '0 0'
511 $ hg debugobsolete | grep `getid original_d`
511 $ hg debugobsolete | grep `getid original_d`
512 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
512 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
513 $ hg log -r 'obsolete()'
513 $ hg log -r 'obsolete()'
514 4:94b33453f93b (draft *obsolete*) [ ] add original_d
514 4:94b33453f93b (draft *obsolete*) [ ] add original_d
515 $ hg summary
515 $ hg summary
516 parent: 5:cda648ca50f5 tip (unstable)
516 parent: 5:cda648ca50f5 tip (unstable)
517 add original_e
517 add original_e
518 branch: default
518 branch: default
519 commit: (clean)
519 commit: (clean)
520 update: 1 new changesets, 2 branch heads (merge)
520 update: 1 new changesets, 2 branch heads (merge)
521 phases: 3 draft
521 phases: 3 draft
522 unstable: 1 changesets
522 unstable: 1 changesets
523 $ hg log -G -r '::unstable()'
523 $ hg log -G -r '::unstable()'
524 @ 5:cda648ca50f5 (draft unstable) [tip ] add original_e
524 @ 5:cda648ca50f5 (draft unstable) [tip ] add original_e
525 |
525 |
526 x 4:94b33453f93b (draft *obsolete*) [ ] add original_d
526 x 4:94b33453f93b (draft *obsolete*) [ ] add original_d
527 |
527 |
528 o 3:6f9641995072 (draft) [ ] add n3w_3_c
528 o 3:6f9641995072 (draft) [ ] add n3w_3_c
529 |
529 |
530 o 1:7c3bad9141dc (public) [ ] add b
530 o 1:7c3bad9141dc (public) [ ] add b
531 |
531 |
532 o 0:1f0dee641bb7 (public) [ ] add a
532 o 0:1f0dee641bb7 (public) [ ] add a
533
533
534
534
535 refuse to push obsolete changeset
535 refuse to push obsolete changeset
536
536
537 $ hg push ../tmpc/ -r 'desc("original_d")'
537 $ hg push ../tmpc/ -r 'desc("original_d")'
538 pushing to ../tmpc/
538 pushing to ../tmpc/
539 searching for changes
539 searching for changes
540 abort: push includes obsolete changeset: 94b33453f93b!
540 abort: push includes obsolete changeset: 94b33453f93b!
541 [255]
541 [255]
542
542
543 refuse to push unstable changeset
543 refuse to push unstable changeset
544
544
545 $ hg push ../tmpc/
545 $ hg push ../tmpc/
546 pushing to ../tmpc/
546 pushing to ../tmpc/
547 searching for changes
547 searching for changes
548 abort: push includes unstable changeset: cda648ca50f5!
548 abort: push includes unstable changeset: cda648ca50f5!
549 [255]
549 [255]
550
550
551 Test that extinct changeset are properly detected
551 Test that extinct changeset are properly detected
552
552
553 $ hg log -r 'extinct()'
553 $ hg log -r 'extinct()'
554
554
555 Don't try to push extinct changeset
555 Don't try to push extinct changeset
556
556
557 $ hg init ../tmpf
557 $ hg init ../tmpf
558 $ hg out ../tmpf
558 $ hg out ../tmpf
559 comparing with ../tmpf
559 comparing with ../tmpf
560 searching for changes
560 searching for changes
561 0:1f0dee641bb7 (public) [ ] add a
561 0:1f0dee641bb7 (public) [ ] add a
562 1:7c3bad9141dc (public) [ ] add b
562 1:7c3bad9141dc (public) [ ] add b
563 2:245bde4270cd (public) [ ] add original_c
563 2:245bde4270cd (public) [ ] add original_c
564 3:6f9641995072 (draft) [ ] add n3w_3_c
564 3:6f9641995072 (draft) [ ] add n3w_3_c
565 4:94b33453f93b (draft *obsolete*) [ ] add original_d
565 4:94b33453f93b (draft *obsolete*) [ ] add original_d
566 5:cda648ca50f5 (draft unstable) [tip ] add original_e
566 5:cda648ca50f5 (draft unstable) [tip ] add original_e
567 $ hg push ../tmpf -f # -f because be push unstable too
567 $ hg push ../tmpf -f # -f because be push unstable too
568 pushing to ../tmpf
568 pushing to ../tmpf
569 searching for changes
569 searching for changes
570 adding changesets
570 adding changesets
571 adding manifests
571 adding manifests
572 adding file changes
572 adding file changes
573 added 6 changesets with 6 changes to 6 files (+1 heads)
573 added 6 changesets with 6 changes to 6 files (+1 heads)
574 7 new obsolescence markers
574 7 new obsolescence markers
575
575
576 no warning displayed
576 no warning displayed
577
577
578 $ hg push ../tmpf
578 $ hg push ../tmpf
579 pushing to ../tmpf
579 pushing to ../tmpf
580 searching for changes
580 searching for changes
581 no changes found
581 no changes found
582 [1]
582 [1]
583
583
584 Do not warn about new head when the new head is a successors of a remote one
584 Do not warn about new head when the new head is a successors of a remote one
585
585
586 $ hg log -G
586 $ hg log -G
587 @ 5:cda648ca50f5 (draft unstable) [tip ] add original_e
587 @ 5:cda648ca50f5 (draft unstable) [tip ] add original_e
588 |
588 |
589 x 4:94b33453f93b (draft *obsolete*) [ ] add original_d
589 x 4:94b33453f93b (draft *obsolete*) [ ] add original_d
590 |
590 |
591 o 3:6f9641995072 (draft) [ ] add n3w_3_c
591 o 3:6f9641995072 (draft) [ ] add n3w_3_c
592 |
592 |
593 | o 2:245bde4270cd (public) [ ] add original_c
593 | o 2:245bde4270cd (public) [ ] add original_c
594 |/
594 |/
595 o 1:7c3bad9141dc (public) [ ] add b
595 o 1:7c3bad9141dc (public) [ ] add b
596 |
596 |
597 o 0:1f0dee641bb7 (public) [ ] add a
597 o 0:1f0dee641bb7 (public) [ ] add a
598
598
599 $ hg up -q 'desc(n3w_3_c)'
599 $ hg up -q 'desc(n3w_3_c)'
600 $ mkcommit obsolete_e
600 $ mkcommit obsolete_e
601 created new head
601 created new head
602 $ hg debugobsolete `getid 'original_e'` `getid 'obsolete_e'`
602 $ hg debugobsolete `getid 'original_e'` `getid 'obsolete_e'` \
603 > -u 'test <test@example.net>'
603 $ hg outgoing ../tmpf # parasite hg outgoing testin
604 $ hg outgoing ../tmpf # parasite hg outgoing testin
604 comparing with ../tmpf
605 comparing with ../tmpf
605 searching for changes
606 searching for changes
606 6:3de5eca88c00 (draft) [tip ] add obsolete_e
607 6:3de5eca88c00 (draft) [tip ] add obsolete_e
607 $ hg push ../tmpf
608 $ hg push ../tmpf
608 pushing to ../tmpf
609 pushing to ../tmpf
609 searching for changes
610 searching for changes
610 adding changesets
611 adding changesets
611 adding manifests
612 adding manifests
612 adding file changes
613 adding file changes
613 added 1 changesets with 1 changes to 1 files (+1 heads)
614 added 1 changesets with 1 changes to 1 files (+1 heads)
614 1 new obsolescence markers
615 1 new obsolescence markers
615
616
616 test relevance computation
617 test relevance computation
617 ---------------------------------------
618 ---------------------------------------
618
619
619 Checking simple case of "marker relevance".
620 Checking simple case of "marker relevance".
620
621
621
622
622 Reminder of the repo situation
623 Reminder of the repo situation
623
624
624 $ hg log --hidden --graph
625 $ hg log --hidden --graph
625 @ 6:3de5eca88c00 (draft) [tip ] add obsolete_e
626 @ 6:3de5eca88c00 (draft) [tip ] add obsolete_e
626 |
627 |
627 | x 5:cda648ca50f5 (draft *obsolete*) [ ] add original_e
628 | x 5:cda648ca50f5 (draft *obsolete*) [ ] add original_e
628 | |
629 | |
629 | x 4:94b33453f93b (draft *obsolete*) [ ] add original_d
630 | x 4:94b33453f93b (draft *obsolete*) [ ] add original_d
630 |/
631 |/
631 o 3:6f9641995072 (draft) [ ] add n3w_3_c
632 o 3:6f9641995072 (draft) [ ] add n3w_3_c
632 |
633 |
633 | o 2:245bde4270cd (public) [ ] add original_c
634 | o 2:245bde4270cd (public) [ ] add original_c
634 |/
635 |/
635 o 1:7c3bad9141dc (public) [ ] add b
636 o 1:7c3bad9141dc (public) [ ] add b
636 |
637 |
637 o 0:1f0dee641bb7 (public) [ ] add a
638 o 0:1f0dee641bb7 (public) [ ] add a
638
639
639
640
640 List of all markers
641 List of all markers
641
642
642 $ hg debugobsolete
643 $ hg debugobsolete
643 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
644 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
644 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
645 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
645 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
646 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
646 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
647 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
647 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
648 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
648 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
649 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
649 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
650 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
650 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
651 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test <test@example.net>'} (glob)
651
652
652 List of changesets with no chain
653 List of changesets with no chain
653
654
654 $ hg debugobsolete --hidden --rev ::2
655 $ hg debugobsolete --hidden --rev ::2
655
656
656 List of changesets that are included on marker chain
657 List of changesets that are included on marker chain
657
658
658 $ hg debugobsolete --hidden --rev 6
659 $ hg debugobsolete --hidden --rev 6
659 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
660 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test <test@example.net>'} (glob)
660
661
661 List of changesets with a longer chain, (including a pruned children)
662 List of changesets with a longer chain, (including a pruned children)
662
663
663 $ hg debugobsolete --hidden --rev 3
664 $ hg debugobsolete --hidden --rev 3
664 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
665 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
665 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
666 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
666 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
667 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
667 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
668 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
668 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
669 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
669 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
670 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
670 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
671 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
671
672
672 List of both
673 List of both
673
674
674 $ hg debugobsolete --hidden --rev 3::6
675 $ hg debugobsolete --hidden --rev 3::6
675 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
676 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
676 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
677 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
677 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
678 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
678 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
679 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
679 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
680 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
680 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
681 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
681 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
682 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test <test@example.net>'} (glob)
682 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
683 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
683
684
684 List of all markers in JSON
685 List of all markers in JSON
685
686
686 $ hg debugobsolete -Tjson
687 $ hg debugobsolete -Tjson
687 [
688 [
688 {
689 {
689 "date": [1339.0, 0],
690 "date": [1339.0, 0],
690 "flag": 0,
691 "flag": 0,
691 "metadata": {"user": "test"},
692 "metadata": {"user": "test"},
692 "precnode": "1339133913391339133913391339133913391339",
693 "precnode": "1339133913391339133913391339133913391339",
693 "succnodes": ["ca819180edb99ed25ceafb3e9584ac287e240b00"]
694 "succnodes": ["ca819180edb99ed25ceafb3e9584ac287e240b00"]
694 },
695 },
695 {
696 {
696 "date": [1339.0, 0],
697 "date": [1339.0, 0],
697 "flag": 0,
698 "flag": 0,
698 "metadata": {"user": "test"},
699 "metadata": {"user": "test"},
699 "precnode": "1337133713371337133713371337133713371337",
700 "precnode": "1337133713371337133713371337133713371337",
700 "succnodes": ["5601fb93a350734d935195fee37f4054c529ff39"]
701 "succnodes": ["5601fb93a350734d935195fee37f4054c529ff39"]
701 },
702 },
702 {
703 {
703 "date": [121.0, 120],
704 "date": [121.0, 120],
704 "flag": 12,
705 "flag": 12,
705 "metadata": {"user": "test"},
706 "metadata": {"user": "test"},
706 "precnode": "245bde4270cd1072a27757984f9cda8ba26f08ca",
707 "precnode": "245bde4270cd1072a27757984f9cda8ba26f08ca",
707 "succnodes": ["cdbce2fbb16313928851e97e0d85413f3f7eb77f"]
708 "succnodes": ["cdbce2fbb16313928851e97e0d85413f3f7eb77f"]
708 },
709 },
709 {
710 {
710 "date": [1338.0, 0],
711 "date": [1338.0, 0],
711 "flag": 1,
712 "flag": 1,
712 "metadata": {"user": "test"},
713 "metadata": {"user": "test"},
713 "precnode": "5601fb93a350734d935195fee37f4054c529ff39",
714 "precnode": "5601fb93a350734d935195fee37f4054c529ff39",
714 "succnodes": ["6f96419950729f3671185b847352890f074f7557"]
715 "succnodes": ["6f96419950729f3671185b847352890f074f7557"]
715 },
716 },
716 {
717 {
717 "date": [1338.0, 0],
718 "date": [1338.0, 0],
718 "flag": 0,
719 "flag": 0,
719 "metadata": {"user": "test"},
720 "metadata": {"user": "test"},
720 "precnode": "ca819180edb99ed25ceafb3e9584ac287e240b00",
721 "precnode": "ca819180edb99ed25ceafb3e9584ac287e240b00",
721 "succnodes": ["1337133713371337133713371337133713371337"]
722 "succnodes": ["1337133713371337133713371337133713371337"]
722 },
723 },
723 {
724 {
724 "date": [1337.0, 0],
725 "date": [1337.0, 0],
725 "flag": 0,
726 "flag": 0,
726 "metadata": {"user": "test"},
727 "metadata": {"user": "test"},
727 "precnode": "cdbce2fbb16313928851e97e0d85413f3f7eb77f",
728 "precnode": "cdbce2fbb16313928851e97e0d85413f3f7eb77f",
728 "succnodes": ["ca819180edb99ed25ceafb3e9584ac287e240b00"]
729 "succnodes": ["ca819180edb99ed25ceafb3e9584ac287e240b00"]
729 },
730 },
730 {
731 {
731 "date": [0.0, 0],
732 "date": [0.0, 0],
732 "flag": 0,
733 "flag": 0,
733 "metadata": {"user": "test"},
734 "metadata": {"user": "test"},
734 "parentnodes": ["6f96419950729f3671185b847352890f074f7557"],
735 "parentnodes": ["6f96419950729f3671185b847352890f074f7557"],
735 "precnode": "94b33453f93bdb8d457ef9b770851a618bf413e1",
736 "precnode": "94b33453f93bdb8d457ef9b770851a618bf413e1",
736 "succnodes": []
737 "succnodes": []
737 },
738 },
738 {
739 {
739 "date": *, (glob)
740 "date": *, (glob)
740 "flag": 0,
741 "flag": 0,
741 "metadata": {"user": "test"},
742 "metadata": {"user": "test \u003ctest@example.net\u003e"},
742 "precnode": "cda648ca50f50482b7055c0b0c4c117bba6733d9",
743 "precnode": "cda648ca50f50482b7055c0b0c4c117bba6733d9",
743 "succnodes": ["3de5eca88c00aa039da7399a220f4a5221faa585"]
744 "succnodes": ["3de5eca88c00aa039da7399a220f4a5221faa585"]
744 }
745 }
745 ]
746 ]
746
747
747 Template keywords
748 Template keywords
748
749
749 $ hg debugobsolete -r6 -T '{succnodes % "{node|short}"} {date|shortdate}\n'
750 $ hg debugobsolete -r6 -T '{succnodes % "{node|short}"} {date|shortdate}\n'
750 3de5eca88c00 ????-??-?? (glob)
751 3de5eca88c00 ????-??-?? (glob)
751 $ hg debugobsolete -r6 -T '{join(metadata % "{key}={value}", " ")}\n'
752 $ hg debugobsolete -r6 -T '{join(metadata % "{key}={value}", " ")}\n'
752 user=test
753 user=test <test@example.net>
753 $ hg debugobsolete -r6 -T '{metadata}\n'
754 $ hg debugobsolete -r6 -T '{metadata}\n'
754 'user': 'test'
755 'user': 'test <test@example.net>'
755 $ hg debugobsolete -r6 -T '{flag} {get(metadata, "user")}\n'
756 $ hg debugobsolete -r6 -T '{flag} {get(metadata, "user")}\n'
756 0 test
757 0 test <test@example.net>
757
758
758 Test the debug output for exchange
759 Test the debug output for exchange
759 ----------------------------------
760 ----------------------------------
760
761
761 $ hg pull ../tmpb --config 'experimental.obsmarkers-exchange-debug=True' # bundle2
762 $ hg pull ../tmpb --config 'experimental.obsmarkers-exchange-debug=True' # bundle2
762 pulling from ../tmpb
763 pulling from ../tmpb
763 searching for changes
764 searching for changes
764 no changes found
765 no changes found
765 obsmarker-exchange: 346 bytes received
766 obsmarker-exchange: 346 bytes received
766
767
767 check hgweb does not explode
768 check hgweb does not explode
768 ====================================
769 ====================================
769
770
770 $ hg unbundle $TESTDIR/bundles/hgweb+obs.hg
771 $ hg unbundle $TESTDIR/bundles/hgweb+obs.hg
771 adding changesets
772 adding changesets
772 adding manifests
773 adding manifests
773 adding file changes
774 adding file changes
774 added 62 changesets with 63 changes to 9 files (+60 heads)
775 added 62 changesets with 63 changes to 9 files (+60 heads)
775 (run 'hg heads .' to see heads, 'hg merge' to merge)
776 (run 'hg heads .' to see heads, 'hg merge' to merge)
776 $ for node in `hg log -r 'desc(babar_)' --template '{node}\n'`;
777 $ for node in `hg log -r 'desc(babar_)' --template '{node}\n'`;
777 > do
778 > do
778 > hg debugobsolete $node
779 > hg debugobsolete $node
779 > done
780 > done
780 $ hg up tip
781 $ hg up tip
781 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
782 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
782
783
783 #if serve
784 #if serve
784
785
785 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
786 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
786 $ cat hg.pid >> $DAEMON_PIDS
787 $ cat hg.pid >> $DAEMON_PIDS
787
788
788 check changelog view
789 check changelog view
789
790
790 $ get-with-headers.py --headeronly localhost:$HGPORT 'shortlog/'
791 $ get-with-headers.py --headeronly localhost:$HGPORT 'shortlog/'
791 200 Script output follows
792 200 Script output follows
792
793
793 check graph view
794 check graph view
794
795
795 $ get-with-headers.py --headeronly localhost:$HGPORT 'graph'
796 $ get-with-headers.py --headeronly localhost:$HGPORT 'graph'
796 200 Script output follows
797 200 Script output follows
797
798
798 check filelog view
799 check filelog view
799
800
800 $ get-with-headers.py --headeronly localhost:$HGPORT 'log/'`hg log -r . -T "{node}"`/'babar'
801 $ get-with-headers.py --headeronly localhost:$HGPORT 'log/'`hg log -r . -T "{node}"`/'babar'
801 200 Script output follows
802 200 Script output follows
802
803
803 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/68'
804 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/68'
804 200 Script output follows
805 200 Script output follows
805 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/67'
806 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/67'
806 404 Not Found
807 404 Not Found
807 [1]
808 [1]
808
809
809 check that web.view config option:
810 check that web.view config option:
810
811
811 $ killdaemons.py hg.pid
812 $ killdaemons.py hg.pid
812 $ cat >> .hg/hgrc << EOF
813 $ cat >> .hg/hgrc << EOF
813 > [web]
814 > [web]
814 > view=all
815 > view=all
815 > EOF
816 > EOF
816 $ wait
817 $ wait
817 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
818 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
818 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/67'
819 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/67'
819 200 Script output follows
820 200 Script output follows
820 $ killdaemons.py hg.pid
821 $ killdaemons.py hg.pid
821
822
822 Checking _enable=False warning if obsolete marker exists
823 Checking _enable=False warning if obsolete marker exists
823
824
824 $ echo '[experimental]' >> $HGRCPATH
825 $ echo '[experimental]' >> $HGRCPATH
825 $ echo "evolution=" >> $HGRCPATH
826 $ echo "evolution=" >> $HGRCPATH
826 $ hg log -r tip
827 $ hg log -r tip
827 obsolete feature not enabled but 68 markers found!
828 obsolete feature not enabled but 68 markers found!
828 68:c15e9edfca13 (draft) [tip ] add celestine
829 68:c15e9edfca13 (draft) [tip ] add celestine
829
830
830 reenable for later test
831 reenable for later test
831
832
832 $ echo '[experimental]' >> $HGRCPATH
833 $ echo '[experimental]' >> $HGRCPATH
833 $ echo "evolution=createmarkers,exchange" >> $HGRCPATH
834 $ echo "evolution=createmarkers,exchange" >> $HGRCPATH
834
835
835 $ rm hg.pid access.log errors.log
836 $ rm hg.pid access.log errors.log
836 #endif
837 #endif
837
838
838 Several troubles on the same changeset (create an unstable and bumped changeset)
839 Several troubles on the same changeset (create an unstable and bumped changeset)
839
840
840 $ hg debugobsolete `getid obsolete_e`
841 $ hg debugobsolete `getid obsolete_e`
841 $ hg debugobsolete `getid original_c` `getid babar`
842 $ hg debugobsolete `getid original_c` `getid babar`
842 $ hg log --config ui.logtemplate= -r 'bumped() and unstable()'
843 $ hg log --config ui.logtemplate= -r 'bumped() and unstable()'
843 changeset: 7:50c51b361e60
844 changeset: 7:50c51b361e60
844 user: test
845 user: test
845 date: Thu Jan 01 00:00:00 1970 +0000
846 date: Thu Jan 01 00:00:00 1970 +0000
846 trouble: unstable, bumped
847 trouble: unstable, bumped
847 summary: add babar
848 summary: add babar
848
849
849
850
850 test the "obsolete" templatekw
851 test the "obsolete" templatekw
851
852
852 $ hg log -r 'obsolete()'
853 $ hg log -r 'obsolete()'
853 6:3de5eca88c00 (draft *obsolete*) [ ] add obsolete_e
854 6:3de5eca88c00 (draft *obsolete*) [ ] add obsolete_e
854
855
855 test the "troubles" templatekw
856 test the "troubles" templatekw
856
857
857 $ hg log -r 'bumped() and unstable()'
858 $ hg log -r 'bumped() and unstable()'
858 7:50c51b361e60 (draft unstable bumped) [ ] add babar
859 7:50c51b361e60 (draft unstable bumped) [ ] add babar
859
860
860 test the default cmdline template
861 test the default cmdline template
861
862
862 $ hg log -T default -r 'bumped()'
863 $ hg log -T default -r 'bumped()'
863 changeset: 7:50c51b361e60
864 changeset: 7:50c51b361e60
864 user: test
865 user: test
865 date: Thu Jan 01 00:00:00 1970 +0000
866 date: Thu Jan 01 00:00:00 1970 +0000
866 trouble: unstable, bumped
867 trouble: unstable, bumped
867 summary: add babar
868 summary: add babar
868
869
869 $ hg log -T default -r 'obsolete()'
870 $ hg log -T default -r 'obsolete()'
870 changeset: 6:3de5eca88c00
871 changeset: 6:3de5eca88c00
871 parent: 3:6f9641995072
872 parent: 3:6f9641995072
872 user: test
873 user: test
873 date: Thu Jan 01 00:00:00 1970 +0000
874 date: Thu Jan 01 00:00:00 1970 +0000
874 summary: add obsolete_e
875 summary: add obsolete_e
875
876
876
877
877 test summary output
878 test summary output
878
879
879 $ hg up -r 'bumped() and unstable()'
880 $ hg up -r 'bumped() and unstable()'
880 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
881 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
881 $ hg summary
882 $ hg summary
882 parent: 7:50c51b361e60 (unstable, bumped)
883 parent: 7:50c51b361e60 (unstable, bumped)
883 add babar
884 add babar
884 branch: default
885 branch: default
885 commit: (clean)
886 commit: (clean)
886 update: 2 new changesets (update)
887 update: 2 new changesets (update)
887 phases: 4 draft
888 phases: 4 draft
888 unstable: 2 changesets
889 unstable: 2 changesets
889 bumped: 1 changesets
890 bumped: 1 changesets
890 $ hg up -r 'obsolete()'
891 $ hg up -r 'obsolete()'
891 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
892 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
892 $ hg summary
893 $ hg summary
893 parent: 6:3de5eca88c00 (obsolete)
894 parent: 6:3de5eca88c00 (obsolete)
894 add obsolete_e
895 add obsolete_e
895 branch: default
896 branch: default
896 commit: (clean)
897 commit: (clean)
897 update: 3 new changesets (update)
898 update: 3 new changesets (update)
898 phases: 4 draft
899 phases: 4 draft
899 unstable: 2 changesets
900 unstable: 2 changesets
900 bumped: 1 changesets
901 bumped: 1 changesets
901
902
902 Test incoming/outcoming with changesets obsoleted remotely, known locally
903 Test incoming/outcoming with changesets obsoleted remotely, known locally
903 ===============================================================================
904 ===============================================================================
904
905
905 This test issue 3805
906 This test issue 3805
906
907
907 $ hg init repo-issue3805
908 $ hg init repo-issue3805
908 $ cd repo-issue3805
909 $ cd repo-issue3805
909 $ echo "base" > base
910 $ echo "base" > base
910 $ hg ci -Am "base"
911 $ hg ci -Am "base"
911 adding base
912 adding base
912 $ echo "foo" > foo
913 $ echo "foo" > foo
913 $ hg ci -Am "A"
914 $ hg ci -Am "A"
914 adding foo
915 adding foo
915 $ hg clone . ../other-issue3805
916 $ hg clone . ../other-issue3805
916 updating to branch default
917 updating to branch default
917 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
918 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
918 $ echo "bar" >> foo
919 $ echo "bar" >> foo
919 $ hg ci --amend
920 $ hg ci --amend
920 $ cd ../other-issue3805
921 $ cd ../other-issue3805
921 $ hg log -G
922 $ hg log -G
922 @ 1:29f0c6921ddd (draft) [tip ] A
923 @ 1:29f0c6921ddd (draft) [tip ] A
923 |
924 |
924 o 0:d20a80d4def3 (draft) [ ] base
925 o 0:d20a80d4def3 (draft) [ ] base
925
926
926 $ hg log -G -R ../repo-issue3805
927 $ hg log -G -R ../repo-issue3805
927 @ 3:323a9c3ddd91 (draft) [tip ] A
928 @ 3:323a9c3ddd91 (draft) [tip ] A
928 |
929 |
929 o 0:d20a80d4def3 (draft) [ ] base
930 o 0:d20a80d4def3 (draft) [ ] base
930
931
931 $ hg incoming
932 $ hg incoming
932 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
933 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
933 searching for changes
934 searching for changes
934 3:323a9c3ddd91 (draft) [tip ] A
935 3:323a9c3ddd91 (draft) [tip ] A
935 $ hg incoming --bundle ../issue3805.hg
936 $ hg incoming --bundle ../issue3805.hg
936 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
937 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
937 searching for changes
938 searching for changes
938 3:323a9c3ddd91 (draft) [tip ] A
939 3:323a9c3ddd91 (draft) [tip ] A
939 $ hg outgoing
940 $ hg outgoing
940 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
941 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
941 searching for changes
942 searching for changes
942 1:29f0c6921ddd (draft) [tip ] A
943 1:29f0c6921ddd (draft) [tip ] A
943
944
944 #if serve
945 #if serve
945
946
946 $ hg serve -R ../repo-issue3805 -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
947 $ hg serve -R ../repo-issue3805 -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
947 $ cat hg.pid >> $DAEMON_PIDS
948 $ cat hg.pid >> $DAEMON_PIDS
948
949
949 $ hg incoming http://localhost:$HGPORT
950 $ hg incoming http://localhost:$HGPORT
950 comparing with http://localhost:$HGPORT/
951 comparing with http://localhost:$HGPORT/
951 searching for changes
952 searching for changes
952 2:323a9c3ddd91 (draft) [tip ] A
953 2:323a9c3ddd91 (draft) [tip ] A
953 $ hg outgoing http://localhost:$HGPORT
954 $ hg outgoing http://localhost:$HGPORT
954 comparing with http://localhost:$HGPORT/
955 comparing with http://localhost:$HGPORT/
955 searching for changes
956 searching for changes
956 1:29f0c6921ddd (draft) [tip ] A
957 1:29f0c6921ddd (draft) [tip ] A
957
958
958 $ killdaemons.py
959 $ killdaemons.py
959
960
960 #endif
961 #endif
961
962
962 This test issue 3814
963 This test issue 3814
963
964
964 (nothing to push but locally hidden changeset)
965 (nothing to push but locally hidden changeset)
965
966
966 $ cd ..
967 $ cd ..
967 $ hg init repo-issue3814
968 $ hg init repo-issue3814
968 $ cd repo-issue3805
969 $ cd repo-issue3805
969 $ hg push -r 323a9c3ddd91 ../repo-issue3814
970 $ hg push -r 323a9c3ddd91 ../repo-issue3814
970 pushing to ../repo-issue3814
971 pushing to ../repo-issue3814
971 searching for changes
972 searching for changes
972 adding changesets
973 adding changesets
973 adding manifests
974 adding manifests
974 adding file changes
975 adding file changes
975 added 2 changesets with 2 changes to 2 files
976 added 2 changesets with 2 changes to 2 files
976 2 new obsolescence markers
977 2 new obsolescence markers
977 $ hg out ../repo-issue3814
978 $ hg out ../repo-issue3814
978 comparing with ../repo-issue3814
979 comparing with ../repo-issue3814
979 searching for changes
980 searching for changes
980 no changes found
981 no changes found
981 [1]
982 [1]
982
983
983 Test that a local tag blocks a changeset from being hidden
984 Test that a local tag blocks a changeset from being hidden
984
985
985 $ hg tag -l visible -r 1 --hidden
986 $ hg tag -l visible -r 1 --hidden
986 $ hg log -G
987 $ hg log -G
987 @ 3:323a9c3ddd91 (draft) [tip ] A
988 @ 3:323a9c3ddd91 (draft) [tip ] A
988 |
989 |
989 | x 1:29f0c6921ddd (draft *obsolete*) [visible ] A
990 | x 1:29f0c6921ddd (draft *obsolete*) [visible ] A
990 |/
991 |/
991 o 0:d20a80d4def3 (draft) [ ] base
992 o 0:d20a80d4def3 (draft) [ ] base
992
993
993 Test that removing a local tag does not cause some commands to fail
994 Test that removing a local tag does not cause some commands to fail
994
995
995 $ hg tag -l -r tip tiptag
996 $ hg tag -l -r tip tiptag
996 $ hg tags
997 $ hg tags
997 tiptag 3:323a9c3ddd91
998 tiptag 3:323a9c3ddd91
998 tip 3:323a9c3ddd91
999 tip 3:323a9c3ddd91
999 visible 1:29f0c6921ddd
1000 visible 1:29f0c6921ddd
1000 $ hg --config extensions.strip= strip -r tip --no-backup
1001 $ hg --config extensions.strip= strip -r tip --no-backup
1001 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1002 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1002 $ hg tags
1003 $ hg tags
1003 visible 1:29f0c6921ddd
1004 visible 1:29f0c6921ddd
1004 tip 1:29f0c6921ddd
1005 tip 1:29f0c6921ddd
1005
1006
1006 Test bundle overlay onto hidden revision
1007 Test bundle overlay onto hidden revision
1007
1008
1008 $ cd ..
1009 $ cd ..
1009 $ hg init repo-bundleoverlay
1010 $ hg init repo-bundleoverlay
1010 $ cd repo-bundleoverlay
1011 $ cd repo-bundleoverlay
1011 $ echo "A" > foo
1012 $ echo "A" > foo
1012 $ hg ci -Am "A"
1013 $ hg ci -Am "A"
1013 adding foo
1014 adding foo
1014 $ echo "B" >> foo
1015 $ echo "B" >> foo
1015 $ hg ci -m "B"
1016 $ hg ci -m "B"
1016 $ hg up 0
1017 $ hg up 0
1017 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1018 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1018 $ echo "C" >> foo
1019 $ echo "C" >> foo
1019 $ hg ci -m "C"
1020 $ hg ci -m "C"
1020 created new head
1021 created new head
1021 $ hg log -G
1022 $ hg log -G
1022 @ 2:c186d7714947 (draft) [tip ] C
1023 @ 2:c186d7714947 (draft) [tip ] C
1023 |
1024 |
1024 | o 1:44526ebb0f98 (draft) [ ] B
1025 | o 1:44526ebb0f98 (draft) [ ] B
1025 |/
1026 |/
1026 o 0:4b34ecfb0d56 (draft) [ ] A
1027 o 0:4b34ecfb0d56 (draft) [ ] A
1027
1028
1028
1029
1029 $ hg clone -r1 . ../other-bundleoverlay
1030 $ hg clone -r1 . ../other-bundleoverlay
1030 adding changesets
1031 adding changesets
1031 adding manifests
1032 adding manifests
1032 adding file changes
1033 adding file changes
1033 added 2 changesets with 2 changes to 1 files
1034 added 2 changesets with 2 changes to 1 files
1034 updating to branch default
1035 updating to branch default
1035 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1036 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1036 $ cd ../other-bundleoverlay
1037 $ cd ../other-bundleoverlay
1037 $ echo "B+" >> foo
1038 $ echo "B+" >> foo
1038 $ hg ci --amend -m "B+"
1039 $ hg ci --amend -m "B+"
1039 $ hg log -G --hidden
1040 $ hg log -G --hidden
1040 @ 3:b7d587542d40 (draft) [tip ] B+
1041 @ 3:b7d587542d40 (draft) [tip ] B+
1041 |
1042 |
1042 | x 2:eb95e9297e18 (draft *obsolete*) [ ] temporary amend commit for 44526ebb0f98
1043 | x 2:eb95e9297e18 (draft *obsolete*) [ ] temporary amend commit for 44526ebb0f98
1043 | |
1044 | |
1044 | x 1:44526ebb0f98 (draft *obsolete*) [ ] B
1045 | x 1:44526ebb0f98 (draft *obsolete*) [ ] B
1045 |/
1046 |/
1046 o 0:4b34ecfb0d56 (draft) [ ] A
1047 o 0:4b34ecfb0d56 (draft) [ ] A
1047
1048
1048
1049
1049 $ hg incoming ../repo-bundleoverlay --bundle ../bundleoverlay.hg
1050 $ hg incoming ../repo-bundleoverlay --bundle ../bundleoverlay.hg
1050 comparing with ../repo-bundleoverlay
1051 comparing with ../repo-bundleoverlay
1051 searching for changes
1052 searching for changes
1052 1:44526ebb0f98 (draft) [ ] B
1053 1:44526ebb0f98 (draft) [ ] B
1053 2:c186d7714947 (draft) [tip ] C
1054 2:c186d7714947 (draft) [tip ] C
1054 $ hg log -G -R ../bundleoverlay.hg
1055 $ hg log -G -R ../bundleoverlay.hg
1055 o 4:c186d7714947 (draft) [tip ] C
1056 o 4:c186d7714947 (draft) [tip ] C
1056 |
1057 |
1057 | @ 3:b7d587542d40 (draft) [ ] B+
1058 | @ 3:b7d587542d40 (draft) [ ] B+
1058 |/
1059 |/
1059 o 0:4b34ecfb0d56 (draft) [ ] A
1060 o 0:4b34ecfb0d56 (draft) [ ] A
1060
1061
1061
1062
1062 #if serve
1063 #if serve
1063
1064
1064 Test issue 4506
1065 Test issue 4506
1065
1066
1066 $ cd ..
1067 $ cd ..
1067 $ hg init repo-issue4506
1068 $ hg init repo-issue4506
1068 $ cd repo-issue4506
1069 $ cd repo-issue4506
1069 $ echo "0" > foo
1070 $ echo "0" > foo
1070 $ hg add foo
1071 $ hg add foo
1071 $ hg ci -m "content-0"
1072 $ hg ci -m "content-0"
1072
1073
1073 $ hg up null
1074 $ hg up null
1074 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1075 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1075 $ echo "1" > bar
1076 $ echo "1" > bar
1076 $ hg add bar
1077 $ hg add bar
1077 $ hg ci -m "content-1"
1078 $ hg ci -m "content-1"
1078 created new head
1079 created new head
1079 $ hg up 0
1080 $ hg up 0
1080 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1081 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1081 $ hg graft 1
1082 $ hg graft 1
1082 grafting 1:1c9eddb02162 "content-1" (tip)
1083 grafting 1:1c9eddb02162 "content-1" (tip)
1083
1084
1084 $ hg debugobsolete `hg log -r1 -T'{node}'` `hg log -r2 -T'{node}'`
1085 $ hg debugobsolete `hg log -r1 -T'{node}'` `hg log -r2 -T'{node}'`
1085
1086
1086 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
1087 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
1087 $ cat hg.pid >> $DAEMON_PIDS
1088 $ cat hg.pid >> $DAEMON_PIDS
1088
1089
1089 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/1'
1090 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/1'
1090 404 Not Found
1091 404 Not Found
1091 [1]
1092 [1]
1092 $ get-with-headers.py --headeronly localhost:$HGPORT 'file/tip/bar'
1093 $ get-with-headers.py --headeronly localhost:$HGPORT 'file/tip/bar'
1093 200 Script output follows
1094 200 Script output follows
1094 $ get-with-headers.py --headeronly localhost:$HGPORT 'annotate/tip/bar'
1095 $ get-with-headers.py --headeronly localhost:$HGPORT 'annotate/tip/bar'
1095 200 Script output follows
1096 200 Script output follows
1096
1097
1097 $ killdaemons.py
1098 $ killdaemons.py
1098
1099
1099 #endif
1100 #endif
1100
1101
1101 Test heads computation on pending index changes with obsolescence markers
1102 Test heads computation on pending index changes with obsolescence markers
1102 $ cd ..
1103 $ cd ..
1103 $ cat >$TESTTMP/test_extension.py << EOF
1104 $ cat >$TESTTMP/test_extension.py << EOF
1104 > from mercurial import cmdutil, registrar
1105 > from mercurial import cmdutil, registrar
1105 > from mercurial.i18n import _
1106 > from mercurial.i18n import _
1106 >
1107 >
1107 > cmdtable = {}
1108 > cmdtable = {}
1108 > command = registrar.command(cmdtable)
1109 > command = registrar.command(cmdtable)
1109 > @command("amendtransient",[], _('hg amendtransient [rev]'))
1110 > @command("amendtransient",[], _('hg amendtransient [rev]'))
1110 > def amend(ui, repo, *pats, **opts):
1111 > def amend(ui, repo, *pats, **opts):
1111 > def commitfunc(ui, repo, message, match, opts):
1112 > def commitfunc(ui, repo, message, match, opts):
1112 > return repo.commit(message, repo['.'].user(), repo['.'].date(), match)
1113 > return repo.commit(message, repo['.'].user(), repo['.'].date(), match)
1113 > opts['message'] = 'Test'
1114 > opts['message'] = 'Test'
1114 > opts['logfile'] = None
1115 > opts['logfile'] = None
1115 > cmdutil.amend(ui, repo, commitfunc, repo['.'], {}, pats, opts)
1116 > cmdutil.amend(ui, repo, commitfunc, repo['.'], {}, pats, opts)
1116 > ui.write('%s\n' % repo.changelog.headrevs())
1117 > ui.write('%s\n' % repo.changelog.headrevs())
1117 > EOF
1118 > EOF
1118 $ cat >> $HGRCPATH << EOF
1119 $ cat >> $HGRCPATH << EOF
1119 > [extensions]
1120 > [extensions]
1120 > testextension=$TESTTMP/test_extension.py
1121 > testextension=$TESTTMP/test_extension.py
1121 > EOF
1122 > EOF
1122 $ hg init repo-issue-nativerevs-pending-changes
1123 $ hg init repo-issue-nativerevs-pending-changes
1123 $ cd repo-issue-nativerevs-pending-changes
1124 $ cd repo-issue-nativerevs-pending-changes
1124 $ mkcommit a
1125 $ mkcommit a
1125 $ mkcommit b
1126 $ mkcommit b
1126 $ hg up ".^"
1127 $ hg up ".^"
1127 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1128 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1128 $ echo aa > a
1129 $ echo aa > a
1129 $ hg amendtransient
1130 $ hg amendtransient
1130 [1, 3]
1131 [1, 3]
1131
1132
1132 Test cache consistency for the visible filter
1133 Test cache consistency for the visible filter
1133 1) We want to make sure that the cached filtered revs are invalidated when
1134 1) We want to make sure that the cached filtered revs are invalidated when
1134 bookmarks change
1135 bookmarks change
1135 $ cd ..
1136 $ cd ..
1136 $ cat >$TESTTMP/test_extension.py << EOF
1137 $ cat >$TESTTMP/test_extension.py << EOF
1137 > import weakref
1138 > import weakref
1138 > from mercurial import cmdutil, extensions, bookmarks, repoview
1139 > from mercurial import cmdutil, extensions, bookmarks, repoview
1139 > def _bookmarkchanged(orig, bkmstoreinst, *args, **kwargs):
1140 > def _bookmarkchanged(orig, bkmstoreinst, *args, **kwargs):
1140 > reporef = weakref.ref(bkmstoreinst._repo)
1141 > reporef = weakref.ref(bkmstoreinst._repo)
1141 > def trhook(tr):
1142 > def trhook(tr):
1142 > repo = reporef()
1143 > repo = reporef()
1143 > hidden1 = repoview.computehidden(repo)
1144 > hidden1 = repoview.computehidden(repo)
1144 > hidden = repoview.filterrevs(repo, 'visible')
1145 > hidden = repoview.filterrevs(repo, 'visible')
1145 > if sorted(hidden1) != sorted(hidden):
1146 > if sorted(hidden1) != sorted(hidden):
1146 > print "cache inconsistency"
1147 > print "cache inconsistency"
1147 > bkmstoreinst._repo.currenttransaction().addpostclose('test_extension', trhook)
1148 > bkmstoreinst._repo.currenttransaction().addpostclose('test_extension', trhook)
1148 > orig(bkmstoreinst, *args, **kwargs)
1149 > orig(bkmstoreinst, *args, **kwargs)
1149 > def extsetup(ui):
1150 > def extsetup(ui):
1150 > extensions.wrapfunction(bookmarks.bmstore, 'recordchange',
1151 > extensions.wrapfunction(bookmarks.bmstore, 'recordchange',
1151 > _bookmarkchanged)
1152 > _bookmarkchanged)
1152 > EOF
1153 > EOF
1153
1154
1154 $ hg init repo-cache-inconsistency
1155 $ hg init repo-cache-inconsistency
1155 $ cd repo-issue-nativerevs-pending-changes
1156 $ cd repo-issue-nativerevs-pending-changes
1156 $ mkcommit a
1157 $ mkcommit a
1157 a already tracked!
1158 a already tracked!
1158 $ mkcommit b
1159 $ mkcommit b
1159 $ hg id
1160 $ hg id
1160 13bedc178fce tip
1161 13bedc178fce tip
1161 $ echo "hello" > b
1162 $ echo "hello" > b
1162 $ hg commit --amend -m "message"
1163 $ hg commit --amend -m "message"
1163 $ hg book bookb -r 13bedc178fce --hidden
1164 $ hg book bookb -r 13bedc178fce --hidden
1164 $ hg log -r 13bedc178fce
1165 $ hg log -r 13bedc178fce
1165 5:13bedc178fce (draft *obsolete*) [ bookb] add b
1166 5:13bedc178fce (draft *obsolete*) [ bookb] add b
1166 $ hg book -d bookb
1167 $ hg book -d bookb
1167 $ hg log -r 13bedc178fce
1168 $ hg log -r 13bedc178fce
1168 abort: hidden revision '13bedc178fce'!
1169 abort: hidden revision '13bedc178fce'!
1169 (use --hidden to access hidden revisions)
1170 (use --hidden to access hidden revisions)
1170 [255]
1171 [255]
1171
1172
1172 Empty out the test extension, as it isn't compatible with later parts
1173 Empty out the test extension, as it isn't compatible with later parts
1173 of the test.
1174 of the test.
1174 $ echo > $TESTTMP/test_extension.py
1175 $ echo > $TESTTMP/test_extension.py
1175
1176
1176 Test ability to pull changeset with locally applying obsolescence markers
1177 Test ability to pull changeset with locally applying obsolescence markers
1177 (issue4945)
1178 (issue4945)
1178
1179
1179 $ cd ..
1180 $ cd ..
1180 $ hg init issue4845
1181 $ hg init issue4845
1181 $ cd issue4845
1182 $ cd issue4845
1182
1183
1183 $ echo foo > f0
1184 $ echo foo > f0
1184 $ hg add f0
1185 $ hg add f0
1185 $ hg ci -m '0'
1186 $ hg ci -m '0'
1186 $ echo foo > f1
1187 $ echo foo > f1
1187 $ hg add f1
1188 $ hg add f1
1188 $ hg ci -m '1'
1189 $ hg ci -m '1'
1189 $ echo foo > f2
1190 $ echo foo > f2
1190 $ hg add f2
1191 $ hg add f2
1191 $ hg ci -m '2'
1192 $ hg ci -m '2'
1192
1193
1193 $ echo bar > f2
1194 $ echo bar > f2
1194 $ hg commit --amend --config experimetnal.evolution=createmarkers
1195 $ hg commit --amend --config experimetnal.evolution=createmarkers
1195 $ hg log -G
1196 $ hg log -G
1196 @ 4:b0551702f918 (draft) [tip ] 2
1197 @ 4:b0551702f918 (draft) [tip ] 2
1197 |
1198 |
1198 o 1:e016b03fd86f (draft) [ ] 1
1199 o 1:e016b03fd86f (draft) [ ] 1
1199 |
1200 |
1200 o 0:a78f55e5508c (draft) [ ] 0
1201 o 0:a78f55e5508c (draft) [ ] 0
1201
1202
1202 $ hg log -G --hidden
1203 $ hg log -G --hidden
1203 @ 4:b0551702f918 (draft) [tip ] 2
1204 @ 4:b0551702f918 (draft) [tip ] 2
1204 |
1205 |
1205 | x 3:f27abbcc1f77 (draft *obsolete*) [ ] temporary amend commit for e008cf283490
1206 | x 3:f27abbcc1f77 (draft *obsolete*) [ ] temporary amend commit for e008cf283490
1206 | |
1207 | |
1207 | x 2:e008cf283490 (draft *obsolete*) [ ] 2
1208 | x 2:e008cf283490 (draft *obsolete*) [ ] 2
1208 |/
1209 |/
1209 o 1:e016b03fd86f (draft) [ ] 1
1210 o 1:e016b03fd86f (draft) [ ] 1
1210 |
1211 |
1211 o 0:a78f55e5508c (draft) [ ] 0
1212 o 0:a78f55e5508c (draft) [ ] 0
1212
1213
1213
1214
1214 $ hg strip --hidden -r 2 --config extensions.strip= --config devel.strip-obsmarkers=no
1215 $ hg strip --hidden -r 2 --config extensions.strip= --config devel.strip-obsmarkers=no
1215 saved backup bundle to $TESTTMP/tmpe/issue4845/.hg/strip-backup/e008cf283490-39c978dc-backup.hg (glob)
1216 saved backup bundle to $TESTTMP/tmpe/issue4845/.hg/strip-backup/e008cf283490-39c978dc-backup.hg (glob)
1216 $ hg debugobsolete
1217 $ hg debugobsolete
1217 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (*) {'user': 'test'} (glob)
1218 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (*) {'user': 'test'} (glob)
1218 f27abbcc1f77fb409cf9160482fe619541e2d605 0 {e008cf2834908e5d6b0f792a9d4b0e2272260fb8} (*) {'user': 'test'} (glob)
1219 f27abbcc1f77fb409cf9160482fe619541e2d605 0 {e008cf2834908e5d6b0f792a9d4b0e2272260fb8} (*) {'user': 'test'} (glob)
1219 $ hg log -G
1220 $ hg log -G
1220 @ 2:b0551702f918 (draft) [tip ] 2
1221 @ 2:b0551702f918 (draft) [tip ] 2
1221 |
1222 |
1222 o 1:e016b03fd86f (draft) [ ] 1
1223 o 1:e016b03fd86f (draft) [ ] 1
1223 |
1224 |
1224 o 0:a78f55e5508c (draft) [ ] 0
1225 o 0:a78f55e5508c (draft) [ ] 0
1225
1226
1226 $ hg log -G --hidden
1227 $ hg log -G --hidden
1227 @ 2:b0551702f918 (draft) [tip ] 2
1228 @ 2:b0551702f918 (draft) [tip ] 2
1228 |
1229 |
1229 o 1:e016b03fd86f (draft) [ ] 1
1230 o 1:e016b03fd86f (draft) [ ] 1
1230 |
1231 |
1231 o 0:a78f55e5508c (draft) [ ] 0
1232 o 0:a78f55e5508c (draft) [ ] 0
1232
1233
1233 $ hg debugbundle .hg/strip-backup/e008cf283490-*-backup.hg
1234 $ hg debugbundle .hg/strip-backup/e008cf283490-*-backup.hg
1234 Stream params: sortdict([('Compression', 'BZ')])
1235 Stream params: sortdict([('Compression', 'BZ')])
1235 changegroup -- "sortdict([('version', '02'), ('nbchanges', '2')])"
1236 changegroup -- "sortdict([('version', '02'), ('nbchanges', '2')])"
1236 e008cf2834908e5d6b0f792a9d4b0e2272260fb8
1237 e008cf2834908e5d6b0f792a9d4b0e2272260fb8
1237 f27abbcc1f77fb409cf9160482fe619541e2d605
1238 f27abbcc1f77fb409cf9160482fe619541e2d605
1238 obsmarkers -- 'sortdict()'
1239 obsmarkers -- 'sortdict()'
1239 version: 1 (70 bytes)
1240 version: 1 (70 bytes)
1240 f27abbcc1f77fb409cf9160482fe619541e2d605 0 {e008cf2834908e5d6b0f792a9d4b0e2272260fb8} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1241 f27abbcc1f77fb409cf9160482fe619541e2d605 0 {e008cf2834908e5d6b0f792a9d4b0e2272260fb8} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1241
1242
1242 $ hg pull .hg/strip-backup/e008cf283490-*-backup.hg
1243 $ hg pull .hg/strip-backup/e008cf283490-*-backup.hg
1243 pulling from .hg/strip-backup/e008cf283490-39c978dc-backup.hg
1244 pulling from .hg/strip-backup/e008cf283490-39c978dc-backup.hg
1244 searching for changes
1245 searching for changes
1245 no changes found
1246 no changes found
1246 $ hg debugobsolete
1247 $ hg debugobsolete
1247 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (*) {'user': 'test'} (glob)
1248 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (*) {'user': 'test'} (glob)
1248 f27abbcc1f77fb409cf9160482fe619541e2d605 0 {e008cf2834908e5d6b0f792a9d4b0e2272260fb8} (*) {'user': 'test'} (glob)
1249 f27abbcc1f77fb409cf9160482fe619541e2d605 0 {e008cf2834908e5d6b0f792a9d4b0e2272260fb8} (*) {'user': 'test'} (glob)
1249 $ hg log -G
1250 $ hg log -G
1250 @ 2:b0551702f918 (draft) [tip ] 2
1251 @ 2:b0551702f918 (draft) [tip ] 2
1251 |
1252 |
1252 o 1:e016b03fd86f (draft) [ ] 1
1253 o 1:e016b03fd86f (draft) [ ] 1
1253 |
1254 |
1254 o 0:a78f55e5508c (draft) [ ] 0
1255 o 0:a78f55e5508c (draft) [ ] 0
1255
1256
1256 $ hg log -G --hidden
1257 $ hg log -G --hidden
1257 @ 2:b0551702f918 (draft) [tip ] 2
1258 @ 2:b0551702f918 (draft) [tip ] 2
1258 |
1259 |
1259 o 1:e016b03fd86f (draft) [ ] 1
1260 o 1:e016b03fd86f (draft) [ ] 1
1260 |
1261 |
1261 o 0:a78f55e5508c (draft) [ ] 0
1262 o 0:a78f55e5508c (draft) [ ] 0
1262
1263
1263
1264
1264 Testing that strip remove markers:
1265 Testing that strip remove markers:
1265
1266
1266 $ hg strip -r 1 --config extensions.strip=
1267 $ hg strip -r 1 --config extensions.strip=
1267 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
1268 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
1268 saved backup bundle to $TESTTMP/tmpe/issue4845/.hg/strip-backup/e016b03fd86f-65ede734-backup.hg (glob)
1269 saved backup bundle to $TESTTMP/tmpe/issue4845/.hg/strip-backup/e016b03fd86f-65ede734-backup.hg (glob)
1269 $ hg debugobsolete
1270 $ hg debugobsolete
1270 $ hg log -G
1271 $ hg log -G
1271 @ 0:a78f55e5508c (draft) [tip ] 0
1272 @ 0:a78f55e5508c (draft) [tip ] 0
1272
1273
1273 $ hg log -G --hidden
1274 $ hg log -G --hidden
1274 @ 0:a78f55e5508c (draft) [tip ] 0
1275 @ 0:a78f55e5508c (draft) [tip ] 0
1275
1276
1276 $ hg debugbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
1277 $ hg debugbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
1277 Stream params: sortdict([('Compression', 'BZ')])
1278 Stream params: sortdict([('Compression', 'BZ')])
1278 changegroup -- "sortdict([('version', '02'), ('nbchanges', '2')])"
1279 changegroup -- "sortdict([('version', '02'), ('nbchanges', '2')])"
1279 e016b03fd86fcccc54817d120b90b751aaf367d6
1280 e016b03fd86fcccc54817d120b90b751aaf367d6
1280 b0551702f918510f01ae838ab03a463054c67b46
1281 b0551702f918510f01ae838ab03a463054c67b46
1281 obsmarkers -- 'sortdict()'
1282 obsmarkers -- 'sortdict()'
1282 version: 1 (139 bytes)
1283 version: 1 (139 bytes)
1283 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1284 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1284 f27abbcc1f77fb409cf9160482fe619541e2d605 0 {e008cf2834908e5d6b0f792a9d4b0e2272260fb8} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1285 f27abbcc1f77fb409cf9160482fe619541e2d605 0 {e008cf2834908e5d6b0f792a9d4b0e2272260fb8} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1285
1286
1286 $ hg unbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
1287 $ hg unbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
1287 adding changesets
1288 adding changesets
1288 adding manifests
1289 adding manifests
1289 adding file changes
1290 adding file changes
1290 added 2 changesets with 2 changes to 2 files
1291 added 2 changesets with 2 changes to 2 files
1291 2 new obsolescence markers
1292 2 new obsolescence markers
1292 (run 'hg update' to get a working copy)
1293 (run 'hg update' to get a working copy)
1293 $ hg debugobsolete | sort
1294 $ hg debugobsolete | sort
1294 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (*) {'user': 'test'} (glob)
1295 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (*) {'user': 'test'} (glob)
1295 f27abbcc1f77fb409cf9160482fe619541e2d605 0 {e008cf2834908e5d6b0f792a9d4b0e2272260fb8} (*) {'user': 'test'} (glob)
1296 f27abbcc1f77fb409cf9160482fe619541e2d605 0 {e008cf2834908e5d6b0f792a9d4b0e2272260fb8} (*) {'user': 'test'} (glob)
1296 $ hg log -G
1297 $ hg log -G
1297 o 2:b0551702f918 (draft) [tip ] 2
1298 o 2:b0551702f918 (draft) [tip ] 2
1298 |
1299 |
1299 o 1:e016b03fd86f (draft) [ ] 1
1300 o 1:e016b03fd86f (draft) [ ] 1
1300 |
1301 |
1301 @ 0:a78f55e5508c (draft) [ ] 0
1302 @ 0:a78f55e5508c (draft) [ ] 0
1302
1303
1303 $ hg log -G --hidden
1304 $ hg log -G --hidden
1304 o 2:b0551702f918 (draft) [tip ] 2
1305 o 2:b0551702f918 (draft) [tip ] 2
1305 |
1306 |
1306 o 1:e016b03fd86f (draft) [ ] 1
1307 o 1:e016b03fd86f (draft) [ ] 1
1307 |
1308 |
1308 @ 0:a78f55e5508c (draft) [ ] 0
1309 @ 0:a78f55e5508c (draft) [ ] 0
1309
1310
1310 Test that 'hg debugobsolete --index --rev' can show indices of obsmarkers when
1311 Test that 'hg debugobsolete --index --rev' can show indices of obsmarkers when
1311 only a subset of those are displayed (because of --rev option)
1312 only a subset of those are displayed (because of --rev option)
1312 $ hg init doindexrev
1313 $ hg init doindexrev
1313 $ cd doindexrev
1314 $ cd doindexrev
1314 $ echo a > a
1315 $ echo a > a
1315 $ hg ci -Am a
1316 $ hg ci -Am a
1316 adding a
1317 adding a
1317 $ hg ci --amend -m aa
1318 $ hg ci --amend -m aa
1318 $ echo b > b
1319 $ echo b > b
1319 $ hg ci -Am b
1320 $ hg ci -Am b
1320 adding b
1321 adding b
1321 $ hg ci --amend -m bb
1322 $ hg ci --amend -m bb
1322 $ echo c > c
1323 $ echo c > c
1323 $ hg ci -Am c
1324 $ hg ci -Am c
1324 adding c
1325 adding c
1325 $ hg ci --amend -m cc
1326 $ hg ci --amend -m cc
1326 $ echo d > d
1327 $ echo d > d
1327 $ hg ci -Am d
1328 $ hg ci -Am d
1328 adding d
1329 adding d
1329 $ hg ci --amend -m dd --config experimental.evolution.track-operation=1
1330 $ hg ci --amend -m dd --config experimental.evolution.track-operation=1
1330 $ hg debugobsolete --index --rev "3+7"
1331 $ hg debugobsolete --index --rev "3+7"
1331 1 6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1 d27fb9b066076fd921277a4b9e8b9cb48c95bc6a 0 \(.*\) {'user': 'test'} (re)
1332 1 6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1 d27fb9b066076fd921277a4b9e8b9cb48c95bc6a 0 \(.*\) {'user': 'test'} (re)
1332 3 4715cf767440ed891755448016c2b8cf70760c30 7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d 0 \(.*\) {'operation': 'amend', 'user': 'test'} (re)
1333 3 4715cf767440ed891755448016c2b8cf70760c30 7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d 0 \(.*\) {'operation': 'amend', 'user': 'test'} (re)
1333 $ hg debugobsolete --index --rev "3+7" -Tjson
1334 $ hg debugobsolete --index --rev "3+7" -Tjson
1334 [
1335 [
1335 {
1336 {
1336 "date": [0.0, 0],
1337 "date": [0.0, 0],
1337 "flag": 0,
1338 "flag": 0,
1338 "index": 1,
1339 "index": 1,
1339 "metadata": {"user": "test"},
1340 "metadata": {"user": "test"},
1340 "precnode": "6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1",
1341 "precnode": "6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1",
1341 "succnodes": ["d27fb9b066076fd921277a4b9e8b9cb48c95bc6a"]
1342 "succnodes": ["d27fb9b066076fd921277a4b9e8b9cb48c95bc6a"]
1342 },
1343 },
1343 {
1344 {
1344 "date": [0.0, 0],
1345 "date": [0.0, 0],
1345 "flag": 0,
1346 "flag": 0,
1346 "index": 3,
1347 "index": 3,
1347 "metadata": {"operation": "amend", "user": "test"},
1348 "metadata": {"operation": "amend", "user": "test"},
1348 "precnode": "4715cf767440ed891755448016c2b8cf70760c30",
1349 "precnode": "4715cf767440ed891755448016c2b8cf70760c30",
1349 "succnodes": ["7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d"]
1350 "succnodes": ["7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d"]
1350 }
1351 }
1351 ]
1352 ]
1352
1353
1353 Test the --delete option of debugobsolete command
1354 Test the --delete option of debugobsolete command
1354 $ hg debugobsolete --index
1355 $ hg debugobsolete --index
1355 0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b f9bd49731b0b175e42992a3c8fa6c678b2bc11f1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1356 0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b f9bd49731b0b175e42992a3c8fa6c678b2bc11f1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1356 1 6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1 d27fb9b066076fd921277a4b9e8b9cb48c95bc6a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1357 1 6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1 d27fb9b066076fd921277a4b9e8b9cb48c95bc6a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1357 2 1ab51af8f9b41ef8c7f6f3312d4706d870b1fb74 29346082e4a9e27042b62d2da0e2de211c027621 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1358 2 1ab51af8f9b41ef8c7f6f3312d4706d870b1fb74 29346082e4a9e27042b62d2da0e2de211c027621 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1358 3 4715cf767440ed891755448016c2b8cf70760c30 7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1359 3 4715cf767440ed891755448016c2b8cf70760c30 7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1359 $ hg debugobsolete --delete 1 --delete 3
1360 $ hg debugobsolete --delete 1 --delete 3
1360 deleted 2 obsolescence markers
1361 deleted 2 obsolescence markers
1361 $ hg debugobsolete
1362 $ hg debugobsolete
1362 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b f9bd49731b0b175e42992a3c8fa6c678b2bc11f1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1363 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b f9bd49731b0b175e42992a3c8fa6c678b2bc11f1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1363 1ab51af8f9b41ef8c7f6f3312d4706d870b1fb74 29346082e4a9e27042b62d2da0e2de211c027621 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1364 1ab51af8f9b41ef8c7f6f3312d4706d870b1fb74 29346082e4a9e27042b62d2da0e2de211c027621 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1364
1365
1365 Test adding changeset after obsmarkers affecting it
1366 Test adding changeset after obsmarkers affecting it
1366 (eg: during pull, or unbundle)
1367 (eg: during pull, or unbundle)
1367
1368
1368 $ mkcommit e
1369 $ mkcommit e
1369 $ hg bundle -r . --base .~1 ../bundle-2.hg
1370 $ hg bundle -r . --base .~1 ../bundle-2.hg
1370 1 changesets found
1371 1 changesets found
1371 $ getid .
1372 $ getid .
1372 $ hg --config extensions.strip= strip -r .
1373 $ hg --config extensions.strip= strip -r .
1373 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1374 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1374 saved backup bundle to $TESTTMP/tmpe/issue4845/doindexrev/.hg/strip-backup/9bc153528424-ee80edd4-backup.hg (glob)
1375 saved backup bundle to $TESTTMP/tmpe/issue4845/doindexrev/.hg/strip-backup/9bc153528424-ee80edd4-backup.hg (glob)
1375 $ hg debugobsolete 9bc153528424ea266d13e57f9ff0d799dfe61e4b
1376 $ hg debugobsolete 9bc153528424ea266d13e57f9ff0d799dfe61e4b
1376 $ hg unbundle ../bundle-2.hg
1377 $ hg unbundle ../bundle-2.hg
1377 adding changesets
1378 adding changesets
1378 adding manifests
1379 adding manifests
1379 adding file changes
1380 adding file changes
1380 added 1 changesets with 1 changes to 1 files
1381 added 1 changesets with 1 changes to 1 files
1381 (run 'hg update' to get a working copy)
1382 (run 'hg update' to get a working copy)
1382 $ hg log -G
1383 $ hg log -G
1383 @ 7:7ae79c5d60f0 (draft) [tip ] dd
1384 @ 7:7ae79c5d60f0 (draft) [tip ] dd
1384 |
1385 |
1385 | o 6:4715cf767440 (draft) [ ] d
1386 | o 6:4715cf767440 (draft) [ ] d
1386 |/
1387 |/
1387 o 5:29346082e4a9 (draft) [ ] cc
1388 o 5:29346082e4a9 (draft) [ ] cc
1388 |
1389 |
1389 o 3:d27fb9b06607 (draft) [ ] bb
1390 o 3:d27fb9b06607 (draft) [ ] bb
1390 |
1391 |
1391 | o 2:6fdef60fcbab (draft) [ ] b
1392 | o 2:6fdef60fcbab (draft) [ ] b
1392 |/
1393 |/
1393 o 1:f9bd49731b0b (draft) [ ] aa
1394 o 1:f9bd49731b0b (draft) [ ] aa
1394
1395
1395
1396
1396 $ cd ..
1397 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now