Mercurial > hg
comparison tests/test-convert.out @ 5441:71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
We also introduce options to explicitly set the source and destination
repository types.
Improve testing of corner cases a little.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Wed, 10 Oct 2007 15:42:00 -0700 |
parents | cb100605a516 |
children | 247af577fe29 |
comparison
equal
deleted
inserted
replaced
5440:b4ae8535f834 | 5441:71e7c86adcb7 |
---|---|
1 hg convert [OPTION]... SOURCE [DEST [MAPFILE]] | |
2 | |
3 Convert a foreign SCM repository to a Mercurial one. | |
4 | |
5 Accepted source formats: | |
6 - CVS | |
7 - Darcs | |
8 - git | |
9 - Subversion | |
10 | |
11 Accepted destination formats: | |
12 - Mercurial | |
13 | |
14 If no revision is given, all revisions will be converted. Otherwise, | |
15 convert will only import up to the named revision (given in a format | |
16 understood by the source). | |
17 | |
18 If no destination directory name is specified, it defaults to the | |
19 basename of the source with '-hg' appended. If the destination | |
20 repository doesn't exist, it will be created. | |
21 | |
22 If <revmapfile> isn't given, it will be put in a default location | |
23 (<dest>/.hg/shamap by default). The <revmapfile> is a simple text | |
24 file that maps each source commit ID to the destination ID for | |
25 that revision, like so: | |
26 <source ID> <destination ID> | |
27 | |
28 If the file doesn't exist, it's automatically created. It's updated | |
29 on each commit copied, so convert-repo can be interrupted and can | |
30 be run repeatedly to copy new commits. | |
31 | |
32 The [username mapping] file is a simple text file that maps each source | |
33 commit author to a destination commit author. It is handy for source SCMs | |
34 that use unix logins to identify authors (eg: CVS). One line per author | |
35 mapping and the line format is: | |
36 srcauthor=whatever string you want | |
37 | |
38 The filemap is a file that allows filtering and remapping of files | |
39 and directories. Comment lines start with '#'. Each line can | |
40 contain one of the following directives: | |
41 | |
42 include path/to/file | |
43 | |
44 exclude path/to/file | |
45 | |
46 rename from/file to/file | |
47 | |
48 The 'include' directive causes a file, or all files under a | |
49 directory, to be included in the destination repository. The | |
50 'exclude' directive causes files or directories to be omitted. | |
51 The 'rename' directive renames a file or directory. To rename | |
52 from a subdirectory into the root of the repository, use '.' as | |
53 the path to rename to. | |
54 | |
55 options: | |
56 | |
57 -A --authors username mapping filename | |
58 -d --dest-type destination repository type | |
59 --filemap remap file names using contents of file | |
60 -r --rev import up to target revision REV | |
61 -s --source-type source repository type | |
62 --datesort try to sort changesets by date | |
63 | |
64 use "hg -v help convert" to show global options | |
1 adding a | 65 adding a |
2 assuming destination a-hg | 66 assuming destination a-hg |
3 initializing destination a-hg repository | 67 initializing destination a-hg repository |
4 scanning source... | 68 scanning source... |
5 sorting... | 69 sorting... |
10 1 d | 74 1 d |
11 0 e | 75 0 e |
12 pulling from ../a | 76 pulling from ../a |
13 searching for changes | 77 searching for changes |
14 no changes found | 78 no changes found |
79 % should fail | |
80 initializing destination bogusfile repository | |
81 abort: cannot create new bundle repository | |
82 % should fail | |
83 abort: Permission denied: bogusdir | |
84 % should succeed | |
85 initializing destination bogusdir repository | |
86 scanning source... | |
87 sorting... | |
88 converting... | |
89 4 a | |
90 3 b | |
91 2 c | |
92 1 d | |
93 0 e |