Mercurial > hg-stable
view tests/test-pathconflicts-basic.t @ 34548:b4955650eb57
merge: add merge action 'pr' to rename files during update
Add a new merge action to handle a path conflict by renaming the conflicting
file to a safe name.
The rename is just to avoid problems on the filesystem. The conflict is still
considered unresolved until the user marks the original path as resolved.
Differential Revision: https://phab.mercurial-scm.org/D777
author | Mark Thomas <mbthomas@fb.com> |
---|---|
date | Mon, 02 Oct 2017 14:05:30 -0700 |
parents | 34c8080d12ac |
children | 33c8a6837181 |
line wrap: on
line source
$ 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