tests/test-double-merge
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
Thu, 10 Jun 2010 11:49:48 +0200
changeset 11337 0f3c8a47960e
parent 8834 6d36fc70754e
permissions -rwxr-xr-x
debugbuilddag: build a changelog dag from a concise description Useful in tests to quickly build a complex DAG in an empty repo. Handles local tags and named branches. Options to, at each rev, - create a new file, - overwrite the same file, - append to the same file, - write to a specific line in a mergeable file. Can run shell commands during DAG buildup.

#!/bin/sh

hg init repo
cd repo

echo line 1 > foo
hg ci -qAm 'add foo' -d "1000000 0"

# copy foo to bar and change both files
hg cp foo bar
echo line 2-1 >> foo
echo line 2-2 >> bar
hg ci -m 'cp foo bar; change both' -d "1000000 0"

# in another branch, change foo in a way that doesn't conflict with
# the other changes
hg up -qC 0
echo line 0 > foo
hg cat foo >> foo
hg ci -m 'change foo' -d "1000000 0"

# we get conflicts that shouldn't be there
hg merge -P
hg merge --debug

echo "-- foo --"
cat foo

echo "-- bar --"
cat bar