tests/test-convert-tagsbranch-topology
author Greg Ward <greg-hg@gerg.ca>
Mon, 05 Oct 2009 18:17:13 -0400
changeset 9547 f57640bf10d4
parent 9431 d1b135f2f415
permissions -rwxr-xr-x
cmdutil: changeset_printer: use methods of filectx/changectx. This allows extensions that modify changeset metadata (e.g. description) by overriding methods of changectx to get consistent behavior from all log-like commands, regardless of whether templates or styles are used. Without this, overriding changectx methods works if you use styles or templates, but not with default log format. This meant adding filectx.extra() for consistency with changectx.

#!/bin/sh

"$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

# 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

# Print the log
cd hg-repo
glog