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
+