diff options
Diffstat (limited to 'tests/test-log.t')
-rw-r--r-- | tests/test-log.t | 1215 |
1 files changed, 1215 insertions, 0 deletions
diff --git a/tests/test-log.t b/tests/test-log.t new file mode 100644 index 0000000..0a4248e --- /dev/null +++ b/tests/test-log.t @@ -0,0 +1,1215 @@ +The g is crafted to have 2 filelog topological heads in a linear +changeset graph + + $ hg init a + $ cd a + $ echo a > a + $ echo f > f + $ hg ci -Ama -d '1 0' + adding a + adding f + + $ hg cp a b + $ hg cp f g + $ hg ci -mb -d '2 0' + + $ mkdir dir + $ hg mv b dir + $ echo g >> g + $ echo f >> f + $ hg ci -mc -d '3 0' + + $ hg mv a b + $ hg cp -f f g + $ echo a > d + $ hg add d + $ hg ci -md -d '4 0' + + $ hg mv dir/b e + $ hg ci -me -d '5 0' + + $ hg log a + changeset: 0:9161b9aeaf16 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: a + + +-f, directory + + $ hg log -f dir + abort: cannot follow file not in parent revision: "dir" + [255] + +-f, but no args + + $ hg log -f + changeset: 4:7e4639b4691b + tag: tip + user: test + date: Thu Jan 01 00:00:05 1970 +0000 + summary: e + + changeset: 3:2ca5ba701980 + user: test + date: Thu Jan 01 00:00:04 1970 +0000 + summary: d + + changeset: 2:f8954cd4dc1f + user: test + date: Thu Jan 01 00:00:03 1970 +0000 + summary: c + + changeset: 1:d89b0a12d229 + user: test + date: Thu Jan 01 00:00:02 1970 +0000 + summary: b + + changeset: 0:9161b9aeaf16 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: a + + +one rename + + $ hg up -q 2 + $ hg log -vf a + changeset: 0:9161b9aeaf16 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + files: a f + description: + a + + + +many renames + + $ hg up -q tip + $ hg log -vf e + changeset: 4:7e4639b4691b + tag: tip + user: test + date: Thu Jan 01 00:00:05 1970 +0000 + files: dir/b e + description: + e + + + changeset: 2:f8954cd4dc1f + user: test + date: Thu Jan 01 00:00:03 1970 +0000 + files: b dir/b f g + description: + c + + + changeset: 1:d89b0a12d229 + user: test + date: Thu Jan 01 00:00:02 1970 +0000 + files: b g + description: + b + + + changeset: 0:9161b9aeaf16 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + files: a f + description: + a + + + + +log -pf dir/b + + $ hg up -q 3 + $ hg log -pf dir/b + changeset: 2:f8954cd4dc1f + user: test + date: Thu Jan 01 00:00:03 1970 +0000 + summary: c + + diff -r d89b0a12d229 -r f8954cd4dc1f dir/b + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000 + @@ -0,0 +1,1 @@ + +a + + changeset: 1:d89b0a12d229 + user: test + date: Thu Jan 01 00:00:02 1970 +0000 + summary: b + + diff -r 9161b9aeaf16 -r d89b0a12d229 b + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/b Thu Jan 01 00:00:02 1970 +0000 + @@ -0,0 +1,1 @@ + +a + + changeset: 0:9161b9aeaf16 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: a + + diff -r 000000000000 -r 9161b9aeaf16 a + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:01 1970 +0000 + @@ -0,0 +1,1 @@ + +a + + +log -vf dir/b + + $ hg log -vf dir/b + changeset: 2:f8954cd4dc1f + user: test + date: Thu Jan 01 00:00:03 1970 +0000 + files: b dir/b f g + description: + c + + + changeset: 1:d89b0a12d229 + user: test + date: Thu Jan 01 00:00:02 1970 +0000 + files: b g + description: + b + + + changeset: 0:9161b9aeaf16 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + files: a f + description: + a + + + + +-f and multiple filelog heads + + $ hg up -q 2 + $ hg log -f g --template '{rev}\n' + 2 + 1 + 0 + $ hg up -q tip + $ hg log -f g --template '{rev}\n' + 3 + 2 + 0 + + +log copies with --copies + + $ hg log -vC --template '{rev} {file_copies}\n' + 4 e (dir/b) + 3 b (a)g (f) + 2 dir/b (b) + 1 b (a)g (f) + 0 + +log copies switch without --copies, with old filecopy template + + $ hg log -v --template '{rev} {file_copies_switch%filecopy}\n' + 4 + 3 + 2 + 1 + 0 + +log copies switch with --copies + + $ hg log -vC --template '{rev} {file_copies_switch}\n' + 4 e (dir/b) + 3 b (a)g (f) + 2 dir/b (b) + 1 b (a)g (f) + 0 + + +log copies with hardcoded style and with --style=default + + $ hg log -vC -r4 + changeset: 4:7e4639b4691b + tag: tip + user: test + date: Thu Jan 01 00:00:05 1970 +0000 + files: dir/b e + copies: e (dir/b) + description: + e + + + $ hg log -vC -r4 --style=default + changeset: 4:7e4639b4691b + tag: tip + user: test + date: Thu Jan 01 00:00:05 1970 +0000 + files: dir/b e + copies: e (dir/b) + description: + e + + + + +log copies, non-linear manifest + + $ hg up -C 3 + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg mv dir/b e + $ echo foo > foo + $ hg ci -Ame2 -d '6 0' + adding foo + created new head + $ hg log -v --template '{rev} {file_copies}\n' -r 5 + 5 e (dir/b) + + +log copies, execute bit set + +#if execbit + $ chmod +x e + $ hg ci -me3 -d '7 0' + $ hg log -v --template '{rev} {file_copies}\n' -r 6 + 6 +#endif + + +log -p d + + $ hg log -pv d + changeset: 3:2ca5ba701980 + user: test + date: Thu Jan 01 00:00:04 1970 +0000 + files: a b d g + description: + d + + + diff -r f8954cd4dc1f -r 2ca5ba701980 d + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/d Thu Jan 01 00:00:04 1970 +0000 + @@ -0,0 +1,1 @@ + +a + + + +log --removed file + + $ hg log --removed -v a + changeset: 3:2ca5ba701980 + user: test + date: Thu Jan 01 00:00:04 1970 +0000 + files: a b d g + description: + d + + + changeset: 0:9161b9aeaf16 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + files: a f + description: + a + + + +log --removed revrange file + + $ hg log --removed -v -r0:2 a + changeset: 0:9161b9aeaf16 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + files: a f + description: + a + + + $ cd .. + +log --follow tests + + $ hg init follow + $ cd follow + + $ echo base > base + $ hg ci -Ambase -d '1 0' + adding base + + $ echo r1 >> base + $ hg ci -Amr1 -d '1 0' + $ echo r2 >> base + $ hg ci -Amr2 -d '1 0' + + $ hg up -C 1 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo b1 > b1 + $ hg ci -Amb1 -d '1 0' + adding b1 + created new head + + +log -f + + $ hg log -f + changeset: 3:e62f78d544b4 + tag: tip + parent: 1:3d5bf5654eda + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1 + + changeset: 1:3d5bf5654eda + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: r1 + + changeset: 0:67e992f2c4f3 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: base + + + +log -f -r 1:tip + + $ hg up -C 0 + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ echo b2 > b2 + $ hg ci -Amb2 -d '1 0' + adding b2 + created new head + $ hg log -f -r 1:tip + changeset: 1:3d5bf5654eda + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: r1 + + changeset: 2:60c670bf5b30 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: r2 + + changeset: 3:e62f78d544b4 + parent: 1:3d5bf5654eda + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1 + + + +log -r . with two parents + + $ hg up -C 3 + 2 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg merge tip + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + $ hg log -r . + changeset: 3:e62f78d544b4 + parent: 1:3d5bf5654eda + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1 + + + +log -r . with one parent + + $ hg ci -mm12 -d '1 0' + $ hg log -r . + changeset: 5:302e9dd6890d + tag: tip + parent: 3:e62f78d544b4 + parent: 4:ddb82e70d1a1 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: m12 + + + $ echo postm >> b1 + $ hg ci -Amb1.1 -d'1 0' + + +log --follow-first + + $ hg log --follow-first + changeset: 6:2404bbcab562 + tag: tip + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1.1 + + changeset: 5:302e9dd6890d + parent: 3:e62f78d544b4 + parent: 4:ddb82e70d1a1 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: m12 + + changeset: 3:e62f78d544b4 + parent: 1:3d5bf5654eda + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1 + + changeset: 1:3d5bf5654eda + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: r1 + + changeset: 0:67e992f2c4f3 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: base + + + +log -P 2 + + $ hg log -P 2 + changeset: 6:2404bbcab562 + tag: tip + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1.1 + + changeset: 5:302e9dd6890d + parent: 3:e62f78d544b4 + parent: 4:ddb82e70d1a1 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: m12 + + changeset: 4:ddb82e70d1a1 + parent: 0:67e992f2c4f3 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b2 + + changeset: 3:e62f78d544b4 + parent: 1:3d5bf5654eda + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1 + + + +log -r tip -p --git + + $ hg log -r tip -p --git + changeset: 6:2404bbcab562 + tag: tip + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1.1 + + diff --git a/b1 b/b1 + --- a/b1 + +++ b/b1 + @@ -1,1 +1,2 @@ + b1 + +postm + + + +log -r "" + + $ hg log -r '' + hg: parse error: empty query + [255] + +log -r <some unknown node id> + + $ hg log -r 1000000000000000000000000000000000000000 + abort: unknown revision '1000000000000000000000000000000000000000'! + [255] + +log -k r1 + + $ hg log -k r1 + changeset: 1:3d5bf5654eda + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: r1 + +log -p -l2 --color=always + + $ hg --config extensions.color= --config color.mode=ansi \ + > log -p -l2 --color=always + \x1b[0;33mchangeset: 6:2404bbcab562\x1b[0m (esc) + tag: tip + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1.1 + + \x1b[0;1mdiff -r 302e9dd6890d -r 2404bbcab562 b1\x1b[0m (esc) + \x1b[0;31;1m--- a/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc) + \x1b[0;32;1m+++ b/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc) + \x1b[0;35m@@ -1,1 +1,2 @@\x1b[0m (esc) + b1 + \x1b[0;32m+postm\x1b[0m (esc) + + \x1b[0;33mchangeset: 5:302e9dd6890d\x1b[0m (esc) + parent: 3:e62f78d544b4 + parent: 4:ddb82e70d1a1 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: m12 + + \x1b[0;1mdiff -r e62f78d544b4 -r 302e9dd6890d b2\x1b[0m (esc) + \x1b[0;31;1m--- /dev/null Thu Jan 01 00:00:00 1970 +0000\x1b[0m (esc) + \x1b[0;32;1m+++ b/b2 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc) + \x1b[0;35m@@ -0,0 +1,1 @@\x1b[0m (esc) + \x1b[0;32m+b2\x1b[0m (esc) + + + +log -r tip --stat + + $ hg log -r tip --stat + changeset: 6:2404bbcab562 + tag: tip + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1.1 + + b1 | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + + + $ cd .. + + +User + + $ hg init usertest + $ cd usertest + + $ echo a > a + $ hg ci -A -m "a" -u "User One <user1@example.org>" + adding a + $ echo b > b + $ hg ci -A -m "b" -u "User Two <user2@example.org>" + adding b + + $ hg log -u "User One <user1@example.org>" + changeset: 0:29a4c94f1924 + user: User One <user1@example.org> + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + + $ hg log -u "user1" -u "user2" + changeset: 1:e834b5e69c0e + tag: tip + user: User Two <user2@example.org> + date: Thu Jan 01 00:00:00 1970 +0000 + summary: b + + changeset: 0:29a4c94f1924 + user: User One <user1@example.org> + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + + $ hg log -u "user3" + + $ cd .. + + $ hg init branches + $ cd branches + + $ echo a > a + $ hg ci -A -m "commit on default" + adding a + $ hg branch test + marked working directory as branch test + (branches are permanent and global, did you want a bookmark?) + $ echo b > b + $ hg ci -A -m "commit on test" + adding b + + $ hg up default + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ echo c > c + $ hg ci -A -m "commit on default" + adding c + $ hg up test + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ echo c > c + $ hg ci -A -m "commit on test" + adding c + + +log -b default + + $ hg log -b default + changeset: 2:c3a4f03cc9a7 + parent: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + changeset: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + + +log -b test + + $ hg log -b test + changeset: 3:f5d8de11c2e2 + branch: test + tag: tip + parent: 1:d32277701ccb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + changeset: 1:d32277701ccb + branch: test + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + + +log -b dummy + + $ hg log -b dummy + abort: unknown revision 'dummy'! + [255] + + +log -b . + + $ hg log -b . + changeset: 3:f5d8de11c2e2 + branch: test + tag: tip + parent: 1:d32277701ccb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + changeset: 1:d32277701ccb + branch: test + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + + +log -b default -b test + + $ hg log -b default -b test + changeset: 3:f5d8de11c2e2 + branch: test + tag: tip + parent: 1:d32277701ccb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + changeset: 2:c3a4f03cc9a7 + parent: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + changeset: 1:d32277701ccb + branch: test + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + changeset: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + + +log -b default -b . + + $ hg log -b default -b . + changeset: 3:f5d8de11c2e2 + branch: test + tag: tip + parent: 1:d32277701ccb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + changeset: 2:c3a4f03cc9a7 + parent: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + changeset: 1:d32277701ccb + branch: test + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + changeset: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + + +log -b . -b test + + $ hg log -b . -b test + changeset: 3:f5d8de11c2e2 + branch: test + tag: tip + parent: 1:d32277701ccb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + changeset: 1:d32277701ccb + branch: test + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + + +log -b 2 + + $ hg log -b 2 + changeset: 2:c3a4f03cc9a7 + parent: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + changeset: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + + +log -p --cwd dir (in subdir) + + $ mkdir dir + $ hg log -p --cwd dir + changeset: 3:f5d8de11c2e2 + branch: test + tag: tip + parent: 1:d32277701ccb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + diff -r d32277701ccb -r f5d8de11c2e2 c + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/c Thu Jan 01 00:00:00 1970 +0000 + @@ -0,0 +1,1 @@ + +c + + changeset: 2:c3a4f03cc9a7 + parent: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + diff -r 24427303d56f -r c3a4f03cc9a7 c + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/c Thu Jan 01 00:00:00 1970 +0000 + @@ -0,0 +1,1 @@ + +c + + changeset: 1:d32277701ccb + branch: test + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on test + + diff -r 24427303d56f -r d32277701ccb b + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/b Thu Jan 01 00:00:00 1970 +0000 + @@ -0,0 +1,1 @@ + +b + + changeset: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + diff -r 000000000000 -r 24427303d56f a + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -0,0 +1,1 @@ + +a + + + +log -p -R repo + + $ cd dir + $ hg log -p -R .. ../a + changeset: 0:24427303d56f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: commit on default + + diff -r 000000000000 -r 24427303d56f a + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -0,0 +1,1 @@ + +a + + + $ cd ../.. + + $ hg init follow2 + $ cd follow2 + +# Build the following history: +# tip - o - x - o - x - x +# \ / +# o - o - o - x +# \ / +# o +# +# Where "o" is a revision containing "foo" and +# "x" is a revision without "foo" + + $ touch init + $ hg ci -A -m "init, unrelated" + adding init + $ echo 'foo' > init + $ hg ci -m "change, unrelated" + $ echo 'foo' > foo + $ hg ci -A -m "add unrelated old foo" + adding foo + $ hg rm foo + $ hg ci -m "delete foo, unrelated" + $ echo 'related' > foo + $ hg ci -A -m "add foo, related" + adding foo + + $ hg up 0 + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ touch branch + $ hg ci -A -m "first branch, unrelated" + adding branch + created new head + $ touch foo + $ hg ci -A -m "create foo, related" + adding foo + $ echo 'change' > foo + $ hg ci -m "change foo, related" + + $ hg up 6 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo 'change foo in branch' > foo + $ hg ci -m "change foo in branch, related" + created new head + $ hg merge 7 + merging foo + warning: conflicts during merge. + merging foo incomplete! (edit conflicts, then use 'hg resolve --mark') + 0 files updated, 0 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon + [1] + $ echo 'merge 1' > foo + $ hg resolve -m foo + $ hg ci -m "First merge, related" + + $ hg merge 4 + merging foo + warning: conflicts during merge. + merging foo incomplete! (edit conflicts, then use 'hg resolve --mark') + 1 files updated, 0 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon + [1] + $ echo 'merge 2' > foo + $ hg resolve -m foo + $ hg ci -m "Last merge, related" + + $ hg log --graph + @ changeset: 10:4dae8563d2c5 + |\ tag: tip + | | parent: 9:7b35701b003e + | | parent: 4:88176d361b69 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: Last merge, related + | | + | o changeset: 9:7b35701b003e + | |\ parent: 8:e5416ad8a855 + | | | parent: 7:87fe3144dcfa + | | | user: test + | | | date: Thu Jan 01 00:00:00 1970 +0000 + | | | summary: First merge, related + | | | + | | o changeset: 8:e5416ad8a855 + | | | parent: 6:dc6c325fe5ee + | | | user: test + | | | date: Thu Jan 01 00:00:00 1970 +0000 + | | | summary: change foo in branch, related + | | | + | o | changeset: 7:87fe3144dcfa + | |/ user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: change foo, related + | | + | o changeset: 6:dc6c325fe5ee + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: create foo, related + | | + | o changeset: 5:73db34516eb9 + | | parent: 0:e87515fd044a + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: first branch, unrelated + | | + o | changeset: 4:88176d361b69 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: add foo, related + | | + o | changeset: 3:dd78ae4afb56 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: delete foo, unrelated + | | + o | changeset: 2:c4c64aedf0f7 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: add unrelated old foo + | | + o | changeset: 1:e5faa7440653 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: change, unrelated + | + o changeset: 0:e87515fd044a + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: init, unrelated + + + $ hg --traceback log -f foo + changeset: 10:4dae8563d2c5 + tag: tip + parent: 9:7b35701b003e + parent: 4:88176d361b69 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: Last merge, related + + changeset: 9:7b35701b003e + parent: 8:e5416ad8a855 + parent: 7:87fe3144dcfa + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: First merge, related + + changeset: 8:e5416ad8a855 + parent: 6:dc6c325fe5ee + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: change foo in branch, related + + changeset: 7:87fe3144dcfa + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: change foo, related + + changeset: 6:dc6c325fe5ee + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: create foo, related + + changeset: 4:88176d361b69 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add foo, related + + +Also check when maxrev < lastrevfilelog + + $ hg --traceback log -f -r4 foo + changeset: 4:88176d361b69 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add foo, related + + $ cd .. + +Issue2383: hg log showing _less_ differences than hg diff + + $ hg init issue2383 + $ cd issue2383 + +Create a test repo: + + $ echo a > a + $ hg ci -Am0 + adding a + $ echo b > b + $ hg ci -Am1 + adding b + $ hg co 0 + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ echo b > a + $ hg ci -m2 + created new head + +Merge: + + $ hg merge + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + +Make sure there's a file listed in the merge to trigger the bug: + + $ echo c > a + $ hg ci -m3 + +Two files shown here in diff: + + $ hg diff --rev 2:3 + diff -r b09be438c43a -r 8e07aafe1edc a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -1,1 +1,1 @@ + -b + +c + diff -r b09be438c43a -r 8e07aafe1edc b + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/b Thu Jan 01 00:00:00 1970 +0000 + @@ -0,0 +1,1 @@ + +b + +Diff here should be the same: + + $ hg log -vpr 3 + changeset: 3:8e07aafe1edc + tag: tip + parent: 2:b09be438c43a + parent: 1:925d80f479bb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + files: a + description: + 3 + + + diff -r b09be438c43a -r 8e07aafe1edc a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -1,1 +1,1 @@ + -b + +c + diff -r b09be438c43a -r 8e07aafe1edc b + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/b Thu Jan 01 00:00:00 1970 +0000 + @@ -0,0 +1,1 @@ + +b + + $ cd .. + +'hg log -r rev fn' when last(filelog(fn)) != rev + + $ hg init simplelog + $ cd simplelog + $ echo f > a + $ hg ci -Am'a' -d '0 0' + adding a + $ echo f >> a + $ hg ci -Am'a bis' -d '1 0' + + $ hg log -r0 a + changeset: 0:9f758d63dcde + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + + $ cat > $HGTMP/testhidden.py << EOF + > def reposetup(ui, repo): + > for line in repo.opener('hidden'): + > ctx = repo[line.strip()] + > repo.hiddenrevs.add(ctx.rev()) + > EOF + $ echo '[extensions]' >> $HGRCPATH + $ echo "hidden=$HGTMP/testhidden.py" >> $HGRCPATH + $ touch .hg/hidden + $ hg log --template='{rev}:{node}\n' + 1:a765632148dc55d38c35c4f247c618701886cb2f + 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05 + $ echo a765632148dc55d38c35c4f247c618701886cb2f > .hg/hidden + $ hg log --template='{rev}:{node}\n' + 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05 + $ hg log --template='{rev}:{node}\n' --hidden + 1:a765632148dc55d38c35c4f247c618701886cb2f + 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05 + +clear extensions configuration + $ echo '[extensions]' >> $HGRCPATH + $ echo "hidden=!" >> $HGRCPATH + $ cd .. + +test -u/-k for problematic encoding +# unicode: cp932: +# u30A2 0x83 0x41(= 'A') +# u30C2 0x83 0x61(= 'a') + + $ hg init problematicencoding + $ cd problematicencoding + + $ python > setup.sh <<EOF + > print u''' + > echo a > text + > hg add text + > hg --encoding utf-8 commit -u '\u30A2' -m none + > echo b > text + > hg --encoding utf-8 commit -u '\u30C2' -m none + > echo c > text + > hg --encoding utf-8 commit -u none -m '\u30A2' + > echo d > text + > hg --encoding utf-8 commit -u none -m '\u30C2' + > '''.encode('utf-8') + > EOF + $ sh < setup.sh + +test in problematic encoding + $ python > test.sh <<EOF + > print u''' + > hg --encoding cp932 log --template '{rev}\\n' -u '\u30A2' + > echo ==== + > hg --encoding cp932 log --template '{rev}\\n' -u '\u30C2' + > echo ==== + > hg --encoding cp932 log --template '{rev}\\n' -k '\u30A2' + > echo ==== + > hg --encoding cp932 log --template '{rev}\\n' -k '\u30C2' + > '''.encode('cp932') + > EOF + $ sh < test.sh + 0 + ==== + 1 + ==== + 2 + 0 + ==== + 3 + 1 + + $ cd .. |