tests/test-merge7
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Fri, 08 Jun 2007 23:49:12 -0300
changeset 4525 78b6add1f966
parent 4385 93a4e72b4f83
permissions -rwxr-xr-x
Add dirstate.pathto and localrepo.pathto. Every time util.pathto is called, we have to pass the repo root and the repo cwd. dirstate.pathto is a simple convenience function that knows about the root and the cwd arguments. It's still possible to pass the cwd as an optimization. localrepo.pathto is a convenience function that just calls dirstate.pathto, just like localrepo.getcwd. dirstate.pathto becomes a single point that converts most (all?) paths from the internal representation to some OS-specific relative path for display purposes.

#!/bin/sh

# initial
hg init test-a
cd test-a
cat >test.txt <<"EOF"
1
2
3
EOF
hg add test.txt
hg commit -m "Initial" -d "1000000 0"

# clone
cd ..
hg clone test-a test-b

# change test-a
cd test-a
cat >test.txt <<"EOF"
one
two
three
EOF
hg commit -m "Numbers as words" -d "1000000 0"

# change test-b
cd ../test-b
cat >test.txt <<"EOF"
1
2.5
3
EOF
hg commit -m "2 -> 2.5" -d "1000000 0"

# now pull and merge from test-a
hg pull ../test-a
hg merge
# resolve conflict
cat >test.txt <<"EOF"
one
two-point-five
three
EOF
rm -f *.orig
hg commit -m "Merge 1" -d "1000000 0"

# change test-a again
cd ../test-a
cat >test.txt <<"EOF"
one
two-point-one
three
EOF
hg commit -m "two -> two-point-one" -d "1000000 0"

# pull and merge from test-a again
cd ../test-b
hg pull ../test-a
hg merge --debug

cat test.txt

hg debugindex .hg/store/data/test.txt.i

hg log