Mercurial > hg
view tests/test-merge-local @ 7585:075b7ef0f84d
convert/gnuarch: follow continuation-of revisions
Built on top of previous patches:
- continuation-of parsing
- registered archives retrieval
- use of fully qualified revisions
This allows the converter scanning for more source revisions
following the tree versions 'leaked' through the continuation-of
informations. Coupled with the registered archives retrieval, this
makes possible to decide to follow such a hint or stop scanning for
more revisions.
This also implies some changes in the retrieval of some base-0
revisions when they're continuation-of other revisions, in that
case a 'replay' will work where a simple 'get' fails because the
dir exists already. I found the code dealing with 'replay' quite
good as it has already a fallback to 'get' in the error path.
author | Edouard Gomez <ed.gomez@free.fr> |
---|---|
date | Sun, 04 Jan 2009 02:36:48 +0100 |
parents | 46280c004f22 |
children | 4c94b6d0fb1c |
line wrap: on
line source
#!/bin/sh hg init echo "# revision 0" echo "unchanged" > unchanged echo "remove me" > remove echo "copy me" > copy echo "move me" > move for i in 1 2 3 4 5 6 7 8 9; do echo "merge ok $i" >> zzz1_merge_ok done echo "merge bad" > zzz2_merge_bad hg ci -Am "revision 0" -d "1000000 0" echo "# revision 1" hg rm remove hg mv move moved hg cp copy copied echo "added" > added hg add added echo "new first line" > zzz1_merge_ok hg cat zzz1_merge_ok >> zzz1_merge_ok echo "new last line" >> zzz2_merge_bad hg ci -m "revision 1" -d "1000000 0" echo "# local changes to revision 0" hg co 0 echo "new last line" >> zzz1_merge_ok echo "another last line" >> zzz2_merge_bad hg diff --nodates | grep "^[+-][^<>]" hg st echo "# local merge with bad merge tool" HGMERGE=false hg co hg co 0 hg diff --nodates | grep "^[+-][^<>]" hg st echo "# local merge with conflicts" hg co hg co 0 hg diff --nodates | grep "^[+-][^<>]" hg st echo "# local merge without conflicts" hg revert zzz2_merge_bad hg co hg diff --nodates | grep "^[+-][^<>]" hg st