Mercurial > public > mercurial-scm > hg-stable
diff tests/test-issue660.t @ 12195:ee41be2bbf5a
tests: unify test-issue*
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Fri, 03 Sep 2010 23:34:37 +0200 |
parents | tests/test-issue660@4484a7b661f2 |
children | 4134686b83e1 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-issue660.t Fri Sep 03 23:34:37 2010 +0200 @@ -0,0 +1,140 @@ +# http://mercurial.selenic.com/bts/issue660 + + $ hg init + $ 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' + +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 + +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' + +Revert all - should succeed: + + $ hg revert --all + undeleting a + forgetting a/a + forgetting b + undeleting b/b + + $ hg st + +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 + +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 +