diff options
author | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-08-22 14:49:51 +0100 |
---|---|---|
committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-08-22 14:49:51 +0100 |
commit | a498da43c7fdb9f24b73680c02a4a3588cc62d9a (patch) | |
tree | daf8119dae1749b5165b68033a1b23a7375ce9ce /tests/test-convert-tagsbranch-topology.t | |
download | mercurial-tarball-a498da43c7fdb9f24b73680c02a4a3588cc62d9a.tar.gz |
Tarball conversion
Diffstat (limited to 'tests/test-convert-tagsbranch-topology.t')
-rw-r--r-- | tests/test-convert-tagsbranch-topology.t | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/tests/test-convert-tagsbranch-topology.t b/tests/test-convert-tagsbranch-topology.t new file mode 100644 index 0000000..0af7e79 --- /dev/null +++ b/tests/test-convert-tagsbranch-topology.t @@ -0,0 +1,90 @@ + + $ "$TESTDIR/hghave" git || exit 80 + $ echo "[core]" >> $HOME/.gitconfig + $ echo "autocrlf = false" >> $HOME/.gitconfig + $ echo "[core]" >> $HOME/.gitconfig + $ echo "autocrlf = false" >> $HOME/.gitconfig + $ echo "[extensions]" >> $HGRCPATH + $ echo "convert=" >> $HGRCPATH + $ echo 'hgext.graphlog =' >> $HGRCPATH + $ echo '[convert]' >> $HGRCPATH + $ echo 'hg.usebranchnames = True' >> $HGRCPATH + $ echo 'hg.tagsbranch = tags-update' >> $HGRCPATH + $ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME + $ GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL + $ GIT_AUTHOR_DATE="2007-01-01 00:00:00 +0000"; export GIT_AUTHOR_DATE + $ GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME + $ GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL + $ GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE + $ count=10 + $ action() + > { + > GIT_AUTHOR_DATE="2007-01-01 00:00:$count +0000" + > GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE" + > git "$@" >/dev/null 2>/dev/null || echo "git command error" + > count=`expr $count + 1` + > } + $ glog() + > { + > hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@" + > } + $ convertrepo() + > { + > hg convert --datesort git-repo hg-repo + > } + +Build a GIT repo with at least 1 tag + + $ mkdir git-repo + $ cd git-repo + $ git init >/dev/null 2>&1 + $ echo a > a + $ git add a + $ action commit -m "rev1" + $ action tag -m "tag1" tag1 + $ cd .. + +Do a first conversion + + $ convertrepo + initializing destination hg-repo repository + scanning source... + sorting... + converting... + 0 rev1 + updating tags + updating bookmarks + +Simulate upstream updates after first conversion + + $ cd git-repo + $ echo b > a + $ git add a + $ action commit -m "rev2" + $ action tag -m "tag2" tag2 + $ cd .. + +Perform an incremental conversion + + $ convertrepo + scanning source... + sorting... + converting... + 0 rev2 + updating tags + updating bookmarks + +Print the log + + $ cd hg-repo + $ glog + o 3 "update tags" files: .hgtags + | + | o 2 "rev2" files: a + | | + o | 1 "update tags" files: .hgtags + / + o 0 "rev1" files: a + + + $ cd .. |