##// END OF EJS Templates
errors: introduce StateError and use it from commands and cmdutil...
errors: introduce StateError and use it from commands and cmdutil This very similar to an earlier patch (which was for `InputError`). In this patch, I also updated the transplant extension only because `test-transplant.t` would otherwise have needed a `#if continueflag`. Differential Revision: https://phab.mercurial-scm.org/D9310

File last commit:

r46444:527ce85c default
r46444:527ce85c default
Show More
test-pathconflicts-update.t
160 lines | 3.9 KiB | text/troff | Tads3Lexer
/ tests / test-pathconflicts-update.t
Siddharth Agarwal
merge: disable path conflict checking by default (issue5716)...
r34943 Path conflict checking is currently disabled by default because of issue5716.
Turn it on for this test.
$ cat >> $HGRCPATH << EOF
> [experimental]
> merge.checkpathconflicts=True
> EOF
Mark Thomas
tests: add test for path conflicts during update...
r34558 $ hg init repo
$ cd repo
$ echo base > base
$ hg add base
$ hg commit -m "base"
$ hg bookmark -i base
$ mkdir a
$ echo 1 > a/b
$ hg add a/b
$ hg commit -m "file"
$ hg bookmark -i file
$ echo 2 > a/b
$ hg commit -m "file2"
$ hg bookmark -i file2
$ hg up 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mkdir a
Matt Harbison
test-conflicts: conditionalize for no-symlink platforms...
r34692 #if symlink
Mark Thomas
tests: add test for path conflicts during update...
r34558 $ ln -s c a/b
Matt Harbison
test-conflicts: conditionalize for no-symlink platforms...
r34692 #else
$ touch a/b
#endif
Mark Thomas
tests: add test for path conflicts during update...
r34558 $ hg add a/b
$ hg commit -m "link"
created new head
$ hg bookmark -i link
$ hg up 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mkdir -p a/b/c
$ echo 2 > a/b/c/d
$ hg add a/b/c/d
$ hg commit -m "dir"
created new head
$ hg bookmark -i dir
Update - local file conflicts with remote directory:
$ hg up -q 0
$ mkdir a
$ echo 9 > a/b
$ hg up dir
a/b: untracked file conflicts with directory
abort: untracked files in working directory differ from files in requested revision
[255]
$ hg up dir --config merge.checkunknown=warn
a/b: replacing untracked file
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark dir)
$ cat a/b.orig
9
$ rm a/b.orig
Update - local symlink conflicts with remote directory:
$ hg up -q 0
$ mkdir a
Matt Harbison
test-conflicts: conditionalize for no-symlink platforms...
r34692 #if symlink
Mark Thomas
tests: add test for path conflicts during update...
r34558 $ ln -s x a/b
Matt Harbison
test-conflicts: conditionalize for no-symlink platforms...
r34692 #else
$ touch a/b
#endif
Mark Thomas
tests: add test for path conflicts during update...
r34558 $ hg up dir
a/b: untracked file conflicts with directory
abort: untracked files in working directory differ from files in requested revision
[255]
$ hg up dir --config merge.checkunknown=warn
a/b: replacing untracked file
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark dir)
Matt Harbison
test-conflicts: conditionalize for no-symlink platforms...
r34692 #if symlink
Augie Fackler
tests: use readlink.py instead of readlink...
r34573 $ readlink.py a/b.orig
a/b.orig -> x
Matt Harbison
test-conflicts: conditionalize for no-symlink platforms...
r34692 #endif
Mark Thomas
tests: add test for path conflicts during update...
r34558 $ rm a/b.orig
Update - local directory conflicts with remote file
$ hg up -q 0
$ mkdir -p a/b/c
$ echo 9 > a/b/c/d
$ hg up file
a/b: untracked directory conflicts with file
abort: untracked files in working directory differ from files in requested revision
[255]
$ hg up file --config merge.checkunknown=warn
a/b: replacing untracked files in directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark file)
$ cat a/b
1
$ test -d a/b.orig
$ rm -rf a/b.orig
Update - local directory conflicts with remote symlink
$ hg up -q 0
$ mkdir -p a/b/c
$ echo 9 > a/b/c/d
$ hg up link
a/b: untracked directory conflicts with file
abort: untracked files in working directory differ from files in requested revision
[255]
$ hg up link --config merge.checkunknown=warn
a/b: replacing untracked files in directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark link)
Matt Harbison
test-conflicts: conditionalize for no-symlink platforms...
r34692 #if symlink
Augie Fackler
tests: use readlink.py instead of readlink...
r34573 $ readlink.py a/b
a/b -> c
Matt Harbison
test-conflicts: conditionalize for no-symlink platforms...
r34692 #endif
Mark Thomas
tests: add test for path conflicts during update...
r34558 $ test -d a/b.orig
$ rm -rf a/b.orig
Update - local renamed file conflicts with remote directory
$ hg up -q 0
$ hg mv base a
$ hg status -C
A a
base
R base
$ hg up --check dir
abort: uncommitted changes
Martin von Zweigbergk
errors: introduce StateError and use it from commands and cmdutil...
r46444 [20]
Mark Thomas
tests: add test for path conflicts during update...
r34558 $ hg up dir
a: path conflict - a file or link has the same name as a directory
the local file has been renamed to a~d20a80d4def3
resolve manually then use 'hg resolve --mark a'
1 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges
(activating bookmark dir)
[1]
$ hg status -C
A a~d20a80d4def3
base
R base
$ hg resolve --list
P a
$ hg up --clean -q 0
Update clean - local directory conflicts with changed remote file
$ hg up -q file
$ rm a/b
$ mkdir a/b
$ echo 9 > a/b/c
$ hg up file2 --check --config merge.checkunknown=warn
abort: uncommitted changes
Martin von Zweigbergk
errors: introduce StateError and use it from commands and cmdutil...
r46444 [20]
Mark Thomas
tests: add test for path conflicts during update...
r34558 $ hg up file2 --clean
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark file2)