discuss-gnustep
[Top][All Lists]
Advanced

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

Re: git mirror


From: Riccardo Mottola
Subject: Re: git mirror
Date: Wed, 15 Feb 2012 16:59:00 +0100
User-agent: Mozilla/5.0 (X11; NetBSD i386; rv:8.0) Gecko/20111219 Thunderbird/8.0

Hi,

On 02/15/12 16:04, David Chisnall wrote:
On 15 Feb 2012, at 13:06, Quentin Mathé wrote:
There are two issues that I'd like to see a good solution for with this:

The first is that we lose a monotonic counter for revisions.  If someone has a 
bug, with svn you can say 'I think this is fixed in r12345, are you running an 
older revision than this?' and they can actually answer it.  With git, you say 
'I think this is fixed in 4f13bc56' and they say 'well, I'm running 5196f8a' 
and you say 'I have no idea what the relationship between the two is, one of us 
needs to go and look at the timeline and see, and it's not going to be me 
because you're the one with the problem' and they say 'fine, I don't care 
either, your project sucks'.
I think this is a very good point which i hadn't thought before of and is a very good point for SVN. It helps also a lto when doing bisection search when doing bug searching (which is one thing where SVN is superior to CVS where you need to use dates for that, since revisions are only on files and messing around with date-stamps is boring).

Thus it confirms my idea of having a SVN master and a git slave is a potential good idea.

The other issue is that git does not support partial checkouts.  This means 
that we would have to split the GNUstep repository up into a load of sub 
projects.  I don't see this as a major issue for things like Gorm, which are 
largely independent, but I have in the past wanted to make changes to libobjc2 
and base, or base and gui, or gui and back where the change in one layer 
requires corresponding changes in another.  With svn, even though I have 
checked all of these projects out separately, I can do an atomic commit to the 
entire project so we never have an inconsistent state in the authoritative 
repository - people either see the state before the commit or after.  With git 
(and, I believe, all of the other DVCSs that have been suggested) this is not 
possible, so someone can do a checkout of the core GNUstep modules and find 
them in a non-building state.
Partial check-outs are quite convenient. Most developers will have the "whole" of devmodules. But for example, ewhen I work on Mac, I only have dev-libs checked out because I work on simplewebkit or webservices, I do not want nor need core.

Riccardo

---
This email is sent from My Computer. Not yours.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]