summaryrefslogtreecommitdiff
path: root/tests/test-convert-tagsbranch-topology.t
diff options
context:
space:
mode:
authorLorry <lorry@roadtrain.codethink.co.uk>2012-08-22 14:49:51 +0100
committerLorry <lorry@roadtrain.codethink.co.uk>2012-08-22 14:49:51 +0100
commita498da43c7fdb9f24b73680c02a4a3588cc62d9a (patch)
treedaf8119dae1749b5165b68033a1b23a7375ce9ce /tests/test-convert-tagsbranch-topology.t
downloadmercurial-tarball-a498da43c7fdb9f24b73680c02a4a3588cc62d9a.tar.gz
Tarball conversion
Diffstat (limited to 'tests/test-convert-tagsbranch-topology.t')
-rw-r--r--tests/test-convert-tagsbranch-topology.t90
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 ..