Mercurial > hg
annotate tests/test-convert-mtn @ 8063:ee8d9b93b316
convert/p4: win32 fixes
* cmd.exe does not know single quotes
* win32 does not like trailing whitespace very much. Trade test coverage for
maintenance time and drop the trailing whitespaces tests.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Mon, 13 Apr 2009 16:15:45 +0200 |
parents | 087cc65bebff |
children | 3cdf4872941a |
rev | line source |
---|---|
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' |
8050
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
58 echo '% test directory move' |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
59 mkdir -p dir1/subdir1 |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
60 mkdir -p dir1/subdir2_other |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
61 echo file1 > dir1/subdir1/file1 |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
62 echo file2 > dir1/subdir2_other/file1 |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
63 mtn add dir1/subdir1/file1 dir1/subdir2_other/file1 |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
64 mtn ci -m createdir1 |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
65 mtn rename dir1/subdir1 dir1/subdir2 |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
66 mtn ci -m movedir1 |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
67 echo '% test subdirectory move' |
6377
2cf67d007f41
test-convert-mtn: test directory move
Patrick Mezard <pmezard@gmail.com>
parents:
6376
diff
changeset
|
68 mtn mv dir dir2 |
2cf67d007f41
test-convert-mtn: test directory move
Patrick Mezard <pmezard@gmail.com>
parents:
6376
diff
changeset
|
69 mtn ci -m movedir |
6396
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
70 # Test directory removal with empty directory |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
71 mkdir dir2/dir |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
72 mkdir dir2/dir/subdir |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
73 echo f > dir2/dir/subdir/f |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
74 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
|
75 mtn add --quiet -R dir2/dir |
6396
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
76 mtn ci -m emptydir |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
77 mtn drop -R dir2/dir |
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
78 mtn ci -m dropdirectory |
6372
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
79 cd .. |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
80 |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
81 echo % convert incrementally |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
82 hg convert -s mtn repo.mtn |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
83 |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
84 glog() |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
85 { |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
86 hg glog --template '#rev# "#desc|firstline#" files: #files#\n' "$@" |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
87 } |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
88 |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
89 cd repo.mtn-hg |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
90 hg up -C |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
91 glog |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
92 echo % manifest |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
93 hg manifest |
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
94 echo % contents |
6377
2cf67d007f41
test-convert-mtn: test directory move
Patrick Mezard <pmezard@gmail.com>
parents:
6376
diff
changeset
|
95 cat dir2/a |
6396
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
96 test -d dir2/dir && echo 'removed dir2/dir is still there!' |
8050
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
97 |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
98 echo % file move |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
99 hg log -v -C -r 1 | grep copies |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
100 echo % check directory move |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
101 hg manifest -r 4 |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
102 test -d dir1/subdir2 || echo 'new dir1/subdir2 does not exist!' |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
103 test -d dir1/subdir1 && echo 'renamed dir1/subdir1 is still there!' |
087cc65bebff
convert/mtn: record changes from directory renames (issue1587)
Patrick Mezard <pmezard@gmail.com>
parents:
6873
diff
changeset
|
104 hg log -v -C -r 4 | grep copies |
6396
18eeabae6148
test-convert-mtn: test directory deletion
Patrick Mezard <pmezard@gmail.com>
parents:
6377
diff
changeset
|
105 exit 0 |
6372
8f79820443a4
Add a test for monotone conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
106 |