Mercurial > hg
view tests/test-pathconflicts-update.t @ 34558:f71c712ebdec
tests: add test for path conflicts during merge
Differential Revision: https://phab.mercurial-scm.org/D787
author | Mark Thomas <mbthomas@fb.com> |
---|---|
date | Mon, 02 Oct 2017 14:05:30 -0700 |
parents | 3b9428f4403d |
children | d6d10771950c |
line wrap: on
line source
$ 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 $ ln -s c a/b $ 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 $ ln -s x 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) $ readlink a/b.orig x $ 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) $ readlink a/b c $ 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 [255] $ 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 [255] $ hg up file2 --clean 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (activating bookmark file2)