Mercurial > hg
view tests/test-convert-darcs @ 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 | 14ed6662af48 |
children | 5b7da468531b |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" darcs || exit 80 if darcs --version 2>&1 | grep '^2\.' > /dev/null; then # FIXME: darcs 2 will fail with ### Abort: timeout after 180 seconds. echo 'skipped: test currently disabled for darcs 2' exit 80 fi echo "[extensions]" >> $HGRCPATH echo "convert=" >> $HGRCPATH echo 'hgext.graphlog =' >> $HGRCPATH DARCS_EMAIL='test@example.org'; export DARCS_EMAIL HOME=do_not_use_HOME_darcs; export HOME # skip if we can't import elementtree mkdir dummy mkdir dummy/_darcs if hg convert dummy 2>&1 | grep ElementTree > /dev/null; then echo 'skipped: missing feature: elementtree module' exit 80 fi echo % initialize darcs repo mkdir darcs-repo cd darcs-repo darcs init echo a > a darcs record -a -l -m p0 cd .. echo % branch and update darcs get darcs-repo darcs-clone >/dev/null cd darcs-clone echo c >> a echo c > c darcs record -a -l -m p1.1 cd .. echo % update source cd darcs-repo echo b >> a echo b > b darcs record -a -l -m p1.2 echo % merge branch darcs pull -a ../darcs-clone echo e > a darcs record -a -l -m p2 cd .. glog() { hg glog --template '#rev# "#desc|firstline#" files: #files#\n' "$@" } hg convert darcs-repo darcs-repo-hg 2>&1 | grep -v hGetLine | grep -v '^$' # The converter does not currently handle patch conflicts very well. # When they occur, it reverts *all* changes and moves forward, # letting the conflict resolving patch fix collisions. # Unfortunately, non-conflicting changes, like the addition of the # "c" file in p1.1 patch are reverted too. # Just to say that manifest not listing "c" here is a bug. glog -R darcs-repo-hg hg up -q -R darcs-repo-hg hg -R darcs-repo-hg manifest --debug