changeset 34544:34c8080d12ac

tests: add a test demonstrating basic path conflict failures Differential Revision: https://phab.mercurial-scm.org/D773
author Mark Thomas <mbthomas@fb.com>
date Mon, 02 Oct 2017 14:05:30 -0700
parents 6fad8059a970
children 1913162854f2
files tests/test-pathconflicts-basic.t
diffstat 1 files changed, 81 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-pathconflicts-basic.t	Mon Oct 02 14:05:30 2017 -0700
@@ -0,0 +1,81 @@
+  $ hg init repo
+  $ cd repo
+  $ echo base > base
+  $ hg add base
+  $ hg commit -m "base"
+  $ hg bookmark -i base
+  $ echo 1 > a
+  $ hg add a
+  $ hg commit -m "file"
+  $ hg bookmark -i file
+  $ echo 2 > a
+  $ hg commit -m "file2"
+  $ hg bookmark -i file2
+  $ hg up -q 0
+  $ mkdir a
+  $ echo 2 > a/b
+  $ hg add a/b
+  $ hg commit -m "dir"
+  created new head
+  $ hg bookmark -i dir
+
+Basic merge - local file conflicts with remote directory
+
+  $ hg up -q file
+  $ hg bookmark -i
+  $ hg merge --verbose dir
+  resolving manifests
+  getting a/b
+  abort: *: '$TESTTMP/repo/a/b' (glob)
+  [255]
+  $ hg update --clean .
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+Basic update - local directory conflicts with remote file
+
+  $ hg up -q 0
+  $ mkdir a
+  $ echo 3 > a/b
+  $ hg up file
+  abort: *: '$TESTTMP/repo/a' (glob)
+  [255]
+  $ hg up --clean file
+  abort: *: '$TESTTMP/repo/a' (glob)
+  [255]
+
+Repo is in a very bad state now - recover manually
+
+  $ rm -r a
+  $ hg up -q --clean 0
+
+Basic update - untracked file conflicts with remote directory
+
+  $ hg up -q 0
+  $ echo untracked > a
+  $ hg up --config merge.checkunknown=warn dir
+  abort: *: '$TESTTMP/repo/a/b' (glob)
+  [255]
+
+Repo is in a very bad state now - recover manually
+
+  $ rm -f a
+  $ hg up -q --clean 0
+
+Basic clean update - local directory conflicts with changed remote file
+
+  $ hg up -q file
+  $ rm a
+  $ mkdir a
+  $ echo 4 > a/b
+  $ hg up file2
+  abort: *: '$TESTTMP/repo/a' (glob)
+  [255]
+  $ hg up --clean file2
+  abort: *: '$TESTTMP/repo/a' (glob)
+  [255]
+
+Repo is in a very bad state now - recover manually
+
+  $ rm -r a
+  $ hg up -q --clean 0
+