diff options
Diffstat (limited to 'tests/test-copy2.t')
-rw-r--r-- | tests/test-copy2.t | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/tests/test-copy2.t b/tests/test-copy2.t new file mode 100644 index 0000000..6c0aa8a --- /dev/null +++ b/tests/test-copy2.t @@ -0,0 +1,109 @@ + $ 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 |