Mercurial > hg
changeset 11900:cd7182358d9f
tests: unify test-log
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Sun, 15 Aug 2010 23:34:46 +0900 |
parents | 99cafcae25d9 |
children | a80577bfea29 |
files | tests/test-log tests/test-log.t tests/test-mq-caches.t tests/test-mq-eol.t tests/test-mq-guards.t tests/test-mq-safety.t tests/test-mq.t |
diffstat | 2 files changed, 1018 insertions(+), 252 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-log Sun Aug 15 23:17:53 2010 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,252 +0,0 @@ -#!/bin/sh - -hg init a - -cd a -echo a > a -hg ci -Ama -d '1 0' - -hg cp a b -hg ci -mb -d '2 0' - -mkdir dir -hg mv b dir -hg ci -mc -d '3 0' - -hg mv a b -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 -echo % -f, directory -hg log -f dir -echo % -f, but no args -hg log -f -echo % one rename -hg log -vf a -echo % many renames -hg log -vf e - -echo % log -pf dir/b -hg log -pf dir/b -echo % log -vf dir/b -hg log -vf dir/b - -echo '% log copies with --copies' -hg log -vC --template '{rev} {file_copies}\n' -echo '% log copies switch without --copies, with old filecopy template' -hg log -v --template '{rev} {file_copies_switch%filecopy}\n' -echo '% log copies switch with --copies' -hg log -vC --template '{rev} {file_copies_switch}\n' - -echo '% log copies with hardcoded style and with --style=default' -hg log -vC -r4 -hg log -vC -r4 --style=default - -echo % log copies, non-linear manifest -hg up -C 3 -hg mv dir/b e -echo foo > foo -hg ci -Ame2 -d '6 0' -hg log -v --template '{rev} {file_copies}\n' -r 5 - -echo % log copies, execute bit set -chmod +x e -hg ci -me3 -d '7 0' -hg log -v --template '{rev} {file_copies}\n' -r 6 - -echo '% log -p d' -hg log -pv d - -echo '% log --removed file' -hg log --removed -v a -echo '% log --removed revrange file' -hg log --removed -v -r0:2 a - -# log --follow tests -hg init ../follow -cd ../follow - -echo base > base -hg ci -Ambase -d '1 0' - -echo r1 >> base -hg ci -Amr1 -d '1 0' -echo r2 >> base -hg ci -Amr2 -d '1 0' - -hg up -C 1 -echo b1 > b1 -hg ci -Amb1 -d '1 0' - -echo % log -f -hg log -f - -hg up -C 0 -echo b2 > b2 -hg ci -Amb2 -d '1 0' - -echo % log -f -r 1:tip -hg log -f -r 1:tip - -hg up -C 3 -hg merge tip - -echo % log -r . with two parents -hg log -r . - -hg ci -mm12 -d '1 0' - -echo % log -r . with one parent -hg log -r . - -echo postm >> b1 -hg ci -Amb1.1 -d'1 0' - -echo % log --follow-first -hg log --follow-first - -echo % log -P 2 -hg log -P 2 - -echo '% log -r tip -p --git' -hg log -r tip -p --git - -echo '% log -r ""' -hg log -r '' - -echo '% log -r <some unknown node id>' -hg log -r 1000000000000000000000000000000000000000 - -echo '% log -k r1' -hg log -k r1 - -echo '% log -d -1' -hg log -d -1 - -echo '% log -p -l2 --color=always' -hg --config extensions.color= --config color.mode=ansi \ - log -p -l2 --color=always - -echo '% log -r tip --stat' -hg log -r tip --stat - -cd .. - -hg init usertest -cd usertest - -echo a > a -hg ci -A -m "a" -u "User One <user1@example.org>" -echo b > b -hg ci -A -m "b" -u "User Two <user2@example.org>" - -hg log -u "User One <user1@example.org>" -hg log -u "user1" -u "user2" -hg log -u "user3" - -cd .. - -hg init branches -cd branches - -echo a > a -hg ci -A -m "commit on default" -hg branch test -echo b > b -hg ci -A -m "commit on test" - -hg up default -echo c > c -hg ci -A -m "commit on default" -hg up test -echo c > c -hg ci -A -m "commit on test" - -echo '% log -b default' -hg log -b default - -echo '% log -b test' -hg log -b test - -echo '% log -b dummy' -hg log -b dummy - -echo '% log -b .' -hg log -b . - -echo '% log -b default -b test' -hg log -b default -b test - -echo '% log -b default -b .' -hg log -b default -b . - -echo '% log -b . -b test' -hg log -b . -b test - -echo '% log -b 2' -hg log -b 2 - -echo '% log -p --cwd dir (in subdir)' -mkdir dir -hg log -p --cwd dir - -echo '% log -p -R repo' -cd dir -hg log -p -R .. ../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" -echo 'foo' > init -hg ci -m "change, unrelated" -echo 'foo' > foo -hg ci -A -m "add unrelated old foo" -hg rm foo -hg ci -m "delete foo, unrelated" -echo 'related' > foo -hg ci -A -m "add foo, related" - -hg up 0 -touch branch -hg ci -A -m "first branch, unrelated" -touch foo -hg ci -A -m "create foo, related" -echo 'change' > foo -hg ci -m "change foo, related" - -hg up 6 -echo 'change foo in branch' > foo -hg ci -m "change foo in branch, related" -hg merge 7 -echo 'merge 1' > foo -hg resolve -m foo -hg ci -m "First merge, related" - -hg merge 4 -echo 'merge 2' > foo -hg resolve -m foo -hg ci -m "Last merge, related" - -hg --config "extensions.graphlog=" glog - -hg --traceback log -f foo - -exit 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-log.t Sun Aug 15 23:34:46 2010 +0900 @@ -0,0 +1,1018 @@ + $ hg init a + + $ cd a + $ echo a > a + $ hg ci -Ama -d '1 0' + adding a + + $ hg cp a b + $ hg ci -mb -d '2 0' + + $ mkdir dir + $ hg mv b dir + $ hg ci -mc -d '3 0' + + $ hg mv a b + $ 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:8580ff50825a + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: a + + +-f, directory + + $ hg log -f dir + abort: cannot follow nonexistent file: "dir" + +-f, but no args + + $ hg log -f + changeset: 4:66c1345dc4f9 + tag: tip + user: test + date: Thu Jan 01 00:00:05 1970 +0000 + summary: e + + changeset: 3:7c6c671bb7cc + user: test + date: Thu Jan 01 00:00:04 1970 +0000 + summary: d + + changeset: 2:41dd4284081e + user: test + date: Thu Jan 01 00:00:03 1970 +0000 + summary: c + + changeset: 1:784de7cef101 + user: test + date: Thu Jan 01 00:00:02 1970 +0000 + summary: b + + changeset: 0:8580ff50825a + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: a + + +one rename + + $ hg log -vf a + changeset: 0:8580ff50825a + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + files: a + description: + a + + + +many renames + + $ hg log -vf e + changeset: 4:66c1345dc4f9 + tag: tip + user: test + date: Thu Jan 01 00:00:05 1970 +0000 + files: dir/b e + description: + e + + + changeset: 2:41dd4284081e + user: test + date: Thu Jan 01 00:00:03 1970 +0000 + files: b dir/b + description: + c + + + changeset: 1:784de7cef101 + user: test + date: Thu Jan 01 00:00:02 1970 +0000 + files: b + description: + b + + + changeset: 0:8580ff50825a + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + files: a + description: + a + + + + +log -pf dir/b + + $ hg log -pf dir/b + changeset: 2:41dd4284081e + user: test + date: Thu Jan 01 00:00:03 1970 +0000 + summary: c + + diff -r 784de7cef101 -r 41dd4284081e 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:784de7cef101 + user: test + date: Thu Jan 01 00:00:02 1970 +0000 + summary: b + + diff -r 8580ff50825a -r 784de7cef101 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:8580ff50825a + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: a + + diff -r 000000000000 -r 8580ff50825a 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:41dd4284081e + user: test + date: Thu Jan 01 00:00:03 1970 +0000 + files: b dir/b + description: + c + + + changeset: 1:784de7cef101 + user: test + date: Thu Jan 01 00:00:02 1970 +0000 + files: b + description: + b + + + changeset: 0:8580ff50825a + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + files: a + description: + a + + + + +log copies with --copies + + $ hg log -vC --template '{rev} {file_copies}\n' + 4 e (dir/b) + 3 b (a) + 2 dir/b (b) + 1 b (a) + 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) + 2 dir/b (b) + 1 b (a) + 0 + + +log copies with hardcoded style and with --style=default + + $ hg log -vC -r4 + changeset: 4:66c1345dc4f9 + 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:66c1345dc4f9 + 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 + + $ chmod +x e + $ hg ci -me3 -d '7 0' + $ hg log -v --template '{rev} {file_copies}\n' -r 6 + 6 + + +log -p d + + $ hg log -pv d + changeset: 3:7c6c671bb7cc + user: test + date: Thu Jan 01 00:00:04 1970 +0000 + files: a b d + description: + d + + + diff -r 41dd4284081e -r 7c6c671bb7cc 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:7c6c671bb7cc + user: test + date: Thu Jan 01 00:00:04 1970 +0000 + files: a b d + description: + d + + + changeset: 0:8580ff50825a + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + files: a + description: + a + + + +log --removed revrange file + + $ hg log --removed -v -r0:2 a + changeset: 0:8580ff50825a + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + files: a + description: + a + + + + +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 + +log -r <some unknown node id> + + $ hg log -r 1000000000000000000000000000000000000000 + abort: unknown revision '1000000000000000000000000000000000000000'! + +log -k r1 + + $ hg log -k r1 + changeset: 1:3d5bf5654eda + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: r1 + + + +log -d -1 + + $ hg log -d -1 + + +log -p -l2 --color=always + + $ hg --config extensions.color= --config color.mode=ansi \ + > log -p -l2 --color=always + [0;33mchangeset: 6:2404bbcab562[0m + tag: tip + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: b1.1 + + [0;1mdiff -r 302e9dd6890d -r 2404bbcab562 b1[0m + [0;31;1m--- a/b1 Thu Jan 01 00:00:01 1970 +0000[0m + [0;32;1m+++ b/b1 Thu Jan 01 00:00:01 1970 +0000[0m + [0;35m@@ -1,1 +1,2 @@[0m + b1 + [0;32m+postm[0m + + [0;33mchangeset: 5:302e9dd6890d[0m + parent: 3:e62f78d544b4 + parent: 4:ddb82e70d1a1 + user: test + date: Thu Jan 01 00:00:01 1970 +0000 + summary: m12 + + [0;1mdiff -r e62f78d544b4 -r 302e9dd6890d b2[0m + [0;31;1m--- /dev/null Thu Jan 01 00:00:00 1970 +0000[0m + [0;32;1m+++ b/b2 Thu Jan 01 00:00:01 1970 +0000[0m + [0;35m@@ -0,0 +1,1 @@[0m + [0;32m+b2[0m + + + +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 .. + + $ 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 + $ 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'! + + +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 failed! + 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 + $ 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 failed! + 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 + $ echo 'merge 2' > foo + $ hg resolve -m foo + $ hg ci -m "Last merge, related" + + $ hg --config "extensions.graphlog=" glog + @ 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 + + + $ exit 0