Question

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).

Was it helpful?

Solution

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).

OTHER TIPS

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:

  1. It uses git (duh!)
  2. 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.

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?

Github now supports Subversion http://slashdot.org/submission/1232328/

It sounds like Google Code is a better fit for your needs, namely its use of SVN (Mercurial now, but SVN since thats what you are most comfortable with). As for its other features that you dont care so much about, then yes you can disable them by disabling their tab in the UI.

I am a fan of Google Code - its simple and straight-forward.

SVN was the first type of source control I ever used. It worked for a while, but I never looked back after switching to GIT. It sounds like the biggest issue stopping you from going to git is a good tool to use. I used tortoiseSVN for a while, and tried tortoiseGit when I made the transition but was less than satisfied.

Give Git Extensions a try, it is by far the best gui interface to git on ANY operating system.

Why not use both? You can use google code to host the project and use github as your repository. Check out robotium.org as an example.

It is clear that git is winning and it is great tool (but it needs time). With google code git support, there is no real big difference between github/gcode . If you like to have private repository and public on same provider than github is way too go. Also I am using Eclipse and egit plugin (3.7.x) is part of eclipse project, but in most cases needs to be installed as plugin.

What about bitbucket (for git and mercurial) or Team Foundation Service (for git and TFS (microsoft CVS))? They both provide 5 free private repositories and git support. Also, Bitbucker offers a git client for mac and windows and TFS offers a LOT of project managment tools.

I think bitbucket and tfs aren't as social as github, but if you need private repositories, maybe you want to loose that "socialness"

Hope this bring to the table some ligth.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top