Mercurial > hg-git
changeset 405:070f1cfdb80f
New tests for round-trip fidelity of merge conflicts resolved using one parent.
First one currently fails.
author | Christian Walther <cwalther@gmx.ch> |
---|---|
date | Sun, 22 May 2011 20:49:17 +0200 |
parents | 88779d8fe401 |
children | 50698ff64c41 |
files | tests/test-conflict-1 tests/test-conflict-1.out tests/test-conflict-2 tests/test-conflict-2.out |
diffstat | 4 files changed, 210 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-conflict-1 Sun May 22 20:49:17 2011 +0200 @@ -0,0 +1,63 @@ +#!/bin/sh + +# Fails for some reason, need to investigate +# "$TESTDIR/hghave" git || exit 80 + +# bail if the user does not have dulwich +python -c 'import dulwich, dulwich.repo' || exit 80 + +# bail early if the user is already running git-daemon +echo hi | nc localhost 9418 2>/dev/null && exit 80 + +echo "[extensions]" >> $HGRCPATH +echo "hggit=$(echo $(dirname $(dirname $0)))/hggit" >> $HGRCPATH +echo 'hgext.graphlog =' >> $HGRCPATH +echo 'hgext.bookmarks =' >> $HGRCPATH + +hg init hgrepo1 +cd hgrepo1 +echo A > afile +hg add afile +hg ci -m "origin" + +echo B > afile +hg ci -m "A->B" + +hg up -r0 +echo C > afile +hg ci -m "A->C" + +hg merge -r1 +# resolve using first parent +echo C > afile +hg resolve -m afile +hg ci -m "merge to C" + +hg log --graph --style compact | sed 's/\[.*\]//g' + +cd .. + +mkdir gitrepo +cd gitrepo +git init --bare | python -c "import sys; print sys.stdin.read().replace('$(dirname $(pwd))/', '')" + +# dulwich does not presently support local git repos, workaround +cd .. +git daemon --base-path="$(pwd)"\ + --listen=localhost\ + --export-all\ + --pid-file="$DAEMON_PIDS" \ + --detach --reuseaddr \ + --enable=receive-pack + +cd hgrepo1 +hg bookmark -r tip master +hg push -r master git://localhost/gitrepo +cd .. + +hg clone git://localhost/gitrepo hgrepo2 | grep -v '^updating' +cd hgrepo2 +echo % expect the same revision ids as above +hg log --graph --style compact | sed 's/\[.*\]//g' + +cd ..
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-conflict-1.out Sun May 22 20:49:17 2011 +0200 @@ -0,0 +1,42 @@ +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +created new head +merging afile +warning: conflicts during merge. +merging afile failed! +0 files updated, 0 files merged, 0 files removed, 1 files unresolved +use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon +@ 3:2,1 6c53bc0f062f 1970-01-01 00:00 +0000 test +|\ merge to C +| | +| o 2:0 ea82b67264a1 1970-01-01 00:00 +0000 test +| | A->C +| | +o | 1 7205e83b5a3f 1970-01-01 00:00 +0000 test +|/ A->B +| +o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test + origin + +Initialized empty Git repository in gitrepo/ + +pushing to git://localhost/gitrepo +exporting hg objects to git +creating and sending data +Counting objects: 10, done. +Compressing objects: 25% (1/4) Compressing objects: 50% (2/4) Compressing objects: 75% (3/4) Compressing objects: 100% (4/4) Compressing objects: 100% (4/4), done. +Total 10 (delta 0), reused 0 (delta 0) +importing git objects into hg +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +% expect the same revision ids as above +@ 3:1,2 6c53bc0f062f 1970-01-01 00:00 +0000 test +|\ merge to C +| | +| o 2:0 7205e83b5a3f 1970-01-01 00:00 +0000 test +| | A->B +| | +o | 1 ea82b67264a1 1970-01-01 00:00 +0000 test +|/ A->C +| +o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test + origin +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-conflict-2 Sun May 22 20:49:17 2011 +0200 @@ -0,0 +1,63 @@ +#!/bin/sh + +# Fails for some reason, need to investigate +# "$TESTDIR/hghave" git || exit 80 + +# bail if the user does not have dulwich +python -c 'import dulwich, dulwich.repo' || exit 80 + +# bail early if the user is already running git-daemon +echo hi | nc localhost 9418 2>/dev/null && exit 80 + +echo "[extensions]" >> $HGRCPATH +echo "hggit=$(echo $(dirname $(dirname $0)))/hggit" >> $HGRCPATH +echo 'hgext.graphlog =' >> $HGRCPATH +echo 'hgext.bookmarks =' >> $HGRCPATH + +hg init hgrepo1 +cd hgrepo1 +echo A > afile +hg add afile +hg ci -m "origin" + +echo B > afile +hg ci -m "A->B" + +hg up -r0 +echo C > afile +hg ci -m "A->C" + +hg merge -r1 +# resolve using second parent +echo B > afile +hg resolve -m afile +hg ci -m "merge to B" + +hg log --graph --style compact | sed 's/\[.*\]//g' + +cd .. + +mkdir gitrepo +cd gitrepo +git init --bare | python -c "import sys; print sys.stdin.read().replace('$(dirname $(pwd))/', '')" + +# dulwich does not presently support local git repos, workaround +cd .. +git daemon --base-path="$(pwd)"\ + --listen=localhost\ + --export-all\ + --pid-file="$DAEMON_PIDS" \ + --detach --reuseaddr \ + --enable=receive-pack + +cd hgrepo1 +hg bookmark -r tip master +hg push -r master git://localhost/gitrepo +cd .. + +hg clone git://localhost/gitrepo hgrepo2 | grep -v '^updating' +cd hgrepo2 +echo % expect the same revision ids as above +hg log --graph --style compact | sed 's/\[.*\]//g' + +cd ..
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-conflict-2.out Sun May 22 20:49:17 2011 +0200 @@ -0,0 +1,42 @@ +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +created new head +merging afile +warning: conflicts during merge. +merging afile failed! +0 files updated, 0 files merged, 0 files removed, 1 files unresolved +use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon +@ 3:2,1 120385945d08 1970-01-01 00:00 +0000 test +|\ merge to B +| | +| o 2:0 ea82b67264a1 1970-01-01 00:00 +0000 test +| | A->C +| | +o | 1 7205e83b5a3f 1970-01-01 00:00 +0000 test +|/ A->B +| +o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test + origin + +Initialized empty Git repository in gitrepo/ + +pushing to git://localhost/gitrepo +exporting hg objects to git +creating and sending data +Counting objects: 10, done. +Compressing objects: 25% (1/4) Compressing objects: 50% (2/4) Compressing objects: 75% (3/4) Compressing objects: 100% (4/4) Compressing objects: 100% (4/4), done. +Total 10 (delta 0), reused 0 (delta 0) +importing git objects into hg +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +% expect the same revision ids as above +@ 3:1,2 120385945d08 1970-01-01 00:00 +0000 test +|\ merge to B +| | +| o 2:0 7205e83b5a3f 1970-01-01 00:00 +0000 test +| | A->B +| | +o | 1 ea82b67264a1 1970-01-01 00:00 +0000 test +|/ A->C +| +o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test + origin +