##// END OF EJS Templates
tests: port test-log to Python 3...
Augie Fackler -
r36711:19e859ca default
parent child Browse files
Show More
@@ -1,368 +1,369 b''
1 test-abort-checkin.t
1 test-abort-checkin.t
2 test-add.t
2 test-add.t
3 test-addremove-similar.t
3 test-addremove-similar.t
4 test-addremove.t
4 test-addremove.t
5 test-amend-subrepo.t
5 test-amend-subrepo.t
6 test-ancestor.py
6 test-ancestor.py
7 test-annotate.py
7 test-annotate.py
8 test-annotate.t
8 test-annotate.t
9 test-atomictempfile.py
9 test-atomictempfile.py
10 test-audit-path.t
10 test-audit-path.t
11 test-audit-subrepo.t
11 test-audit-subrepo.t
12 test-automv.t
12 test-automv.t
13 test-backout.t
13 test-backout.t
14 test-backwards-remove.t
14 test-backwards-remove.t
15 test-basic.t
15 test-basic.t
16 test-bheads.t
16 test-bheads.t
17 test-bisect2.t
17 test-bisect2.t
18 test-bookmarks-current.t
18 test-bookmarks-current.t
19 test-bookmarks-merge.t
19 test-bookmarks-merge.t
20 test-bookmarks-rebase.t
20 test-bookmarks-rebase.t
21 test-bookmarks-strip.t
21 test-bookmarks-strip.t
22 test-bookmarks.t
22 test-bookmarks.t
23 test-branch-option.t
23 test-branch-option.t
24 test-branch-tag-confict.t
24 test-branch-tag-confict.t
25 test-branches.t
25 test-branches.t
26 test-bundle-phases.t
26 test-bundle-phases.t
27 test-bundle-vs-outgoing.t
27 test-bundle-vs-outgoing.t
28 test-bundle2-multiple-changegroups.t
28 test-bundle2-multiple-changegroups.t
29 test-cappedreader.py
29 test-cappedreader.py
30 test-casecollision.t
30 test-casecollision.t
31 test-cat.t
31 test-cat.t
32 test-censor.t
32 test-censor.t
33 test-changelog-exec.t
33 test-changelog-exec.t
34 test-check-commit.t
34 test-check-commit.t
35 test-check-execute.t
35 test-check-execute.t
36 test-check-module-imports.t
36 test-check-module-imports.t
37 test-check-pyflakes.t
37 test-check-pyflakes.t
38 test-check-pylint.t
38 test-check-pylint.t
39 test-check-shbang.t
39 test-check-shbang.t
40 test-children.t
40 test-children.t
41 test-clone-pull-corruption.t
41 test-clone-pull-corruption.t
42 test-clone-r.t
42 test-clone-r.t
43 test-clone-update-order.t
43 test-clone-update-order.t
44 test-command-template.t
44 test-command-template.t
45 test-commit-amend.t
45 test-commit-amend.t
46 test-commit-unresolved.t
46 test-commit-unresolved.t
47 test-commit.t
47 test-commit.t
48 test-completion.t
48 test-completion.t
49 test-conflict.t
49 test-conflict.t
50 test-confused-revert.t
50 test-confused-revert.t
51 test-contrib-check-code.t
51 test-contrib-check-code.t
52 test-contrib-check-commit.t
52 test-contrib-check-commit.t
53 test-convert-authormap.t
53 test-convert-authormap.t
54 test-convert-clonebranches.t
54 test-convert-clonebranches.t
55 test-convert-datesort.t
55 test-convert-datesort.t
56 test-convert-filemap.t
56 test-convert-filemap.t
57 test-convert-hg-sink.t
57 test-convert-hg-sink.t
58 test-convert-hg-source.t
58 test-convert-hg-source.t
59 test-convert-hg-startrev.t
59 test-convert-hg-startrev.t
60 test-copy-move-merge.t
60 test-copy-move-merge.t
61 test-copytrace-heuristics.t
61 test-copytrace-heuristics.t
62 test-debugbuilddag.t
62 test-debugbuilddag.t
63 test-debugbundle.t
63 test-debugbundle.t
64 test-debugextensions.t
64 test-debugextensions.t
65 test-debugindexdot.t
65 test-debugindexdot.t
66 test-debugrename.t
66 test-debugrename.t
67 test-diff-binary-file.t
67 test-diff-binary-file.t
68 test-diff-change.t
68 test-diff-change.t
69 test-diff-copy-depth.t
69 test-diff-copy-depth.t
70 test-diff-hashes.t
70 test-diff-hashes.t
71 test-diff-issue2761.t
71 test-diff-issue2761.t
72 test-diff-newlines.t
72 test-diff-newlines.t
73 test-diff-reverse.t
73 test-diff-reverse.t
74 test-diff-subdir.t
74 test-diff-subdir.t
75 test-diffdir.t
75 test-diffdir.t
76 test-directaccess.t
76 test-directaccess.t
77 test-dirstate-backup.t
77 test-dirstate-backup.t
78 test-dirstate-nonnormalset.t
78 test-dirstate-nonnormalset.t
79 test-doctest.py
79 test-doctest.py
80 test-double-merge.t
80 test-double-merge.t
81 test-drawdag.t
81 test-drawdag.t
82 test-duplicateoptions.py
82 test-duplicateoptions.py
83 test-empty-dir.t
83 test-empty-dir.t
84 test-empty-file.t
84 test-empty-file.t
85 test-empty-group.t
85 test-empty-group.t
86 test-empty.t
86 test-empty.t
87 test-encoding-func.py
87 test-encoding-func.py
88 test-encoding.t
88 test-encoding.t
89 test-eol-add.t
89 test-eol-add.t
90 test-eol-clone.t
90 test-eol-clone.t
91 test-eol-tag.t
91 test-eol-tag.t
92 test-eol-update.t
92 test-eol-update.t
93 test-excessive-merge.t
93 test-excessive-merge.t
94 test-exchange-obsmarkers-case-A1.t
94 test-exchange-obsmarkers-case-A1.t
95 test-exchange-obsmarkers-case-A2.t
95 test-exchange-obsmarkers-case-A2.t
96 test-exchange-obsmarkers-case-A3.t
96 test-exchange-obsmarkers-case-A3.t
97 test-exchange-obsmarkers-case-A4.t
97 test-exchange-obsmarkers-case-A4.t
98 test-exchange-obsmarkers-case-A5.t
98 test-exchange-obsmarkers-case-A5.t
99 test-exchange-obsmarkers-case-A6.t
99 test-exchange-obsmarkers-case-A6.t
100 test-exchange-obsmarkers-case-A7.t
100 test-exchange-obsmarkers-case-A7.t
101 test-exchange-obsmarkers-case-B1.t
101 test-exchange-obsmarkers-case-B1.t
102 test-exchange-obsmarkers-case-B2.t
102 test-exchange-obsmarkers-case-B2.t
103 test-exchange-obsmarkers-case-B3.t
103 test-exchange-obsmarkers-case-B3.t
104 test-exchange-obsmarkers-case-B4.t
104 test-exchange-obsmarkers-case-B4.t
105 test-exchange-obsmarkers-case-B5.t
105 test-exchange-obsmarkers-case-B5.t
106 test-exchange-obsmarkers-case-B6.t
106 test-exchange-obsmarkers-case-B6.t
107 test-exchange-obsmarkers-case-B7.t
107 test-exchange-obsmarkers-case-B7.t
108 test-exchange-obsmarkers-case-C1.t
108 test-exchange-obsmarkers-case-C1.t
109 test-exchange-obsmarkers-case-C2.t
109 test-exchange-obsmarkers-case-C2.t
110 test-exchange-obsmarkers-case-C3.t
110 test-exchange-obsmarkers-case-C3.t
111 test-exchange-obsmarkers-case-C4.t
111 test-exchange-obsmarkers-case-C4.t
112 test-exchange-obsmarkers-case-D1.t
112 test-exchange-obsmarkers-case-D1.t
113 test-exchange-obsmarkers-case-D2.t
113 test-exchange-obsmarkers-case-D2.t
114 test-exchange-obsmarkers-case-D3.t
114 test-exchange-obsmarkers-case-D3.t
115 test-exchange-obsmarkers-case-D4.t
115 test-exchange-obsmarkers-case-D4.t
116 test-execute-bit.t
116 test-execute-bit.t
117 test-extdiff.t
117 test-extdiff.t
118 test-extra-filelog-entry.t
118 test-extra-filelog-entry.t
119 test-filebranch.t
119 test-filebranch.t
120 test-fileset-generated.t
120 test-fileset-generated.t
121 test-flags.t
121 test-flags.t
122 test-generaldelta.t
122 test-generaldelta.t
123 test-getbundle.t
123 test-getbundle.t
124 test-git-export.t
124 test-git-export.t
125 test-glog-topological.t
125 test-glog-topological.t
126 test-gpg.t
126 test-gpg.t
127 test-graft.t
127 test-graft.t
128 test-hghave.t
128 test-hghave.t
129 test-hgignore.t
129 test-hgignore.t
130 test-hgk.t
130 test-hgk.t
131 test-hgweb-removed.t
131 test-hgweb-removed.t
132 test-histedit-arguments.t
132 test-histedit-arguments.t
133 test-histedit-base.t
133 test-histedit-base.t
134 test-histedit-bookmark-motion.t
134 test-histedit-bookmark-motion.t
135 test-histedit-commute.t
135 test-histedit-commute.t
136 test-histedit-drop.t
136 test-histedit-drop.t
137 test-histedit-edit.t
137 test-histedit-edit.t
138 test-histedit-fold-non-commute.t
138 test-histedit-fold-non-commute.t
139 test-histedit-fold.t
139 test-histedit-fold.t
140 test-histedit-no-change.t
140 test-histedit-no-change.t
141 test-histedit-non-commute-abort.t
141 test-histedit-non-commute-abort.t
142 test-histedit-non-commute.t
142 test-histedit-non-commute.t
143 test-histedit-obsolete.t
143 test-histedit-obsolete.t
144 test-histedit-outgoing.t
144 test-histedit-outgoing.t
145 test-histedit-templates.t
145 test-histedit-templates.t
146 test-http-branchmap.t
146 test-http-branchmap.t
147 test-http-bundle1.t
147 test-http-bundle1.t
148 test-http-clone-r.t
148 test-http-clone-r.t
149 test-identify.t
149 test-identify.t
150 test-imports-checker.t
150 test-imports-checker.t
151 test-inherit-mode.t
151 test-inherit-mode.t
152 test-issue1089.t
152 test-issue1089.t
153 test-issue1102.t
153 test-issue1102.t
154 test-issue1175.t
154 test-issue1175.t
155 test-issue1306.t
155 test-issue1306.t
156 test-issue1438.t
156 test-issue1438.t
157 test-issue1502.t
157 test-issue1502.t
158 test-issue1802.t
158 test-issue1802.t
159 test-issue1877.t
159 test-issue1877.t
160 test-issue1993.t
160 test-issue1993.t
161 test-issue2137.t
161 test-issue2137.t
162 test-issue3084.t
162 test-issue3084.t
163 test-issue4074.t
163 test-issue4074.t
164 test-issue522.t
164 test-issue522.t
165 test-issue586.t
165 test-issue586.t
166 test-issue612.t
166 test-issue612.t
167 test-issue619.t
167 test-issue619.t
168 test-issue672.t
168 test-issue672.t
169 test-issue842.t
169 test-issue842.t
170 test-journal-exists.t
170 test-journal-exists.t
171 test-largefiles-cache.t
171 test-largefiles-cache.t
172 test-largefiles-small-disk.t
172 test-largefiles-small-disk.t
173 test-locate.t
173 test-locate.t
174 test-lock-badness.t
174 test-lock-badness.t
175 test-log.t
175 test-logexchange.t
176 test-logexchange.t
176 test-lrucachedict.py
177 test-lrucachedict.py
177 test-mactext.t
178 test-mactext.t
178 test-manifest-merging.t
179 test-manifest-merging.t
179 test-manifest.py
180 test-manifest.py
180 test-manifest.t
181 test-manifest.t
181 test-match.py
182 test-match.py
182 test-mdiff.py
183 test-mdiff.py
183 test-merge-closedheads.t
184 test-merge-closedheads.t
184 test-merge-commit.t
185 test-merge-commit.t
185 test-merge-criss-cross.t
186 test-merge-criss-cross.t
186 test-merge-default.t
187 test-merge-default.t
187 test-merge-internal-tools-pattern.t
188 test-merge-internal-tools-pattern.t
188 test-merge-local.t
189 test-merge-local.t
189 test-merge-remove.t
190 test-merge-remove.t
190 test-merge-revert.t
191 test-merge-revert.t
191 test-merge-revert2.t
192 test-merge-revert2.t
192 test-merge-subrepos.t
193 test-merge-subrepos.t
193 test-merge-symlinks.t
194 test-merge-symlinks.t
194 test-merge-types.t
195 test-merge-types.t
195 test-merge1.t
196 test-merge1.t
196 test-merge10.t
197 test-merge10.t
197 test-merge2.t
198 test-merge2.t
198 test-merge4.t
199 test-merge4.t
199 test-merge5.t
200 test-merge5.t
200 test-merge6.t
201 test-merge6.t
201 test-merge7.t
202 test-merge7.t
202 test-merge8.t
203 test-merge8.t
203 test-merge9.t
204 test-merge9.t
204 test-mq-git.t
205 test-mq-git.t
205 test-mq-header-date.t
206 test-mq-header-date.t
206 test-mq-header-from.t
207 test-mq-header-from.t
207 test-mq-pull-from-bundle.t
208 test-mq-pull-from-bundle.t
208 test-mq-qdiff.t
209 test-mq-qdiff.t
209 test-mq-qfold.t
210 test-mq-qfold.t
210 test-mq-qgoto.t
211 test-mq-qgoto.t
211 test-mq-qimport-fail-cleanup.t
212 test-mq-qimport-fail-cleanup.t
212 test-mq-qpush-exact.t
213 test-mq-qpush-exact.t
213 test-mq-qqueue.t
214 test-mq-qqueue.t
214 test-mq-qrefresh-replace-log-message.t
215 test-mq-qrefresh-replace-log-message.t
215 test-mq-qrefresh.t
216 test-mq-qrefresh.t
216 test-mq-qrename.t
217 test-mq-qrename.t
217 test-mq-qsave.t
218 test-mq-qsave.t
218 test-mq-safety.t
219 test-mq-safety.t
219 test-mq-symlinks.t
220 test-mq-symlinks.t
220 test-mv-cp-st-diff.t
221 test-mv-cp-st-diff.t
221 test-narrow-clone-no-ellipsis.t
222 test-narrow-clone-no-ellipsis.t
222 test-narrow-clone-nonlinear.t
223 test-narrow-clone-nonlinear.t
223 test-narrow-clone.t
224 test-narrow-clone.t
224 test-narrow-commit.t
225 test-narrow-commit.t
225 test-narrow-copies.t
226 test-narrow-copies.t
226 test-narrow-debugrebuilddirstate.t
227 test-narrow-debugrebuilddirstate.t
227 test-narrow-exchange-merges.t
228 test-narrow-exchange-merges.t
228 test-narrow-exchange.t
229 test-narrow-exchange.t
229 test-narrow-merge.t
230 test-narrow-merge.t
230 test-narrow-patch.t
231 test-narrow-patch.t
231 test-narrow-patterns.t
232 test-narrow-patterns.t
232 test-narrow-pull.t
233 test-narrow-pull.t
233 test-narrow-rebase.t
234 test-narrow-rebase.t
234 test-narrow-shallow-merges.t
235 test-narrow-shallow-merges.t
235 test-narrow-shallow.t
236 test-narrow-shallow.t
236 test-narrow-update.t
237 test-narrow-update.t
237 test-nested-repo.t
238 test-nested-repo.t
238 test-newbranch.t
239 test-newbranch.t
239 test-obshistory.t
240 test-obshistory.t
240 test-obsmarker-template.t
241 test-obsmarker-template.t
241 test-obsmarkers-effectflag.t
242 test-obsmarkers-effectflag.t
242 test-obsolete-bundle-strip.t
243 test-obsolete-bundle-strip.t
243 test-obsolete-changeset-exchange.t
244 test-obsolete-changeset-exchange.t
244 test-obsolete-checkheads.t
245 test-obsolete-checkheads.t
245 test-obsolete-distributed.t
246 test-obsolete-distributed.t
246 test-obsolete-tag-cache.t
247 test-obsolete-tag-cache.t
247 test-parents.t
248 test-parents.t
248 test-pathconflicts-merge.t
249 test-pathconflicts-merge.t
249 test-pathconflicts-update.t
250 test-pathconflicts-update.t
250 test-pending.t
251 test-pending.t
251 test-permissions.t
252 test-permissions.t
252 test-phases.t
253 test-phases.t
253 test-pull-branch.t
254 test-pull-branch.t
254 test-pull-http.t
255 test-pull-http.t
255 test-pull-permission.t
256 test-pull-permission.t
256 test-pull-pull-corruption.t
257 test-pull-pull-corruption.t
257 test-pull-r.t
258 test-pull-r.t
258 test-pull-update.t
259 test-pull-update.t
259 test-purge.t
260 test-purge.t
260 test-push-checkheads-partial-C1.t
261 test-push-checkheads-partial-C1.t
261 test-push-checkheads-partial-C2.t
262 test-push-checkheads-partial-C2.t
262 test-push-checkheads-partial-C3.t
263 test-push-checkheads-partial-C3.t
263 test-push-checkheads-partial-C4.t
264 test-push-checkheads-partial-C4.t
264 test-push-checkheads-pruned-B1.t
265 test-push-checkheads-pruned-B1.t
265 test-push-checkheads-pruned-B2.t
266 test-push-checkheads-pruned-B2.t
266 test-push-checkheads-pruned-B3.t
267 test-push-checkheads-pruned-B3.t
267 test-push-checkheads-pruned-B4.t
268 test-push-checkheads-pruned-B4.t
268 test-push-checkheads-pruned-B5.t
269 test-push-checkheads-pruned-B5.t
269 test-push-checkheads-pruned-B6.t
270 test-push-checkheads-pruned-B6.t
270 test-push-checkheads-pruned-B7.t
271 test-push-checkheads-pruned-B7.t
271 test-push-checkheads-pruned-B8.t
272 test-push-checkheads-pruned-B8.t
272 test-push-checkheads-superceed-A1.t
273 test-push-checkheads-superceed-A1.t
273 test-push-checkheads-superceed-A2.t
274 test-push-checkheads-superceed-A2.t
274 test-push-checkheads-superceed-A3.t
275 test-push-checkheads-superceed-A3.t
275 test-push-checkheads-superceed-A4.t
276 test-push-checkheads-superceed-A4.t
276 test-push-checkheads-superceed-A5.t
277 test-push-checkheads-superceed-A5.t
277 test-push-checkheads-superceed-A6.t
278 test-push-checkheads-superceed-A6.t
278 test-push-checkheads-superceed-A7.t
279 test-push-checkheads-superceed-A7.t
279 test-push-checkheads-superceed-A8.t
280 test-push-checkheads-superceed-A8.t
280 test-push-checkheads-unpushed-D1.t
281 test-push-checkheads-unpushed-D1.t
281 test-push-checkheads-unpushed-D2.t
282 test-push-checkheads-unpushed-D2.t
282 test-push-checkheads-unpushed-D3.t
283 test-push-checkheads-unpushed-D3.t
283 test-push-checkheads-unpushed-D4.t
284 test-push-checkheads-unpushed-D4.t
284 test-push-checkheads-unpushed-D5.t
285 test-push-checkheads-unpushed-D5.t
285 test-push-checkheads-unpushed-D6.t
286 test-push-checkheads-unpushed-D6.t
286 test-push-checkheads-unpushed-D7.t
287 test-push-checkheads-unpushed-D7.t
287 test-push-http.t
288 test-push-http.t
288 test-push-warn.t
289 test-push-warn.t
289 test-pushvars.t
290 test-pushvars.t
290 test-rebase-abort.t
291 test-rebase-abort.t
291 test-rebase-base-flag.t
292 test-rebase-base-flag.t
292 test-rebase-bookmarks.t
293 test-rebase-bookmarks.t
293 test-rebase-brute-force.t
294 test-rebase-brute-force.t
294 test-rebase-cache.t
295 test-rebase-cache.t
295 test-rebase-check-restore.t
296 test-rebase-check-restore.t
296 test-rebase-collapse.t
297 test-rebase-collapse.t
297 test-rebase-dest.t
298 test-rebase-dest.t
298 test-rebase-detach.t
299 test-rebase-detach.t
299 test-rebase-emptycommit.t
300 test-rebase-emptycommit.t
300 test-rebase-inmemory.t
301 test-rebase-inmemory.t
301 test-rebase-interruptions.t
302 test-rebase-interruptions.t
302 test-rebase-issue-noparam-single-rev.t
303 test-rebase-issue-noparam-single-rev.t
303 test-rebase-legacy.t
304 test-rebase-legacy.t
304 test-rebase-mq-skip.t
305 test-rebase-mq-skip.t
305 test-rebase-named-branches.t
306 test-rebase-named-branches.t
306 test-rebase-newancestor.t
307 test-rebase-newancestor.t
307 test-rebase-obsolete.t
308 test-rebase-obsolete.t
308 test-rebase-parameters.t
309 test-rebase-parameters.t
309 test-rebase-partial.t
310 test-rebase-partial.t
310 test-rebase-pull.t
311 test-rebase-pull.t
311 test-rebase-rename.t
312 test-rebase-rename.t
312 test-rebase-scenario-global.t
313 test-rebase-scenario-global.t
313 test-rebase-templates.t
314 test-rebase-templates.t
314 test-rebase-transaction.t
315 test-rebase-transaction.t
315 test-record.t
316 test-record.t
316 test-relink.t
317 test-relink.t
317 test-remove.t
318 test-remove.t
318 test-rename-after-merge.t
319 test-rename-after-merge.t
319 test-rename-dir-merge.t
320 test-rename-dir-merge.t
320 test-rename-merge1.t
321 test-rename-merge1.t
321 test-rename.t
322 test-rename.t
322 test-repair-strip.t
323 test-repair-strip.t
323 test-repo-compengines.t
324 test-repo-compengines.t
324 test-resolve.t
325 test-resolve.t
325 test-revert-flags.t
326 test-revert-flags.t
326 test-revert-unknown.t
327 test-revert-unknown.t
327 test-revlog-ancestry.py
328 test-revlog-ancestry.py
328 test-revlog-group-emptyiter.t
329 test-revlog-group-emptyiter.t
329 test-revlog-mmapindex.t
330 test-revlog-mmapindex.t
330 test-revlog-packentry.t
331 test-revlog-packentry.t
331 test-revset-dirstate-parents.t
332 test-revset-dirstate-parents.t
332 test-revset-outgoing.t
333 test-revset-outgoing.t
333 test-run-tests.py
334 test-run-tests.py
334 test-serve.t
335 test-serve.t
335 test-share.t
336 test-share.t
336 test-show-stack.t
337 test-show-stack.t
337 test-show-work.t
338 test-show-work.t
338 test-show.t
339 test-show.t
339 test-simple-update.t
340 test-simple-update.t
340 test-single-head.t
341 test-single-head.t
341 test-sparse-clear.t
342 test-sparse-clear.t
342 test-sparse-merges.t
343 test-sparse-merges.t
343 test-sparse-requirement.t
344 test-sparse-requirement.t
344 test-sparse-verbose-json.t
345 test-sparse-verbose-json.t
345 test-ssh-clone-r.t
346 test-ssh-clone-r.t
346 test-ssh-proto.t
347 test-ssh-proto.t
347 test-sshserver.py
348 test-sshserver.py
348 test-status-rev.t
349 test-status-rev.t
349 test-status-terse.t
350 test-status-terse.t
350 test-strip-cross.t
351 test-strip-cross.t
351 test-strip.t
352 test-strip.t
352 test-symlinks.t
353 test-symlinks.t
353 test-unamend.t
354 test-unamend.t
354 test-uncommit.t
355 test-uncommit.t
355 test-unified-test.t
356 test-unified-test.t
356 test-unrelated-pull.t
357 test-unrelated-pull.t
357 test-up-local-change.t
358 test-up-local-change.t
358 test-update-branches.t
359 test-update-branches.t
359 test-update-dest.t
360 test-update-dest.t
360 test-update-issue1456.t
361 test-update-issue1456.t
361 test-update-names.t
362 test-update-names.t
362 test-update-reverse.t
363 test-update-reverse.t
363 test-url-rev.t
364 test-url-rev.t
364 test-username-newline.t
365 test-username-newline.t
365 test-verify.t
366 test-verify.t
366 test-websub.t
367 test-websub.t
367 test-win32text.t
368 test-win32text.t
368 test-xdg.t
369 test-xdg.t
@@ -1,2636 +1,2634 b''
1 Log on empty repository: checking consistency
1 Log on empty repository: checking consistency
2
2
3 $ hg init empty
3 $ hg init empty
4 $ cd empty
4 $ cd empty
5 $ hg log
5 $ hg log
6 $ hg log -r 1
6 $ hg log -r 1
7 abort: unknown revision '1'!
7 abort: unknown revision '1'!
8 [255]
8 [255]
9 $ hg log -r -1:0
9 $ hg log -r -1:0
10 abort: unknown revision '-1'!
10 abort: unknown revision '-1'!
11 [255]
11 [255]
12 $ hg log -r 'branch(name)'
12 $ hg log -r 'branch(name)'
13 abort: unknown revision 'name'!
13 abort: unknown revision 'name'!
14 [255]
14 [255]
15 $ hg log -r null -q
15 $ hg log -r null -q
16 -1:000000000000
16 -1:000000000000
17
17
18 $ cd ..
18 $ cd ..
19
19
20 The g is crafted to have 2 filelog topological heads in a linear
20 The g is crafted to have 2 filelog topological heads in a linear
21 changeset graph
21 changeset graph
22
22
23 $ hg init a
23 $ hg init a
24 $ cd a
24 $ cd a
25 $ echo a > a
25 $ echo a > a
26 $ echo f > f
26 $ echo f > f
27 $ hg ci -Ama -d '1 0'
27 $ hg ci -Ama -d '1 0'
28 adding a
28 adding a
29 adding f
29 adding f
30
30
31 $ hg cp a b
31 $ hg cp a b
32 $ hg cp f g
32 $ hg cp f g
33 $ hg ci -mb -d '2 0'
33 $ hg ci -mb -d '2 0'
34
34
35 $ mkdir dir
35 $ mkdir dir
36 $ hg mv b dir
36 $ hg mv b dir
37 $ echo g >> g
37 $ echo g >> g
38 $ echo f >> f
38 $ echo f >> f
39 $ hg ci -mc -d '3 0'
39 $ hg ci -mc -d '3 0'
40
40
41 $ hg mv a b
41 $ hg mv a b
42 $ hg cp -f f g
42 $ hg cp -f f g
43 $ echo a > d
43 $ echo a > d
44 $ hg add d
44 $ hg add d
45 $ hg ci -md -d '4 0'
45 $ hg ci -md -d '4 0'
46
46
47 $ hg mv dir/b e
47 $ hg mv dir/b e
48 $ hg ci -me -d '5 0'
48 $ hg ci -me -d '5 0'
49
49
50 Make sure largefiles doesn't interfere with logging a regular file
50 Make sure largefiles doesn't interfere with logging a regular file
51 $ hg --debug log a -T '{rev}: {desc}\n' --config extensions.largefiles=
51 $ hg --debug log a -T '{rev}: {desc}\n' --config extensions.largefiles=
52 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
52 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
53 updated patterns: .hglf/a, a
53 updated patterns: .hglf/a, a
54 0: a
54 0: a
55 $ hg log a
55 $ hg log a
56 changeset: 0:9161b9aeaf16
56 changeset: 0:9161b9aeaf16
57 user: test
57 user: test
58 date: Thu Jan 01 00:00:01 1970 +0000
58 date: Thu Jan 01 00:00:01 1970 +0000
59 summary: a
59 summary: a
60
60
61 $ hg log glob:a*
61 $ hg log glob:a*
62 changeset: 3:2ca5ba701980
62 changeset: 3:2ca5ba701980
63 user: test
63 user: test
64 date: Thu Jan 01 00:00:04 1970 +0000
64 date: Thu Jan 01 00:00:04 1970 +0000
65 summary: d
65 summary: d
66
66
67 changeset: 0:9161b9aeaf16
67 changeset: 0:9161b9aeaf16
68 user: test
68 user: test
69 date: Thu Jan 01 00:00:01 1970 +0000
69 date: Thu Jan 01 00:00:01 1970 +0000
70 summary: a
70 summary: a
71
71
72 $ hg --debug log glob:a* -T '{rev}: {desc}\n' --config extensions.largefiles=
72 $ hg --debug log glob:a* -T '{rev}: {desc}\n' --config extensions.largefiles=
73 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
73 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
74 updated patterns: glob:.hglf/a*, glob:a*
74 updated patterns: glob:.hglf/a*, glob:a*
75 3: d
75 3: d
76 0: a
76 0: a
77
77
78 log on directory
78 log on directory
79
79
80 $ hg log dir
80 $ hg log dir
81 changeset: 4:7e4639b4691b
81 changeset: 4:7e4639b4691b
82 tag: tip
82 tag: tip
83 user: test
83 user: test
84 date: Thu Jan 01 00:00:05 1970 +0000
84 date: Thu Jan 01 00:00:05 1970 +0000
85 summary: e
85 summary: e
86
86
87 changeset: 2:f8954cd4dc1f
87 changeset: 2:f8954cd4dc1f
88 user: test
88 user: test
89 date: Thu Jan 01 00:00:03 1970 +0000
89 date: Thu Jan 01 00:00:03 1970 +0000
90 summary: c
90 summary: c
91
91
92 $ hg log somethingthatdoesntexist dir
92 $ hg log somethingthatdoesntexist dir
93 changeset: 4:7e4639b4691b
93 changeset: 4:7e4639b4691b
94 tag: tip
94 tag: tip
95 user: test
95 user: test
96 date: Thu Jan 01 00:00:05 1970 +0000
96 date: Thu Jan 01 00:00:05 1970 +0000
97 summary: e
97 summary: e
98
98
99 changeset: 2:f8954cd4dc1f
99 changeset: 2:f8954cd4dc1f
100 user: test
100 user: test
101 date: Thu Jan 01 00:00:03 1970 +0000
101 date: Thu Jan 01 00:00:03 1970 +0000
102 summary: c
102 summary: c
103
103
104
104
105 -X, with explicit path
105 -X, with explicit path
106
106
107 $ hg log a -X a
107 $ hg log a -X a
108
108
109 -f, non-existent directory
109 -f, non-existent directory
110
110
111 $ hg log -f dir
111 $ hg log -f dir
112 abort: cannot follow file not in parent revision: "dir"
112 abort: cannot follow file not in parent revision: "dir"
113 [255]
113 [255]
114
114
115 -f, directory
115 -f, directory
116
116
117 $ hg up -q 3
117 $ hg up -q 3
118 $ hg log -f dir
118 $ hg log -f dir
119 changeset: 2:f8954cd4dc1f
119 changeset: 2:f8954cd4dc1f
120 user: test
120 user: test
121 date: Thu Jan 01 00:00:03 1970 +0000
121 date: Thu Jan 01 00:00:03 1970 +0000
122 summary: c
122 summary: c
123
123
124 -f, directory with --patch
124 -f, directory with --patch
125
125
126 $ hg log -f dir -p
126 $ hg log -f dir -p
127 changeset: 2:f8954cd4dc1f
127 changeset: 2:f8954cd4dc1f
128 user: test
128 user: test
129 date: Thu Jan 01 00:00:03 1970 +0000
129 date: Thu Jan 01 00:00:03 1970 +0000
130 summary: c
130 summary: c
131
131
132 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
132 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
133 --- /dev/null* (glob)
133 --- /dev/null* (glob)
134 +++ b/dir/b* (glob)
134 +++ b/dir/b* (glob)
135 @@ -0,0 +1,1 @@
135 @@ -0,0 +1,1 @@
136 +a
136 +a
137
137
138
138
139 -f, pattern
139 -f, pattern
140
140
141 $ hg log -f -I 'dir**' -p
141 $ hg log -f -I 'dir**' -p
142 changeset: 2:f8954cd4dc1f
142 changeset: 2:f8954cd4dc1f
143 user: test
143 user: test
144 date: Thu Jan 01 00:00:03 1970 +0000
144 date: Thu Jan 01 00:00:03 1970 +0000
145 summary: c
145 summary: c
146
146
147 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
147 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
148 --- /dev/null* (glob)
148 --- /dev/null* (glob)
149 +++ b/dir/b* (glob)
149 +++ b/dir/b* (glob)
150 @@ -0,0 +1,1 @@
150 @@ -0,0 +1,1 @@
151 +a
151 +a
152
152
153 $ hg up -q 4
153 $ hg up -q 4
154
154
155 -f, a wrong style
155 -f, a wrong style
156
156
157 $ hg log -f -l1 --style something
157 $ hg log -f -l1 --style something
158 abort: style 'something' not found
158 abort: style 'something' not found
159 (available styles: bisect, changelog, compact, default, phases, show, status, xml)
159 (available styles: bisect, changelog, compact, default, phases, show, status, xml)
160 [255]
160 [255]
161
161
162 -f, phases style
162 -f, phases style
163
163
164
164
165 $ hg log -f -l1 --style phases
165 $ hg log -f -l1 --style phases
166 changeset: 4:7e4639b4691b
166 changeset: 4:7e4639b4691b
167 tag: tip
167 tag: tip
168 phase: draft
168 phase: draft
169 user: test
169 user: test
170 date: Thu Jan 01 00:00:05 1970 +0000
170 date: Thu Jan 01 00:00:05 1970 +0000
171 summary: e
171 summary: e
172
172
173
173
174 $ hg log -f -l1 --style phases -q
174 $ hg log -f -l1 --style phases -q
175 4:7e4639b4691b
175 4:7e4639b4691b
176
176
177 -f, but no args
177 -f, but no args
178
178
179 $ hg log -f
179 $ hg log -f
180 changeset: 4:7e4639b4691b
180 changeset: 4:7e4639b4691b
181 tag: tip
181 tag: tip
182 user: test
182 user: test
183 date: Thu Jan 01 00:00:05 1970 +0000
183 date: Thu Jan 01 00:00:05 1970 +0000
184 summary: e
184 summary: e
185
185
186 changeset: 3:2ca5ba701980
186 changeset: 3:2ca5ba701980
187 user: test
187 user: test
188 date: Thu Jan 01 00:00:04 1970 +0000
188 date: Thu Jan 01 00:00:04 1970 +0000
189 summary: d
189 summary: d
190
190
191 changeset: 2:f8954cd4dc1f
191 changeset: 2:f8954cd4dc1f
192 user: test
192 user: test
193 date: Thu Jan 01 00:00:03 1970 +0000
193 date: Thu Jan 01 00:00:03 1970 +0000
194 summary: c
194 summary: c
195
195
196 changeset: 1:d89b0a12d229
196 changeset: 1:d89b0a12d229
197 user: test
197 user: test
198 date: Thu Jan 01 00:00:02 1970 +0000
198 date: Thu Jan 01 00:00:02 1970 +0000
199 summary: b
199 summary: b
200
200
201 changeset: 0:9161b9aeaf16
201 changeset: 0:9161b9aeaf16
202 user: test
202 user: test
203 date: Thu Jan 01 00:00:01 1970 +0000
203 date: Thu Jan 01 00:00:01 1970 +0000
204 summary: a
204 summary: a
205
205
206
206
207 one rename
207 one rename
208
208
209 $ hg up -q 2
209 $ hg up -q 2
210 $ hg log -vf a
210 $ hg log -vf a
211 changeset: 0:9161b9aeaf16
211 changeset: 0:9161b9aeaf16
212 user: test
212 user: test
213 date: Thu Jan 01 00:00:01 1970 +0000
213 date: Thu Jan 01 00:00:01 1970 +0000
214 files: a f
214 files: a f
215 description:
215 description:
216 a
216 a
217
217
218
218
219
219
220 many renames
220 many renames
221
221
222 $ hg up -q tip
222 $ hg up -q tip
223 $ hg log -vf e
223 $ hg log -vf e
224 changeset: 4:7e4639b4691b
224 changeset: 4:7e4639b4691b
225 tag: tip
225 tag: tip
226 user: test
226 user: test
227 date: Thu Jan 01 00:00:05 1970 +0000
227 date: Thu Jan 01 00:00:05 1970 +0000
228 files: dir/b e
228 files: dir/b e
229 description:
229 description:
230 e
230 e
231
231
232
232
233 changeset: 2:f8954cd4dc1f
233 changeset: 2:f8954cd4dc1f
234 user: test
234 user: test
235 date: Thu Jan 01 00:00:03 1970 +0000
235 date: Thu Jan 01 00:00:03 1970 +0000
236 files: b dir/b f g
236 files: b dir/b f g
237 description:
237 description:
238 c
238 c
239
239
240
240
241 changeset: 1:d89b0a12d229
241 changeset: 1:d89b0a12d229
242 user: test
242 user: test
243 date: Thu Jan 01 00:00:02 1970 +0000
243 date: Thu Jan 01 00:00:02 1970 +0000
244 files: b g
244 files: b g
245 description:
245 description:
246 b
246 b
247
247
248
248
249 changeset: 0:9161b9aeaf16
249 changeset: 0:9161b9aeaf16
250 user: test
250 user: test
251 date: Thu Jan 01 00:00:01 1970 +0000
251 date: Thu Jan 01 00:00:01 1970 +0000
252 files: a f
252 files: a f
253 description:
253 description:
254 a
254 a
255
255
256
256
257
257
258
258
259 log -pf dir/b
259 log -pf dir/b
260
260
261 $ hg up -q 3
261 $ hg up -q 3
262 $ hg log -pf dir/b
262 $ hg log -pf dir/b
263 changeset: 2:f8954cd4dc1f
263 changeset: 2:f8954cd4dc1f
264 user: test
264 user: test
265 date: Thu Jan 01 00:00:03 1970 +0000
265 date: Thu Jan 01 00:00:03 1970 +0000
266 summary: c
266 summary: c
267
267
268 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
268 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
269 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
269 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
270 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
270 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
271 @@ -0,0 +1,1 @@
271 @@ -0,0 +1,1 @@
272 +a
272 +a
273
273
274 changeset: 1:d89b0a12d229
274 changeset: 1:d89b0a12d229
275 user: test
275 user: test
276 date: Thu Jan 01 00:00:02 1970 +0000
276 date: Thu Jan 01 00:00:02 1970 +0000
277 summary: b
277 summary: b
278
278
279 diff -r 9161b9aeaf16 -r d89b0a12d229 b
279 diff -r 9161b9aeaf16 -r d89b0a12d229 b
280 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
280 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
281 +++ b/b Thu Jan 01 00:00:02 1970 +0000
281 +++ b/b Thu Jan 01 00:00:02 1970 +0000
282 @@ -0,0 +1,1 @@
282 @@ -0,0 +1,1 @@
283 +a
283 +a
284
284
285 changeset: 0:9161b9aeaf16
285 changeset: 0:9161b9aeaf16
286 user: test
286 user: test
287 date: Thu Jan 01 00:00:01 1970 +0000
287 date: Thu Jan 01 00:00:01 1970 +0000
288 summary: a
288 summary: a
289
289
290 diff -r 000000000000 -r 9161b9aeaf16 a
290 diff -r 000000000000 -r 9161b9aeaf16 a
291 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
291 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
292 +++ b/a Thu Jan 01 00:00:01 1970 +0000
292 +++ b/a Thu Jan 01 00:00:01 1970 +0000
293 @@ -0,0 +1,1 @@
293 @@ -0,0 +1,1 @@
294 +a
294 +a
295
295
296
296
297 log -pf b inside dir
297 log -pf b inside dir
298
298
299 $ hg --cwd=dir log -pf b
299 $ hg --cwd=dir log -pf b
300 changeset: 2:f8954cd4dc1f
300 changeset: 2:f8954cd4dc1f
301 user: test
301 user: test
302 date: Thu Jan 01 00:00:03 1970 +0000
302 date: Thu Jan 01 00:00:03 1970 +0000
303 summary: c
303 summary: c
304
304
305 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
305 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
306 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
306 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
307 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
307 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
308 @@ -0,0 +1,1 @@
308 @@ -0,0 +1,1 @@
309 +a
309 +a
310
310
311 changeset: 1:d89b0a12d229
311 changeset: 1:d89b0a12d229
312 user: test
312 user: test
313 date: Thu Jan 01 00:00:02 1970 +0000
313 date: Thu Jan 01 00:00:02 1970 +0000
314 summary: b
314 summary: b
315
315
316 diff -r 9161b9aeaf16 -r d89b0a12d229 b
316 diff -r 9161b9aeaf16 -r d89b0a12d229 b
317 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
317 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
318 +++ b/b Thu Jan 01 00:00:02 1970 +0000
318 +++ b/b Thu Jan 01 00:00:02 1970 +0000
319 @@ -0,0 +1,1 @@
319 @@ -0,0 +1,1 @@
320 +a
320 +a
321
321
322 changeset: 0:9161b9aeaf16
322 changeset: 0:9161b9aeaf16
323 user: test
323 user: test
324 date: Thu Jan 01 00:00:01 1970 +0000
324 date: Thu Jan 01 00:00:01 1970 +0000
325 summary: a
325 summary: a
326
326
327 diff -r 000000000000 -r 9161b9aeaf16 a
327 diff -r 000000000000 -r 9161b9aeaf16 a
328 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
328 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
329 +++ b/a Thu Jan 01 00:00:01 1970 +0000
329 +++ b/a Thu Jan 01 00:00:01 1970 +0000
330 @@ -0,0 +1,1 @@
330 @@ -0,0 +1,1 @@
331 +a
331 +a
332
332
333
333
334 log -pf, but no args
334 log -pf, but no args
335
335
336 $ hg log -pf
336 $ hg log -pf
337 changeset: 3:2ca5ba701980
337 changeset: 3:2ca5ba701980
338 user: test
338 user: test
339 date: Thu Jan 01 00:00:04 1970 +0000
339 date: Thu Jan 01 00:00:04 1970 +0000
340 summary: d
340 summary: d
341
341
342 diff -r f8954cd4dc1f -r 2ca5ba701980 a
342 diff -r f8954cd4dc1f -r 2ca5ba701980 a
343 --- a/a Thu Jan 01 00:00:03 1970 +0000
343 --- a/a Thu Jan 01 00:00:03 1970 +0000
344 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
344 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
345 @@ -1,1 +0,0 @@
345 @@ -1,1 +0,0 @@
346 -a
346 -a
347 diff -r f8954cd4dc1f -r 2ca5ba701980 b
347 diff -r f8954cd4dc1f -r 2ca5ba701980 b
348 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
348 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
349 +++ b/b Thu Jan 01 00:00:04 1970 +0000
349 +++ b/b Thu Jan 01 00:00:04 1970 +0000
350 @@ -0,0 +1,1 @@
350 @@ -0,0 +1,1 @@
351 +a
351 +a
352 diff -r f8954cd4dc1f -r 2ca5ba701980 d
352 diff -r f8954cd4dc1f -r 2ca5ba701980 d
353 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
353 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
354 +++ b/d Thu Jan 01 00:00:04 1970 +0000
354 +++ b/d Thu Jan 01 00:00:04 1970 +0000
355 @@ -0,0 +1,1 @@
355 @@ -0,0 +1,1 @@
356 +a
356 +a
357 diff -r f8954cd4dc1f -r 2ca5ba701980 g
357 diff -r f8954cd4dc1f -r 2ca5ba701980 g
358 --- a/g Thu Jan 01 00:00:03 1970 +0000
358 --- a/g Thu Jan 01 00:00:03 1970 +0000
359 +++ b/g Thu Jan 01 00:00:04 1970 +0000
359 +++ b/g Thu Jan 01 00:00:04 1970 +0000
360 @@ -1,2 +1,2 @@
360 @@ -1,2 +1,2 @@
361 f
361 f
362 -g
362 -g
363 +f
363 +f
364
364
365 changeset: 2:f8954cd4dc1f
365 changeset: 2:f8954cd4dc1f
366 user: test
366 user: test
367 date: Thu Jan 01 00:00:03 1970 +0000
367 date: Thu Jan 01 00:00:03 1970 +0000
368 summary: c
368 summary: c
369
369
370 diff -r d89b0a12d229 -r f8954cd4dc1f b
370 diff -r d89b0a12d229 -r f8954cd4dc1f b
371 --- a/b Thu Jan 01 00:00:02 1970 +0000
371 --- a/b Thu Jan 01 00:00:02 1970 +0000
372 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
372 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
373 @@ -1,1 +0,0 @@
373 @@ -1,1 +0,0 @@
374 -a
374 -a
375 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
375 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
376 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
376 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
377 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
377 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
378 @@ -0,0 +1,1 @@
378 @@ -0,0 +1,1 @@
379 +a
379 +a
380 diff -r d89b0a12d229 -r f8954cd4dc1f f
380 diff -r d89b0a12d229 -r f8954cd4dc1f f
381 --- a/f Thu Jan 01 00:00:02 1970 +0000
381 --- a/f Thu Jan 01 00:00:02 1970 +0000
382 +++ b/f Thu Jan 01 00:00:03 1970 +0000
382 +++ b/f Thu Jan 01 00:00:03 1970 +0000
383 @@ -1,1 +1,2 @@
383 @@ -1,1 +1,2 @@
384 f
384 f
385 +f
385 +f
386 diff -r d89b0a12d229 -r f8954cd4dc1f g
386 diff -r d89b0a12d229 -r f8954cd4dc1f g
387 --- a/g Thu Jan 01 00:00:02 1970 +0000
387 --- a/g Thu Jan 01 00:00:02 1970 +0000
388 +++ b/g Thu Jan 01 00:00:03 1970 +0000
388 +++ b/g Thu Jan 01 00:00:03 1970 +0000
389 @@ -1,1 +1,2 @@
389 @@ -1,1 +1,2 @@
390 f
390 f
391 +g
391 +g
392
392
393 changeset: 1:d89b0a12d229
393 changeset: 1:d89b0a12d229
394 user: test
394 user: test
395 date: Thu Jan 01 00:00:02 1970 +0000
395 date: Thu Jan 01 00:00:02 1970 +0000
396 summary: b
396 summary: b
397
397
398 diff -r 9161b9aeaf16 -r d89b0a12d229 b
398 diff -r 9161b9aeaf16 -r d89b0a12d229 b
399 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
399 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
400 +++ b/b Thu Jan 01 00:00:02 1970 +0000
400 +++ b/b Thu Jan 01 00:00:02 1970 +0000
401 @@ -0,0 +1,1 @@
401 @@ -0,0 +1,1 @@
402 +a
402 +a
403 diff -r 9161b9aeaf16 -r d89b0a12d229 g
403 diff -r 9161b9aeaf16 -r d89b0a12d229 g
404 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
404 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
405 +++ b/g Thu Jan 01 00:00:02 1970 +0000
405 +++ b/g Thu Jan 01 00:00:02 1970 +0000
406 @@ -0,0 +1,1 @@
406 @@ -0,0 +1,1 @@
407 +f
407 +f
408
408
409 changeset: 0:9161b9aeaf16
409 changeset: 0:9161b9aeaf16
410 user: test
410 user: test
411 date: Thu Jan 01 00:00:01 1970 +0000
411 date: Thu Jan 01 00:00:01 1970 +0000
412 summary: a
412 summary: a
413
413
414 diff -r 000000000000 -r 9161b9aeaf16 a
414 diff -r 000000000000 -r 9161b9aeaf16 a
415 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
415 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
416 +++ b/a Thu Jan 01 00:00:01 1970 +0000
416 +++ b/a Thu Jan 01 00:00:01 1970 +0000
417 @@ -0,0 +1,1 @@
417 @@ -0,0 +1,1 @@
418 +a
418 +a
419 diff -r 000000000000 -r 9161b9aeaf16 f
419 diff -r 000000000000 -r 9161b9aeaf16 f
420 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
420 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
421 +++ b/f Thu Jan 01 00:00:01 1970 +0000
421 +++ b/f Thu Jan 01 00:00:01 1970 +0000
422 @@ -0,0 +1,1 @@
422 @@ -0,0 +1,1 @@
423 +f
423 +f
424
424
425
425
426 log -vf dir/b
426 log -vf dir/b
427
427
428 $ hg log -vf dir/b
428 $ hg log -vf dir/b
429 changeset: 2:f8954cd4dc1f
429 changeset: 2:f8954cd4dc1f
430 user: test
430 user: test
431 date: Thu Jan 01 00:00:03 1970 +0000
431 date: Thu Jan 01 00:00:03 1970 +0000
432 files: b dir/b f g
432 files: b dir/b f g
433 description:
433 description:
434 c
434 c
435
435
436
436
437 changeset: 1:d89b0a12d229
437 changeset: 1:d89b0a12d229
438 user: test
438 user: test
439 date: Thu Jan 01 00:00:02 1970 +0000
439 date: Thu Jan 01 00:00:02 1970 +0000
440 files: b g
440 files: b g
441 description:
441 description:
442 b
442 b
443
443
444
444
445 changeset: 0:9161b9aeaf16
445 changeset: 0:9161b9aeaf16
446 user: test
446 user: test
447 date: Thu Jan 01 00:00:01 1970 +0000
447 date: Thu Jan 01 00:00:01 1970 +0000
448 files: a f
448 files: a f
449 description:
449 description:
450 a
450 a
451
451
452
452
453
453
454
454
455 -f and multiple filelog heads
455 -f and multiple filelog heads
456
456
457 $ hg up -q 2
457 $ hg up -q 2
458 $ hg log -f g --template '{rev}\n'
458 $ hg log -f g --template '{rev}\n'
459 2
459 2
460 1
460 1
461 0
461 0
462 $ hg up -q tip
462 $ hg up -q tip
463 $ hg log -f g --template '{rev}\n'
463 $ hg log -f g --template '{rev}\n'
464 3
464 3
465 2
465 2
466 0
466 0
467
467
468 follow files from the specified revisions (issue4959)
468 follow files from the specified revisions (issue4959)
469
469
470 $ hg log -G -T '{rev} {files},{file_copies % " {source}->{name}"}\n'
470 $ hg log -G -T '{rev} {files},{file_copies % " {source}->{name}"}\n'
471 @ 4 dir/b e, dir/b->e
471 @ 4 dir/b e, dir/b->e
472 |
472 |
473 o 3 a b d g, a->b f->g
473 o 3 a b d g, a->b f->g
474 |
474 |
475 o 2 b dir/b f g, b->dir/b
475 o 2 b dir/b f g, b->dir/b
476 |
476 |
477 o 1 b g, a->b f->g
477 o 1 b g, a->b f->g
478 |
478 |
479 o 0 a f,
479 o 0 a f,
480
480
481
481
482 $ hg log -T '{rev}\n' -fr 4 e
482 $ hg log -T '{rev}\n' -fr 4 e
483 4
483 4
484 2
484 2
485 1
485 1
486 0
486 0
487 $ hg log -T '{rev}\n' -fr 2 g
487 $ hg log -T '{rev}\n' -fr 2 g
488 2
488 2
489 1
489 1
490 0
490 0
491 $ hg log -T '{rev}\n' -fr '2+3' g
491 $ hg log -T '{rev}\n' -fr '2+3' g
492 3
492 3
493 2
493 2
494 1
494 1
495 0
495 0
496
496
497 follow files from the specified revisions with glob patterns (issue5053)
497 follow files from the specified revisions with glob patterns (issue5053)
498 (BROKEN: should follow copies from e@4)
498 (BROKEN: should follow copies from e@4)
499
499
500 $ hg log -T '{rev}\n' -fr4 e -X '[abcdfg]'
500 $ hg log -T '{rev}\n' -fr4 e -X '[abcdfg]'
501 4
501 4
502 2 (false !)
502 2 (false !)
503 1 (false !)
503 1 (false !)
504 0 (false !)
504 0 (false !)
505
505
506 follow files from the specified revisions with missing patterns
506 follow files from the specified revisions with missing patterns
507 (BROKEN: should follow copies from e@4)
507 (BROKEN: should follow copies from e@4)
508
508
509 $ hg log -T '{rev}\n' -fr4 e x
509 $ hg log -T '{rev}\n' -fr4 e x
510 4
510 4
511 2 (false !)
511 2 (false !)
512 1 (false !)
512 1 (false !)
513 0 (false !)
513 0 (false !)
514
514
515 follow files from the specified revisions across copies with -p/--patch
515 follow files from the specified revisions across copies with -p/--patch
516
516
517 $ hg log -T '== rev: {rev},{file_copies % " {source}->{name}"} ==\n' -fpr 4 e g
517 $ hg log -T '== rev: {rev},{file_copies % " {source}->{name}"} ==\n' -fpr 4 e g
518 == rev: 4, dir/b->e ==
518 == rev: 4, dir/b->e ==
519 diff -r 2ca5ba701980 -r 7e4639b4691b e
519 diff -r 2ca5ba701980 -r 7e4639b4691b e
520 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
520 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
521 +++ b/e Thu Jan 01 00:00:05 1970 +0000
521 +++ b/e Thu Jan 01 00:00:05 1970 +0000
522 @@ -0,0 +1,1 @@
522 @@ -0,0 +1,1 @@
523 +a
523 +a
524
524
525 == rev: 3, a->b f->g ==
525 == rev: 3, a->b f->g ==
526 diff -r f8954cd4dc1f -r 2ca5ba701980 g
526 diff -r f8954cd4dc1f -r 2ca5ba701980 g
527 --- a/g Thu Jan 01 00:00:03 1970 +0000
527 --- a/g Thu Jan 01 00:00:03 1970 +0000
528 +++ b/g Thu Jan 01 00:00:04 1970 +0000
528 +++ b/g Thu Jan 01 00:00:04 1970 +0000
529 @@ -1,2 +1,2 @@
529 @@ -1,2 +1,2 @@
530 f
530 f
531 -g
531 -g
532 +f
532 +f
533
533
534 == rev: 2, b->dir/b ==
534 == rev: 2, b->dir/b ==
535 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
535 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
536 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
536 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
537 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
537 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
538 @@ -0,0 +1,1 @@
538 @@ -0,0 +1,1 @@
539 +a
539 +a
540 diff -r d89b0a12d229 -r f8954cd4dc1f f
540 diff -r d89b0a12d229 -r f8954cd4dc1f f
541 --- a/f Thu Jan 01 00:00:02 1970 +0000
541 --- a/f Thu Jan 01 00:00:02 1970 +0000
542 +++ b/f Thu Jan 01 00:00:03 1970 +0000
542 +++ b/f Thu Jan 01 00:00:03 1970 +0000
543 @@ -1,1 +1,2 @@
543 @@ -1,1 +1,2 @@
544 f
544 f
545 +f
545 +f
546
546
547 == rev: 1, a->b f->g ==
547 == rev: 1, a->b f->g ==
548 diff -r 9161b9aeaf16 -r d89b0a12d229 b
548 diff -r 9161b9aeaf16 -r d89b0a12d229 b
549 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
549 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
550 +++ b/b Thu Jan 01 00:00:02 1970 +0000
550 +++ b/b Thu Jan 01 00:00:02 1970 +0000
551 @@ -0,0 +1,1 @@
551 @@ -0,0 +1,1 @@
552 +a
552 +a
553
553
554 == rev: 0, ==
554 == rev: 0, ==
555 diff -r 000000000000 -r 9161b9aeaf16 a
555 diff -r 000000000000 -r 9161b9aeaf16 a
556 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
556 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
557 +++ b/a Thu Jan 01 00:00:01 1970 +0000
557 +++ b/a Thu Jan 01 00:00:01 1970 +0000
558 @@ -0,0 +1,1 @@
558 @@ -0,0 +1,1 @@
559 +a
559 +a
560 diff -r 000000000000 -r 9161b9aeaf16 f
560 diff -r 000000000000 -r 9161b9aeaf16 f
561 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
561 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
562 +++ b/f Thu Jan 01 00:00:01 1970 +0000
562 +++ b/f Thu Jan 01 00:00:01 1970 +0000
563 @@ -0,0 +1,1 @@
563 @@ -0,0 +1,1 @@
564 +f
564 +f
565
565
566
566
567 log copies with --copies
567 log copies with --copies
568
568
569 $ hg log -vC --template '{rev} {file_copies}\n'
569 $ hg log -vC --template '{rev} {file_copies}\n'
570 4 e (dir/b)
570 4 e (dir/b)
571 3 b (a)g (f)
571 3 b (a)g (f)
572 2 dir/b (b)
572 2 dir/b (b)
573 1 b (a)g (f)
573 1 b (a)g (f)
574 0
574 0
575
575
576 log copies switch without --copies, with old filecopy template
576 log copies switch without --copies, with old filecopy template
577
577
578 $ hg log -v --template '{rev} {file_copies_switch%filecopy}\n'
578 $ hg log -v --template '{rev} {file_copies_switch%filecopy}\n'
579 4
579 4
580 3
580 3
581 2
581 2
582 1
582 1
583 0
583 0
584
584
585 log copies switch with --copies
585 log copies switch with --copies
586
586
587 $ hg log -vC --template '{rev} {file_copies_switch}\n'
587 $ hg log -vC --template '{rev} {file_copies_switch}\n'
588 4 e (dir/b)
588 4 e (dir/b)
589 3 b (a)g (f)
589 3 b (a)g (f)
590 2 dir/b (b)
590 2 dir/b (b)
591 1 b (a)g (f)
591 1 b (a)g (f)
592 0
592 0
593
593
594
594
595 log copies with hardcoded style and with --style=default
595 log copies with hardcoded style and with --style=default
596
596
597 $ hg log -vC -r4
597 $ hg log -vC -r4
598 changeset: 4:7e4639b4691b
598 changeset: 4:7e4639b4691b
599 tag: tip
599 tag: tip
600 user: test
600 user: test
601 date: Thu Jan 01 00:00:05 1970 +0000
601 date: Thu Jan 01 00:00:05 1970 +0000
602 files: dir/b e
602 files: dir/b e
603 copies: e (dir/b)
603 copies: e (dir/b)
604 description:
604 description:
605 e
605 e
606
606
607
607
608 $ hg log -vC -r4 --style=default
608 $ hg log -vC -r4 --style=default
609 changeset: 4:7e4639b4691b
609 changeset: 4:7e4639b4691b
610 tag: tip
610 tag: tip
611 user: test
611 user: test
612 date: Thu Jan 01 00:00:05 1970 +0000
612 date: Thu Jan 01 00:00:05 1970 +0000
613 files: dir/b e
613 files: dir/b e
614 copies: e (dir/b)
614 copies: e (dir/b)
615 description:
615 description:
616 e
616 e
617
617
618
618
619 $ hg log -vC -r4 -Tjson
619 $ hg log -vC -r4 -Tjson
620 [
620 [
621 {
621 {
622 "rev": 4,
622 "rev": 4,
623 "node": "7e4639b4691b9f84b81036a8d4fb218ce3c5e3a3",
623 "node": "7e4639b4691b9f84b81036a8d4fb218ce3c5e3a3",
624 "branch": "default",
624 "branch": "default",
625 "phase": "draft",
625 "phase": "draft",
626 "user": "test",
626 "user": "test",
627 "date": [5, 0],
627 "date": [5, 0],
628 "desc": "e",
628 "desc": "e",
629 "bookmarks": [],
629 "bookmarks": [],
630 "tags": ["tip"],
630 "tags": ["tip"],
631 "parents": ["2ca5ba7019804f1f597249caddf22a64d34df0ba"],
631 "parents": ["2ca5ba7019804f1f597249caddf22a64d34df0ba"],
632 "files": ["dir/b", "e"],
632 "files": ["dir/b", "e"],
633 "copies": {"e": "dir/b"}
633 "copies": {"e": "dir/b"}
634 }
634 }
635 ]
635 ]
636
636
637 log copies, non-linear manifest
637 log copies, non-linear manifest
638
638
639 $ hg up -C 3
639 $ hg up -C 3
640 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
640 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
641 $ hg mv dir/b e
641 $ hg mv dir/b e
642 $ echo foo > foo
642 $ echo foo > foo
643 $ hg ci -Ame2 -d '6 0'
643 $ hg ci -Ame2 -d '6 0'
644 adding foo
644 adding foo
645 created new head
645 created new head
646 $ hg log -v --template '{rev} {file_copies}\n' -r 5
646 $ hg log -v --template '{rev} {file_copies}\n' -r 5
647 5 e (dir/b)
647 5 e (dir/b)
648
648
649
649
650 log copies, execute bit set
650 log copies, execute bit set
651
651
652 #if execbit
652 #if execbit
653 $ chmod +x e
653 $ chmod +x e
654 $ hg ci -me3 -d '7 0'
654 $ hg ci -me3 -d '7 0'
655 $ hg log -v --template '{rev} {file_copies}\n' -r 6
655 $ hg log -v --template '{rev} {file_copies}\n' -r 6
656 6
656 6
657 #endif
657 #endif
658
658
659
659
660 log -p d
660 log -p d
661
661
662 $ hg log -pv d
662 $ hg log -pv d
663 changeset: 3:2ca5ba701980
663 changeset: 3:2ca5ba701980
664 user: test
664 user: test
665 date: Thu Jan 01 00:00:04 1970 +0000
665 date: Thu Jan 01 00:00:04 1970 +0000
666 files: a b d g
666 files: a b d g
667 description:
667 description:
668 d
668 d
669
669
670
670
671 diff -r f8954cd4dc1f -r 2ca5ba701980 d
671 diff -r f8954cd4dc1f -r 2ca5ba701980 d
672 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
672 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
673 +++ b/d Thu Jan 01 00:00:04 1970 +0000
673 +++ b/d Thu Jan 01 00:00:04 1970 +0000
674 @@ -0,0 +1,1 @@
674 @@ -0,0 +1,1 @@
675 +a
675 +a
676
676
677
677
678
678
679 log --removed file
679 log --removed file
680
680
681 $ hg log --removed -v a
681 $ hg log --removed -v a
682 changeset: 3:2ca5ba701980
682 changeset: 3:2ca5ba701980
683 user: test
683 user: test
684 date: Thu Jan 01 00:00:04 1970 +0000
684 date: Thu Jan 01 00:00:04 1970 +0000
685 files: a b d g
685 files: a b d g
686 description:
686 description:
687 d
687 d
688
688
689
689
690 changeset: 0:9161b9aeaf16
690 changeset: 0:9161b9aeaf16
691 user: test
691 user: test
692 date: Thu Jan 01 00:00:01 1970 +0000
692 date: Thu Jan 01 00:00:01 1970 +0000
693 files: a f
693 files: a f
694 description:
694 description:
695 a
695 a
696
696
697
697
698
698
699 log --removed revrange file
699 log --removed revrange file
700
700
701 $ hg log --removed -v -r0:2 a
701 $ hg log --removed -v -r0:2 a
702 changeset: 0:9161b9aeaf16
702 changeset: 0:9161b9aeaf16
703 user: test
703 user: test
704 date: Thu Jan 01 00:00:01 1970 +0000
704 date: Thu Jan 01 00:00:01 1970 +0000
705 files: a f
705 files: a f
706 description:
706 description:
707 a
707 a
708
708
709
709
710 $ cd ..
710 $ cd ..
711
711
712 log --follow tests
712 log --follow tests
713
713
714 $ hg init follow
714 $ hg init follow
715 $ cd follow
715 $ cd follow
716
716
717 $ echo base > base
717 $ echo base > base
718 $ hg ci -Ambase -d '1 0'
718 $ hg ci -Ambase -d '1 0'
719 adding base
719 adding base
720
720
721 $ echo r1 >> base
721 $ echo r1 >> base
722 $ hg ci -Amr1 -d '1 0'
722 $ hg ci -Amr1 -d '1 0'
723 $ echo r2 >> base
723 $ echo r2 >> base
724 $ hg ci -Amr2 -d '1 0'
724 $ hg ci -Amr2 -d '1 0'
725
725
726 $ hg up -C 1
726 $ hg up -C 1
727 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
727 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
728 $ echo b1 > b1
728 $ echo b1 > b1
729
729
730 log -r "follow('set:clean()')"
730 log -r "follow('set:clean()')"
731
731
732 $ hg log -r "follow('set:clean()')"
732 $ hg log -r "follow('set:clean()')"
733 changeset: 0:67e992f2c4f3
733 changeset: 0:67e992f2c4f3
734 user: test
734 user: test
735 date: Thu Jan 01 00:00:01 1970 +0000
735 date: Thu Jan 01 00:00:01 1970 +0000
736 summary: base
736 summary: base
737
737
738 changeset: 1:3d5bf5654eda
738 changeset: 1:3d5bf5654eda
739 user: test
739 user: test
740 date: Thu Jan 01 00:00:01 1970 +0000
740 date: Thu Jan 01 00:00:01 1970 +0000
741 summary: r1
741 summary: r1
742
742
743
743
744 $ hg ci -Amb1 -d '1 0'
744 $ hg ci -Amb1 -d '1 0'
745 adding b1
745 adding b1
746 created new head
746 created new head
747
747
748
748
749 log -f
749 log -f
750
750
751 $ hg log -f
751 $ hg log -f
752 changeset: 3:e62f78d544b4
752 changeset: 3:e62f78d544b4
753 tag: tip
753 tag: tip
754 parent: 1:3d5bf5654eda
754 parent: 1:3d5bf5654eda
755 user: test
755 user: test
756 date: Thu Jan 01 00:00:01 1970 +0000
756 date: Thu Jan 01 00:00:01 1970 +0000
757 summary: b1
757 summary: b1
758
758
759 changeset: 1:3d5bf5654eda
759 changeset: 1:3d5bf5654eda
760 user: test
760 user: test
761 date: Thu Jan 01 00:00:01 1970 +0000
761 date: Thu Jan 01 00:00:01 1970 +0000
762 summary: r1
762 summary: r1
763
763
764 changeset: 0:67e992f2c4f3
764 changeset: 0:67e992f2c4f3
765 user: test
765 user: test
766 date: Thu Jan 01 00:00:01 1970 +0000
766 date: Thu Jan 01 00:00:01 1970 +0000
767 summary: base
767 summary: base
768
768
769
769
770 log -r follow('glob:b*')
770 log -r follow('glob:b*')
771
771
772 $ hg log -r "follow('glob:b*')"
772 $ hg log -r "follow('glob:b*')"
773 changeset: 0:67e992f2c4f3
773 changeset: 0:67e992f2c4f3
774 user: test
774 user: test
775 date: Thu Jan 01 00:00:01 1970 +0000
775 date: Thu Jan 01 00:00:01 1970 +0000
776 summary: base
776 summary: base
777
777
778 changeset: 1:3d5bf5654eda
778 changeset: 1:3d5bf5654eda
779 user: test
779 user: test
780 date: Thu Jan 01 00:00:01 1970 +0000
780 date: Thu Jan 01 00:00:01 1970 +0000
781 summary: r1
781 summary: r1
782
782
783 changeset: 3:e62f78d544b4
783 changeset: 3:e62f78d544b4
784 tag: tip
784 tag: tip
785 parent: 1:3d5bf5654eda
785 parent: 1:3d5bf5654eda
786 user: test
786 user: test
787 date: Thu Jan 01 00:00:01 1970 +0000
787 date: Thu Jan 01 00:00:01 1970 +0000
788 summary: b1
788 summary: b1
789
789
790 log -f -r '1 + 4'
790 log -f -r '1 + 4'
791
791
792 $ hg up -C 0
792 $ hg up -C 0
793 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
793 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
794 $ echo b2 > b2
794 $ echo b2 > b2
795 $ hg ci -Amb2 -d '1 0'
795 $ hg ci -Amb2 -d '1 0'
796 adding b2
796 adding b2
797 created new head
797 created new head
798 $ hg log -f -r '1 + 4'
798 $ hg log -f -r '1 + 4'
799 changeset: 4:ddb82e70d1a1
799 changeset: 4:ddb82e70d1a1
800 tag: tip
800 tag: tip
801 parent: 0:67e992f2c4f3
801 parent: 0:67e992f2c4f3
802 user: test
802 user: test
803 date: Thu Jan 01 00:00:01 1970 +0000
803 date: Thu Jan 01 00:00:01 1970 +0000
804 summary: b2
804 summary: b2
805
805
806 changeset: 1:3d5bf5654eda
806 changeset: 1:3d5bf5654eda
807 user: test
807 user: test
808 date: Thu Jan 01 00:00:01 1970 +0000
808 date: Thu Jan 01 00:00:01 1970 +0000
809 summary: r1
809 summary: r1
810
810
811 changeset: 0:67e992f2c4f3
811 changeset: 0:67e992f2c4f3
812 user: test
812 user: test
813 date: Thu Jan 01 00:00:01 1970 +0000
813 date: Thu Jan 01 00:00:01 1970 +0000
814 summary: base
814 summary: base
815
815
816
816
817 log -fr with aliases: 'A' should be expanded, but 'reverse()' should have no
817 log -fr with aliases: 'A' should be expanded, but 'reverse()' should have no
818 effect
818 effect
819
819
820 $ hg log --config 'revsetalias.reverse(x)=x' --config 'revsetalias.A=1+4' -qfrA
820 $ hg log --config 'revsetalias.reverse(x)=x' --config 'revsetalias.A=1+4' -qfrA
821 4:ddb82e70d1a1
821 4:ddb82e70d1a1
822 1:3d5bf5654eda
822 1:3d5bf5654eda
823 0:67e992f2c4f3
823 0:67e992f2c4f3
824
824
825 log -r "follow('set:grep(b2)')"
825 log -r "follow('set:grep(b2)')"
826
826
827 $ hg log -r "follow('set:grep(b2)')"
827 $ hg log -r "follow('set:grep(b2)')"
828 changeset: 4:ddb82e70d1a1
828 changeset: 4:ddb82e70d1a1
829 tag: tip
829 tag: tip
830 parent: 0:67e992f2c4f3
830 parent: 0:67e992f2c4f3
831 user: test
831 user: test
832 date: Thu Jan 01 00:00:01 1970 +0000
832 date: Thu Jan 01 00:00:01 1970 +0000
833 summary: b2
833 summary: b2
834
834
835 log -r "follow('set:grep(b2)', 4)"
835 log -r "follow('set:grep(b2)', 4)"
836
836
837 $ hg up -qC 0
837 $ hg up -qC 0
838 $ hg log -r "follow('set:grep(b2)', 4)"
838 $ hg log -r "follow('set:grep(b2)', 4)"
839 changeset: 4:ddb82e70d1a1
839 changeset: 4:ddb82e70d1a1
840 tag: tip
840 tag: tip
841 parent: 0:67e992f2c4f3
841 parent: 0:67e992f2c4f3
842 user: test
842 user: test
843 date: Thu Jan 01 00:00:01 1970 +0000
843 date: Thu Jan 01 00:00:01 1970 +0000
844 summary: b2
844 summary: b2
845
845
846
846
847 follow files starting from multiple revisions:
847 follow files starting from multiple revisions:
848
848
849 $ hg log -T '{rev}: {files}\n' -r "follow('glob:b?', startrev=2+3+4)"
849 $ hg log -T '{rev}: {files}\n' -r "follow('glob:b?', startrev=2+3+4)"
850 3: b1
850 3: b1
851 4: b2
851 4: b2
852
852
853 follow files starting from empty revision:
853 follow files starting from empty revision:
854
854
855 $ hg log -T '{rev}: {files}\n' -r "follow('glob:*', startrev=.-.)"
855 $ hg log -T '{rev}: {files}\n' -r "follow('glob:*', startrev=.-.)"
856
856
857 follow starting from revisions:
857 follow starting from revisions:
858
858
859 $ hg log -Gq -r "follow(startrev=2+4)"
859 $ hg log -Gq -r "follow(startrev=2+4)"
860 o 4:ddb82e70d1a1
860 o 4:ddb82e70d1a1
861 |
861 |
862 | o 2:60c670bf5b30
862 | o 2:60c670bf5b30
863 | |
863 | |
864 | o 1:3d5bf5654eda
864 | o 1:3d5bf5654eda
865 |/
865 |/
866 @ 0:67e992f2c4f3
866 @ 0:67e992f2c4f3
867
867
868
868
869 follow the current revision:
869 follow the current revision:
870
870
871 $ hg log -Gq -r "follow()"
871 $ hg log -Gq -r "follow()"
872 @ 0:67e992f2c4f3
872 @ 0:67e992f2c4f3
873
873
874
874
875 $ hg up -qC 4
875 $ hg up -qC 4
876
876
877 log -f -r null
877 log -f -r null
878
878
879 $ hg log -f -r null
879 $ hg log -f -r null
880 changeset: -1:000000000000
880 changeset: -1:000000000000
881 user:
881 user:
882 date: Thu Jan 01 00:00:00 1970 +0000
882 date: Thu Jan 01 00:00:00 1970 +0000
883
883
884 $ hg log -f -r null -G
884 $ hg log -f -r null -G
885 o changeset: -1:000000000000
885 o changeset: -1:000000000000
886 user:
886 user:
887 date: Thu Jan 01 00:00:00 1970 +0000
887 date: Thu Jan 01 00:00:00 1970 +0000
888
888
889
889
890
890
891 log -f with null parent
891 log -f with null parent
892
892
893 $ hg up -C null
893 $ hg up -C null
894 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
894 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
895 $ hg log -f
895 $ hg log -f
896
896
897
897
898 log -r . with two parents
898 log -r . with two parents
899
899
900 $ hg up -C 3
900 $ hg up -C 3
901 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
901 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
902 $ hg merge tip
902 $ hg merge tip
903 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
903 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
904 (branch merge, don't forget to commit)
904 (branch merge, don't forget to commit)
905 $ hg log -r .
905 $ hg log -r .
906 changeset: 3:e62f78d544b4
906 changeset: 3:e62f78d544b4
907 parent: 1:3d5bf5654eda
907 parent: 1:3d5bf5654eda
908 user: test
908 user: test
909 date: Thu Jan 01 00:00:01 1970 +0000
909 date: Thu Jan 01 00:00:01 1970 +0000
910 summary: b1
910 summary: b1
911
911
912
912
913
913
914 log -r . with one parent
914 log -r . with one parent
915
915
916 $ hg ci -mm12 -d '1 0'
916 $ hg ci -mm12 -d '1 0'
917 $ hg log -r .
917 $ hg log -r .
918 changeset: 5:302e9dd6890d
918 changeset: 5:302e9dd6890d
919 tag: tip
919 tag: tip
920 parent: 3:e62f78d544b4
920 parent: 3:e62f78d544b4
921 parent: 4:ddb82e70d1a1
921 parent: 4:ddb82e70d1a1
922 user: test
922 user: test
923 date: Thu Jan 01 00:00:01 1970 +0000
923 date: Thu Jan 01 00:00:01 1970 +0000
924 summary: m12
924 summary: m12
925
925
926
926
927 $ echo postm >> b1
927 $ echo postm >> b1
928 $ hg ci -Amb1.1 -d'1 0'
928 $ hg ci -Amb1.1 -d'1 0'
929
929
930
930
931 log --follow-first
931 log --follow-first
932
932
933 $ hg log --follow-first
933 $ hg log --follow-first
934 changeset: 6:2404bbcab562
934 changeset: 6:2404bbcab562
935 tag: tip
935 tag: tip
936 user: test
936 user: test
937 date: Thu Jan 01 00:00:01 1970 +0000
937 date: Thu Jan 01 00:00:01 1970 +0000
938 summary: b1.1
938 summary: b1.1
939
939
940 changeset: 5:302e9dd6890d
940 changeset: 5:302e9dd6890d
941 parent: 3:e62f78d544b4
941 parent: 3:e62f78d544b4
942 parent: 4:ddb82e70d1a1
942 parent: 4:ddb82e70d1a1
943 user: test
943 user: test
944 date: Thu Jan 01 00:00:01 1970 +0000
944 date: Thu Jan 01 00:00:01 1970 +0000
945 summary: m12
945 summary: m12
946
946
947 changeset: 3:e62f78d544b4
947 changeset: 3:e62f78d544b4
948 parent: 1:3d5bf5654eda
948 parent: 1:3d5bf5654eda
949 user: test
949 user: test
950 date: Thu Jan 01 00:00:01 1970 +0000
950 date: Thu Jan 01 00:00:01 1970 +0000
951 summary: b1
951 summary: b1
952
952
953 changeset: 1:3d5bf5654eda
953 changeset: 1:3d5bf5654eda
954 user: test
954 user: test
955 date: Thu Jan 01 00:00:01 1970 +0000
955 date: Thu Jan 01 00:00:01 1970 +0000
956 summary: r1
956 summary: r1
957
957
958 changeset: 0:67e992f2c4f3
958 changeset: 0:67e992f2c4f3
959 user: test
959 user: test
960 date: Thu Jan 01 00:00:01 1970 +0000
960 date: Thu Jan 01 00:00:01 1970 +0000
961 summary: base
961 summary: base
962
962
963
963
964
964
965 log -P 2
965 log -P 2
966
966
967 $ hg log -P 2
967 $ hg log -P 2
968 changeset: 6:2404bbcab562
968 changeset: 6:2404bbcab562
969 tag: tip
969 tag: tip
970 user: test
970 user: test
971 date: Thu Jan 01 00:00:01 1970 +0000
971 date: Thu Jan 01 00:00:01 1970 +0000
972 summary: b1.1
972 summary: b1.1
973
973
974 changeset: 5:302e9dd6890d
974 changeset: 5:302e9dd6890d
975 parent: 3:e62f78d544b4
975 parent: 3:e62f78d544b4
976 parent: 4:ddb82e70d1a1
976 parent: 4:ddb82e70d1a1
977 user: test
977 user: test
978 date: Thu Jan 01 00:00:01 1970 +0000
978 date: Thu Jan 01 00:00:01 1970 +0000
979 summary: m12
979 summary: m12
980
980
981 changeset: 4:ddb82e70d1a1
981 changeset: 4:ddb82e70d1a1
982 parent: 0:67e992f2c4f3
982 parent: 0:67e992f2c4f3
983 user: test
983 user: test
984 date: Thu Jan 01 00:00:01 1970 +0000
984 date: Thu Jan 01 00:00:01 1970 +0000
985 summary: b2
985 summary: b2
986
986
987 changeset: 3:e62f78d544b4
987 changeset: 3:e62f78d544b4
988 parent: 1:3d5bf5654eda
988 parent: 1:3d5bf5654eda
989 user: test
989 user: test
990 date: Thu Jan 01 00:00:01 1970 +0000
990 date: Thu Jan 01 00:00:01 1970 +0000
991 summary: b1
991 summary: b1
992
992
993
993
994
994
995 log -r tip -p --git
995 log -r tip -p --git
996
996
997 $ hg log -r tip -p --git
997 $ hg log -r tip -p --git
998 changeset: 6:2404bbcab562
998 changeset: 6:2404bbcab562
999 tag: tip
999 tag: tip
1000 user: test
1000 user: test
1001 date: Thu Jan 01 00:00:01 1970 +0000
1001 date: Thu Jan 01 00:00:01 1970 +0000
1002 summary: b1.1
1002 summary: b1.1
1003
1003
1004 diff --git a/b1 b/b1
1004 diff --git a/b1 b/b1
1005 --- a/b1
1005 --- a/b1
1006 +++ b/b1
1006 +++ b/b1
1007 @@ -1,1 +1,2 @@
1007 @@ -1,1 +1,2 @@
1008 b1
1008 b1
1009 +postm
1009 +postm
1010
1010
1011
1011
1012
1012
1013 log -r ""
1013 log -r ""
1014
1014
1015 $ hg log -r ''
1015 $ hg log -r ''
1016 hg: parse error: empty query
1016 hg: parse error: empty query
1017 [255]
1017 [255]
1018
1018
1019 log -r <some unknown node id>
1019 log -r <some unknown node id>
1020
1020
1021 $ hg log -r 1000000000000000000000000000000000000000
1021 $ hg log -r 1000000000000000000000000000000000000000
1022 abort: unknown revision '1000000000000000000000000000000000000000'!
1022 abort: unknown revision '1000000000000000000000000000000000000000'!
1023 [255]
1023 [255]
1024
1024
1025 log -k r1
1025 log -k r1
1026
1026
1027 $ hg log -k r1
1027 $ hg log -k r1
1028 changeset: 1:3d5bf5654eda
1028 changeset: 1:3d5bf5654eda
1029 user: test
1029 user: test
1030 date: Thu Jan 01 00:00:01 1970 +0000
1030 date: Thu Jan 01 00:00:01 1970 +0000
1031 summary: r1
1031 summary: r1
1032
1032
1033 log -p -l2 --color=always
1033 log -p -l2 --color=always
1034
1034
1035 $ hg --config extensions.color= --config color.mode=ansi \
1035 $ hg --config extensions.color= --config color.mode=ansi \
1036 > log -p -l2 --color=always
1036 > log -p -l2 --color=always
1037 \x1b[0;33mchangeset: 6:2404bbcab562\x1b[0m (esc)
1037 \x1b[0;33mchangeset: 6:2404bbcab562\x1b[0m (esc)
1038 tag: tip
1038 tag: tip
1039 user: test
1039 user: test
1040 date: Thu Jan 01 00:00:01 1970 +0000
1040 date: Thu Jan 01 00:00:01 1970 +0000
1041 summary: b1.1
1041 summary: b1.1
1042
1042
1043 \x1b[0;1mdiff -r 302e9dd6890d -r 2404bbcab562 b1\x1b[0m (esc)
1043 \x1b[0;1mdiff -r 302e9dd6890d -r 2404bbcab562 b1\x1b[0m (esc)
1044 \x1b[0;31;1m--- a/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
1044 \x1b[0;31;1m--- a/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
1045 \x1b[0;32;1m+++ b/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
1045 \x1b[0;32;1m+++ b/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
1046 \x1b[0;35m@@ -1,1 +1,2 @@\x1b[0m (esc)
1046 \x1b[0;35m@@ -1,1 +1,2 @@\x1b[0m (esc)
1047 b1
1047 b1
1048 \x1b[0;32m+postm\x1b[0m (esc)
1048 \x1b[0;32m+postm\x1b[0m (esc)
1049
1049
1050 \x1b[0;33mchangeset: 5:302e9dd6890d\x1b[0m (esc)
1050 \x1b[0;33mchangeset: 5:302e9dd6890d\x1b[0m (esc)
1051 parent: 3:e62f78d544b4
1051 parent: 3:e62f78d544b4
1052 parent: 4:ddb82e70d1a1
1052 parent: 4:ddb82e70d1a1
1053 user: test
1053 user: test
1054 date: Thu Jan 01 00:00:01 1970 +0000
1054 date: Thu Jan 01 00:00:01 1970 +0000
1055 summary: m12
1055 summary: m12
1056
1056
1057 \x1b[0;1mdiff -r e62f78d544b4 -r 302e9dd6890d b2\x1b[0m (esc)
1057 \x1b[0;1mdiff -r e62f78d544b4 -r 302e9dd6890d b2\x1b[0m (esc)
1058 \x1b[0;31;1m--- /dev/null Thu Jan 01 00:00:00 1970 +0000\x1b[0m (esc)
1058 \x1b[0;31;1m--- /dev/null Thu Jan 01 00:00:00 1970 +0000\x1b[0m (esc)
1059 \x1b[0;32;1m+++ b/b2 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
1059 \x1b[0;32;1m+++ b/b2 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
1060 \x1b[0;35m@@ -0,0 +1,1 @@\x1b[0m (esc)
1060 \x1b[0;35m@@ -0,0 +1,1 @@\x1b[0m (esc)
1061 \x1b[0;32m+b2\x1b[0m (esc)
1061 \x1b[0;32m+b2\x1b[0m (esc)
1062
1062
1063
1063
1064
1064
1065 log -r tip --stat
1065 log -r tip --stat
1066
1066
1067 $ hg log -r tip --stat
1067 $ hg log -r tip --stat
1068 changeset: 6:2404bbcab562
1068 changeset: 6:2404bbcab562
1069 tag: tip
1069 tag: tip
1070 user: test
1070 user: test
1071 date: Thu Jan 01 00:00:01 1970 +0000
1071 date: Thu Jan 01 00:00:01 1970 +0000
1072 summary: b1.1
1072 summary: b1.1
1073
1073
1074 b1 | 1 +
1074 b1 | 1 +
1075 1 files changed, 1 insertions(+), 0 deletions(-)
1075 1 files changed, 1 insertions(+), 0 deletions(-)
1076
1076
1077
1077
1078 $ cd ..
1078 $ cd ..
1079
1079
1080 log --follow --patch FILE in repository where linkrev isn't trustworthy
1080 log --follow --patch FILE in repository where linkrev isn't trustworthy
1081 (issue5376)
1081 (issue5376)
1082
1082
1083 $ hg init follow-dup
1083 $ hg init follow-dup
1084 $ cd follow-dup
1084 $ cd follow-dup
1085 $ cat <<EOF >> .hg/hgrc
1085 $ cat <<EOF >> .hg/hgrc
1086 > [ui]
1086 > [ui]
1087 > logtemplate = '=== {rev}: {desc}\n'
1087 > logtemplate = '=== {rev}: {desc}\n'
1088 > [diff]
1088 > [diff]
1089 > nodates = True
1089 > nodates = True
1090 > EOF
1090 > EOF
1091 $ echo 0 >> a
1091 $ echo 0 >> a
1092 $ hg ci -qAm 'a0'
1092 $ hg ci -qAm 'a0'
1093 $ echo 1 >> a
1093 $ echo 1 >> a
1094 $ hg ci -m 'a1'
1094 $ hg ci -m 'a1'
1095 $ hg up -q 0
1095 $ hg up -q 0
1096 $ echo 1 >> a
1096 $ echo 1 >> a
1097 $ touch b
1097 $ touch b
1098 $ hg ci -qAm 'a1 with b'
1098 $ hg ci -qAm 'a1 with b'
1099 $ echo 3 >> a
1099 $ echo 3 >> a
1100 $ hg ci -m 'a3'
1100 $ hg ci -m 'a3'
1101
1101
1102 fctx.rev() == 2, but fctx.linkrev() == 1
1102 fctx.rev() == 2, but fctx.linkrev() == 1
1103
1103
1104 $ hg log -pf a
1104 $ hg log -pf a
1105 === 3: a3
1105 === 3: a3
1106 diff -r 4ea02ba94d66 -r e7a6331a34f0 a
1106 diff -r 4ea02ba94d66 -r e7a6331a34f0 a
1107 --- a/a
1107 --- a/a
1108 +++ b/a
1108 +++ b/a
1109 @@ -1,2 +1,3 @@
1109 @@ -1,2 +1,3 @@
1110 0
1110 0
1111 1
1111 1
1112 +3
1112 +3
1113
1113
1114 === 2: a1 with b
1114 === 2: a1 with b
1115 diff -r 49b5e81287e2 -r 4ea02ba94d66 a
1115 diff -r 49b5e81287e2 -r 4ea02ba94d66 a
1116 --- a/a
1116 --- a/a
1117 +++ b/a
1117 +++ b/a
1118 @@ -1,1 +1,2 @@
1118 @@ -1,1 +1,2 @@
1119 0
1119 0
1120 +1
1120 +1
1121
1121
1122 === 0: a0
1122 === 0: a0
1123 diff -r 000000000000 -r 49b5e81287e2 a
1123 diff -r 000000000000 -r 49b5e81287e2 a
1124 --- /dev/null
1124 --- /dev/null
1125 +++ b/a
1125 +++ b/a
1126 @@ -0,0 +1,1 @@
1126 @@ -0,0 +1,1 @@
1127 +0
1127 +0
1128
1128
1129
1129
1130 fctx.introrev() == 2, but fctx.linkrev() == 1
1130 fctx.introrev() == 2, but fctx.linkrev() == 1
1131
1131
1132 $ hg up -q 2
1132 $ hg up -q 2
1133 $ hg log -pf a
1133 $ hg log -pf a
1134 === 2: a1 with b
1134 === 2: a1 with b
1135 diff -r 49b5e81287e2 -r 4ea02ba94d66 a
1135 diff -r 49b5e81287e2 -r 4ea02ba94d66 a
1136 --- a/a
1136 --- a/a
1137 +++ b/a
1137 +++ b/a
1138 @@ -1,1 +1,2 @@
1138 @@ -1,1 +1,2 @@
1139 0
1139 0
1140 +1
1140 +1
1141
1141
1142 === 0: a0
1142 === 0: a0
1143 diff -r 000000000000 -r 49b5e81287e2 a
1143 diff -r 000000000000 -r 49b5e81287e2 a
1144 --- /dev/null
1144 --- /dev/null
1145 +++ b/a
1145 +++ b/a
1146 @@ -0,0 +1,1 @@
1146 @@ -0,0 +1,1 @@
1147 +0
1147 +0
1148
1148
1149
1149
1150 $ cd ..
1150 $ cd ..
1151
1151
1152 Multiple copy sources of a file:
1152 Multiple copy sources of a file:
1153
1153
1154 $ hg init follow-multi
1154 $ hg init follow-multi
1155 $ cd follow-multi
1155 $ cd follow-multi
1156 $ echo 0 >> a
1156 $ echo 0 >> a
1157 $ hg ci -qAm 'a'
1157 $ hg ci -qAm 'a'
1158 $ hg cp a b
1158 $ hg cp a b
1159 $ hg ci -m 'a->b'
1159 $ hg ci -m 'a->b'
1160 $ echo 2 >> a
1160 $ echo 2 >> a
1161 $ hg ci -m 'a'
1161 $ hg ci -m 'a'
1162 $ echo 3 >> b
1162 $ echo 3 >> b
1163 $ hg ci -m 'b'
1163 $ hg ci -m 'b'
1164 $ echo 4 >> a
1164 $ echo 4 >> a
1165 $ echo 4 >> b
1165 $ echo 4 >> b
1166 $ hg ci -m 'a,b'
1166 $ hg ci -m 'a,b'
1167 $ echo 5 >> a
1167 $ echo 5 >> a
1168 $ hg ci -m 'a0'
1168 $ hg ci -m 'a0'
1169 $ echo 6 >> b
1169 $ echo 6 >> b
1170 $ hg ci -m 'b0'
1170 $ hg ci -m 'b0'
1171 $ hg up -q 4
1171 $ hg up -q 4
1172 $ echo 7 >> b
1172 $ echo 7 >> b
1173 $ hg ci -m 'b1'
1173 $ hg ci -m 'b1'
1174 created new head
1174 created new head
1175 $ echo 8 >> a
1175 $ echo 8 >> a
1176 $ hg ci -m 'a1'
1176 $ hg ci -m 'a1'
1177 $ hg rm a
1177 $ hg rm a
1178 $ hg mv b a
1178 $ hg mv b a
1179 $ hg ci -m 'b1->a1'
1179 $ hg ci -m 'b1->a1'
1180 $ hg merge -qt :local
1180 $ hg merge -qt :local
1181 $ hg ci -m '(a0,b1->a1)->a'
1181 $ hg ci -m '(a0,b1->a1)->a'
1182
1182
1183 $ hg log -GT '{rev}: {desc}\n'
1183 $ hg log -GT '{rev}: {desc}\n'
1184 @ 10: (a0,b1->a1)->a
1184 @ 10: (a0,b1->a1)->a
1185 |\
1185 |\
1186 | o 9: b1->a1
1186 | o 9: b1->a1
1187 | |
1187 | |
1188 | o 8: a1
1188 | o 8: a1
1189 | |
1189 | |
1190 | o 7: b1
1190 | o 7: b1
1191 | |
1191 | |
1192 o | 6: b0
1192 o | 6: b0
1193 | |
1193 | |
1194 o | 5: a0
1194 o | 5: a0
1195 |/
1195 |/
1196 o 4: a,b
1196 o 4: a,b
1197 |
1197 |
1198 o 3: b
1198 o 3: b
1199 |
1199 |
1200 o 2: a
1200 o 2: a
1201 |
1201 |
1202 o 1: a->b
1202 o 1: a->b
1203 |
1203 |
1204 o 0: a
1204 o 0: a
1205
1205
1206
1206
1207 since file 'a' has multiple copy sources at the revision 4, ancestors can't
1207 since file 'a' has multiple copy sources at the revision 4, ancestors can't
1208 be indexed solely by fctx.linkrev().
1208 be indexed solely by fctx.linkrev().
1209
1209
1210 $ hg log -T '{rev}: {desc}\n' -f a
1210 $ hg log -T '{rev}: {desc}\n' -f a
1211 10: (a0,b1->a1)->a
1211 10: (a0,b1->a1)->a
1212 9: b1->a1
1212 9: b1->a1
1213 7: b1
1213 7: b1
1214 5: a0
1214 5: a0
1215 4: a,b
1215 4: a,b
1216 3: b
1216 3: b
1217 2: a
1217 2: a
1218 1: a->b
1218 1: a->b
1219 0: a
1219 0: a
1220
1220
1221 $ cd ..
1221 $ cd ..
1222
1222
1223 Test that log should respect the order of -rREV even if multiple OR conditions
1223 Test that log should respect the order of -rREV even if multiple OR conditions
1224 are specified (issue5100):
1224 are specified (issue5100):
1225
1225
1226 $ hg init revorder
1226 $ hg init revorder
1227 $ cd revorder
1227 $ cd revorder
1228
1228
1229 $ hg branch -q b0
1229 $ hg branch -q b0
1230 $ echo 0 >> f0
1230 $ echo 0 >> f0
1231 $ hg ci -qAm k0 -u u0
1231 $ hg ci -qAm k0 -u u0
1232 $ hg branch -q b1
1232 $ hg branch -q b1
1233 $ echo 1 >> f1
1233 $ echo 1 >> f1
1234 $ hg ci -qAm k1 -u u1
1234 $ hg ci -qAm k1 -u u1
1235 $ hg branch -q b2
1235 $ hg branch -q b2
1236 $ echo 2 >> f2
1236 $ echo 2 >> f2
1237 $ hg ci -qAm k2 -u u2
1237 $ hg ci -qAm k2 -u u2
1238
1238
1239 $ hg update -q b2
1239 $ hg update -q b2
1240 $ echo 3 >> f2
1240 $ echo 3 >> f2
1241 $ hg ci -qAm k2 -u u2
1241 $ hg ci -qAm k2 -u u2
1242 $ hg update -q b1
1242 $ hg update -q b1
1243 $ echo 4 >> f1
1243 $ echo 4 >> f1
1244 $ hg ci -qAm k1 -u u1
1244 $ hg ci -qAm k1 -u u1
1245 $ hg update -q b0
1245 $ hg update -q b0
1246 $ echo 5 >> f0
1246 $ echo 5 >> f0
1247 $ hg ci -qAm k0 -u u0
1247 $ hg ci -qAm k0 -u u0
1248
1248
1249 summary of revisions:
1249 summary of revisions:
1250
1250
1251 $ hg log -G -T '{rev} {branch} {author} {desc} {files}\n'
1251 $ hg log -G -T '{rev} {branch} {author} {desc} {files}\n'
1252 @ 5 b0 u0 k0 f0
1252 @ 5 b0 u0 k0 f0
1253 |
1253 |
1254 | o 4 b1 u1 k1 f1
1254 | o 4 b1 u1 k1 f1
1255 | |
1255 | |
1256 | | o 3 b2 u2 k2 f2
1256 | | o 3 b2 u2 k2 f2
1257 | | |
1257 | | |
1258 | | o 2 b2 u2 k2 f2
1258 | | o 2 b2 u2 k2 f2
1259 | |/
1259 | |/
1260 | o 1 b1 u1 k1 f1
1260 | o 1 b1 u1 k1 f1
1261 |/
1261 |/
1262 o 0 b0 u0 k0 f0
1262 o 0 b0 u0 k0 f0
1263
1263
1264
1264
1265 log -b BRANCH in ascending order:
1265 log -b BRANCH in ascending order:
1266
1266
1267 $ hg log -r0:tip -T '{rev} {branch}\n' -b b0 -b b1
1267 $ hg log -r0:tip -T '{rev} {branch}\n' -b b0 -b b1
1268 0 b0
1268 0 b0
1269 1 b1
1269 1 b1
1270 4 b1
1270 4 b1
1271 5 b0
1271 5 b0
1272 $ hg log -r0:tip -T '{rev} {branch}\n' -b b1 -b b0
1272 $ hg log -r0:tip -T '{rev} {branch}\n' -b b1 -b b0
1273 0 b0
1273 0 b0
1274 1 b1
1274 1 b1
1275 4 b1
1275 4 b1
1276 5 b0
1276 5 b0
1277
1277
1278 log --only-branch BRANCH in descending order:
1278 log --only-branch BRANCH in descending order:
1279
1279
1280 $ hg log -rtip:0 -T '{rev} {branch}\n' --only-branch b1 --only-branch b2
1280 $ hg log -rtip:0 -T '{rev} {branch}\n' --only-branch b1 --only-branch b2
1281 4 b1
1281 4 b1
1282 3 b2
1282 3 b2
1283 2 b2
1283 2 b2
1284 1 b1
1284 1 b1
1285 $ hg log -rtip:0 -T '{rev} {branch}\n' --only-branch b2 --only-branch b1
1285 $ hg log -rtip:0 -T '{rev} {branch}\n' --only-branch b2 --only-branch b1
1286 4 b1
1286 4 b1
1287 3 b2
1287 3 b2
1288 2 b2
1288 2 b2
1289 1 b1
1289 1 b1
1290
1290
1291 log -u USER in ascending order, against compound set:
1291 log -u USER in ascending order, against compound set:
1292
1292
1293 $ hg log -r'::head()' -T '{rev} {author}\n' -u u0 -u u2
1293 $ hg log -r'::head()' -T '{rev} {author}\n' -u u0 -u u2
1294 0 u0
1294 0 u0
1295 2 u2
1295 2 u2
1296 3 u2
1296 3 u2
1297 5 u0
1297 5 u0
1298 $ hg log -r'::head()' -T '{rev} {author}\n' -u u2 -u u0
1298 $ hg log -r'::head()' -T '{rev} {author}\n' -u u2 -u u0
1299 0 u0
1299 0 u0
1300 2 u2
1300 2 u2
1301 3 u2
1301 3 u2
1302 5 u0
1302 5 u0
1303
1303
1304 log -k TEXT in descending order, against compound set:
1304 log -k TEXT in descending order, against compound set:
1305
1305
1306 $ hg log -r'5 + reverse(::3)' -T '{rev} {desc}\n' -k k0 -k k1 -k k2
1306 $ hg log -r'5 + reverse(::3)' -T '{rev} {desc}\n' -k k0 -k k1 -k k2
1307 5 k0
1307 5 k0
1308 3 k2
1308 3 k2
1309 2 k2
1309 2 k2
1310 1 k1
1310 1 k1
1311 0 k0
1311 0 k0
1312 $ hg log -r'5 + reverse(::3)' -T '{rev} {desc}\n' -k k2 -k k1 -k k0
1312 $ hg log -r'5 + reverse(::3)' -T '{rev} {desc}\n' -k k2 -k k1 -k k0
1313 5 k0
1313 5 k0
1314 3 k2
1314 3 k2
1315 2 k2
1315 2 k2
1316 1 k1
1316 1 k1
1317 0 k0
1317 0 k0
1318
1318
1319 log FILE in ascending order, against dagrange:
1319 log FILE in ascending order, against dagrange:
1320
1320
1321 $ hg log -r1:: -T '{rev} {files}\n' f1 f2
1321 $ hg log -r1:: -T '{rev} {files}\n' f1 f2
1322 1 f1
1322 1 f1
1323 2 f2
1323 2 f2
1324 3 f2
1324 3 f2
1325 4 f1
1325 4 f1
1326 $ hg log -r1:: -T '{rev} {files}\n' f2 f1
1326 $ hg log -r1:: -T '{rev} {files}\n' f2 f1
1327 1 f1
1327 1 f1
1328 2 f2
1328 2 f2
1329 3 f2
1329 3 f2
1330 4 f1
1330 4 f1
1331
1331
1332 $ cd ..
1332 $ cd ..
1333
1333
1334 User
1334 User
1335
1335
1336 $ hg init usertest
1336 $ hg init usertest
1337 $ cd usertest
1337 $ cd usertest
1338
1338
1339 $ echo a > a
1339 $ echo a > a
1340 $ hg ci -A -m "a" -u "User One <user1@example.org>"
1340 $ hg ci -A -m "a" -u "User One <user1@example.org>"
1341 adding a
1341 adding a
1342 $ echo b > b
1342 $ echo b > b
1343 $ hg ci -A -m "b" -u "User Two <user2@example.org>"
1343 $ hg ci -A -m "b" -u "User Two <user2@example.org>"
1344 adding b
1344 adding b
1345
1345
1346 $ hg log -u "User One <user1@example.org>"
1346 $ hg log -u "User One <user1@example.org>"
1347 changeset: 0:29a4c94f1924
1347 changeset: 0:29a4c94f1924
1348 user: User One <user1@example.org>
1348 user: User One <user1@example.org>
1349 date: Thu Jan 01 00:00:00 1970 +0000
1349 date: Thu Jan 01 00:00:00 1970 +0000
1350 summary: a
1350 summary: a
1351
1351
1352 $ hg log -u "user1" -u "user2"
1352 $ hg log -u "user1" -u "user2"
1353 changeset: 1:e834b5e69c0e
1353 changeset: 1:e834b5e69c0e
1354 tag: tip
1354 tag: tip
1355 user: User Two <user2@example.org>
1355 user: User Two <user2@example.org>
1356 date: Thu Jan 01 00:00:00 1970 +0000
1356 date: Thu Jan 01 00:00:00 1970 +0000
1357 summary: b
1357 summary: b
1358
1358
1359 changeset: 0:29a4c94f1924
1359 changeset: 0:29a4c94f1924
1360 user: User One <user1@example.org>
1360 user: User One <user1@example.org>
1361 date: Thu Jan 01 00:00:00 1970 +0000
1361 date: Thu Jan 01 00:00:00 1970 +0000
1362 summary: a
1362 summary: a
1363
1363
1364 $ hg log -u "user3"
1364 $ hg log -u "user3"
1365
1365
1366 "-u USER" shouldn't be overridden by "user(USER)" alias
1366 "-u USER" shouldn't be overridden by "user(USER)" alias
1367
1367
1368 $ hg log --config 'revsetalias.user(x)=branch(x)' -u default
1368 $ hg log --config 'revsetalias.user(x)=branch(x)' -u default
1369 $ hg log --config 'revsetalias.user(x)=branch(x)' -u user1
1369 $ hg log --config 'revsetalias.user(x)=branch(x)' -u user1
1370 changeset: 0:29a4c94f1924
1370 changeset: 0:29a4c94f1924
1371 user: User One <user1@example.org>
1371 user: User One <user1@example.org>
1372 date: Thu Jan 01 00:00:00 1970 +0000
1372 date: Thu Jan 01 00:00:00 1970 +0000
1373 summary: a
1373 summary: a
1374
1374
1375
1375
1376 $ cd ..
1376 $ cd ..
1377
1377
1378 $ hg init branches
1378 $ hg init branches
1379 $ cd branches
1379 $ cd branches
1380
1380
1381 $ echo a > a
1381 $ echo a > a
1382 $ hg ci -A -m "commit on default"
1382 $ hg ci -A -m "commit on default"
1383 adding a
1383 adding a
1384 $ hg branch test
1384 $ hg branch test
1385 marked working directory as branch test
1385 marked working directory as branch test
1386 (branches are permanent and global, did you want a bookmark?)
1386 (branches are permanent and global, did you want a bookmark?)
1387 $ echo b > b
1387 $ echo b > b
1388 $ hg ci -A -m "commit on test"
1388 $ hg ci -A -m "commit on test"
1389 adding b
1389 adding b
1390
1390
1391 $ hg up default
1391 $ hg up default
1392 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1392 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1393 $ echo c > c
1393 $ echo c > c
1394 $ hg ci -A -m "commit on default"
1394 $ hg ci -A -m "commit on default"
1395 adding c
1395 adding c
1396 $ hg up test
1396 $ hg up test
1397 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1397 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1398 $ echo c > c
1398 $ echo c > c
1399 $ hg ci -A -m "commit on test"
1399 $ hg ci -A -m "commit on test"
1400 adding c
1400 adding c
1401
1401
1402
1402
1403 log -b default
1403 log -b default
1404
1404
1405 $ hg log -b default
1405 $ hg log -b default
1406 changeset: 2:c3a4f03cc9a7
1406 changeset: 2:c3a4f03cc9a7
1407 parent: 0:24427303d56f
1407 parent: 0:24427303d56f
1408 user: test
1408 user: test
1409 date: Thu Jan 01 00:00:00 1970 +0000
1409 date: Thu Jan 01 00:00:00 1970 +0000
1410 summary: commit on default
1410 summary: commit on default
1411
1411
1412 changeset: 0:24427303d56f
1412 changeset: 0:24427303d56f
1413 user: test
1413 user: test
1414 date: Thu Jan 01 00:00:00 1970 +0000
1414 date: Thu Jan 01 00:00:00 1970 +0000
1415 summary: commit on default
1415 summary: commit on default
1416
1416
1417
1417
1418
1418
1419 log -b test
1419 log -b test
1420
1420
1421 $ hg log -b test
1421 $ hg log -b test
1422 changeset: 3:f5d8de11c2e2
1422 changeset: 3:f5d8de11c2e2
1423 branch: test
1423 branch: test
1424 tag: tip
1424 tag: tip
1425 parent: 1:d32277701ccb
1425 parent: 1:d32277701ccb
1426 user: test
1426 user: test
1427 date: Thu Jan 01 00:00:00 1970 +0000
1427 date: Thu Jan 01 00:00:00 1970 +0000
1428 summary: commit on test
1428 summary: commit on test
1429
1429
1430 changeset: 1:d32277701ccb
1430 changeset: 1:d32277701ccb
1431 branch: test
1431 branch: test
1432 user: test
1432 user: test
1433 date: Thu Jan 01 00:00:00 1970 +0000
1433 date: Thu Jan 01 00:00:00 1970 +0000
1434 summary: commit on test
1434 summary: commit on test
1435
1435
1436
1436
1437
1437
1438 log -b dummy
1438 log -b dummy
1439
1439
1440 $ hg log -b dummy
1440 $ hg log -b dummy
1441 abort: unknown revision 'dummy'!
1441 abort: unknown revision 'dummy'!
1442 [255]
1442 [255]
1443
1443
1444
1444
1445 log -b .
1445 log -b .
1446
1446
1447 $ hg log -b .
1447 $ hg log -b .
1448 changeset: 3:f5d8de11c2e2
1448 changeset: 3:f5d8de11c2e2
1449 branch: test
1449 branch: test
1450 tag: tip
1450 tag: tip
1451 parent: 1:d32277701ccb
1451 parent: 1:d32277701ccb
1452 user: test
1452 user: test
1453 date: Thu Jan 01 00:00:00 1970 +0000
1453 date: Thu Jan 01 00:00:00 1970 +0000
1454 summary: commit on test
1454 summary: commit on test
1455
1455
1456 changeset: 1:d32277701ccb
1456 changeset: 1:d32277701ccb
1457 branch: test
1457 branch: test
1458 user: test
1458 user: test
1459 date: Thu Jan 01 00:00:00 1970 +0000
1459 date: Thu Jan 01 00:00:00 1970 +0000
1460 summary: commit on test
1460 summary: commit on test
1461
1461
1462
1462
1463
1463
1464 log -b default -b test
1464 log -b default -b test
1465
1465
1466 $ hg log -b default -b test
1466 $ hg log -b default -b test
1467 changeset: 3:f5d8de11c2e2
1467 changeset: 3:f5d8de11c2e2
1468 branch: test
1468 branch: test
1469 tag: tip
1469 tag: tip
1470 parent: 1:d32277701ccb
1470 parent: 1:d32277701ccb
1471 user: test
1471 user: test
1472 date: Thu Jan 01 00:00:00 1970 +0000
1472 date: Thu Jan 01 00:00:00 1970 +0000
1473 summary: commit on test
1473 summary: commit on test
1474
1474
1475 changeset: 2:c3a4f03cc9a7
1475 changeset: 2:c3a4f03cc9a7
1476 parent: 0:24427303d56f
1476 parent: 0:24427303d56f
1477 user: test
1477 user: test
1478 date: Thu Jan 01 00:00:00 1970 +0000
1478 date: Thu Jan 01 00:00:00 1970 +0000
1479 summary: commit on default
1479 summary: commit on default
1480
1480
1481 changeset: 1:d32277701ccb
1481 changeset: 1:d32277701ccb
1482 branch: test
1482 branch: test
1483 user: test
1483 user: test
1484 date: Thu Jan 01 00:00:00 1970 +0000
1484 date: Thu Jan 01 00:00:00 1970 +0000
1485 summary: commit on test
1485 summary: commit on test
1486
1486
1487 changeset: 0:24427303d56f
1487 changeset: 0:24427303d56f
1488 user: test
1488 user: test
1489 date: Thu Jan 01 00:00:00 1970 +0000
1489 date: Thu Jan 01 00:00:00 1970 +0000
1490 summary: commit on default
1490 summary: commit on default
1491
1491
1492
1492
1493
1493
1494 log -b default -b .
1494 log -b default -b .
1495
1495
1496 $ hg log -b default -b .
1496 $ hg log -b default -b .
1497 changeset: 3:f5d8de11c2e2
1497 changeset: 3:f5d8de11c2e2
1498 branch: test
1498 branch: test
1499 tag: tip
1499 tag: tip
1500 parent: 1:d32277701ccb
1500 parent: 1:d32277701ccb
1501 user: test
1501 user: test
1502 date: Thu Jan 01 00:00:00 1970 +0000
1502 date: Thu Jan 01 00:00:00 1970 +0000
1503 summary: commit on test
1503 summary: commit on test
1504
1504
1505 changeset: 2:c3a4f03cc9a7
1505 changeset: 2:c3a4f03cc9a7
1506 parent: 0:24427303d56f
1506 parent: 0:24427303d56f
1507 user: test
1507 user: test
1508 date: Thu Jan 01 00:00:00 1970 +0000
1508 date: Thu Jan 01 00:00:00 1970 +0000
1509 summary: commit on default
1509 summary: commit on default
1510
1510
1511 changeset: 1:d32277701ccb
1511 changeset: 1:d32277701ccb
1512 branch: test
1512 branch: test
1513 user: test
1513 user: test
1514 date: Thu Jan 01 00:00:00 1970 +0000
1514 date: Thu Jan 01 00:00:00 1970 +0000
1515 summary: commit on test
1515 summary: commit on test
1516
1516
1517 changeset: 0:24427303d56f
1517 changeset: 0:24427303d56f
1518 user: test
1518 user: test
1519 date: Thu Jan 01 00:00:00 1970 +0000
1519 date: Thu Jan 01 00:00:00 1970 +0000
1520 summary: commit on default
1520 summary: commit on default
1521
1521
1522
1522
1523
1523
1524 log -b . -b test
1524 log -b . -b test
1525
1525
1526 $ hg log -b . -b test
1526 $ hg log -b . -b test
1527 changeset: 3:f5d8de11c2e2
1527 changeset: 3:f5d8de11c2e2
1528 branch: test
1528 branch: test
1529 tag: tip
1529 tag: tip
1530 parent: 1:d32277701ccb
1530 parent: 1:d32277701ccb
1531 user: test
1531 user: test
1532 date: Thu Jan 01 00:00:00 1970 +0000
1532 date: Thu Jan 01 00:00:00 1970 +0000
1533 summary: commit on test
1533 summary: commit on test
1534
1534
1535 changeset: 1:d32277701ccb
1535 changeset: 1:d32277701ccb
1536 branch: test
1536 branch: test
1537 user: test
1537 user: test
1538 date: Thu Jan 01 00:00:00 1970 +0000
1538 date: Thu Jan 01 00:00:00 1970 +0000
1539 summary: commit on test
1539 summary: commit on test
1540
1540
1541
1541
1542
1542
1543 log -b 2
1543 log -b 2
1544
1544
1545 $ hg log -b 2
1545 $ hg log -b 2
1546 changeset: 2:c3a4f03cc9a7
1546 changeset: 2:c3a4f03cc9a7
1547 parent: 0:24427303d56f
1547 parent: 0:24427303d56f
1548 user: test
1548 user: test
1549 date: Thu Jan 01 00:00:00 1970 +0000
1549 date: Thu Jan 01 00:00:00 1970 +0000
1550 summary: commit on default
1550 summary: commit on default
1551
1551
1552 changeset: 0:24427303d56f
1552 changeset: 0:24427303d56f
1553 user: test
1553 user: test
1554 date: Thu Jan 01 00:00:00 1970 +0000
1554 date: Thu Jan 01 00:00:00 1970 +0000
1555 summary: commit on default
1555 summary: commit on default
1556
1556
1557 #if gettext
1557 #if gettext
1558
1558
1559 Test that all log names are translated (e.g. branches, bookmarks, tags):
1559 Test that all log names are translated (e.g. branches, bookmarks, tags):
1560
1560
1561 $ hg bookmark babar -r tip
1561 $ hg bookmark babar -r tip
1562
1562
1563 $ HGENCODING=UTF-8 LANGUAGE=de hg log -r tip
1563 $ HGENCODING=UTF-8 LANGUAGE=de hg log -r tip
1564 \xc3\x84nderung: 3:f5d8de11c2e2 (esc)
1564 \xc3\x84nderung: 3:f5d8de11c2e2 (esc)
1565 Zweig: test
1565 Zweig: test
1566 Lesezeichen: babar
1566 Lesezeichen: babar
1567 Marke: tip
1567 Marke: tip
1568 Vorg\xc3\xa4nger: 1:d32277701ccb (esc)
1568 Vorg\xc3\xa4nger: 1:d32277701ccb (esc)
1569 Nutzer: test
1569 Nutzer: test
1570 Datum: Thu Jan 01 00:00:00 1970 +0000
1570 Datum: Thu Jan 01 00:00:00 1970 +0000
1571 Zusammenfassung: commit on test
1571 Zusammenfassung: commit on test
1572
1572
1573 $ hg bookmark -d babar
1573 $ hg bookmark -d babar
1574
1574
1575 #endif
1575 #endif
1576
1576
1577 log -p --cwd dir (in subdir)
1577 log -p --cwd dir (in subdir)
1578
1578
1579 $ mkdir dir
1579 $ mkdir dir
1580 $ hg log -p --cwd dir
1580 $ hg log -p --cwd dir
1581 changeset: 3:f5d8de11c2e2
1581 changeset: 3:f5d8de11c2e2
1582 branch: test
1582 branch: test
1583 tag: tip
1583 tag: tip
1584 parent: 1:d32277701ccb
1584 parent: 1:d32277701ccb
1585 user: test
1585 user: test
1586 date: Thu Jan 01 00:00:00 1970 +0000
1586 date: Thu Jan 01 00:00:00 1970 +0000
1587 summary: commit on test
1587 summary: commit on test
1588
1588
1589 diff -r d32277701ccb -r f5d8de11c2e2 c
1589 diff -r d32277701ccb -r f5d8de11c2e2 c
1590 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1590 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1591 +++ b/c Thu Jan 01 00:00:00 1970 +0000
1591 +++ b/c Thu Jan 01 00:00:00 1970 +0000
1592 @@ -0,0 +1,1 @@
1592 @@ -0,0 +1,1 @@
1593 +c
1593 +c
1594
1594
1595 changeset: 2:c3a4f03cc9a7
1595 changeset: 2:c3a4f03cc9a7
1596 parent: 0:24427303d56f
1596 parent: 0:24427303d56f
1597 user: test
1597 user: test
1598 date: Thu Jan 01 00:00:00 1970 +0000
1598 date: Thu Jan 01 00:00:00 1970 +0000
1599 summary: commit on default
1599 summary: commit on default
1600
1600
1601 diff -r 24427303d56f -r c3a4f03cc9a7 c
1601 diff -r 24427303d56f -r c3a4f03cc9a7 c
1602 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1602 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1603 +++ b/c Thu Jan 01 00:00:00 1970 +0000
1603 +++ b/c Thu Jan 01 00:00:00 1970 +0000
1604 @@ -0,0 +1,1 @@
1604 @@ -0,0 +1,1 @@
1605 +c
1605 +c
1606
1606
1607 changeset: 1:d32277701ccb
1607 changeset: 1:d32277701ccb
1608 branch: test
1608 branch: test
1609 user: test
1609 user: test
1610 date: Thu Jan 01 00:00:00 1970 +0000
1610 date: Thu Jan 01 00:00:00 1970 +0000
1611 summary: commit on test
1611 summary: commit on test
1612
1612
1613 diff -r 24427303d56f -r d32277701ccb b
1613 diff -r 24427303d56f -r d32277701ccb b
1614 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1614 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1615 +++ b/b Thu Jan 01 00:00:00 1970 +0000
1615 +++ b/b Thu Jan 01 00:00:00 1970 +0000
1616 @@ -0,0 +1,1 @@
1616 @@ -0,0 +1,1 @@
1617 +b
1617 +b
1618
1618
1619 changeset: 0:24427303d56f
1619 changeset: 0:24427303d56f
1620 user: test
1620 user: test
1621 date: Thu Jan 01 00:00:00 1970 +0000
1621 date: Thu Jan 01 00:00:00 1970 +0000
1622 summary: commit on default
1622 summary: commit on default
1623
1623
1624 diff -r 000000000000 -r 24427303d56f a
1624 diff -r 000000000000 -r 24427303d56f a
1625 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1625 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1626 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1626 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1627 @@ -0,0 +1,1 @@
1627 @@ -0,0 +1,1 @@
1628 +a
1628 +a
1629
1629
1630
1630
1631
1631
1632 log -p -R repo
1632 log -p -R repo
1633
1633
1634 $ cd dir
1634 $ cd dir
1635 $ hg log -p -R .. ../a
1635 $ hg log -p -R .. ../a
1636 changeset: 0:24427303d56f
1636 changeset: 0:24427303d56f
1637 user: test
1637 user: test
1638 date: Thu Jan 01 00:00:00 1970 +0000
1638 date: Thu Jan 01 00:00:00 1970 +0000
1639 summary: commit on default
1639 summary: commit on default
1640
1640
1641 diff -r 000000000000 -r 24427303d56f a
1641 diff -r 000000000000 -r 24427303d56f a
1642 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1642 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1643 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1643 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1644 @@ -0,0 +1,1 @@
1644 @@ -0,0 +1,1 @@
1645 +a
1645 +a
1646
1646
1647
1647
1648 $ cd ../..
1648 $ cd ../..
1649
1649
1650 $ hg init follow2
1650 $ hg init follow2
1651 $ cd follow2
1651 $ cd follow2
1652
1652
1653 # Build the following history:
1653 # Build the following history:
1654 # tip - o - x - o - x - x
1654 # tip - o - x - o - x - x
1655 # \ /
1655 # \ /
1656 # o - o - o - x
1656 # o - o - o - x
1657 # \ /
1657 # \ /
1658 # o
1658 # o
1659 #
1659 #
1660 # Where "o" is a revision containing "foo" and
1660 # Where "o" is a revision containing "foo" and
1661 # "x" is a revision without "foo"
1661 # "x" is a revision without "foo"
1662
1662
1663 $ touch init
1663 $ touch init
1664 $ hg ci -A -m "init, unrelated"
1664 $ hg ci -A -m "init, unrelated"
1665 adding init
1665 adding init
1666 $ echo 'foo' > init
1666 $ echo 'foo' > init
1667 $ hg ci -m "change, unrelated"
1667 $ hg ci -m "change, unrelated"
1668 $ echo 'foo' > foo
1668 $ echo 'foo' > foo
1669 $ hg ci -A -m "add unrelated old foo"
1669 $ hg ci -A -m "add unrelated old foo"
1670 adding foo
1670 adding foo
1671 $ hg rm foo
1671 $ hg rm foo
1672 $ hg ci -m "delete foo, unrelated"
1672 $ hg ci -m "delete foo, unrelated"
1673 $ echo 'related' > foo
1673 $ echo 'related' > foo
1674 $ hg ci -A -m "add foo, related"
1674 $ hg ci -A -m "add foo, related"
1675 adding foo
1675 adding foo
1676
1676
1677 $ hg up 0
1677 $ hg up 0
1678 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1678 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1679 $ touch branch
1679 $ touch branch
1680 $ hg ci -A -m "first branch, unrelated"
1680 $ hg ci -A -m "first branch, unrelated"
1681 adding branch
1681 adding branch
1682 created new head
1682 created new head
1683 $ touch foo
1683 $ touch foo
1684 $ hg ci -A -m "create foo, related"
1684 $ hg ci -A -m "create foo, related"
1685 adding foo
1685 adding foo
1686 $ echo 'change' > foo
1686 $ echo 'change' > foo
1687 $ hg ci -m "change foo, related"
1687 $ hg ci -m "change foo, related"
1688
1688
1689 $ hg up 6
1689 $ hg up 6
1690 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1690 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1691 $ echo 'change foo in branch' > foo
1691 $ echo 'change foo in branch' > foo
1692 $ hg ci -m "change foo in branch, related"
1692 $ hg ci -m "change foo in branch, related"
1693 created new head
1693 created new head
1694 $ hg merge 7
1694 $ hg merge 7
1695 merging foo
1695 merging foo
1696 warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
1696 warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
1697 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
1697 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
1698 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
1698 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
1699 [1]
1699 [1]
1700 $ echo 'merge 1' > foo
1700 $ echo 'merge 1' > foo
1701 $ hg resolve -m foo
1701 $ hg resolve -m foo
1702 (no more unresolved files)
1702 (no more unresolved files)
1703 $ hg ci -m "First merge, related"
1703 $ hg ci -m "First merge, related"
1704
1704
1705 $ hg merge 4
1705 $ hg merge 4
1706 merging foo
1706 merging foo
1707 warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
1707 warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
1708 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
1708 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
1709 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
1709 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
1710 [1]
1710 [1]
1711 $ echo 'merge 2' > foo
1711 $ echo 'merge 2' > foo
1712 $ hg resolve -m foo
1712 $ hg resolve -m foo
1713 (no more unresolved files)
1713 (no more unresolved files)
1714 $ hg ci -m "Last merge, related"
1714 $ hg ci -m "Last merge, related"
1715
1715
1716 $ hg log --graph
1716 $ hg log --graph
1717 @ changeset: 10:4dae8563d2c5
1717 @ changeset: 10:4dae8563d2c5
1718 |\ tag: tip
1718 |\ tag: tip
1719 | | parent: 9:7b35701b003e
1719 | | parent: 9:7b35701b003e
1720 | | parent: 4:88176d361b69
1720 | | parent: 4:88176d361b69
1721 | | user: test
1721 | | user: test
1722 | | date: Thu Jan 01 00:00:00 1970 +0000
1722 | | date: Thu Jan 01 00:00:00 1970 +0000
1723 | | summary: Last merge, related
1723 | | summary: Last merge, related
1724 | |
1724 | |
1725 | o changeset: 9:7b35701b003e
1725 | o changeset: 9:7b35701b003e
1726 | |\ parent: 8:e5416ad8a855
1726 | |\ parent: 8:e5416ad8a855
1727 | | | parent: 7:87fe3144dcfa
1727 | | | parent: 7:87fe3144dcfa
1728 | | | user: test
1728 | | | user: test
1729 | | | date: Thu Jan 01 00:00:00 1970 +0000
1729 | | | date: Thu Jan 01 00:00:00 1970 +0000
1730 | | | summary: First merge, related
1730 | | | summary: First merge, related
1731 | | |
1731 | | |
1732 | | o changeset: 8:e5416ad8a855
1732 | | o changeset: 8:e5416ad8a855
1733 | | | parent: 6:dc6c325fe5ee
1733 | | | parent: 6:dc6c325fe5ee
1734 | | | user: test
1734 | | | user: test
1735 | | | date: Thu Jan 01 00:00:00 1970 +0000
1735 | | | date: Thu Jan 01 00:00:00 1970 +0000
1736 | | | summary: change foo in branch, related
1736 | | | summary: change foo in branch, related
1737 | | |
1737 | | |
1738 | o | changeset: 7:87fe3144dcfa
1738 | o | changeset: 7:87fe3144dcfa
1739 | |/ user: test
1739 | |/ user: test
1740 | | date: Thu Jan 01 00:00:00 1970 +0000
1740 | | date: Thu Jan 01 00:00:00 1970 +0000
1741 | | summary: change foo, related
1741 | | summary: change foo, related
1742 | |
1742 | |
1743 | o changeset: 6:dc6c325fe5ee
1743 | o changeset: 6:dc6c325fe5ee
1744 | | user: test
1744 | | user: test
1745 | | date: Thu Jan 01 00:00:00 1970 +0000
1745 | | date: Thu Jan 01 00:00:00 1970 +0000
1746 | | summary: create foo, related
1746 | | summary: create foo, related
1747 | |
1747 | |
1748 | o changeset: 5:73db34516eb9
1748 | o changeset: 5:73db34516eb9
1749 | | parent: 0:e87515fd044a
1749 | | parent: 0:e87515fd044a
1750 | | user: test
1750 | | user: test
1751 | | date: Thu Jan 01 00:00:00 1970 +0000
1751 | | date: Thu Jan 01 00:00:00 1970 +0000
1752 | | summary: first branch, unrelated
1752 | | summary: first branch, unrelated
1753 | |
1753 | |
1754 o | changeset: 4:88176d361b69
1754 o | changeset: 4:88176d361b69
1755 | | user: test
1755 | | user: test
1756 | | date: Thu Jan 01 00:00:00 1970 +0000
1756 | | date: Thu Jan 01 00:00:00 1970 +0000
1757 | | summary: add foo, related
1757 | | summary: add foo, related
1758 | |
1758 | |
1759 o | changeset: 3:dd78ae4afb56
1759 o | changeset: 3:dd78ae4afb56
1760 | | user: test
1760 | | user: test
1761 | | date: Thu Jan 01 00:00:00 1970 +0000
1761 | | date: Thu Jan 01 00:00:00 1970 +0000
1762 | | summary: delete foo, unrelated
1762 | | summary: delete foo, unrelated
1763 | |
1763 | |
1764 o | changeset: 2:c4c64aedf0f7
1764 o | changeset: 2:c4c64aedf0f7
1765 | | user: test
1765 | | user: test
1766 | | date: Thu Jan 01 00:00:00 1970 +0000
1766 | | date: Thu Jan 01 00:00:00 1970 +0000
1767 | | summary: add unrelated old foo
1767 | | summary: add unrelated old foo
1768 | |
1768 | |
1769 o | changeset: 1:e5faa7440653
1769 o | changeset: 1:e5faa7440653
1770 |/ user: test
1770 |/ user: test
1771 | date: Thu Jan 01 00:00:00 1970 +0000
1771 | date: Thu Jan 01 00:00:00 1970 +0000
1772 | summary: change, unrelated
1772 | summary: change, unrelated
1773 |
1773 |
1774 o changeset: 0:e87515fd044a
1774 o changeset: 0:e87515fd044a
1775 user: test
1775 user: test
1776 date: Thu Jan 01 00:00:00 1970 +0000
1776 date: Thu Jan 01 00:00:00 1970 +0000
1777 summary: init, unrelated
1777 summary: init, unrelated
1778
1778
1779
1779
1780 $ hg --traceback log -f foo
1780 $ hg --traceback log -f foo
1781 changeset: 10:4dae8563d2c5
1781 changeset: 10:4dae8563d2c5
1782 tag: tip
1782 tag: tip
1783 parent: 9:7b35701b003e
1783 parent: 9:7b35701b003e
1784 parent: 4:88176d361b69
1784 parent: 4:88176d361b69
1785 user: test
1785 user: test
1786 date: Thu Jan 01 00:00:00 1970 +0000
1786 date: Thu Jan 01 00:00:00 1970 +0000
1787 summary: Last merge, related
1787 summary: Last merge, related
1788
1788
1789 changeset: 9:7b35701b003e
1789 changeset: 9:7b35701b003e
1790 parent: 8:e5416ad8a855
1790 parent: 8:e5416ad8a855
1791 parent: 7:87fe3144dcfa
1791 parent: 7:87fe3144dcfa
1792 user: test
1792 user: test
1793 date: Thu Jan 01 00:00:00 1970 +0000
1793 date: Thu Jan 01 00:00:00 1970 +0000
1794 summary: First merge, related
1794 summary: First merge, related
1795
1795
1796 changeset: 8:e5416ad8a855
1796 changeset: 8:e5416ad8a855
1797 parent: 6:dc6c325fe5ee
1797 parent: 6:dc6c325fe5ee
1798 user: test
1798 user: test
1799 date: Thu Jan 01 00:00:00 1970 +0000
1799 date: Thu Jan 01 00:00:00 1970 +0000
1800 summary: change foo in branch, related
1800 summary: change foo in branch, related
1801
1801
1802 changeset: 7:87fe3144dcfa
1802 changeset: 7:87fe3144dcfa
1803 user: test
1803 user: test
1804 date: Thu Jan 01 00:00:00 1970 +0000
1804 date: Thu Jan 01 00:00:00 1970 +0000
1805 summary: change foo, related
1805 summary: change foo, related
1806
1806
1807 changeset: 6:dc6c325fe5ee
1807 changeset: 6:dc6c325fe5ee
1808 user: test
1808 user: test
1809 date: Thu Jan 01 00:00:00 1970 +0000
1809 date: Thu Jan 01 00:00:00 1970 +0000
1810 summary: create foo, related
1810 summary: create foo, related
1811
1811
1812 changeset: 4:88176d361b69
1812 changeset: 4:88176d361b69
1813 user: test
1813 user: test
1814 date: Thu Jan 01 00:00:00 1970 +0000
1814 date: Thu Jan 01 00:00:00 1970 +0000
1815 summary: add foo, related
1815 summary: add foo, related
1816
1816
1817
1817
1818 Also check when maxrev < lastrevfilelog
1818 Also check when maxrev < lastrevfilelog
1819
1819
1820 $ hg --traceback log -f -r4 foo
1820 $ hg --traceback log -f -r4 foo
1821 changeset: 4:88176d361b69
1821 changeset: 4:88176d361b69
1822 user: test
1822 user: test
1823 date: Thu Jan 01 00:00:00 1970 +0000
1823 date: Thu Jan 01 00:00:00 1970 +0000
1824 summary: add foo, related
1824 summary: add foo, related
1825
1825
1826 $ cd ..
1826 $ cd ..
1827
1827
1828 Issue2383: hg log showing _less_ differences than hg diff
1828 Issue2383: hg log showing _less_ differences than hg diff
1829
1829
1830 $ hg init issue2383
1830 $ hg init issue2383
1831 $ cd issue2383
1831 $ cd issue2383
1832
1832
1833 Create a test repo:
1833 Create a test repo:
1834
1834
1835 $ echo a > a
1835 $ echo a > a
1836 $ hg ci -Am0
1836 $ hg ci -Am0
1837 adding a
1837 adding a
1838 $ echo b > b
1838 $ echo b > b
1839 $ hg ci -Am1
1839 $ hg ci -Am1
1840 adding b
1840 adding b
1841 $ hg co 0
1841 $ hg co 0
1842 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1842 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1843 $ echo b > a
1843 $ echo b > a
1844 $ hg ci -m2
1844 $ hg ci -m2
1845 created new head
1845 created new head
1846
1846
1847 Merge:
1847 Merge:
1848
1848
1849 $ hg merge
1849 $ hg merge
1850 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1850 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1851 (branch merge, don't forget to commit)
1851 (branch merge, don't forget to commit)
1852
1852
1853 Make sure there's a file listed in the merge to trigger the bug:
1853 Make sure there's a file listed in the merge to trigger the bug:
1854
1854
1855 $ echo c > a
1855 $ echo c > a
1856 $ hg ci -m3
1856 $ hg ci -m3
1857
1857
1858 Two files shown here in diff:
1858 Two files shown here in diff:
1859
1859
1860 $ hg diff --rev 2:3
1860 $ hg diff --rev 2:3
1861 diff -r b09be438c43a -r 8e07aafe1edc a
1861 diff -r b09be438c43a -r 8e07aafe1edc a
1862 --- a/a Thu Jan 01 00:00:00 1970 +0000
1862 --- a/a Thu Jan 01 00:00:00 1970 +0000
1863 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1863 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1864 @@ -1,1 +1,1 @@
1864 @@ -1,1 +1,1 @@
1865 -b
1865 -b
1866 +c
1866 +c
1867 diff -r b09be438c43a -r 8e07aafe1edc b
1867 diff -r b09be438c43a -r 8e07aafe1edc b
1868 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1868 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1869 +++ b/b Thu Jan 01 00:00:00 1970 +0000
1869 +++ b/b Thu Jan 01 00:00:00 1970 +0000
1870 @@ -0,0 +1,1 @@
1870 @@ -0,0 +1,1 @@
1871 +b
1871 +b
1872
1872
1873 Diff here should be the same:
1873 Diff here should be the same:
1874
1874
1875 $ hg log -vpr 3
1875 $ hg log -vpr 3
1876 changeset: 3:8e07aafe1edc
1876 changeset: 3:8e07aafe1edc
1877 tag: tip
1877 tag: tip
1878 parent: 2:b09be438c43a
1878 parent: 2:b09be438c43a
1879 parent: 1:925d80f479bb
1879 parent: 1:925d80f479bb
1880 user: test
1880 user: test
1881 date: Thu Jan 01 00:00:00 1970 +0000
1881 date: Thu Jan 01 00:00:00 1970 +0000
1882 files: a
1882 files: a
1883 description:
1883 description:
1884 3
1884 3
1885
1885
1886
1886
1887 diff -r b09be438c43a -r 8e07aafe1edc a
1887 diff -r b09be438c43a -r 8e07aafe1edc a
1888 --- a/a Thu Jan 01 00:00:00 1970 +0000
1888 --- a/a Thu Jan 01 00:00:00 1970 +0000
1889 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1889 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1890 @@ -1,1 +1,1 @@
1890 @@ -1,1 +1,1 @@
1891 -b
1891 -b
1892 +c
1892 +c
1893 diff -r b09be438c43a -r 8e07aafe1edc b
1893 diff -r b09be438c43a -r 8e07aafe1edc b
1894 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1894 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1895 +++ b/b Thu Jan 01 00:00:00 1970 +0000
1895 +++ b/b Thu Jan 01 00:00:00 1970 +0000
1896 @@ -0,0 +1,1 @@
1896 @@ -0,0 +1,1 @@
1897 +b
1897 +b
1898
1898
1899 $ cd ..
1899 $ cd ..
1900
1900
1901 'hg log -r rev fn' when last(filelog(fn)) != rev
1901 'hg log -r rev fn' when last(filelog(fn)) != rev
1902
1902
1903 $ hg init simplelog
1903 $ hg init simplelog
1904 $ cd simplelog
1904 $ cd simplelog
1905 $ echo f > a
1905 $ echo f > a
1906 $ hg ci -Am'a' -d '0 0'
1906 $ hg ci -Am'a' -d '0 0'
1907 adding a
1907 adding a
1908 $ echo f >> a
1908 $ echo f >> a
1909 $ hg ci -Am'a bis' -d '1 0'
1909 $ hg ci -Am'a bis' -d '1 0'
1910
1910
1911 $ hg log -r0 a
1911 $ hg log -r0 a
1912 changeset: 0:9f758d63dcde
1912 changeset: 0:9f758d63dcde
1913 user: test
1913 user: test
1914 date: Thu Jan 01 00:00:00 1970 +0000
1914 date: Thu Jan 01 00:00:00 1970 +0000
1915 summary: a
1915 summary: a
1916
1916
1917 enable obsolete to test hidden feature
1917 enable obsolete to test hidden feature
1918
1918
1919 $ cat >> $HGRCPATH << EOF
1919 $ cat >> $HGRCPATH << EOF
1920 > [experimental]
1920 > [experimental]
1921 > evolution.createmarkers=True
1921 > evolution.createmarkers=True
1922 > EOF
1922 > EOF
1923
1923
1924 $ hg log --template='{rev}:{node}\n'
1924 $ hg log --template='{rev}:{node}\n'
1925 1:a765632148dc55d38c35c4f247c618701886cb2f
1925 1:a765632148dc55d38c35c4f247c618701886cb2f
1926 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1926 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1927 $ hg debugobsolete a765632148dc55d38c35c4f247c618701886cb2f
1927 $ hg debugobsolete a765632148dc55d38c35c4f247c618701886cb2f
1928 obsoleted 1 changesets
1928 obsoleted 1 changesets
1929 $ hg up null -q
1929 $ hg up null -q
1930 $ hg log --template='{rev}:{node}\n'
1930 $ hg log --template='{rev}:{node}\n'
1931 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1931 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1932 $ hg log --template='{rev}:{node}\n' --hidden
1932 $ hg log --template='{rev}:{node}\n' --hidden
1933 1:a765632148dc55d38c35c4f247c618701886cb2f
1933 1:a765632148dc55d38c35c4f247c618701886cb2f
1934 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1934 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1935 $ hg log -r a
1935 $ hg log -r a
1936 abort: hidden revision 'a' is pruned!
1936 abort: hidden revision 'a' is pruned!
1937 (use --hidden to access hidden revisions)
1937 (use --hidden to access hidden revisions)
1938 [255]
1938 [255]
1939
1939
1940 test that parent prevent a changeset to be hidden
1940 test that parent prevent a changeset to be hidden
1941
1941
1942 $ hg up 1 -q --hidden
1942 $ hg up 1 -q --hidden
1943 updating to a hidden changeset a765632148dc
1943 updating to a hidden changeset a765632148dc
1944 (hidden revision 'a765632148dc' is pruned)
1944 (hidden revision 'a765632148dc' is pruned)
1945 $ hg log --template='{rev}:{node}\n'
1945 $ hg log --template='{rev}:{node}\n'
1946 1:a765632148dc55d38c35c4f247c618701886cb2f
1946 1:a765632148dc55d38c35c4f247c618701886cb2f
1947 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1947 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1948
1948
1949 test that second parent prevent a changeset to be hidden too
1949 test that second parent prevent a changeset to be hidden too
1950
1950
1951 $ hg debugsetparents 0 1 # nothing suitable to merge here
1951 $ hg debugsetparents 0 1 # nothing suitable to merge here
1952 $ hg log --template='{rev}:{node}\n'
1952 $ hg log --template='{rev}:{node}\n'
1953 1:a765632148dc55d38c35c4f247c618701886cb2f
1953 1:a765632148dc55d38c35c4f247c618701886cb2f
1954 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1954 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1955 $ hg debugsetparents 1
1955 $ hg debugsetparents 1
1956 $ hg up -q null
1956 $ hg up -q null
1957
1957
1958 bookmarks prevent a changeset being hidden
1958 bookmarks prevent a changeset being hidden
1959
1959
1960 $ hg bookmark --hidden -r 1 X
1960 $ hg bookmark --hidden -r 1 X
1961 bookmarking hidden changeset a765632148dc
1961 bookmarking hidden changeset a765632148dc
1962 (hidden revision 'a765632148dc' is pruned)
1962 (hidden revision 'a765632148dc' is pruned)
1963 $ hg log --template '{rev}:{node}\n'
1963 $ hg log --template '{rev}:{node}\n'
1964 1:a765632148dc55d38c35c4f247c618701886cb2f
1964 1:a765632148dc55d38c35c4f247c618701886cb2f
1965 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1965 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1966 $ hg bookmark -d X
1966 $ hg bookmark -d X
1967
1967
1968 divergent bookmarks are not hidden
1968 divergent bookmarks are not hidden
1969
1969
1970 $ hg bookmark --hidden -r 1 X@foo
1970 $ hg bookmark --hidden -r 1 X@foo
1971 bookmarking hidden changeset a765632148dc
1971 bookmarking hidden changeset a765632148dc
1972 (hidden revision 'a765632148dc' is pruned)
1972 (hidden revision 'a765632148dc' is pruned)
1973 $ hg log --template '{rev}:{node}\n'
1973 $ hg log --template '{rev}:{node}\n'
1974 1:a765632148dc55d38c35c4f247c618701886cb2f
1974 1:a765632148dc55d38c35c4f247c618701886cb2f
1975 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1975 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1976
1976
1977 test hidden revision 0 (issue5385)
1977 test hidden revision 0 (issue5385)
1978
1978
1979 $ hg bookmark -d X@foo
1979 $ hg bookmark -d X@foo
1980 $ hg up null -q
1980 $ hg up null -q
1981 $ hg debugobsolete 9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1981 $ hg debugobsolete 9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1982 obsoleted 1 changesets
1982 obsoleted 1 changesets
1983 $ echo f > b
1983 $ echo f > b
1984 $ hg ci -Am'b' -d '2 0'
1984 $ hg ci -Am'b' -d '2 0'
1985 adding b
1985 adding b
1986 $ echo f >> b
1986 $ echo f >> b
1987 $ hg ci -m'b bis' -d '3 0'
1987 $ hg ci -m'b bis' -d '3 0'
1988 $ hg log -T'{rev}:{node}\n'
1988 $ hg log -T'{rev}:{node}\n'
1989 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
1989 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
1990 2:94375ec45bddd2a824535fc04855bd058c926ec0
1990 2:94375ec45bddd2a824535fc04855bd058c926ec0
1991
1991
1992 $ hg log -T'{rev}:{node}\n' -r:
1992 $ hg log -T'{rev}:{node}\n' -r:
1993 2:94375ec45bddd2a824535fc04855bd058c926ec0
1993 2:94375ec45bddd2a824535fc04855bd058c926ec0
1994 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
1994 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
1995 $ hg log -T'{rev}:{node}\n' -r:tip
1995 $ hg log -T'{rev}:{node}\n' -r:tip
1996 2:94375ec45bddd2a824535fc04855bd058c926ec0
1996 2:94375ec45bddd2a824535fc04855bd058c926ec0
1997 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
1997 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
1998 $ hg log -T'{rev}:{node}\n' -r:0
1998 $ hg log -T'{rev}:{node}\n' -r:0
1999 abort: hidden revision '0' is pruned!
1999 abort: hidden revision '0' is pruned!
2000 (use --hidden to access hidden revisions)
2000 (use --hidden to access hidden revisions)
2001 [255]
2001 [255]
2002 $ hg log -T'{rev}:{node}\n' -f
2002 $ hg log -T'{rev}:{node}\n' -f
2003 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
2003 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
2004 2:94375ec45bddd2a824535fc04855bd058c926ec0
2004 2:94375ec45bddd2a824535fc04855bd058c926ec0
2005
2005
2006 clear extensions configuration
2006 clear extensions configuration
2007 $ echo '[extensions]' >> $HGRCPATH
2007 $ echo '[extensions]' >> $HGRCPATH
2008 $ echo "obs=!" >> $HGRCPATH
2008 $ echo "obs=!" >> $HGRCPATH
2009 $ cd ..
2009 $ cd ..
2010
2010
2011 test -u/-k for problematic encoding
2011 test -u/-k for problematic encoding
2012 # unicode: cp932:
2012 # unicode: cp932:
2013 # u30A2 0x83 0x41(= 'A')
2013 # u30A2 0x83 0x41(= 'A')
2014 # u30C2 0x83 0x61(= 'a')
2014 # u30C2 0x83 0x61(= 'a')
2015
2015
2016 $ hg init problematicencoding
2016 $ hg init problematicencoding
2017 $ cd problematicencoding
2017 $ cd problematicencoding
2018
2018
2019 $ $PYTHON > setup.sh <<EOF
2019 >>> with open('setup.sh', 'wb') as f:
2020 > print(u'''
2020 ... f.write(u'''
2021 > echo a > text
2021 ... echo a > text
2022 > hg add text
2022 ... hg add text
2023 > hg --encoding utf-8 commit -u '\u30A2' -m none
2023 ... hg --encoding utf-8 commit -u '\u30A2' -m none
2024 > echo b > text
2024 ... echo b > text
2025 > hg --encoding utf-8 commit -u '\u30C2' -m none
2025 ... hg --encoding utf-8 commit -u '\u30C2' -m none
2026 > echo c > text
2026 ... echo c > text
2027 > hg --encoding utf-8 commit -u none -m '\u30A2'
2027 ... hg --encoding utf-8 commit -u none -m '\u30A2'
2028 > echo d > text
2028 ... echo d > text
2029 > hg --encoding utf-8 commit -u none -m '\u30C2'
2029 ... hg --encoding utf-8 commit -u none -m '\u30C2'
2030 > '''.encode('utf-8'))
2030 ... '''.encode('utf-8')) and None
2031 > EOF
2032 $ sh < setup.sh
2031 $ sh < setup.sh
2033
2032
2034 test in problematic encoding
2033 test in problematic encoding
2035 $ $PYTHON > test.sh <<EOF
2034 >>> with open('test.sh', 'wb') as f:
2036 > print(u'''
2035 ... f.write(u'''
2037 > hg --encoding cp932 log --template '{rev}\\n' -u '\u30A2'
2036 ... hg --encoding cp932 log --template '{rev}\\n' -u '\u30A2'
2038 > echo ====
2037 ... echo ====
2039 > hg --encoding cp932 log --template '{rev}\\n' -u '\u30C2'
2038 ... hg --encoding cp932 log --template '{rev}\\n' -u '\u30C2'
2040 > echo ====
2039 ... echo ====
2041 > hg --encoding cp932 log --template '{rev}\\n' -k '\u30A2'
2040 ... hg --encoding cp932 log --template '{rev}\\n' -k '\u30A2'
2042 > echo ====
2041 ... echo ====
2043 > hg --encoding cp932 log --template '{rev}\\n' -k '\u30C2'
2042 ... hg --encoding cp932 log --template '{rev}\\n' -k '\u30C2'
2044 > '''.encode('cp932'))
2043 ... '''.encode('cp932')) and None
2045 > EOF
2046 $ sh < test.sh
2044 $ sh < test.sh
2047 0
2045 0
2048 ====
2046 ====
2049 1
2047 1
2050 ====
2048 ====
2051 2
2049 2
2052 0
2050 0
2053 ====
2051 ====
2054 3
2052 3
2055 1
2053 1
2056
2054
2057 $ cd ..
2055 $ cd ..
2058
2056
2059 test hg log on non-existent files and on directories
2057 test hg log on non-existent files and on directories
2060 $ hg init issue1340
2058 $ hg init issue1340
2061 $ cd issue1340
2059 $ cd issue1340
2062 $ mkdir d1; mkdir D2; mkdir D3.i; mkdir d4.hg; mkdir d5.d; mkdir .d6
2060 $ mkdir d1; mkdir D2; mkdir D3.i; mkdir d4.hg; mkdir d5.d; mkdir .d6
2063 $ echo 1 > d1/f1
2061 $ echo 1 > d1/f1
2064 $ echo 1 > D2/f1
2062 $ echo 1 > D2/f1
2065 $ echo 1 > D3.i/f1
2063 $ echo 1 > D3.i/f1
2066 $ echo 1 > d4.hg/f1
2064 $ echo 1 > d4.hg/f1
2067 $ echo 1 > d5.d/f1
2065 $ echo 1 > d5.d/f1
2068 $ echo 1 > .d6/f1
2066 $ echo 1 > .d6/f1
2069 $ hg -q add .
2067 $ hg -q add .
2070 $ hg commit -m "a bunch of weird directories"
2068 $ hg commit -m "a bunch of weird directories"
2071 $ hg log -l1 d1/f1 | grep changeset
2069 $ hg log -l1 d1/f1 | grep changeset
2072 changeset: 0:65624cd9070a
2070 changeset: 0:65624cd9070a
2073 $ hg log -l1 f1
2071 $ hg log -l1 f1
2074 $ hg log -l1 . | grep changeset
2072 $ hg log -l1 . | grep changeset
2075 changeset: 0:65624cd9070a
2073 changeset: 0:65624cd9070a
2076 $ hg log -l1 ./ | grep changeset
2074 $ hg log -l1 ./ | grep changeset
2077 changeset: 0:65624cd9070a
2075 changeset: 0:65624cd9070a
2078 $ hg log -l1 d1 | grep changeset
2076 $ hg log -l1 d1 | grep changeset
2079 changeset: 0:65624cd9070a
2077 changeset: 0:65624cd9070a
2080 $ hg log -l1 D2 | grep changeset
2078 $ hg log -l1 D2 | grep changeset
2081 changeset: 0:65624cd9070a
2079 changeset: 0:65624cd9070a
2082 $ hg log -l1 D2/f1 | grep changeset
2080 $ hg log -l1 D2/f1 | grep changeset
2083 changeset: 0:65624cd9070a
2081 changeset: 0:65624cd9070a
2084 $ hg log -l1 D3.i | grep changeset
2082 $ hg log -l1 D3.i | grep changeset
2085 changeset: 0:65624cd9070a
2083 changeset: 0:65624cd9070a
2086 $ hg log -l1 D3.i/f1 | grep changeset
2084 $ hg log -l1 D3.i/f1 | grep changeset
2087 changeset: 0:65624cd9070a
2085 changeset: 0:65624cd9070a
2088 $ hg log -l1 d4.hg | grep changeset
2086 $ hg log -l1 d4.hg | grep changeset
2089 changeset: 0:65624cd9070a
2087 changeset: 0:65624cd9070a
2090 $ hg log -l1 d4.hg/f1 | grep changeset
2088 $ hg log -l1 d4.hg/f1 | grep changeset
2091 changeset: 0:65624cd9070a
2089 changeset: 0:65624cd9070a
2092 $ hg log -l1 d5.d | grep changeset
2090 $ hg log -l1 d5.d | grep changeset
2093 changeset: 0:65624cd9070a
2091 changeset: 0:65624cd9070a
2094 $ hg log -l1 d5.d/f1 | grep changeset
2092 $ hg log -l1 d5.d/f1 | grep changeset
2095 changeset: 0:65624cd9070a
2093 changeset: 0:65624cd9070a
2096 $ hg log -l1 .d6 | grep changeset
2094 $ hg log -l1 .d6 | grep changeset
2097 changeset: 0:65624cd9070a
2095 changeset: 0:65624cd9070a
2098 $ hg log -l1 .d6/f1 | grep changeset
2096 $ hg log -l1 .d6/f1 | grep changeset
2099 changeset: 0:65624cd9070a
2097 changeset: 0:65624cd9070a
2100
2098
2101 issue3772: hg log -r :null showing revision 0 as well
2099 issue3772: hg log -r :null showing revision 0 as well
2102
2100
2103 $ hg log -r :null
2101 $ hg log -r :null
2104 changeset: 0:65624cd9070a
2102 changeset: 0:65624cd9070a
2105 tag: tip
2103 tag: tip
2106 user: test
2104 user: test
2107 date: Thu Jan 01 00:00:00 1970 +0000
2105 date: Thu Jan 01 00:00:00 1970 +0000
2108 summary: a bunch of weird directories
2106 summary: a bunch of weird directories
2109
2107
2110 changeset: -1:000000000000
2108 changeset: -1:000000000000
2111 user:
2109 user:
2112 date: Thu Jan 01 00:00:00 1970 +0000
2110 date: Thu Jan 01 00:00:00 1970 +0000
2113
2111
2114 $ hg log -r null:null
2112 $ hg log -r null:null
2115 changeset: -1:000000000000
2113 changeset: -1:000000000000
2116 user:
2114 user:
2117 date: Thu Jan 01 00:00:00 1970 +0000
2115 date: Thu Jan 01 00:00:00 1970 +0000
2118
2116
2119 working-directory revision requires special treatment
2117 working-directory revision requires special treatment
2120
2118
2121 clean:
2119 clean:
2122
2120
2123 $ hg log -r 'wdir()' --debug
2121 $ hg log -r 'wdir()' --debug
2124 changeset: 2147483647:ffffffffffffffffffffffffffffffffffffffff
2122 changeset: 2147483647:ffffffffffffffffffffffffffffffffffffffff
2125 phase: draft
2123 phase: draft
2126 parent: 0:65624cd9070a035fa7191a54f2b8af39f16b0c08
2124 parent: 0:65624cd9070a035fa7191a54f2b8af39f16b0c08
2127 parent: -1:0000000000000000000000000000000000000000
2125 parent: -1:0000000000000000000000000000000000000000
2128 user: test
2126 user: test
2129 date: [A-Za-z0-9:+ ]+ (re)
2127 date: [A-Za-z0-9:+ ]+ (re)
2130 extra: branch=default
2128 extra: branch=default
2131
2129
2132 $ hg log -r 'wdir()' -p --stat
2130 $ hg log -r 'wdir()' -p --stat
2133 changeset: 2147483647:ffffffffffff
2131 changeset: 2147483647:ffffffffffff
2134 parent: 0:65624cd9070a
2132 parent: 0:65624cd9070a
2135 user: test
2133 user: test
2136 date: [A-Za-z0-9:+ ]+ (re)
2134 date: [A-Za-z0-9:+ ]+ (re)
2137
2135
2138
2136
2139
2137
2140
2138
2141 dirty:
2139 dirty:
2142
2140
2143 $ echo 2 >> d1/f1
2141 $ echo 2 >> d1/f1
2144 $ echo 2 > d1/f2
2142 $ echo 2 > d1/f2
2145 $ hg add d1/f2
2143 $ hg add d1/f2
2146 $ hg remove .d6/f1
2144 $ hg remove .d6/f1
2147 $ hg status
2145 $ hg status
2148 M d1/f1
2146 M d1/f1
2149 A d1/f2
2147 A d1/f2
2150 R .d6/f1
2148 R .d6/f1
2151
2149
2152 $ hg log -r 'wdir()'
2150 $ hg log -r 'wdir()'
2153 changeset: 2147483647:ffffffffffff
2151 changeset: 2147483647:ffffffffffff
2154 parent: 0:65624cd9070a
2152 parent: 0:65624cd9070a
2155 user: test
2153 user: test
2156 date: [A-Za-z0-9:+ ]+ (re)
2154 date: [A-Za-z0-9:+ ]+ (re)
2157
2155
2158 $ hg log -r 'wdir()' -q
2156 $ hg log -r 'wdir()' -q
2159 2147483647:ffffffffffff
2157 2147483647:ffffffffffff
2160
2158
2161 $ hg log -r 'wdir()' --debug
2159 $ hg log -r 'wdir()' --debug
2162 changeset: 2147483647:ffffffffffffffffffffffffffffffffffffffff
2160 changeset: 2147483647:ffffffffffffffffffffffffffffffffffffffff
2163 phase: draft
2161 phase: draft
2164 parent: 0:65624cd9070a035fa7191a54f2b8af39f16b0c08
2162 parent: 0:65624cd9070a035fa7191a54f2b8af39f16b0c08
2165 parent: -1:0000000000000000000000000000000000000000
2163 parent: -1:0000000000000000000000000000000000000000
2166 user: test
2164 user: test
2167 date: [A-Za-z0-9:+ ]+ (re)
2165 date: [A-Za-z0-9:+ ]+ (re)
2168 files: d1/f1
2166 files: d1/f1
2169 files+: d1/f2
2167 files+: d1/f2
2170 files-: .d6/f1
2168 files-: .d6/f1
2171 extra: branch=default
2169 extra: branch=default
2172
2170
2173 $ hg log -r 'wdir()' -p --stat --git
2171 $ hg log -r 'wdir()' -p --stat --git
2174 changeset: 2147483647:ffffffffffff
2172 changeset: 2147483647:ffffffffffff
2175 parent: 0:65624cd9070a
2173 parent: 0:65624cd9070a
2176 user: test
2174 user: test
2177 date: [A-Za-z0-9:+ ]+ (re)
2175 date: [A-Za-z0-9:+ ]+ (re)
2178
2176
2179 .d6/f1 | 1 -
2177 .d6/f1 | 1 -
2180 d1/f1 | 1 +
2178 d1/f1 | 1 +
2181 d1/f2 | 1 +
2179 d1/f2 | 1 +
2182 3 files changed, 2 insertions(+), 1 deletions(-)
2180 3 files changed, 2 insertions(+), 1 deletions(-)
2183
2181
2184 diff --git a/.d6/f1 b/.d6/f1
2182 diff --git a/.d6/f1 b/.d6/f1
2185 deleted file mode 100644
2183 deleted file mode 100644
2186 --- a/.d6/f1
2184 --- a/.d6/f1
2187 +++ /dev/null
2185 +++ /dev/null
2188 @@ -1,1 +0,0 @@
2186 @@ -1,1 +0,0 @@
2189 -1
2187 -1
2190 diff --git a/d1/f1 b/d1/f1
2188 diff --git a/d1/f1 b/d1/f1
2191 --- a/d1/f1
2189 --- a/d1/f1
2192 +++ b/d1/f1
2190 +++ b/d1/f1
2193 @@ -1,1 +1,2 @@
2191 @@ -1,1 +1,2 @@
2194 1
2192 1
2195 +2
2193 +2
2196 diff --git a/d1/f2 b/d1/f2
2194 diff --git a/d1/f2 b/d1/f2
2197 new file mode 100644
2195 new file mode 100644
2198 --- /dev/null
2196 --- /dev/null
2199 +++ b/d1/f2
2197 +++ b/d1/f2
2200 @@ -0,0 +1,1 @@
2198 @@ -0,0 +1,1 @@
2201 +2
2199 +2
2202
2200
2203 $ hg log -r 'wdir()' -Tjson
2201 $ hg log -r 'wdir()' -Tjson
2204 [
2202 [
2205 {
2203 {
2206 "rev": null,
2204 "rev": null,
2207 "node": null,
2205 "node": null,
2208 "branch": "default",
2206 "branch": "default",
2209 "phase": "draft",
2207 "phase": "draft",
2210 "user": "test",
2208 "user": "test",
2211 "date": [*, 0], (glob)
2209 "date": [*, 0], (glob)
2212 "desc": "",
2210 "desc": "",
2213 "bookmarks": [],
2211 "bookmarks": [],
2214 "tags": [],
2212 "tags": [],
2215 "parents": ["65624cd9070a035fa7191a54f2b8af39f16b0c08"]
2213 "parents": ["65624cd9070a035fa7191a54f2b8af39f16b0c08"]
2216 }
2214 }
2217 ]
2215 ]
2218
2216
2219 $ hg log -r 'wdir()' -Tjson -q
2217 $ hg log -r 'wdir()' -Tjson -q
2220 [
2218 [
2221 {
2219 {
2222 "rev": null,
2220 "rev": null,
2223 "node": null
2221 "node": null
2224 }
2222 }
2225 ]
2223 ]
2226
2224
2227 $ hg log -r 'wdir()' -Tjson --debug
2225 $ hg log -r 'wdir()' -Tjson --debug
2228 [
2226 [
2229 {
2227 {
2230 "rev": null,
2228 "rev": null,
2231 "node": null,
2229 "node": null,
2232 "branch": "default",
2230 "branch": "default",
2233 "phase": "draft",
2231 "phase": "draft",
2234 "user": "test",
2232 "user": "test",
2235 "date": [*, 0], (glob)
2233 "date": [*, 0], (glob)
2236 "desc": "",
2234 "desc": "",
2237 "bookmarks": [],
2235 "bookmarks": [],
2238 "tags": [],
2236 "tags": [],
2239 "parents": ["65624cd9070a035fa7191a54f2b8af39f16b0c08"],
2237 "parents": ["65624cd9070a035fa7191a54f2b8af39f16b0c08"],
2240 "manifest": null,
2238 "manifest": null,
2241 "extra": {"branch": "default"},
2239 "extra": {"branch": "default"},
2242 "modified": ["d1/f1"],
2240 "modified": ["d1/f1"],
2243 "added": ["d1/f2"],
2241 "added": ["d1/f2"],
2244 "removed": [".d6/f1"]
2242 "removed": [".d6/f1"]
2245 }
2243 }
2246 ]
2244 ]
2247
2245
2248 $ hg revert -aqC
2246 $ hg revert -aqC
2249
2247
2250 Check that adding an arbitrary name shows up in log automatically
2248 Check that adding an arbitrary name shows up in log automatically
2251
2249
2252 $ cat > ../names.py <<EOF
2250 $ cat > ../names.py <<EOF
2253 > """A small extension to test adding arbitrary names to a repo"""
2251 > """A small extension to test adding arbitrary names to a repo"""
2254 > from __future__ import absolute_import
2252 > from __future__ import absolute_import
2255 > from mercurial import namespaces
2253 > from mercurial import namespaces
2256 >
2254 >
2257 > def reposetup(ui, repo):
2255 > def reposetup(ui, repo):
2258 > foo = {'foo': repo[0].node()}
2256 > foo = {b'foo': repo[0].node()}
2259 > names = lambda r: foo.keys()
2257 > names = lambda r: foo.keys()
2260 > namemap = lambda r, name: foo.get(name)
2258 > namemap = lambda r, name: foo.get(name)
2261 > nodemap = lambda r, node: [name for name, n in foo.items()
2259 > nodemap = lambda r, node: [name for name, n in foo.items()
2262 > if n == node]
2260 > if n == node]
2263 > ns = namespaces.namespace(
2261 > ns = namespaces.namespace(
2264 > "bars", templatename="bar", logname="barlog",
2262 > b"bars", templatename=b"bar", logname=b"barlog",
2265 > colorname="barcolor", listnames=names, namemap=namemap,
2263 > colorname=b"barcolor", listnames=names, namemap=namemap,
2266 > nodemap=nodemap)
2264 > nodemap=nodemap)
2267 >
2265 >
2268 > repo.names.addnamespace(ns)
2266 > repo.names.addnamespace(ns)
2269 > EOF
2267 > EOF
2270
2268
2271 $ hg --config extensions.names=../names.py log -r 0
2269 $ hg --config extensions.names=../names.py log -r 0
2272 changeset: 0:65624cd9070a
2270 changeset: 0:65624cd9070a
2273 tag: tip
2271 tag: tip
2274 barlog: foo
2272 barlog: foo
2275 user: test
2273 user: test
2276 date: Thu Jan 01 00:00:00 1970 +0000
2274 date: Thu Jan 01 00:00:00 1970 +0000
2277 summary: a bunch of weird directories
2275 summary: a bunch of weird directories
2278
2276
2279 $ hg --config extensions.names=../names.py \
2277 $ hg --config extensions.names=../names.py \
2280 > --config extensions.color= --config color.log.barcolor=red \
2278 > --config extensions.color= --config color.log.barcolor=red \
2281 > --color=always log -r 0
2279 > --color=always log -r 0
2282 \x1b[0;33mchangeset: 0:65624cd9070a\x1b[0m (esc)
2280 \x1b[0;33mchangeset: 0:65624cd9070a\x1b[0m (esc)
2283 tag: tip
2281 tag: tip
2284 \x1b[0;31mbarlog: foo\x1b[0m (esc)
2282 \x1b[0;31mbarlog: foo\x1b[0m (esc)
2285 user: test
2283 user: test
2286 date: Thu Jan 01 00:00:00 1970 +0000
2284 date: Thu Jan 01 00:00:00 1970 +0000
2287 summary: a bunch of weird directories
2285 summary: a bunch of weird directories
2288
2286
2289 $ hg --config extensions.names=../names.py log -r 0 --template '{bars}\n'
2287 $ hg --config extensions.names=../names.py log -r 0 --template '{bars}\n'
2290 foo
2288 foo
2291
2289
2292 Templater parse errors:
2290 Templater parse errors:
2293
2291
2294 simple error
2292 simple error
2295 $ hg log -r . -T '{shortest(node}'
2293 $ hg log -r . -T '{shortest(node}'
2296 hg: parse error at 14: unexpected token: end
2294 hg: parse error at 14: unexpected token: end
2297 ({shortest(node}
2295 ({shortest(node}
2298 ^ here)
2296 ^ here)
2299 [255]
2297 [255]
2300
2298
2301 multi-line template with error
2299 multi-line template with error
2302 $ hg log -r . -T 'line 1
2300 $ hg log -r . -T 'line 1
2303 > line2
2301 > line2
2304 > {shortest(node}
2302 > {shortest(node}
2305 > line4\nline5'
2303 > line4\nline5'
2306 hg: parse error at 27: unexpected token: end
2304 hg: parse error at 27: unexpected token: end
2307 (line 1\nline2\n{shortest(node}\nline4\nline5
2305 (line 1\nline2\n{shortest(node}\nline4\nline5
2308 ^ here)
2306 ^ here)
2309 [255]
2307 [255]
2310
2308
2311 $ cd ..
2309 $ cd ..
2312
2310
2313 hg log -f dir across branches
2311 hg log -f dir across branches
2314
2312
2315 $ hg init acrossbranches
2313 $ hg init acrossbranches
2316 $ cd acrossbranches
2314 $ cd acrossbranches
2317 $ mkdir d
2315 $ mkdir d
2318 $ echo a > d/a && hg ci -Aqm a
2316 $ echo a > d/a && hg ci -Aqm a
2319 $ echo b > d/a && hg ci -Aqm b
2317 $ echo b > d/a && hg ci -Aqm b
2320 $ hg up -q 0
2318 $ hg up -q 0
2321 $ echo b > d/a && hg ci -Aqm c
2319 $ echo b > d/a && hg ci -Aqm c
2322 $ hg log -f d -T '{desc}' -G
2320 $ hg log -f d -T '{desc}' -G
2323 @ c
2321 @ c
2324 |
2322 |
2325 o a
2323 o a
2326
2324
2327 Ensure that largefiles doesn't interfere with following a normal file
2325 Ensure that largefiles doesn't interfere with following a normal file
2328 $ hg --config extensions.largefiles= log -f d -T '{desc}' -G
2326 $ hg --config extensions.largefiles= log -f d -T '{desc}' -G
2329 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
2327 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
2330 @ c
2328 @ c
2331 |
2329 |
2332 o a
2330 o a
2333
2331
2334 $ hg log -f d/a -T '{desc}' -G
2332 $ hg log -f d/a -T '{desc}' -G
2335 @ c
2333 @ c
2336 |
2334 |
2337 o a
2335 o a
2338
2336
2339 $ cd ..
2337 $ cd ..
2340
2338
2341 hg log -f with linkrev pointing to another branch
2339 hg log -f with linkrev pointing to another branch
2342 -------------------------------------------------
2340 -------------------------------------------------
2343
2341
2344 create history with a filerev whose linkrev points to another branch
2342 create history with a filerev whose linkrev points to another branch
2345
2343
2346 $ hg init branchedlinkrev
2344 $ hg init branchedlinkrev
2347 $ cd branchedlinkrev
2345 $ cd branchedlinkrev
2348 $ echo 1 > a
2346 $ echo 1 > a
2349 $ hg commit -Am 'content1'
2347 $ hg commit -Am 'content1'
2350 adding a
2348 adding a
2351 $ echo 2 > a
2349 $ echo 2 > a
2352 $ hg commit -m 'content2'
2350 $ hg commit -m 'content2'
2353 $ hg up --rev 'desc(content1)'
2351 $ hg up --rev 'desc(content1)'
2354 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2352 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2355 $ echo unrelated > unrelated
2353 $ echo unrelated > unrelated
2356 $ hg commit -Am 'unrelated'
2354 $ hg commit -Am 'unrelated'
2357 adding unrelated
2355 adding unrelated
2358 created new head
2356 created new head
2359 $ hg graft -r 'desc(content2)'
2357 $ hg graft -r 'desc(content2)'
2360 grafting 1:2294ae80ad84 "content2"
2358 grafting 1:2294ae80ad84 "content2"
2361 $ echo 3 > a
2359 $ echo 3 > a
2362 $ hg commit -m 'content3'
2360 $ hg commit -m 'content3'
2363 $ hg log -G
2361 $ hg log -G
2364 @ changeset: 4:50b9b36e9c5d
2362 @ changeset: 4:50b9b36e9c5d
2365 | tag: tip
2363 | tag: tip
2366 | user: test
2364 | user: test
2367 | date: Thu Jan 01 00:00:00 1970 +0000
2365 | date: Thu Jan 01 00:00:00 1970 +0000
2368 | summary: content3
2366 | summary: content3
2369 |
2367 |
2370 o changeset: 3:15b2327059e5
2368 o changeset: 3:15b2327059e5
2371 | user: test
2369 | user: test
2372 | date: Thu Jan 01 00:00:00 1970 +0000
2370 | date: Thu Jan 01 00:00:00 1970 +0000
2373 | summary: content2
2371 | summary: content2
2374 |
2372 |
2375 o changeset: 2:2029acd1168c
2373 o changeset: 2:2029acd1168c
2376 | parent: 0:ae0a3c9f9e95
2374 | parent: 0:ae0a3c9f9e95
2377 | user: test
2375 | user: test
2378 | date: Thu Jan 01 00:00:00 1970 +0000
2376 | date: Thu Jan 01 00:00:00 1970 +0000
2379 | summary: unrelated
2377 | summary: unrelated
2380 |
2378 |
2381 | o changeset: 1:2294ae80ad84
2379 | o changeset: 1:2294ae80ad84
2382 |/ user: test
2380 |/ user: test
2383 | date: Thu Jan 01 00:00:00 1970 +0000
2381 | date: Thu Jan 01 00:00:00 1970 +0000
2384 | summary: content2
2382 | summary: content2
2385 |
2383 |
2386 o changeset: 0:ae0a3c9f9e95
2384 o changeset: 0:ae0a3c9f9e95
2387 user: test
2385 user: test
2388 date: Thu Jan 01 00:00:00 1970 +0000
2386 date: Thu Jan 01 00:00:00 1970 +0000
2389 summary: content1
2387 summary: content1
2390
2388
2391
2389
2392 log -f on the file should list the graft result.
2390 log -f on the file should list the graft result.
2393
2391
2394 $ hg log -Gf a
2392 $ hg log -Gf a
2395 @ changeset: 4:50b9b36e9c5d
2393 @ changeset: 4:50b9b36e9c5d
2396 | tag: tip
2394 | tag: tip
2397 | user: test
2395 | user: test
2398 | date: Thu Jan 01 00:00:00 1970 +0000
2396 | date: Thu Jan 01 00:00:00 1970 +0000
2399 | summary: content3
2397 | summary: content3
2400 |
2398 |
2401 o changeset: 3:15b2327059e5
2399 o changeset: 3:15b2327059e5
2402 : user: test
2400 : user: test
2403 : date: Thu Jan 01 00:00:00 1970 +0000
2401 : date: Thu Jan 01 00:00:00 1970 +0000
2404 : summary: content2
2402 : summary: content2
2405 :
2403 :
2406 o changeset: 0:ae0a3c9f9e95
2404 o changeset: 0:ae0a3c9f9e95
2407 user: test
2405 user: test
2408 date: Thu Jan 01 00:00:00 1970 +0000
2406 date: Thu Jan 01 00:00:00 1970 +0000
2409 summary: content1
2407 summary: content1
2410
2408
2411
2409
2412 plain log lists the original version
2410 plain log lists the original version
2413 (XXX we should probably list both)
2411 (XXX we should probably list both)
2414
2412
2415 $ hg log -G a
2413 $ hg log -G a
2416 @ changeset: 4:50b9b36e9c5d
2414 @ changeset: 4:50b9b36e9c5d
2417 : tag: tip
2415 : tag: tip
2418 : user: test
2416 : user: test
2419 : date: Thu Jan 01 00:00:00 1970 +0000
2417 : date: Thu Jan 01 00:00:00 1970 +0000
2420 : summary: content3
2418 : summary: content3
2421 :
2419 :
2422 : o changeset: 1:2294ae80ad84
2420 : o changeset: 1:2294ae80ad84
2423 :/ user: test
2421 :/ user: test
2424 : date: Thu Jan 01 00:00:00 1970 +0000
2422 : date: Thu Jan 01 00:00:00 1970 +0000
2425 : summary: content2
2423 : summary: content2
2426 :
2424 :
2427 o changeset: 0:ae0a3c9f9e95
2425 o changeset: 0:ae0a3c9f9e95
2428 user: test
2426 user: test
2429 date: Thu Jan 01 00:00:00 1970 +0000
2427 date: Thu Jan 01 00:00:00 1970 +0000
2430 summary: content1
2428 summary: content1
2431
2429
2432
2430
2433 hg log -f from the grafted changeset
2431 hg log -f from the grafted changeset
2434 (The bootstrap should properly take the topology in account)
2432 (The bootstrap should properly take the topology in account)
2435
2433
2436 $ hg up 'desc(content3)^'
2434 $ hg up 'desc(content3)^'
2437 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2435 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2438 $ hg log -Gf a
2436 $ hg log -Gf a
2439 @ changeset: 3:15b2327059e5
2437 @ changeset: 3:15b2327059e5
2440 : user: test
2438 : user: test
2441 : date: Thu Jan 01 00:00:00 1970 +0000
2439 : date: Thu Jan 01 00:00:00 1970 +0000
2442 : summary: content2
2440 : summary: content2
2443 :
2441 :
2444 o changeset: 0:ae0a3c9f9e95
2442 o changeset: 0:ae0a3c9f9e95
2445 user: test
2443 user: test
2446 date: Thu Jan 01 00:00:00 1970 +0000
2444 date: Thu Jan 01 00:00:00 1970 +0000
2447 summary: content1
2445 summary: content1
2448
2446
2449
2447
2450 Test that we use the first non-hidden changeset in that case.
2448 Test that we use the first non-hidden changeset in that case.
2451
2449
2452 (hide the changeset)
2450 (hide the changeset)
2453
2451
2454 $ hg log -T '{node}\n' -r 1
2452 $ hg log -T '{node}\n' -r 1
2455 2294ae80ad8447bc78383182eeac50cb049df623
2453 2294ae80ad8447bc78383182eeac50cb049df623
2456 $ hg debugobsolete 2294ae80ad8447bc78383182eeac50cb049df623
2454 $ hg debugobsolete 2294ae80ad8447bc78383182eeac50cb049df623
2457 obsoleted 1 changesets
2455 obsoleted 1 changesets
2458 $ hg log -G
2456 $ hg log -G
2459 o changeset: 4:50b9b36e9c5d
2457 o changeset: 4:50b9b36e9c5d
2460 | tag: tip
2458 | tag: tip
2461 | user: test
2459 | user: test
2462 | date: Thu Jan 01 00:00:00 1970 +0000
2460 | date: Thu Jan 01 00:00:00 1970 +0000
2463 | summary: content3
2461 | summary: content3
2464 |
2462 |
2465 @ changeset: 3:15b2327059e5
2463 @ changeset: 3:15b2327059e5
2466 | user: test
2464 | user: test
2467 | date: Thu Jan 01 00:00:00 1970 +0000
2465 | date: Thu Jan 01 00:00:00 1970 +0000
2468 | summary: content2
2466 | summary: content2
2469 |
2467 |
2470 o changeset: 2:2029acd1168c
2468 o changeset: 2:2029acd1168c
2471 | parent: 0:ae0a3c9f9e95
2469 | parent: 0:ae0a3c9f9e95
2472 | user: test
2470 | user: test
2473 | date: Thu Jan 01 00:00:00 1970 +0000
2471 | date: Thu Jan 01 00:00:00 1970 +0000
2474 | summary: unrelated
2472 | summary: unrelated
2475 |
2473 |
2476 o changeset: 0:ae0a3c9f9e95
2474 o changeset: 0:ae0a3c9f9e95
2477 user: test
2475 user: test
2478 date: Thu Jan 01 00:00:00 1970 +0000
2476 date: Thu Jan 01 00:00:00 1970 +0000
2479 summary: content1
2477 summary: content1
2480
2478
2481
2479
2482 Check that log on the file does not drop the file revision.
2480 Check that log on the file does not drop the file revision.
2483
2481
2484 $ hg log -G a
2482 $ hg log -G a
2485 o changeset: 4:50b9b36e9c5d
2483 o changeset: 4:50b9b36e9c5d
2486 | tag: tip
2484 | tag: tip
2487 | user: test
2485 | user: test
2488 | date: Thu Jan 01 00:00:00 1970 +0000
2486 | date: Thu Jan 01 00:00:00 1970 +0000
2489 | summary: content3
2487 | summary: content3
2490 |
2488 |
2491 @ changeset: 3:15b2327059e5
2489 @ changeset: 3:15b2327059e5
2492 : user: test
2490 : user: test
2493 : date: Thu Jan 01 00:00:00 1970 +0000
2491 : date: Thu Jan 01 00:00:00 1970 +0000
2494 : summary: content2
2492 : summary: content2
2495 :
2493 :
2496 o changeset: 0:ae0a3c9f9e95
2494 o changeset: 0:ae0a3c9f9e95
2497 user: test
2495 user: test
2498 date: Thu Jan 01 00:00:00 1970 +0000
2496 date: Thu Jan 01 00:00:00 1970 +0000
2499 summary: content1
2497 summary: content1
2500
2498
2501
2499
2502 Even when a head revision is linkrev-shadowed.
2500 Even when a head revision is linkrev-shadowed.
2503
2501
2504 $ hg log -T '{node}\n' -r 4
2502 $ hg log -T '{node}\n' -r 4
2505 50b9b36e9c5df2c6fc6dcefa8ad0da929e84aed2
2503 50b9b36e9c5df2c6fc6dcefa8ad0da929e84aed2
2506 $ hg debugobsolete 50b9b36e9c5df2c6fc6dcefa8ad0da929e84aed2
2504 $ hg debugobsolete 50b9b36e9c5df2c6fc6dcefa8ad0da929e84aed2
2507 obsoleted 1 changesets
2505 obsoleted 1 changesets
2508 $ hg log -G a
2506 $ hg log -G a
2509 @ changeset: 3:15b2327059e5
2507 @ changeset: 3:15b2327059e5
2510 : tag: tip
2508 : tag: tip
2511 : user: test
2509 : user: test
2512 : date: Thu Jan 01 00:00:00 1970 +0000
2510 : date: Thu Jan 01 00:00:00 1970 +0000
2513 : summary: content2
2511 : summary: content2
2514 :
2512 :
2515 o changeset: 0:ae0a3c9f9e95
2513 o changeset: 0:ae0a3c9f9e95
2516 user: test
2514 user: test
2517 date: Thu Jan 01 00:00:00 1970 +0000
2515 date: Thu Jan 01 00:00:00 1970 +0000
2518 summary: content1
2516 summary: content1
2519
2517
2520
2518
2521 $ cd ..
2519 $ cd ..
2522
2520
2523 Even when the file revision is missing from some head:
2521 Even when the file revision is missing from some head:
2524
2522
2525 $ hg init issue4490
2523 $ hg init issue4490
2526 $ cd issue4490
2524 $ cd issue4490
2527 $ echo '[experimental]' >> .hg/hgrc
2525 $ echo '[experimental]' >> .hg/hgrc
2528 $ echo 'evolution.createmarkers=True' >> .hg/hgrc
2526 $ echo 'evolution.createmarkers=True' >> .hg/hgrc
2529 $ echo a > a
2527 $ echo a > a
2530 $ hg ci -Am0
2528 $ hg ci -Am0
2531 adding a
2529 adding a
2532 $ echo b > b
2530 $ echo b > b
2533 $ hg ci -Am1
2531 $ hg ci -Am1
2534 adding b
2532 adding b
2535 $ echo B > b
2533 $ echo B > b
2536 $ hg ci --amend -m 1
2534 $ hg ci --amend -m 1
2537 $ hg up 0
2535 $ hg up 0
2538 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
2536 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
2539 $ echo c > c
2537 $ echo c > c
2540 $ hg ci -Am2
2538 $ hg ci -Am2
2541 adding c
2539 adding c
2542 created new head
2540 created new head
2543 $ hg up 'head() and not .'
2541 $ hg up 'head() and not .'
2544 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
2542 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
2545 $ hg log -G
2543 $ hg log -G
2546 o changeset: 3:db815d6d32e6
2544 o changeset: 3:db815d6d32e6
2547 | tag: tip
2545 | tag: tip
2548 | parent: 0:f7b1eb17ad24
2546 | parent: 0:f7b1eb17ad24
2549 | user: test
2547 | user: test
2550 | date: Thu Jan 01 00:00:00 1970 +0000
2548 | date: Thu Jan 01 00:00:00 1970 +0000
2551 | summary: 2
2549 | summary: 2
2552 |
2550 |
2553 | @ changeset: 2:9bc8ce7f9356
2551 | @ changeset: 2:9bc8ce7f9356
2554 |/ parent: 0:f7b1eb17ad24
2552 |/ parent: 0:f7b1eb17ad24
2555 | user: test
2553 | user: test
2556 | date: Thu Jan 01 00:00:00 1970 +0000
2554 | date: Thu Jan 01 00:00:00 1970 +0000
2557 | summary: 1
2555 | summary: 1
2558 |
2556 |
2559 o changeset: 0:f7b1eb17ad24
2557 o changeset: 0:f7b1eb17ad24
2560 user: test
2558 user: test
2561 date: Thu Jan 01 00:00:00 1970 +0000
2559 date: Thu Jan 01 00:00:00 1970 +0000
2562 summary: 0
2560 summary: 0
2563
2561
2564 $ hg log -f -G b
2562 $ hg log -f -G b
2565 @ changeset: 2:9bc8ce7f9356
2563 @ changeset: 2:9bc8ce7f9356
2566 | parent: 0:f7b1eb17ad24
2564 | parent: 0:f7b1eb17ad24
2567 ~ user: test
2565 ~ user: test
2568 date: Thu Jan 01 00:00:00 1970 +0000
2566 date: Thu Jan 01 00:00:00 1970 +0000
2569 summary: 1
2567 summary: 1
2570
2568
2571 $ hg log -G b
2569 $ hg log -G b
2572 @ changeset: 2:9bc8ce7f9356
2570 @ changeset: 2:9bc8ce7f9356
2573 | parent: 0:f7b1eb17ad24
2571 | parent: 0:f7b1eb17ad24
2574 ~ user: test
2572 ~ user: test
2575 date: Thu Jan 01 00:00:00 1970 +0000
2573 date: Thu Jan 01 00:00:00 1970 +0000
2576 summary: 1
2574 summary: 1
2577
2575
2578 $ cd ..
2576 $ cd ..
2579
2577
2580 Check proper report when the manifest changes but not the file issue4499
2578 Check proper report when the manifest changes but not the file issue4499
2581 ------------------------------------------------------------------------
2579 ------------------------------------------------------------------------
2582
2580
2583 $ hg init issue4499
2581 $ hg init issue4499
2584 $ cd issue4499
2582 $ cd issue4499
2585 $ for f in A B C D F E G H I J K L M N O P Q R S T U; do
2583 $ for f in A B C D F E G H I J K L M N O P Q R S T U; do
2586 > echo 1 > $f;
2584 > echo 1 > $f;
2587 > hg add $f;
2585 > hg add $f;
2588 > done
2586 > done
2589 $ hg commit -m 'A1B1C1'
2587 $ hg commit -m 'A1B1C1'
2590 $ echo 2 > A
2588 $ echo 2 > A
2591 $ echo 2 > B
2589 $ echo 2 > B
2592 $ echo 2 > C
2590 $ echo 2 > C
2593 $ hg commit -m 'A2B2C2'
2591 $ hg commit -m 'A2B2C2'
2594 $ hg up 0
2592 $ hg up 0
2595 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
2593 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
2596 $ echo 3 > A
2594 $ echo 3 > A
2597 $ echo 2 > B
2595 $ echo 2 > B
2598 $ echo 2 > C
2596 $ echo 2 > C
2599 $ hg commit -m 'A3B2C2'
2597 $ hg commit -m 'A3B2C2'
2600 created new head
2598 created new head
2601
2599
2602 $ hg log -G
2600 $ hg log -G
2603 @ changeset: 2:fe5fc3d0eb17
2601 @ changeset: 2:fe5fc3d0eb17
2604 | tag: tip
2602 | tag: tip
2605 | parent: 0:abf4f0e38563
2603 | parent: 0:abf4f0e38563
2606 | user: test
2604 | user: test
2607 | date: Thu Jan 01 00:00:00 1970 +0000
2605 | date: Thu Jan 01 00:00:00 1970 +0000
2608 | summary: A3B2C2
2606 | summary: A3B2C2
2609 |
2607 |
2610 | o changeset: 1:07dcc6b312c0
2608 | o changeset: 1:07dcc6b312c0
2611 |/ user: test
2609 |/ user: test
2612 | date: Thu Jan 01 00:00:00 1970 +0000
2610 | date: Thu Jan 01 00:00:00 1970 +0000
2613 | summary: A2B2C2
2611 | summary: A2B2C2
2614 |
2612 |
2615 o changeset: 0:abf4f0e38563
2613 o changeset: 0:abf4f0e38563
2616 user: test
2614 user: test
2617 date: Thu Jan 01 00:00:00 1970 +0000
2615 date: Thu Jan 01 00:00:00 1970 +0000
2618 summary: A1B1C1
2616 summary: A1B1C1
2619
2617
2620
2618
2621 Log -f on B should reports current changesets
2619 Log -f on B should reports current changesets
2622
2620
2623 $ hg log -fG B
2621 $ hg log -fG B
2624 @ changeset: 2:fe5fc3d0eb17
2622 @ changeset: 2:fe5fc3d0eb17
2625 | tag: tip
2623 | tag: tip
2626 | parent: 0:abf4f0e38563
2624 | parent: 0:abf4f0e38563
2627 | user: test
2625 | user: test
2628 | date: Thu Jan 01 00:00:00 1970 +0000
2626 | date: Thu Jan 01 00:00:00 1970 +0000
2629 | summary: A3B2C2
2627 | summary: A3B2C2
2630 |
2628 |
2631 o changeset: 0:abf4f0e38563
2629 o changeset: 0:abf4f0e38563
2632 user: test
2630 user: test
2633 date: Thu Jan 01 00:00:00 1970 +0000
2631 date: Thu Jan 01 00:00:00 1970 +0000
2634 summary: A1B1C1
2632 summary: A1B1C1
2635
2633
2636 $ cd ..
2634 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now