#!/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" echo C > afile hg ci -m "B->C" hg up -r0 echo C > afile hg ci -m "A->C" hg merge -r2 hg ci -m "merge" 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 -r4 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 ..