Tailor is a tool to migrate changesets between Aegis, ArX, Bazaar?, Bazaar-NG, CVS, Codeville?, Darcs, Git, Mercurial, Monotone, Perforce, Subversion? and Tla? repositories. There are OtherTools with a similar goal, most of them tied and sometime more specialized on a particular system.
It perform its job executing several MigrationSteps, using a ReplayMechanism? that basically fetches the changesets from any of the source backends and effectively replay each one on the target system. The process can be configured very deeply in several ways, from tweaking a relatively simple configuration file to writing pre- and post- PythonHooks?.
It was written by Lele and it is implemented in Python.
Be sure to RTFM :-)
The future of Tailor is uncertain: other tools appeared, fed by the popularity of several different yet almost equivalent VCs, and thus the need of an easier way of exchanging patches between the different mine is the best systems.
One approach is darcs-fast-export, that seems able to do everything Tailor is capable of, probably in a easier, faster and more reliable way. More recently, Petr Rockai implemented the feature natively, see his announce.
Another is the path taken by Bazaar with foreign branches, a mechanism by which an interface with other systems may be plugged in to augment or enrich the set of bzr's subcommands.
So, I don't plan to seriously commit to reach a 1.0 version any time soon. However, I will try to keep my current set of tailorized projects (that keeps getting smaller, I admit) up-to-date, tweaking Tailor as needed.
How to get
You can fetch a copy of Tailor sources in two ways:
- Using darcs to get a current snapshot of them directly from master repository:
darcs get --partial http://darcs.arstecnica.it/tailorOmit the --partial flag if you really want the whole history.
- Obtaining the tarball of the last tagged and released version, from http://darcs.arstecnica.it/tailor/
How to submit patches
The easiest way is using darcs. Provided you got the darcs repository:
- Hack on the sources
- Run whatever test is needed
- Inspect what you did:
- Repeat until satisfied
- Record your new patch:
darcs recordThis will interactively ask you to select or skip any change you made, to compose a single ChangeSet: you may decide that the nature of changes requires two distinct patches... Last step, darcs will ask for the name of the patch, one line summary of the changes, and an optional long description.
- Repeat until satisfied
- Send me your changes via email:
darcs sendThis will interactively ask you to select which patches you wanna send and... that's it!
Of course, I will happily accept traditional patch(1) contributions, whenever they applies relatively clean and implement something useful :)
How to contribute to this site
Thanks to stup^B^H^H^Eammers you need to login to alter this wiki and create tickets. Unfortunately this isn't enough to stop them: from now on, only authorized people can alter this site. I'm really sorry, but I'm terribly out of time: I know this will discourage most people to report their problem but, oh, well...
To be able to open a new ticket or write to the wiki, you first need an account, then ask for write permission to me, either via email (lele at metapensiero.it) or on the #tailor IRC channel on Freenode. I'm really sorry of this state of affair, but I didn't have the time to investigate an equivalent spam counter-measure.
This wiki tries to collect the knowledge around tailor, even if a significant portion of it is still on the Tailor page on Darcs wiki. It runs version 0.4 of TracOnDarcs plugin, so it's browsing tailor's darcs repository.
There is a low traffic mailing list (to be able to write a message to the ML you have to subscribe first), where we debate either problems or enhancements.
There is also a group of users that keeps the #tailor channel open on irc.freenode.net. The author is usually there when he's online, known as lelit.