view tests/test-convert-svn-source @ 10301:56b50194617f

templates: rename `Last change' column in hgwebdir repository list. This patch changes column headers in the templates that previously said `Last change' to `Last modified'. Neither code nor functionality are changed other than that. For some time now, I have been annoyed by the fact the `Last change' column didn't list the age of the youngest changeset in the repository, or at least tip. It just occurred to me that this is because the wording is slightly misleading; what the column in fact lists is when the repository was last *modified*, that is, when changesets was last added or removed from it. The word `change' can be understood as referring to the changeset itself. Using `changed' would be ever so slightly less amigous. However, the standard nomenclature in this case is `modification date' and `Last modified', which is incidentally entirely unambigous. Hence, `Last modified' is the wording used.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Sun, 24 Jan 2010 20:51:53 +0100
parents bb5ea66789e3
children c52057614c72
line wrap: on
line source

#!/bin/sh

"$TESTDIR/hghave" svn svn-bindings || exit 80

fix_path()
{
    tr '\\' /
}

echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH
echo 'graphlog =' >> $HGRCPATH

svnadmin create svn-repo

svnpath=`pwd | fix_path`
# SVN wants all paths to start with a slash. Unfortunately,
# Windows ones don't. Handle that.
expr $svnpath : "\/" > /dev/null
if [ $? -ne 0 ]; then
    svnpath='/'$svnpath
fi

echo "# now tests that it works with trunk/tags layout, but no branches yet"
echo
echo % initial svn import
mkdir projB
cd projB
mkdir trunk
mkdir tags
cd ..

svnurl=file://$svnpath/svn-repo/proj%20B
svn import -m "init projB" projB $svnurl | fix_path


echo % update svn repository
svn co $svnurl/trunk B | fix_path
cd B
echo hello > 'letter .txt'
svn add 'letter .txt'
svn ci -m hello

"$TESTDIR/svn-safe-append.py" world 'letter .txt'
svn ci -m world

svn copy -m "tag v0.1" $svnurl/trunk $svnurl/tags/v0.1

"$TESTDIR/svn-safe-append.py" 'nice day today!' 'letter .txt'
svn ci -m "nice day"
cd ..

echo % convert to hg once
hg convert $svnurl B-hg

echo % update svn repository again
cd B
"$TESTDIR/svn-safe-append.py" "see second letter" 'letter .txt'
echo "nice to meet you" > letter2.txt
svn add letter2.txt
svn ci -m "second letter"

svn copy -m "tag v0.2" $svnurl/trunk $svnurl/tags/v0.2

"$TESTDIR/svn-safe-append.py" "blah-blah-blah" letter2.txt
svn ci -m "work in progress"
cd ..

########################################

echo % test incremental conversion
hg convert $svnurl B-hg

cd B-hg
hg glog --template '{rev} {desc|firstline} files: {files}\n'
hg tags -q
cd ..

echo % test filemap
echo 'include letter2.txt' > filemap
hg convert --filemap filemap $svnurl/trunk fmap
hg glog -R fmap --template '{rev} {desc|firstline} files: {files}\n'

echo % test stop revision
hg convert --rev 1 $svnurl/trunk stoprev
# Check convert_revision extra-records.
# This is also the only place testing more than one extra field
# in a revision.
hg --cwd stoprev tip --debug | grep extra | sed 's/=.*/=/'