59

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

gkrogers
  • 8,126
  • 3
  • 29
  • 36
rfgamaral
  • 16,546
  • 57
  • 163
  • 275
  • 3
    Re: "disable" features, I know Google Code allows you to hide tabs like wiki and downloads by going to Administer->Tabs, and you can provide links on the main page back to your homepage – jimmyorr Apr 30 '09 at 16:38
  • 1
    @uglysmurf GitHub has the same admin features too. :) – Marc Charbonneau Apr 30 '09 at 17:00
  • You can actually also use `svn` on Github.com but the issue tracker on Github is a joke -- they might as well not provide one. I would suggest going with Redmine or Trac for your issue management if you're going to use Github. – Nick Bolton Jul 04 '10 at 18:43
  • I certainly wishes that Google Code supported Git, After you have started to use Git - Everything else feels unnatural to use! If you want to contribute to a project on GitHub - just fork it! When you are done with your changes the original project owner can review your branch (Do extensive testing and such) before they merge back. Several branches can exist at the same time and be developed by different users - and it all can be visualized on a great timeline showing all forks, commits and merges. I can put it like this: It is a less monolithic and more transparent process of development. – Frank Jan 20 '11 at 02:00
  • @Frank: SVN allows to checkout repos and make branches too. And if you don't like SVN, Google Code supports Mercurial. – niutech Jan 27 '13 at 17:23
  • Google code now supports git – Hemang Jul 18 '14 at 12:49

11 Answers11

43

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.

Steve Rowe
  • 19,411
  • 9
  • 51
  • 82
  • Good point, I had never noticed this myself. The windows tools for mercurial are much nicer, imo as well. Though I prefer the git model over it for various reasons. – jsight Apr 30 '09 at 16:38
  • 1
    GC is not yet supporting mercurial - it's a beta for selected users only. –  Apr 30 '09 at 16:42
  • Good point -- with that in mind, the question should be Google Code vs GitHub, not SVN vs. Git. I prefer Google Code, but GitHub has some interesting unique social aspects to it, and I don't see anything less mature about it. – jimmyorr Apr 30 '09 at 16:45
  • Mercurial is out of the question... f I'm going to be moving away from SVN (which, like I said, it's the only thing I've used) it's going to be to Git, not any other. – rfgamaral Apr 30 '09 at 17:40
  • 1
    Nazgulled, just about anything is better than svn. If you have no experience with anything else, I don't think it's wise of you to put your foot down and make such a firm decision. (That said, I'm primarily a git user these days, but I have a pretty good understanding of hg after using it for a long time). – Dustin Apr 30 '09 at 17:45
  • It doesn't matter, if I'm moving away from SVN, it will be to GIT or else I stay with SVN. My "firm decision" has nothing to do with the software itself, I have my reasons but they don't matter for the discussion at hand... – rfgamaral May 01 '09 at 00:19
  • 4
    As of now, GC mercurial is out of beta. – James McMahon Mar 19 '10 at 18:24
30

Google Code Project Hosting now supports Git.

anatoly techtonik
  • 19,847
  • 9
  • 124
  • 140
22

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.

Xiong Chiamiov
  • 13,076
  • 9
  • 63
  • 101
  • 3
    True. In order to understand the beauty - one must use GitHub. – Frank Jan 20 '11 at 02:02
  • In web page of GitHub, always followed word "Social programming", Now from Xiong, I can deduce that: Social programing means large scale programing, (may be initiated from pair progaming in Agile ). – parsifal Feb 28 '11 at 08:06
21

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

jsight
  • 27,819
  • 25
  • 107
  • 140
  • 7
    Git on Windows always feels odd to me. Its Linux roots run too deep. – Steve Rowe Apr 30 '09 at 16:50
  • 7
    Why are Windows people so anti-Git? I'm a Windows guy who just started using Git and I love it. – Jo Sprague Sep 02 '11 at 20:18
  • +1 even though I love git and dislike svn (it's about dvcs vs. cvs and too long for here Josiah). However in this case I would stay in known territory - svn, as they do have somewhat different workflows - often for the same named things, branches being the biggest example. – Michael Durrant Mar 20 '12 at 05:12
  • 3
    For whatever it's worth, I think both the answer and question here are outdated now. Google Code now supports Git, and I believe that Git on Windows also works pretty well now. – jsight Mar 21 '12 at 13:28
  • @JosiahSprague Git still sucks in Windows. In use a Windows computer every day for work but bust open a Linux Mint clone on VirtualBox to develop because I can't stand to develop using git without 'git cola' and 'gitk'. Tortoise is great for SVN but just feels awkward with Git. – Evan Plaice Apr 28 '12 at 03:02
8

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?

  • 2
    Because every time I sign up for a new Google service I can never remove it from my account if I don't want to use it again and that bugs me, I'm a very tidy person. Also, the thing behind the binaries wasn't actually about what you pointed it... Is there a way, I could have download links in the GC page, but pointed them to specific urls? Still, GitHub has such a nice interface and like someone said, the social aspects, they are not very important but are very nice and neat. – rfgamaral May 01 '09 at 00:22
  • You can create a link to your downloads on the main page, but I don't think there is any way to have your binary appear under the dowmloads tab. –  May 01 '09 at 16:41
7

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

Andrew Babkin
  • 87
  • 1
  • 1
3

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.

Cody Caughlan
  • 32,456
  • 5
  • 63
  • 68
2

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.

jdc0589
  • 6,972
  • 5
  • 36
  • 39
1

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.

Jon
  • 2,932
  • 2
  • 23
  • 30
0

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.

Anibalismo
  • 93
  • 1
  • 4
0

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.

MatejC
  • 2,167
  • 1
  • 18
  • 25