From: Frej Drejhammar Date: Sat, 13 Oct 2012 14:18:15 +0000 (+0200) Subject: Rename hg-fast-export.txt to README X-Git-Url: http://crossforests.com/gitweb?a=commitdiff_plain;h=c178d5c8a0a51ee0f15d587dd6b7deb36b49cc71;p=python%2Ffast-export.git Rename hg-fast-export.txt to README --- diff --git a/README b/README new file mode 100644 index 0000000..9ab5bf4 --- /dev/null +++ b/README @@ -0,0 +1,73 @@ +hg-fast-export.(sh|py) - mercurial to git converter using git-fast-import + +Legal +===== + +Most hg-* scripts are licensed under the MIT license[0] and were written +by Rocco Rutte with hints and help from the git list and +#mercurial on freenode. hg-reset.py is licensed under GPLv2 since it +copies some code from the mercurial sources. + +The current maintainer is Frej Drejhammar . + +Usage +===== + +Using hg-fast-export is quite simple for a mercurial repository : + + mkdir repo-git # or whatever + cd repo-git + git init + hg-fast-export.sh -r + +Incremental imports to track hg repos is supported, too. + +Using hg-reset it is quite simple within a git repository that is +hg-fast-export'ed from mercurial: + + hg-reset.sh -R + +will give hints on which branches need adjustment for starting over +again. + +As mercurial appears to be much less picky about the syntax of the +author information than git, an author mapping file can be given to +hg-fast-export to fix up malformed author strings. The file is +specified using the -A option. The file should contain lines of the +form "FromAuthor=ToAuthor". The example authors.map below will +translate "User " to "User ". + +-- Start of authors.map -- +User =User +-- End of authors.map -- + +Notes/Limitations +================= + +hg-fast-export supports multiple branches but only named branches with +exaclty one head each. Otherwise commits to the tip of these heads +within branch will get flattened into merge commits. + +As each git-fast-import run creates a new pack file, it may be +required to repack the repository quite often for incremental imports +(especially when importing a small number of changesets per +incremental import). + +The way the hg API and remote access protocol is designed it is not +possible to use hg-fast-export on remote repositories +(http/ssh). First clone the repository, then convert it. + +Design +====== + +hg-fast-export.py was designed in a way that doesn't require a 2-pass +mechanism or any prior repository analysis: if just feeds what it +finds into git-fast-import. This also implies that it heavily relies +on strictly linear ordering of changesets from hg, i.e. its +append-only storage model so that changesets hg-fast-export already +saw never get modified. + +Footnotes +========= + +[0] http://www.opensource.org/licenses/mit-license.php diff --git a/hg-fast-export.txt b/hg-fast-export.txt deleted file mode 100644 index 9ab5bf4..0000000 --- a/hg-fast-export.txt +++ /dev/null @@ -1,73 +0,0 @@ -hg-fast-export.(sh|py) - mercurial to git converter using git-fast-import - -Legal -===== - -Most hg-* scripts are licensed under the MIT license[0] and were written -by Rocco Rutte with hints and help from the git list and -#mercurial on freenode. hg-reset.py is licensed under GPLv2 since it -copies some code from the mercurial sources. - -The current maintainer is Frej Drejhammar . - -Usage -===== - -Using hg-fast-export is quite simple for a mercurial repository : - - mkdir repo-git # or whatever - cd repo-git - git init - hg-fast-export.sh -r - -Incremental imports to track hg repos is supported, too. - -Using hg-reset it is quite simple within a git repository that is -hg-fast-export'ed from mercurial: - - hg-reset.sh -R - -will give hints on which branches need adjustment for starting over -again. - -As mercurial appears to be much less picky about the syntax of the -author information than git, an author mapping file can be given to -hg-fast-export to fix up malformed author strings. The file is -specified using the -A option. The file should contain lines of the -form "FromAuthor=ToAuthor". The example authors.map below will -translate "User " to "User ". - --- Start of authors.map -- -User =User --- End of authors.map -- - -Notes/Limitations -================= - -hg-fast-export supports multiple branches but only named branches with -exaclty one head each. Otherwise commits to the tip of these heads -within branch will get flattened into merge commits. - -As each git-fast-import run creates a new pack file, it may be -required to repack the repository quite often for incremental imports -(especially when importing a small number of changesets per -incremental import). - -The way the hg API and remote access protocol is designed it is not -possible to use hg-fast-export on remote repositories -(http/ssh). First clone the repository, then convert it. - -Design -====== - -hg-fast-export.py was designed in a way that doesn't require a 2-pass -mechanism or any prior repository analysis: if just feeds what it -finds into git-fast-import. This also implies that it heavily relies -on strictly linear ordering of changesets from hg, i.e. its -append-only storage model so that changesets hg-fast-export already -saw never get modified. - -Footnotes -========= - -[0] http://www.opensource.org/licenses/mit-license.php