view tests/test-pathconflicts-update.t @ 41793:2e92624c3613 stable

test: update test-sparse-revlog.t output This test is skipped unless a large artefact is pre-build. It seems like nobody ran it in a while. Changeset 3764330f76a6 changed the expected output but nobody noticed. This changeset focus on the first and simpler step: putting the expected output back to what one would get by running this test. However this test changes highlight a couple of deeper issues: 1) Even if the revision content did not changed, a change in the delta contained in the bundle affected the delta stored in the final revlog, changing the test result. Since we are testing the delta computation strategy with sparse, we should not blindly reuse the delta-base from the bundled delta. 2) A change in the format of the repository used to generate the bundle changed the delta stored in the bundle. We should get a more stable output to avoid future instabilities of this test. 3) The test is it not run by CI or developer. We'll try to address all this issues in the coming changesets.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sun, 24 Feb 2019 19:56:57 +0100
parents 2a774cae3a03
children 527ce85c2e60
line wrap: on
line source

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

  $ 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
#if symlink
  $ ln -s c a/b
#else
  $ touch a/b
#endif
  $ 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
#if symlink
  $ ln -s x a/b
#else
  $ touch a/b
#endif
  $ 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)
#if symlink
  $ readlink.py a/b.orig
  a/b.orig -> x
#endif
  $ 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)
#if symlink
  $ readlink.py a/b
  a/b -> c
#endif
  $ 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)