On Tue, Jun 15, 2010 at 17:42, Nick Treleaven nick.treleaven@btinternet.com wrote:
On Sun, 13 Jun 2010 14:22:05 +0200 Enrico Tröger enrico.troeger@uvena.de wrote:
I have a few years of daily experience both with SVN and GIT. We use SVN at work and I use GIT for all my personal projects. I like GIT better than SVN.
In my humble opinion you shouldn't switch unless you are unhappy with sourceforge / svn.
I agree. For our current development process I don't see any big need to change away from SVN. It will cost a lot of effort with no extra profit adding.
I'd like to second that. And, while I use local Git repository for Geany, I'm completely happy with git-svn (and my separate SVN branch, of course :).
I agree. Same here.
Well, if Frank doesn't want to and Nick doesn't mind, we maybe can indeed save us the whole trouble of discussing about switching :).
To be honest, it would be some hassle for me to switch. I only have experience using Git locally, no push/pull/branches. But that experience was great, I like the tool.
So I think as Lex has suggested, that we shouldn't switch right now. Maybe some time in the future. I don't have time ATM to learn Git/investigate switching.
Also as regards sourceforge, I agree with Enrico that we want to stay with them for now at least.
Just for those interested, I have created a complete import of your SVN repo to git. The result is here:
http://gitorious.org/geany/complete
It contains all the branches and all the tags you have created (many of the branches could be deleted I guess) and the whole history since 2005. Here's what I did (may be useful if you decide to migrate to git in the future). Basically I followed the instructions here:
http://blog.woobling.org/2009/06/git-svn-abandon.html
and downloaded the conversion scripts.
1. You have to create the authors file with names and email addresses of the committers. Each line has the form:
committer = full name email@address.com
This was easy because most of them are already present in your git mirror. The missing ones were:
(no author) clytie kretek statc
"(no author)" was used for the initial import so I used Enrico here. I think I found the correct name and email for "clytie", but I had no idea for kretek and statc so I used just a fake name and email for them.
2. Run
git svn clone --authors-file=authors.txt --prefix=svn/ --stdlayout https://geany.svn.sourceforge.net/svnroot/geany
(wait about 90 minutes until everything gets downloaded)
3. Make proper tags and branches:
cd geany git svn-abandon-fix-refs git svn-abandon-cleanup
The result could probably be manually improved for some merges but I don't know if it's worth the work.
4. Push the result:
git remote add origin git@gitorious.org:geany/complete.git git push --all git push --tags
That's it.
Just a few more comments related to the possible switch. First, just an observation - the people who said they don't mind are those who have write access to SVN. I agree that for them the switch is much less important - they can create their branches to develop and back up the work in progress and for their own development the current workflow is OK. The current situation is worse for external contributors who don't submit their patches so often to have SVN access. They either don't have their work backed up, or they have to create their own repository e.g. at gitorious as I did. When they finish their work, they can't just tell "please pull from here" but have to submit their patches by email. This is harder for the maintainers too - they have to manually apply the patches from the email instead of just "git pull". Finally, it will be the maintainer who makes the commit and the information about the original committer is lost with SVN - with git you see every single commit author (this means you have to add some "thanks to" to the commit message for SVN - this work would be eliminated with git). Finally, you can forget about updating ChangeLog - this can be generated automatically by git (GNOME libraries usually have one pre-git ChangeLog and then a changelog automatically generated from the git history during "make distcheck"). So what I want to say here is that while the core developer's development work won't be affected by the switch much, the collaboration with external developers will improve considerably.
On the other hand you are right - git is a bit harder to use and there will be many "doh" moments. The learning curve is steeper that with SVN but when you learn it (I really don't want to make an impression I'm an expert here - git still surprises me sometimes), you'll realize git is a very powerful and helpful tool.
There has been some discussion about changing the bug tracker at the same time - I would make it an independent issue. My personal opinion is that you should just stay with sourceforge - moving the whole bug tracker somewhere else is too much manual work rewarded by too little gain.
Cheers,
Jiri