Show More
@@ -0,0 +1,30 b'' | |||
|
1 | #!/bin/sh | |
|
2 | ||
|
3 | "$TESTDIR/hghave" bzr114 || exit 80 | |
|
4 | ||
|
5 | . "$TESTDIR/bzr-definitions" | |
|
6 | ||
|
7 | # The file/directory replacement can only be reproduced on | |
|
8 | # bzr >= 1.4. Merge it back in test-convert-bzr-directories once | |
|
9 | # this version becomes mainstream. | |
|
10 | echo % replace file with dir | |
|
11 | mkdir test-replace-file-with-dir | |
|
12 | cd test-replace-file-with-dir | |
|
13 | bzr init -q source | |
|
14 | cd source | |
|
15 | echo d > d | |
|
16 | bzr add -q d | |
|
17 | bzr commit -q -m 'add d file' | |
|
18 | rm d | |
|
19 | mkdir d | |
|
20 | bzr add -q d | |
|
21 | bzr commit -q -m 'replace with d dir' | |
|
22 | echo a > d/a | |
|
23 | bzr add -q d/a | |
|
24 | bzr commit -q -m 'add d/a' | |
|
25 | cd .. | |
|
26 | hg convert source source-hg | |
|
27 | manifest source-hg tip | |
|
28 | cd source-hg | |
|
29 | hg update | |
|
30 | cd ../.. |
@@ -0,0 +1,11 b'' | |||
|
1 | % replace file with dir | |
|
2 | initializing destination source-hg repository | |
|
3 | scanning source... | |
|
4 | sorting... | |
|
5 | converting... | |
|
6 | 2 add d file | |
|
7 | 1 replace with d dir | |
|
8 | 0 add d/a | |
|
9 | % manifest of tip | |
|
10 | 644 d/a | |
|
11 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
@@ -148,6 +148,11 b' class bzr_source(converter_source):' | |||
|
148 | 148 | # bazaar tracks directories, mercurial does not, so |
|
149 | 149 | # we have to rename the directory contents |
|
150 | 150 | if kind[1] == 'directory': |
|
151 | if kind[0] not in (None, 'directory'): | |
|
152 | # Replacing 'something' with a directory, record it | |
|
153 | # so it can be removed. | |
|
154 | changes.append((self.recode(paths[0]), revid)) | |
|
155 | ||
|
151 | 156 | if None not in paths and paths[0] != paths[1]: |
|
152 | 157 | # neither an add nor an delete - a move |
|
153 | 158 | # rename all directory contents manually |
@@ -31,6 +31,14 b' def has_bzr():' | |||
|
31 | 31 | except ImportError: |
|
32 | 32 | return False |
|
33 | 33 | |
|
34 | def has_bzr114(): | |
|
35 | try: | |
|
36 | import bzrlib | |
|
37 | return (bzrlib.__doc__ != None | |
|
38 | and bzrlib.version_info[:2] == (1, 14)) | |
|
39 | except ImportError: | |
|
40 | return False | |
|
41 | ||
|
34 | 42 | def has_cvs(): |
|
35 | 43 | re = r'Concurrent Versions System.*?server' |
|
36 | 44 | return matchoutput('cvs --version 2>&1', re) |
@@ -163,6 +171,7 b' def has_outer_repo():' | |||
|
163 | 171 | checks = { |
|
164 | 172 | "baz": (has_baz, "GNU Arch baz client"), |
|
165 | 173 | "bzr": (has_bzr, "Canonical's Bazaar client"), |
|
174 | "bzr114": (has_bzr114, "Canonical's Bazaar client >= 1.14"), | |
|
166 | 175 | "cvs": (has_cvs, "cvs client/server"), |
|
167 | 176 | "cvsps": (has_cvsps, "cvsps utility"), |
|
168 | 177 | "darcs": (has_darcs, "darcs client"), |
General Comments 0
You need to be logged in to leave comments.
Login now