diff --git a/tests/test-convert.out b/tests/test-convert.out --- a/tests/test-convert.out +++ b/tests/test-convert.out @@ -1,3 +1,67 @@ +hg convert [OPTION]... SOURCE [DEST [MAPFILE]] + +Convert a foreign SCM repository to a Mercurial one. + + Accepted source formats: + - CVS + - Darcs + - git + - Subversion + + Accepted destination formats: + - Mercurial + + If no revision is given, all revisions will be converted. Otherwise, + convert will only import up to the named revision (given in a format + understood by the source). + + If no destination directory name is specified, it defaults to the + basename of the source with '-hg' appended. If the destination + repository doesn't exist, it will be created. + + If isn't given, it will be put in a default location + (/.hg/shamap by default). The is a simple text + file that maps each source commit ID to the destination ID for + that revision, like so: + + + If the file doesn't exist, it's automatically created. It's updated + on each commit copied, so convert-repo can be interrupted and can + be run repeatedly to copy new commits. + + The [username mapping] file is a simple text file that maps each source + commit author to a destination commit author. It is handy for source SCMs + that use unix logins to identify authors (eg: CVS). One line per author + mapping and the line format is: + srcauthor=whatever string you want + + The filemap is a file that allows filtering and remapping of files + and directories. Comment lines start with '#'. Each line can + contain one of the following directives: + + include path/to/file + + exclude path/to/file + + rename from/file to/file + + The 'include' directive causes a file, or all files under a + directory, to be included in the destination repository. The + 'exclude' directive causes files or directories to be omitted. + The 'rename' directive renames a file or directory. To rename + from a subdirectory into the root of the repository, use '.' as + the path to rename to. + +options: + + -A --authors username mapping filename + -d --dest-type destination repository type + --filemap remap file names using contents of file + -r --rev import up to target revision REV + -s --source-type source repository type + --datesort try to sort changesets by date + +use "hg -v help convert" to show global options adding a assuming destination a-hg initializing destination a-hg repository @@ -12,3 +76,18 @@ 0 e pulling from ../a searching for changes no changes found +% should fail +initializing destination bogusfile repository +abort: cannot create new bundle repository +% should fail +abort: Permission denied: bogusdir +% should succeed +initializing destination bogusdir repository +scanning source... +sorting... +converting... +4 a +3 b +2 c +1 d +0 e