Mercurial > hg-stable
view tests/test-copy2.t @ 12788:de793925862e
merge: implement --tool arguments using new ui.forcemerge configurable
ui.forcemerge is set before calling into merge or resolve commands, then unset
to prevent ui pollution for further operations.
ui.forcemerge takes precedence over HGMERGE, but mimics HGMERGE behavior if the
given --tool is not found by the merge-tools machinery. This makes it possible
to do: hg resolve --tool="python mymerge.py" FILE
With this approach, HGMERGE and ui.merge are not harmed by --tool
author | Steve Borho <steve@borho.org> |
---|---|
date | Tue, 19 Oct 2010 22:33:52 -0500 |
parents | 92e30e135581 |
children | ec5886db9dc6 |
line wrap: on
line source
$ 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 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 .hg/store/data/foo.i 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 .hg/store/data/bar.i 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 .hg/store/data/foo.i 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