view tests/test-convert-bzr @ 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 dd24488cba2d
children
line wrap: on
line source

#!/bin/sh

. "$TESTDIR/bzr-definitions"

echo % create and rename on the same file in the same step
mkdir test-createandrename
cd test-createandrename
bzr init -q source
cd source
echo a > a
echo c > c
echo e > e
bzr add -q a c e
bzr commit -q -m 'Initial add: a, c, e'
bzr mv a b
bzr mv c d
bzr mv e f
echo a2 >> a
mkdir e
bzr add -q a e
bzr commit -q -m 'rename a into b, create a, rename c into d'
cd ..
hg convert source source-hg
glog -R source-hg
echo "% manifest"
hg manifest -R source-hg -r tip
echo "% test --rev option"
hg convert -r 1 source source-1-hg
glog -R source-1-hg
echo "% test with filemap"
cat > filemap <<EOF
exclude a
EOF
hg convert --filemap filemap source source-filemap-hg
hg -R source-filemap-hg manifest -r tip

echo '% convert from lightweight checkout'
bzr checkout --lightweight source source-light
hg convert source-light source-light-hg
echo "% lightweight manifest"
hg manifest -R source-light-hg -r tip

# extract timestamps that look just like hg's {date|isodate}:
# yyyy-mm-dd HH:MM zzzz (no seconds!)
echo "% compare timestamps"
cd source
bzr log | \
  sed '/timestamp/!d;s/.\{15\}\([0-9: -]\{16\}\):.. \(.[0-9]\{4\}\)/\1 \2/' \
  > ../bzr-timestamps
cd ..

hg -R source-hg log --template "{date|isodate}\n" > hg-timestamps
if diff -q bzr-timestamps hg-timestamps ; then
  echo "good: hg timestamps match bzr timestamps"
else
  echo "fail: bzr timestamps are:"
  cat bzr-timestamps
  echo "but hg timestamps are:"
  cat hg-timestamps
fi

cd ..

echo % merge
mkdir test-merge
cd test-merge

cat > helper.py <<EOF
import sys
from bzrlib import workingtree
wt = workingtree.WorkingTree.open('.')

message, stamp = sys.argv[1:]
wt.commit(message, timestamp=int(stamp))
EOF

bzr init -q source
cd source
echo content > a
echo content2 > b
bzr add -q a b
bzr commit -q -m 'Initial add'
cd ..
bzr branch -q source source-improve
cd source
echo more >> a
python ../helper.py 'Editing a' 100
cd ../source-improve
echo content3 >> b
python ../helper.py 'Editing b' 200
cd ../source
bzr merge -q ../source-improve
bzr commit -q -m 'Merged improve branch'
cd ..
hg convert --datesort source source-hg
glog -R source-hg
cd ..

echo % symlinks and executable files
mkdir test-symlinks
cd test-symlinks
bzr init -q source
cd source
touch program
chmod +x program
ln -s program altname
mkdir d
echo a > d/a
ln -s a syma
bzr add -q altname program syma d/a
bzr commit -q -m 'Initial setup'
touch newprog
chmod +x newprog
rm altname
ln -s newprog altname
chmod -x program
bzr add -q newprog
bzr commit -q -m 'Symlink changed, x bits changed'
cd ..
hg convert source source-hg
manifest source-hg 0
manifest source-hg tip
cd source-hg
echo % test the symlinks can be recreated
hg up
hg cat syma
cd ../..