[parenscript-devel] ParenScript now uses Git for version control
Travis Cross
tc at travislists.com
Fri Aug 22 05:27:39 UTC 2008
Greetings all,
ParenScript has migrated [4] from Darcs to Git for version control. The
new repository can be cloned with the command:
git clone http://common-lisp.net/project/parenscript/git/parenscript
Development momentum and adoption has clearly favored Git in recent
years; it is used on an increasing number of major projects (the Linux
kernel, X.org, Rails, etc.) [2]. There is no risk of it being abandoned
anytime soon.
If it were just that though, I probably wouldn't have gone through the
pain of converting. The ParenScript darcs repository has become quite
slow, especially given its modest size. There are a handful of complex
merges in the history that can trigger an exponential meltdown in
certain situations [1]. Avoiding more of these types of merges
basically means giving up the unique features of Darcs anyway.
I'm a big fan of Darcs, but there is also much to love about Git. Once
I discovered the power of `git rebase -i`, I stopped missing Darcs.
Here are approximate translations for common commands you'll use:
darcs get | git clone
darcs rec | git commit -v
darcs pull | git pull
darcs send | git format-patch && git send-email
Finally, I do understand that this change may be inconvenient for anyone
with a lot of local unsubmitted patches [3]. This change should be best
for the project in the long run.
Cheers,
-- Travis
[1] For example, try pulling or unpulling the patch from Tue Jun 26
21:05:23 UTC 2007.
[2] In the Lisp world, Kevin Rosenberg has notably converted all of his
project repositories to Git.
[3] If you find yourself in this position, you have a couple of options:
* Clean up your changes and submit them upstream before your branch
diverges too much.
* Use darcs2git to convert your Darcs repository, then use git-rebase
to splice your local changes onto the upstream repository.
[4] The old repository is still available for now, but it won't be
receiving any more commits.
More information about the parenscript-devel
mailing list