Mercurial > hg
view tests/test-issue660.t @ 49764:e300f445ca77
delta-find: add a test checking various simple behavior
There are enough work happening in this area that it is worth having a dedicated
test for it. So far we add to small test checking that the "best" parent is
picked as the delta base and that this behavior can be controlled during commit
and unbundle.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 05 Dec 2022 03:23:46 +0100 |
parents | 524819ab6fde |
children |
line wrap: on
line source
#testcases dirstate-v1 dirstate-v2 #if dirstate-v2 $ cat >> $HGRCPATH << EOF > [format] > use-dirstate-v2=1 > [storage] > dirstate-v2.slow-path=allow > EOF #endif https://bz.mercurial-scm.org/660 and: https://bz.mercurial-scm.org/322 $ hg init repo $ cd repo $ echo a > a $ mkdir b $ echo b > b/b $ hg commit -A -m "a is file, b is dir" adding a adding b/b File replaced with directory: $ rm a $ mkdir a $ echo a > a/a Should fail - would corrupt dirstate: $ hg add a/a abort: file 'a' in dirstate clashes with 'a/a' [255] Removing shadow: $ hg rm --after a Should succeed - shadow removed: $ hg add a/a Directory replaced with file: $ rm -r b $ echo b > b Should fail - would corrupt dirstate: $ hg add b abort: directory 'b' already in dirstate [255] Removing shadow: $ hg rm --after b/b Should succeed - shadow removed: $ hg add b Look what we got: $ hg st A a/a A b R a R b/b Revert reintroducing shadow - should fail: $ rm -r a b $ hg revert b/b abort: file 'b' in dirstate clashes with 'b/b' [255] Revert all - should succeed: $ hg revert --all forgetting a/a forgetting b undeleting a undeleting b/b $ hg st Issue3423: $ hg forget a $ echo zed > a $ hg revert a $ hg st ? a.orig $ rm a.orig addremove: $ rm -r a b $ mkdir a $ echo a > a/a $ echo b > b $ hg addremove -s 0 removing a adding a/a adding b removing b/b $ hg st A a/a A b R a R b/b commit: $ hg ci -A -m "a is dir, b is file" $ hg st --all C a/a C b Long directory replaced with file: $ mkdir d $ mkdir d/d $ echo d > d/d/d $ hg commit -A -m "d is long directory" adding d/d/d $ rm -r d $ echo d > d Should fail - would corrupt dirstate: $ hg add d abort: directory 'd' already in dirstate [255] Removing shadow: $ hg rm --after d/d/d Should succeed - shadow removed: $ hg add d $ hg ci -md Update should work at least with clean working directory: $ rm -r a b d $ hg up -r 0 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg st --all C a C b/b $ rm -r a b $ hg up -r 1 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg st --all C a/a C b