Show More
@@ -0,0 +1,76 b'' | |||
|
1 | #!/bin/sh | |
|
2 | ||
|
3 | "$TESTDIR/hghave" mtn || exit 80 | |
|
4 | ||
|
5 | # Monotone directory is called .monotone on *nix and monotone | |
|
6 | # on Windows. Having a variable here ease test patching. | |
|
7 | mtndir=.monotone | |
|
8 | echo "[extensions]" >> $HGRCPATH | |
|
9 | echo "convert=" >> $HGRCPATH | |
|
10 | echo 'hgext.graphlog =' >> $HGRCPATH | |
|
11 | ||
|
12 | HOME=`pwd`/do_not_use_HOME_mtn; export HOME | |
|
13 | # Windows version of monotone home | |
|
14 | APPDATA=$HOME; export APPDATA | |
|
15 | ||
|
16 | echo % tedious monotone keys configuration | |
|
17 | # The /dev/null redirection is necessary under Windows, or | |
|
18 | # it complains about home directory permissions | |
|
19 | mtn --quiet genkey test@selenic.com 1>/dev/null 2>&1 <<EOF | |
|
20 | passphrase | |
|
21 | passphrase | |
|
22 | EOF | |
|
23 | cat >> $HOME/$mtndir/monotonerc <<EOF | |
|
24 | function get_passphrase(keypair_id) | |
|
25 | return "passphrase" | |
|
26 | end | |
|
27 | EOF | |
|
28 | ||
|
29 | echo % create monotone repository | |
|
30 | mtn db init --db=repo.mtn | |
|
31 | mtn --db=repo.mtn --branch=com.selenic.test setup workingdir | |
|
32 | cd workingdir | |
|
33 | echo a > a | |
|
34 | mkdir dir | |
|
35 | echo b > dir/b | |
|
36 | python -c 'file("bin", "wb").write("a\\x00b")' | |
|
37 | echo c > c | |
|
38 | mtn add a dir/b c bin | |
|
39 | mtn ci -m initialize | |
|
40 | echo % update monotone working directory | |
|
41 | mtn mv a dir/a | |
|
42 | echo a >> dir/a | |
|
43 | echo b >> dir/b | |
|
44 | mtn drop c | |
|
45 | python -c 'file("bin", "wb").write("b\\x00c")' | |
|
46 | mtn ci -m update1 | |
|
47 | cd .. | |
|
48 | ||
|
49 | echo % convert once | |
|
50 | hg convert -s mtn repo.mtn | |
|
51 | ||
|
52 | cd workingdir | |
|
53 | echo e > e | |
|
54 | mtn add e | |
|
55 | mtn drop dir/b | |
|
56 | mtn mv bin bin2 | |
|
57 | mtn ci -m update2 | |
|
58 | cd .. | |
|
59 | ||
|
60 | echo % convert incrementally | |
|
61 | hg convert -s mtn repo.mtn | |
|
62 | ||
|
63 | glog() | |
|
64 | { | |
|
65 | hg glog --template '#rev# "#desc|firstline#" files: #files#\n' "$@" | |
|
66 | } | |
|
67 | ||
|
68 | cd repo.mtn-hg | |
|
69 | hg up -C | |
|
70 | glog | |
|
71 | echo % manifest | |
|
72 | # BUG: c and dir/b should not appear here | |
|
73 | hg manifest | |
|
74 | echo % contents | |
|
75 | cat dir/a | |
|
76 |
@@ -0,0 +1,50 b'' | |||
|
1 | % tedious monotone keys configuration | |
|
2 | % create monotone repository | |
|
3 | mtn: adding a to workspace manifest | |
|
4 | mtn: adding bin to workspace manifest | |
|
5 | mtn: adding c to workspace manifest | |
|
6 | mtn: adding dir to workspace manifest | |
|
7 | mtn: adding dir/b to workspace manifest | |
|
8 | mtn: beginning commit on branch 'com.selenic.test' | |
|
9 | mtn: committed revision 803ef0bf815e35b951dbd4310acd1e45e675016e | |
|
10 | % update monotone working directory | |
|
11 | mtn: skipping dir, already accounted for in workspace | |
|
12 | mtn: renaming a to dir/a in workspace manifest | |
|
13 | mtn: dropping c from workspace manifest | |
|
14 | mtn: beginning commit on branch 'com.selenic.test' | |
|
15 | mtn: committed revision 4daf60753d6fe21a06ce5f716303fe55fd6d3a56 | |
|
16 | % convert once | |
|
17 | assuming destination repo.mtn-hg | |
|
18 | initializing destination repo.mtn-hg repository | |
|
19 | scanning source... | |
|
20 | sorting... | |
|
21 | converting... | |
|
22 | 1 initialize | |
|
23 | 0 update1 | |
|
24 | mtn: adding e to workspace manifest | |
|
25 | mtn: dropping dir/b from workspace manifest | |
|
26 | mtn: renaming bin to bin2 in workspace manifest | |
|
27 | mtn: beginning commit on branch 'com.selenic.test' | |
|
28 | mtn: committed revision 6c6977a6ef609ec80e40779f89dbd2772c96de62 | |
|
29 | % convert incrementally | |
|
30 | assuming destination repo.mtn-hg | |
|
31 | scanning source... | |
|
32 | sorting... | |
|
33 | converting... | |
|
34 | 0 update2 | |
|
35 | 5 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
36 | @ 2 "update2" files: bin bin2 e | |
|
37 | | | |
|
38 | o 1 "update1" files: a bin dir/a dir/b | |
|
39 | | | |
|
40 | o 0 "initialize" files: a bin c dir/b | |
|
41 | ||
|
42 | % manifest | |
|
43 | bin2 | |
|
44 | c | |
|
45 | dir/a | |
|
46 | dir/b | |
|
47 | e | |
|
48 | % contents | |
|
49 | a | |
|
50 | a |
@@ -33,6 +33,9 b' def has_cvsps():' | |||
|
33 | 33 | def has_darcs(): |
|
34 | 34 | return matchoutput('darcs', 'darcs version', True) |
|
35 | 35 | |
|
36 | def has_mtn(): | |
|
37 | return matchoutput('mtn --version', 'monotone', True) | |
|
38 | ||
|
36 | 39 | def has_eol_in_paths(): |
|
37 | 40 | try: |
|
38 | 41 | fd, path = tempfile.mkstemp(prefix=tempprefix, suffix='\n\r') |
@@ -125,6 +128,7 b' checks = {' | |||
|
125 | 128 | "git": (has_git, "git command line client"), |
|
126 | 129 | "hotshot": (has_hotshot, "python hotshot module"), |
|
127 | 130 | "lsprof": (has_lsprof, "python lsprof module"), |
|
131 | "mtn": (has_mtn, "monotone client"), | |
|
128 | 132 | "svn": (has_svn, "subversion client and admin tools"), |
|
129 | 133 | "svn-bindings": (has_svn_bindings, "subversion python bindings"), |
|
130 | 134 | "symlink": (has_symlink, "symbolic links"), |
General Comments 0
You need to be logged in to leave comments.
Login now