tests/test-convert-tagsbranch-topology.t
changeset 12534 3ee3d7634e94
parent 9431 d1b135f2f415
child 13756 6b7077df4aa5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-convert-tagsbranch-topology.t	Sun Sep 26 17:20:24 2010 -0500
@@ -0,0 +1,82 @@
+
+  $ "$TESTDIR/hghave" git || exit 80
+  $ 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
+
+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
+
+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
+