author | Matt Mackall <mpm@selenic.com> |
Mon, 16 Feb 2009 17:37:23 -0600 | |
changeset 7780 | 9892c4d94fb7 |
parent 6873 | 39b4db2ea6ed |
child 8050 | 087cc65bebff |
permissions | -rwxr-xr-x |
6372
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
1 |
#!/bin/sh |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
2 |
|
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
3 |
"$TESTDIR/hghave" mtn || exit 80 |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
4 |
|
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
5 |
# Monotone directory is called .monotone on *nix and monotone |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
6 |
# on Windows. Having a variable here ease test patching. |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
7 |
mtndir=.monotone |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
8 |
echo "[extensions]" >> $HGRCPATH |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
9 |
echo "convert=" >> $HGRCPATH |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
10 |
echo 'hgext.graphlog =' >> $HGRCPATH |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
11 |
|
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
12 |
HOME=`pwd`/do_not_use_HOME_mtn; export HOME |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
13 |
# Windows version of monotone home |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
14 |
APPDATA=$HOME; export APPDATA |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
15 |
|
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
16 |
echo % tedious monotone keys configuration |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
17 |
# The /dev/null redirection is necessary under Windows, or |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
18 |
# it complains about home directory permissions |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
19 |
mtn --quiet genkey test@selenic.com 1>/dev/null 2>&1 <<EOF |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
20 |
passphrase |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
21 |
passphrase |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
22 |
EOF |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
23 |
cat >> $HOME/$mtndir/monotonerc <<EOF |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
24 |
function get_passphrase(keypair_id) |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
25 |
return "passphrase" |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
26 |
end |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
27 |
EOF |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
28 |
|
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
29 |
echo % create monotone repository |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
30 |
mtn db init --db=repo.mtn |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
31 |
mtn --db=repo.mtn --branch=com.selenic.test setup workingdir |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
32 |
cd workingdir |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
33 |
echo a > a |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
34 |
mkdir dir |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
35 |
echo b > dir/b |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
36 |
python -c 'file("bin", "wb").write("a\\x00b")' |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
37 |
echo c > c |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
38 |
mtn add a dir/b c bin |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
39 |
mtn ci -m initialize |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
40 |
echo % update monotone working directory |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
41 |
mtn mv a dir/a |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
42 |
echo a >> dir/a |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
43 |
echo b >> dir/b |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
44 |
mtn drop c |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
45 |
python -c 'file("bin", "wb").write("b\\x00c")' |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
46 |
mtn ci -m update1 |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
47 |
cd .. |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
48 |
|
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
49 |
echo % convert once |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
50 |
hg convert -s mtn repo.mtn |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
51 |
|
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
52 |
cd workingdir |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
53 |
echo e > e |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
54 |
mtn add e |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
55 |
mtn drop dir/b |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
56 |
mtn mv bin bin2 |
6633
67a2d2d9bf21
test-convert-mtn: test descriptions with quotes
Patrick Mezard <pmezard@gmail.com>
parents:
6396
diff
changeset
|
57 |
mtn ci -m 'update2 "with" quotes' |
6377
2cf67d007f41
test-convert-mtn: test directory move
Patrick Mezard <pmezard@gmail.com>
parents:
6376
diff
changeset
|
58 |
# Test directory move |
2cf67d007f41
test-convert-mtn: test directory move
Patrick Mezard <pmezard@gmail.com>
parents:
6376
diff
changeset
|
59 |
mtn mv dir dir2 |
2cf67d007f41
test-convert-mtn: test directory move
Patrick Mezard <pmezard@gmail.com>
parents:
6376
diff
changeset
|
60 |
mtn ci -m movedir |
6396
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
61 |
# Test directory removal with empty directory |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
62 |
mkdir dir2/dir |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
63 |
mkdir dir2/dir/subdir |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
64 |
echo f > dir2/dir/subdir/f |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
65 |
mkdir dir2/dir/emptydir |
6873
39b4db2ea6ed
Make test-convert-mtn pass on systems where mtn add -R uses different order
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6633
diff
changeset
|
66 |
mtn add --quiet -R dir2/dir |
6396
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
67 |
mtn ci -m emptydir |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
68 |
mtn drop -R dir2/dir |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
69 |
mtn ci -m dropdirectory |
6372
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
70 |
cd .. |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
71 |
|
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
72 |
echo % convert incrementally |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
73 |
hg convert -s mtn repo.mtn |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
74 |
|
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
75 |
glog() |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
76 |
{ |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
77 |
hg glog --template '#rev# "#desc|firstline#" files: #files#\n' "$@" |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
78 |
} |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
79 |
|
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
80 |
cd repo.mtn-hg |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
81 |
hg up -C |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
82 |
glog |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
83 |
echo % manifest |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
84 |
hg manifest |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
85 |
echo % contents |
6377
2cf67d007f41
test-convert-mtn: test directory move
Patrick Mezard <pmezard@gmail.com>
parents:
6376
diff
changeset
|
86 |
cat dir2/a |
6396
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
87 |
test -d dir2/dir && echo 'removed dir2/dir is still there!' |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
88 |
exit 0 |
6372
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
89 |