Google Code + SVN or GitHub + Git [closed]
Let me start by telling you that I never used anything besides SVN and I'm also a Windows user.
I have a couple of simple projects that are open-source, others are on their way when I'm happy enough to release their source code. Either way, I was thinking of using Google Code and SVN to share the source code of my projects instead of providing a link to the source on my website. This has always been a pain because I had to update the binaries and the code every time I released a new version. This would also help me to have a backup of my code some where instead of just my local machine (I used to have a local Subversion server running).
What I want from a service like this is very simple... I just want a place to store my source code that people can download if they want, that allows me to control revisions and provide a simple and easy issue/bug system so people can submit bugs and stuff like that. I guess both of them have this.
But I don't want to host any binaries in their websites. I want this to be hosted on my website so I can control download statistics with my own scripts. I also don't have a need for wiki pages as I prefer to have all the documentation on my own website. Do any of these services provide a way to "disable" features like wiki and downloads and not show them at all for my project(s)?
Now, I'm sure there are lots of pros and cons about using Google Code with SVN and GitHub with Git (of course) but here's what's important for me on each one, and why I like them:
Google Code:
- As with any Google page, the complexity is almost non-existent
- Everyone (or almost everyone) has a Google account, whcih is nice if people want to report problems using the issues system
GitHub:
- May (or may not) be a little more complex (not a problem for me though) than Google's pages but...
- ...has a much prettier interface than Google's service
- It needs people to be registered on GitHub to post about issues
- I like the fact that with Git, you have your own revisions locally (can I use TortoiseGit for this or?)
Basically that's it. Not much, I know...
What other common pros and cons can you tell me about each site/software? Keep in mind that my projects are simple, I'm probably the only one who will ever develop these projects on these repositories (or maybe not, but for now I am).
Google Code is supporting Mercurial now. Mercurial should give you most of the benefits of Git, but you get the maturity of Google Code. You also have the option to go with subversion there as well should you want to.
Google Code Project Hosting now supports Git.
There are 2 main advantages to GitHub:
- It uses git (duh!)
- It's a very "social" environment.
GitHub makes it very easy to make contributions to other people's code, and easy for them to integrate it back in. There are also lots and lots of cool post-commit hooks that they have built-in; for instance, when I commit to one of my repositories, an email is sent to my Google Groups announce list and a bot pops into the irc channel, gives a summary of the changes, and pops back out again. I know of at least one CI service that triggers on GitHub commits (or rather, pushes).
If you're planning on this being a fairly small, solo project, then you probably won't find most of GitHub's features to be that useful.
I haven't had particularly positive experiences with TortoiseGit myself. I really like the git model, but everything about it feels weird to me when I'm trying to use it on Windows. I often end up just using the cygwin version, but even that is far from perfect.
Honestly, for small projects that you want to opensource, I'd probably just host on google code and deal with SVN for the moment. It might be different if you were already a git expert, but I'm not sure that the learning curve is worth it for a small, windows-based project (esp. considering the # of windows developers who are likely to be turned off by it).
These are answers for Google Code (which I use and am very happy with):
But I don't want to host any binaries in their websites
So don't - nothing in the Google terms of service requires you to do so.
I also don't have the need for wiki pages
The wiki pages, like almost all the tabs on a GC site, can be disabled and hidden.
Why not create a Google Code page for your project (it takes about 2 minutes and it's free) and play with the admin options to see if it does what you want?