bzr branch lp:bzr-fastimport
|
Note
|
This page is here only for historical reasons. The project got merged to bzt-fastimport. You can get that code using |
bzr branch lp:bzr-fastimport
or use my git mirror:
git clone git://vmiklos.hu/bzr-fastimport
You can still send me git patches regarding darcs-fast-export if you want, or just send bzr patches directly to the bzr-fastimport developers.
darcs-fast-export is a tool to dump a darcs repository in a format understood by "fast-importers" such as git fast-import. It exhibits the following features:
darcs-fast-export provides a fast darcs backend for fast-import. See here for exact details.
darcs-fast-export produces correct results in any extreme cases. It has been tested with a collection of large darcs repos (called big-zoo). And several testcases under the t/ directory.
Ideally it should work with any fast importer, but actually it has been
tested with git fast-import, bzr fast-import and hg fastimport. (These
are the three fast-import implementations available ATM.)
hg fastimport needs three patches. While they are not in the upstream,
you can get it from my repository using
$ hg clone static-http://frugalware.org/~vmiklos/hg/hg-fastimport
It supports the darcs-2, hashed, and old-fashioned-inventory darcs repository formats.
It supports the usual --export-marks / --import-marks switches to allow incremental conversion.
A wrapper script called d2x is available if you find typing --export-marks / --import-marks all the time boring. A similar one is also provided for the other direction, called x2d. Finally, if you want to work on darcs repos with git, you can use the git-darcs wrapper.
Supports --authors-file option like Git’s SVN adaptor, for DARCS repositories that originated in CVS or SVN.
The pair of darcs-fast-export, darcs-fast-import is also included in this repo. It has been tested with the fast-expoters of Git, Hg, Bzr and - of course - Darcs itself.
Using darcs-fast-export / darcs-fast-import, it is possible to convert a darcs repo to an other VCS, work there, then convert your work back to Darcs (or vica versa). This has been tested with "darcs → git; hack hack; git → darcs".
See the manpages:
Assuming that test/ is a darcs repo, you could do this:
$ mkdir test.git $ cd test.git $ git --bare init $ cd .. $ darcs-fast-export test |(cd test.git; git fast-import)
For more examples (especially for bzr and hg), see the t/ directory.
Using git:
$ git clone git://vmiklos.hu/darcs-fast-export
In general, darcs-fast-export should work fine. darcs-fast-import has known problems with tags - other than that it should be okay. git-darcs should work properly as long as you are not paying too much attention to the imported tags (newly created tags won’t be pushed back).
darcs-fast-export has been tested with the following versions:
Darcs version (see this bug on why do you need such a new version):
$ darcs --version 2.2.0 (release)
Git version:
$ git --version git version 1.6.0.2
Bzr versions:
$ bzr version Bazaar (bzr) 1.12 $ (cd ~/bzr/fastimport; bzr log --limit 1|grep revno) revno: 181
Yes, you need the fastiport plugin from BZR, the last hg release series supported by fastimport-0.6 is hg-1.0.x.
Mercurial (Hg) version:
$ hg version Mercurial Distributed SCM (version 1.2.1)
Strictly speaking this document is a wrong place to talk about enabling hg plugins. However…
$ cat ~/.hgrc [extensions] hgext.fastimport=
and once you installed the plugin correctly, you should have something like:
$ ls /usr/lib/python*/site-packages/hgext/fastimport/__init__.py /usr/lib/python2.5/site-packages/hgext/fastimport/__init__.py
The fast-import stream format documentation is here if you’re interested.
darcs2git tries to find conflict resolutions (to map them to merge commits), but it’s rather slow because of this. It does not support the darcs2 format and/or incremental conversions, either. darcs-fast-export may support mapping to merge commits later, but not before this issue is addressed.
tailor is an any2any VCS converter, but it produces corrupted results when converting the big-zoo - see this ticket.
darcs-to-git is similar to darcs2git, but it fails for the testcases found in the testsuite of darcs-fast-export.
undarcs claims to be fast, but its own README says it produces incorrect results. When I tried, it did not handle the darcs2 format, binary files and incremental support.
Jason Dagit for helping me with darcs2 issues
Shawn O. Pearce and Johannes Schindelin for writing git-fast-import / git-fast-export
Ian Clatworthy for writing bzr fast-import
Paul Crowley for writing hg fast-import
Matthias Andree for assorted improvements, among them the --help, --encoding and --authors-file features (using Python’s optparse), support for hashed repositories, _darcs/format interpretation, and mangling whitespace in tags to cope with repos imported into DARCS from CVS.
Pieter de Bie for writing git-bzr, which was the base of git-darcs
Apache Server at vmiklos.hu Port 80Name Last modified Size Description
Parent Directory -
Changelog 07-Aug-2009 08:26 51K
Makefile 25-Jun-2009 23:47 1.4K
NEWS 25-Jun-2009 23:47 1.4K
README 07-Aug-2009 08:24 6.2K
TODO 26-Dec-2008 02:11 190
asciidoc.conf 23-Dec-2008 00:48 605
d2x 27-Nov-2008 14:36 2.6K
d2x.html 27-Nov-2008 14:36 7.1K
d2x.txt 27-Nov-2008 14:36 664
darcs-fast-export 26-Jun-2009 08:43 9.8K
darcs-fast-export-0...> 24-Nov-2008 00:12 27K
darcs-fast-export-0...> 24-Nov-2008 00:12 242
darcs-fast-export-0...> 28-Nov-2008 16:31 30K
darcs-fast-export-0...> 28-Nov-2008 16:31 242
darcs-fast-export-0...> 26-Dec-2008 01:45 32K
darcs-fast-export-0...> 26-Dec-2008 01:45 242
darcs-fast-export-0...> 25-Jun-2009 23:49 34K
darcs-fast-export-0...> 25-Jun-2009 23:49 242
darcs-fast-export.html 28-Nov-2008 15:47 8.9K
darcs-fast-export.txt 28-Nov-2008 15:47 2.0K
darcs-fast-import 26-Jun-2009 08:43 9.1K
darcs-fast-import.html 23-Nov-2008 23:49 7.5K
darcs-fast-import.txt 23-Nov-2008 23:49 961
git-darcs 14-Jul-2009 17:05 6.6K
git-darcs.html 29-Jun-2009 00:30 9.8K
git-darcs.txt 29-Jun-2009 00:30 1.7K
t/ 26-Jun-2009 00:21 -
x2d 26-Jun-2009 00:21 3.1K
x2d.html 23-Nov-2008 23:49 7.0K
x2d.txt 23-Nov-2008 23:49 638