Re: Switch Repository to Git

NextGen$ <[email protected]>
Newsgroups gmane.network.freenet.technical
Message-ID <[email protected]>
* David ???Bombe??? Roden <[email protected]> [2008-06-30 00:31:03]:

> Hey folks,
> 
> I have been looking at and working with Git for the last four or five weeks 
> and I must say that I???m very impressed by it. It???s easy to use,

We must have different definitions of the word "easy" :)

> it???s extremely powerful,

granted

> it enables developers to perform the most tedious tasks 
> in a very short time and in general simply wipes the floor with 
> subversion. :)
> 

Here I don't agree; they are targetting a different audience, hence they
provide a different set of functionnalities... and have different problems.

> It is possible to import subversion repositories into Git, keeping the 
> complete history and even branches, and it???s even possible to commit changes 
> made in a local repository back to subversion; I just tested that tonight 
> when I fixed nextgens??? backport of toad???s BucketChainBucket???it even made 
> finding the bug simple.
> 

We all agree that that merging things from branches back and forth is not
easy with svn 1.4... but it will be easier when we will upgrade to a
merge-tracking enabled version.

> Git repositories can be served by a special git-daemon or by a normal, 
> run-off-the-mill HTTP server without any special modules. No DAV, no CGI, no 
> nothing, just plain HTTP.
> 
> I???d suggest that we move to Git rather sooner than later;

What feature does it have we would *need* ?
Since 0.7 started we had something like 6 branches... Even though I agree
that the merging tool is under-optimized, I think we can live with it.

First of all I am not convinced that we want to use a DSCM... and as for
the choice of GIT, well, I don't think it's appropriate in our usecase
for the following reasons:
	- Its user interface sucks (even the git guys acknowledge that and
	  that's why they developped many front-ends to git like cogito)
	- Its documentation is inexistent
	- Its integration to IDEs sucks
	- Its not cross-platform, contrary to SVN
	- As far as I know it's not possible to integrate it with mantis, nor
	  to auto-link svn revision numbers filled into tickets to commit
	  identifiers git uses.
	- It's a DSCM ... DSCMs concepts are more complicated to apprehend
	  than SCMs concepts for the average guy; We try to lower the fence
	  the average contributor has to pass in order to be able to
	  contribute; not to higher it.
	- DSCMs encourage forking; that's definitly not something we want to
	  do.

To be fair, on the assets side we have:
	- makes anonymous development easier (but we didn't have many anon.
	  contributors... and I doubt it's related to the tools)
	- Working copies are smaller as they aren't per-branch.
	- It's probably faster than SVN when you work locally and don't push
	  your changes.

> most of the trouble 
> we had with bug #2440 (which resulted from the faulty backport) would never 
> have occured in the first place with Git. (Sure, of course you can make 
> changes in the wrong branch but Git will happily apply a commit from one 
> branch to another so the backport could have been done in two minutes.)
> 

Well, I was aware it was broken but didn't take the time to fix it before I
left...

> Anybody in favor? Anybody opposed?
> 

I'm opposed but I guess you already know it if you read that email up to
here :)

Florent
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.