[ANN] pidgin git import v4

Felipe Contreras felipe.contreras at gmail.com
Sat May 12 15:51:58 EDT 2012


Here's an updated version of my scripts to import the pidgin monotone
repository to git.

In this version there's a new script that trims the repository; one
can specify the oldest tag (v2.7.0), and which tags and branches to
keep. The resulting repository is much smaller (17M). In addition to
that, the script generates a 'grafts' file so it's possible to stitch
the full and the trimmed repositories together.

For example:
 % git clone git://gitorious.org/pidgin-clone/pidgin-trimmed.git pidgin
 % cd pidgin
 % git remote add full git://gitorious.org/pidgin-clone/pidgin-clone.git
 % git fetch full
 % cp /tmp/grafts pidgin/.git/info/grafts

Now you would be able to see the full history.

This can be used to migrate development to git *right now*, even
though the repository conversion scripts are still not finished. Once
they are finished; it's only a matter of updating the grafts file, and
the new history would not need to be changed.

Version v3.0 was already synchronized to the mercurial scripts[2], and
there have not been any changes since then, so it remains in sync.
BTW. I have a bunch of patches to simplify the mercurial conversion
scripts and have both more aligned with the git version, but I haven't
heard anything from Richard Laager.

Advantages of git over mercurial:

 * Ability to switch *today*

 * Better performance

Action	git	hg
Cloning	2:13m	6:19m
Size	106M	213M
Pull	0.367s	1.714s
Commit	0.137s	0.239s
Diff	0.018s	0.275s
Show	0.007s	0.153s

 * Faster conversion: 30 minutes vs 40 hours

This means it's easier to test the conversion scripts, and finish them.

 * Brighter future

Depending on your sources, your views might differ, but git is the
undoubted king of DVCS right now, and it's popularity and power is
only going to increase. [3]

For the people not familiar with the SCM discussions (or the ones that
have forgot them), they all boil down to; pidgin developers are more
familiar with mercurial, therefore they voted for mercurial, and no
analysis was done (except by me [4]). "I'm familiar with monotone" was
a bad reason to pick monotone, and it's a bad reason to pick

>From any analysis the project is in a dire situation[5], delaying the
switch to a decent DVCS is only making the situation worst.

The scripts are in:

And the results:


P.S. Remember to click 'reply to all' to keep in CC people not in the
mailing list (e.g. me)

[1] https://git.wiki.kernel.org/index.php/GraftPoint
[2] http://hg.guifications.org/pidgin-mtn-conv-files/
[3] http://jamesmckay.net/2012/03/what-is-gits-market-share/
[4] http://felipec.wordpress.com/2011/05/01/pidgin-picking-the-wrong-dvcs-again-mercurial/
[5] https://www.ohloh.net/p/pidgin/analyses/latest

Felipe Contreras

More information about the Devel mailing list