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