Patchwork D773: tests: add a test demonstrating basic path conflict failures

login
register
mail settings
Submitter phabricator
Date Oct. 1, 2017, 9:32 a.m.
Message ID <dc5e6698d50864c8059e4eb4d5d22dce@localhost.localdomain>
Download mbox | patch
Permalink /patch/24281/
State Not Applicable
Headers show

Comments

phabricator - Oct. 1, 2017, 9:32 a.m.
mbthomas updated this revision to Diff 2209.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D773?vs=1991&id=2209

REVISION DETAIL
  https://phab.mercurial-scm.org/D773

AFFECTED FILES
  tests/test-pathconflicts-basic.t

CHANGE DETAILS




To: mbthomas, #hg-reviewers, indygreg
Cc: mercurial-devel

Patch

diff --git a/tests/test-pathconflicts-basic.t b/tests/test-pathconflicts-basic.t
new file mode 100644
--- /dev/null
+++ b/tests/test-pathconflicts-basic.t
@@ -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
+