view tests/test-merge9 @ 10189:e451e599fbcf

patch: support diff data loss detection and upgrade In worst case, generating diff in upgrade mode can be two times more expensive than generating it in git mode directly: we may have to regenerate the whole diff again whenever a git feature is detected. Also, the first diff attempt is completely buffered instead of being streamed. That said, even without having profiled it yet, I am convinced we can fast-path the upgrade mode if necessary were it to be used in regular diff commands, and not only in mq where avoiding data loss is worth the price.
author Patrick Mezard <pmezard@gmail.com>
date Fri, 01 Jan 2010 20:54:05 +0100
parents 6c82beaaa11a
children
line wrap: on
line source

#!/bin/sh

# test that we don't interrupt the merge session if
# a file-level merge failed

hg init repo
cd repo

echo foo > foo
echo a > bar
hg ci -Am 'add foo'

hg mv foo baz
echo b >> bar
echo quux > quux1
hg ci -Am 'mv foo baz'

hg up -qC 0
echo >> foo
echo c >> bar
echo quux > quux2
hg ci -Am 'change foo'

# test with the rename on the remote side
HGMERGE=false hg merge
hg resolve -l

# test with the rename on the local side
hg up -C 1
HGMERGE=false hg merge

echo % show unresolved
hg resolve -l

echo % unmark baz
hg resolve -u baz

echo % show
hg resolve -l
hg st

echo % re-resolve baz
hg resolve baz

echo % after
hg resolve -l

echo % resolve all warning
hg resolve

echo % resolve all
hg resolve -a

echo % after
hg resolve -l

true