[TYPO3-commerce] Reminder - poll about SVN vs Git

Jigal van Hemert jigal at xs4all.nl
Wed Jun 15 10:33:33 CEST 2011


Hi,

On 14-6-2011 15:30, Christian Kuhn wrote:
> On 06/06/2011 10:45 AM, Morten Haggren wrote:
>> Would be nice if there were a bit longer explanation as to why people
>> desire to switch rather than "Git is simply the better VCS".
>
> My personal top reasons:
> - As a major bonus we get gerrit as review system to handle patches more
> transparently.

Can you explain the "transparent" part of gerrit?

So far gerrit has been pretty "opaque":
- yet another place for discussion (besides bugtracker and 
newsgroup/mailinglist)
- new patches, new versions of patches and reviews/comments are not 
pushed to the newsgroup but you have to actively look them up in gerrit
- gerrit lacks options to categorize / tag changes
- all reviews/comments are grouped by version of patch ("change set"), 
it lacks a way to respond to a particular review
- a new version of a patch (even if only the commit message changed) 
results in loss of votes
- if patch cannot be applied automatically (at first gerrit could not 
apply a patch to a file if that was modified by another patch (fixed in 
configuration), now there are problems when a submodule is introduced 
somewhere else in the source tree) the patch has to be fixed, pushed 
again and review/submitted again (instead of just fixing it before 
committing to svn)
- if you support multiple versions a separate patch for each version 
(branch) has to be pushed and reviewed. With svn it is often enough to 
have a single patch for several versions. This also means that if you 
have to make modifications to a patch you have to push new patches for 
each branch.

> - git can handle multiple patches much better than svn, especially if
> they depend on each other.

True. Because you commit locally you can easily create patches based on 
the situation after another patch. In the past there were also patches 
which depended on another patch, but in reality it was almost always 
that they affected different files. Svn can handle this.

- git handles binary files better than svn
- with git you can work on different things more easily because you can 
create (local) branches for each task. If you are not comfortable using 
git (i.e. you're not a git expert who can easily fix problematic 
situations) this is quite scary. You have to trust git to store your 
work correctly.
With svn you create patches to store work and revert the changes. You 
could easily delete the working directory and checkout the repository 
again and still have the patches.
With git you have to make sure your local repository keeps working 
correctly.
- although there are GUI tools for git, there is virtually no support 
for them from the git experts in the community. Especially for Windows 
GUI tools you are on your own (I'm sorry to say, but a couple of them 
have explicitly refused to take a look at them). Make sure you're a 
command line fan and like things such as bash, vi, etc.; then you may 
like git too.

-- 
Kind regards / met vriendelijke groet,

Jigal van Hemert.


More information about the TYPO3-project-commerce mailing list