SVN or Git

Started by AGA, Thu 20/12/2012 12:59:07

Previous topic - Next topic

AGA

We will shortly be moving from the current Windows machine to a new Linux one.  This will of course necessitate switching from the current SVN repository to another one, whether it's simply a Linux SVN or another type of version control software.

The idea of switching to Git has been mentioned in the past, so this seems like a good time to do that.  If this were to happen over the next few weeks, does anyone have stuff checked out that's likely to be affected?  If so, could you commit soon, so I can make sure the repository that's converted to Git is the most up to date.  I understand that no one is really committing to the official AGS SVN anymore anyway?  Logging is turned off, so I can't find this out myself!

I don't really know anything about version control, so forgive me if I've mangled the terminology above by the way!

Crimson Wizard

I think only tzachs was working with official SVN last year. Other people seem to make their personal copies to work with.

AGA

Hmm.  Would people want to bring their individual Gits into one place as branches of an official Git, or is there a benefit to keeping them separate?  Did people just spin off because Git is better to work with than SVN, or do they want to keep independence?

Crimson Wizard

Quote from: AGA on Thu 20/12/2012 13:10:01
Hmm.  Would people want to bring their individual Gits into one place as branches of an official Git, or is there a benefit to keeping them separate?  Did people just spin off because Git is better to work with than SVN, or do they want to keep independence?

Personal repositories have convenience simply because you may use them as you please (e.g. for risky experiments, "unofficial" features) without screwing up or cluttering main repository. Independence could be a reason in some cases too (like you do not want someone mess with your work before it is completed).

I am not sure how this works with SVN, but Git system keeps record of every fork's origins, so even if you have your code in separate repository, you may still easily copy changes to the main, and vice versa (furthermore, someone may fork from your personal repository, and still be able to compare and merge his work with main origin).

For example, although I am working with JJS and BigMC in the same Git repository (sort of hub), I still have a personal repository, where I sometimes test things prior to copying them to the main repo.

BigMc

You should definitely switch to git. I think people switched to git because of 3 reasons. First, because it is better to work with, second because the svn web interface that was used did hardy show anything and third because there is no information on the website how to get commit access to the svn. Now if you set up a git server, you should also set up a web interface like gitweb. This is a good web interface, but it is still way behind github.

Github makes it really easy for people to collaborate and for new people to get involved. So my suggestion is let people only push to the github repo and synchronize the repo on the server automatically as a backup. I already mentioned elsewhere that a proper branching model like [1] should be employed and then, when a new version is released, the master branch will be treated more carefully.

[1] http://nvie.com/posts/a-successful-git-branching-model/

SMF spam blocked by CleanTalk