Tailor is an application that lets you migrate changesets between different kinds of source code repositories. It is written in Python and supports most open source SCM systems.
With Tailor you can:
- Create a local repository using your favorite source control system of a project managed by another source control system.
- Do your work.
- Export your changes back to the original repository.
Here’s an example of using Tailor to import a branch of Axiom (uses Subversion) into a local darcs repository:
First of all, we create a configuration file for the project
$ tailor –verbose –source-kind svn –target-kind darcs \
–source-repository https://svn.sourceforge.net/svnroot/axiom \
–source-module branches/build-improvements \
–start-revision INITIAL \
–target-repository file:///home/rwx/lab/math/axiom/axiom-darcs/ \
–target-module axiom-build-improvements axiom-build-improvements \
> axiom-build-improvements.tailor
Now that we have the config file stored in axiom-build-improvements.tailor, we can launch the tool to do the initial import
$ tailor –configfile=axiom-build-improvements.tailor
After a while, we have a local darcs repository for that branch and we can write:
$ darcs get ~/lab/math/axiom/axiom-darcs
to get a working copy in which to do your modifications.
Today, there are a myriad of SCM tools available and projects like Tailor will become increasingly important because they let you stick to your tools of choice. In this way, instead of learning the details of other source control systems, you can focus on what you do best: writing code.