--- a/tests/test-copy.t Sun Jun 03 17:49:04 2012 +0200
+++ b/tests/test-copy.t Mon Jun 04 21:09:54 2012 +0200
@@ -1,3 +1,7 @@
+
+ $ mkdir part1
+ $ cd part1
+
$ hg init
$ echo a > a
$ hg add a
@@ -92,3 +96,119 @@
crosschecking files in changesets and manifests
checking files
2 files, 2 changesets, 2 total revisions
+
+ $ cd ..
+
+
+ $ mkdir part2
+ $ cd part2
+
+ $ hg init
+ $ echo foo > foo
+should fail - foo is not managed
+ $ hg mv foo bar
+ foo: not copying - file is not managed
+ abort: no files to copy
+ [255]
+ $ hg st -A
+ ? foo
+ $ hg add foo
+dry-run; print a warning that this is not a real copy; foo is added
+ $ hg mv --dry-run foo bar
+ foo has not been committed yet, so no copy data will be stored for bar.
+ $ hg st -A
+ A foo
+should print a warning that this is not a real copy; bar is added
+ $ hg mv foo bar
+ foo has not been committed yet, so no copy data will be stored for bar.
+ $ hg st -A
+ A bar
+should print a warning that this is not a real copy; foo is added
+ $ hg cp bar foo
+ bar has not been committed yet, so no copy data will be stored for foo.
+ $ hg rm -f bar
+ $ rm bar
+ $ hg st -A
+ A foo
+ $ hg commit -m1
+
+moving a missing file
+ $ rm foo
+ $ hg mv foo foo3
+ foo: deleted in working copy
+ foo3 does not exist!
+ $ hg up -qC .
+
+copy --after to a nonexistant target filename
+ $ hg cp -A foo dummy
+ foo: not recording copy - dummy does not exist
+
+dry-run; should show that foo is clean
+ $ hg copy --dry-run foo bar
+ $ hg st -A
+ C foo
+should show copy
+ $ hg copy foo bar
+ $ hg st -C
+ A bar
+ foo
+
+shouldn't show copy
+ $ hg commit -m2
+ $ hg st -C
+
+should match
+ $ hg debugindex foo
+ rev offset length base linkrev nodeid p1 p2
+ 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000
+ $ hg debugrename bar
+ bar renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd
+
+ $ echo bleah > foo
+ $ echo quux > bar
+ $ hg commit -m3
+
+should not be renamed
+ $ hg debugrename bar
+ bar not renamed
+
+ $ hg copy -f foo bar
+should show copy
+ $ hg st -C
+ M bar
+ foo
+ $ hg commit -m3
+
+should show no parents for tip
+ $ hg debugindex bar
+ rev offset length base linkrev nodeid p1 p2
+ 0 0 69 0 1 7711d36246cc 000000000000 000000000000
+ 1 69 6 1 2 bdf70a2b8d03 7711d36246cc 000000000000
+ 2 75 81 1 3 b2558327ea8d 000000000000 000000000000
+should match
+ $ hg debugindex foo
+ rev offset length base linkrev nodeid p1 p2
+ 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000
+ 1 5 7 1 2 dd12c926cf16 2ed2a3912a0b 000000000000
+ $ hg debugrename bar
+ bar renamed from foo:dd12c926cf165e3eb4cf87b084955cb617221c17
+
+should show no copies
+ $ hg st -C
+
+copy --after on an added file
+ $ cp bar baz
+ $ hg add baz
+ $ hg cp -A bar baz
+ $ hg st -C
+ A baz
+ bar
+
+foo was clean:
+ $ hg st -AC foo
+ C foo
+but it's considered modified after a copy --after --force
+ $ hg copy -Af bar foo
+ $ hg st -AC foo
+ M foo
+ bar
--- a/tests/test-copy2.t Sun Jun 03 17:49:04 2012 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
- $ hg init
- $ echo foo > foo
-should fail - foo is not managed
- $ hg mv foo bar
- foo: not copying - file is not managed
- abort: no files to copy
- [255]
- $ hg st -A
- ? foo
- $ hg add foo
-dry-run; print a warning that this is not a real copy; foo is added
- $ hg mv --dry-run foo bar
- foo has not been committed yet, so no copy data will be stored for bar.
- $ hg st -A
- A foo
-should print a warning that this is not a real copy; bar is added
- $ hg mv foo bar
- foo has not been committed yet, so no copy data will be stored for bar.
- $ hg st -A
- A bar
-should print a warning that this is not a real copy; foo is added
- $ hg cp bar foo
- bar has not been committed yet, so no copy data will be stored for foo.
- $ hg rm -f bar
- $ rm bar
- $ hg st -A
- A foo
- $ hg commit -m1
-
-moving a missing file
- $ rm foo
- $ hg mv foo foo3
- foo: deleted in working copy
- foo3 does not exist!
- $ hg up -qC .
-
-copy --after to a nonexistant target filename
- $ hg cp -A foo dummy
- foo: not recording copy - dummy does not exist
-
-dry-run; should show that foo is clean
- $ hg copy --dry-run foo bar
- $ hg st -A
- C foo
-should show copy
- $ hg copy foo bar
- $ hg st -C
- A bar
- foo
-
-shouldn't show copy
- $ hg commit -m2
- $ hg st -C
-
-should match
- $ hg debugindex foo
- rev offset length base linkrev nodeid p1 p2
- 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000
- $ hg debugrename bar
- bar renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd
-
- $ echo bleah > foo
- $ echo quux > bar
- $ hg commit -m3
-
-should not be renamed
- $ hg debugrename bar
- bar not renamed
-
- $ hg copy -f foo bar
-should show copy
- $ hg st -C
- M bar
- foo
- $ hg commit -m3
-
-should show no parents for tip
- $ hg debugindex bar
- rev offset length base linkrev nodeid p1 p2
- 0 0 69 0 1 7711d36246cc 000000000000 000000000000
- 1 69 6 1 2 bdf70a2b8d03 7711d36246cc 000000000000
- 2 75 81 1 3 b2558327ea8d 000000000000 000000000000
-should match
- $ hg debugindex foo
- rev offset length base linkrev nodeid p1 p2
- 0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000
- 1 5 7 1 2 dd12c926cf16 2ed2a3912a0b 000000000000
- $ hg debugrename bar
- bar renamed from foo:dd12c926cf165e3eb4cf87b084955cb617221c17
-
-should show no copies
- $ hg st -C
-
-copy --after on an added file
- $ cp bar baz
- $ hg add baz
- $ hg cp -A bar baz
- $ hg st -C
- A baz
- bar
-
-foo was clean:
- $ hg st -AC foo
- C foo
-but it's considered modified after a copy --after --force
- $ hg copy -Af bar foo
- $ hg st -AC foo
- M foo
- bar