[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-smalltalk] Any objections on switching to git?
From: |
Paolo Bonzini |
Subject: |
[Help-smalltalk] Any objections on switching to git? |
Date: |
Tue, 20 Mar 2007 11:22:08 +0100 |
User-agent: |
Thunderbird 1.5.0.10 (Macintosh/20070221) |
I have recently been considering using git instead of arch
to manage GNU lightning and GNU Smalltalk. I even contributed
some patches to make it easier to use for projects with long-term
"work on the side".
The Smalltalk archive seems to be "corrupted" now, according to
arch, and this "feature" has prompted me to poll about a switch.
Benefits include:
1) extremely fast. I'm pretty fed up of the cost of arch's
revision library slowness. And sometimes I must admit I've
been sloppy on committing separate changesets only to avoid
that slowness.
2) more actively maintained. Bzr is not supported yet at
Savannah and does not include retrocompatibility with arch
anyway, so why bother looking at it.
3) widely deployed. Used by Xorg and Wine among others.
4) fast development pace. 1.5.0 had a lot of usability
improvements and I contributed some more to 1.5.1.
5) good conversion from existing arch repositories. I also
contributed some improvements here in the last month, and
these are already in released versions. So the conversion
from arch to git will be good quality.
Drawbacks include:
1) one new tool to learn for users. I think that git is
to arch, as svn was to cvs, so it would be worthwhile anyway
to learn it. I'll still provide the CVS archive anyway.
I put together this small guide (for not-yet-released 1.5.1):
"cvs checkout":
tla get address@hidden/smalltalk--devo--2.2 PATH
--> git clone --depth=100 MY-URL PATH
work:
tla commit
--> git-commit -a
create long-lived branch off remote archive:
tla register-archive MY-URL
tla get address@hidden/smalltalk--devo--2.2 PATH
cd PATH
tla branch smalltalk--BRANCHNAME--0
--> mkdir PATH && cd PATH
git-init
git-remote add -f upstream MY-URL
git-checkout --track -b BRANCHNAME upstream/master
merge upstream into branch:
tla star-merge address@hidden/smalltalk--devo--2.2
--> git-pull
merge local branch into another branch:
tla star-merge address@hidden/smalltalk--coolfeature--2.3
--> git-pull . mybranch:destbranch
register archive to cherry pick from:
tla register-archive THEIR-URL
--> git-remote add -f them THEIR-URL
cherry pick from branch:
tla replay address@hidden/smalltalk--coolfeature--2.3--patch-NNN
--> git-fetch them
git-cherry-pick <sha1 of commit to pick>
and it does not seem to be *that much* harder.
2) Write your own here.
I plan to wait for a couple of days for objections.
Paolo
- [Help-smalltalk] Any objections on switching to git?,
Paolo Bonzini <=