[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Git? (Was: Team maint update)



Marco Túlio Gontijo e Silva wrote:
> Hello Joachim.
> 
> Em Sex, 2009-07-03 às 11:19 +0200, Joachim Breitner escreveu:
> (...)
>> Given that we are going to maintain a large number of very similar
>> packages, a common use case will be making similar adjustments to all
>> packages at once. This would very much benefit from having one VCS
>> repository for all packages.
> 
> Good point, I haven't thought about that, and I agree that's much better
> for keeping packages in sync.

Git has submodules support (see git-submodule(1)).  Also,
git-buildpackage and friends are structured around the idea of separate
repos.  It's pretty easy to write shell scripts to act on all of them,
and even treat them all as a logical whole, thanks to git-submodule.
I'll need to go read the perl thing before commenting more on its
relative merits.

> (...)
>> Information on the DPG’s SVN layout can be found here:
>> http://pkg-perl.alioth.debian.org/subversion.html#2__repository_anatomy
> 
> I noticed they keep the upstream sources in the repository.  What's the
> point of that?  Isn't keeping just the debian/ directories enough?

It makes it much easier for everyone.  You can just darcs get, get
clone, or whatever and get a working tree.  You can build a diff.gz from
nothing but the data contained in the repo.  You can use the VCS to
track diffs outside of debian/ as well, removing the need for things
like quilt.

> (...)
>> (Darcs, of course, has some charm on it’s own for a Debian Haskell
>> Group.
> 
> I agree with this.

I agree that it has charm :-)

> (...)
>> I guess John, being the author of darcs-buildpackage, can
>> best guess if it’s a good idea to use Darcs).
> 
> I agree with this too.

I used to use darcs, and for this task in particular.  I was forced to
abandon it due to all the conflicts it generated.  Eventually, its
merge-in-exponential-time problem became so severe that it became unusable.

I switched first to Mercurial (due to git's UI being pretty bad back
then), and then from Mercurial to Git (after git 1.5 cleaned up their act).

I have been very happy with Git, and have converted almost all of my
dozens of darcs repos to Git by this point.

Darcs is a nice project, and still has some advantages (such as the dead
simple darcs send), and some fixes in Darcs 2.  But I think that Git is
becoming the de facto DVCS, and hopefully will unseat Subversion as a
reigning VCS at some point to.  I think that using a non-distributed VCS
these days is a terrible waste of effort, so assuming others agree, in
our community the two main choices we'd have would be Darcs or Git.
Both are already used extensively in our community, in fact.

-- John


Reply to: