Git and Mercurial Hosting

April 6, 2008 by Doug Leave a reply »

With all the clammering for free SVN hosting at the moment its easy to forget there are other services available.  I wanted to try out Mercurial and Git since they recently became increasingly popular and with Rails switching to Git it just begged to be given a try.

Well here’s a few free source hosting services using alternatives to Subversion.

I’m still unconvinced of the distributed source repository method.  Maybe I need to be part of a larger development team but for small teams (3-4) located geographically close it seems pointless to use distributed.  Unless someone’s found it to be useful otherwise?

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • BlinkList
  • DZone
  • Live
  • Ma.gnolia
  • Reddit
  • Slashdot
  • SphereIt
  • StumbleUpon

Related

Advertisement

6 Responses

  1. I really don’t think you need to be a part of a large team to see the usefulness of distributed revision control. All you really need is to not have internet on your laptop. Or to be prototyping a new features which needs to be tested in place. If you lose internet, you can still commit all your changes (unlike SVN where you can ONLY commit to a central repo, usually over the net). If you are working on prototyping or something, just hashing out some ideas, it can be done in place on your own personal branch which you can chose to expose if it works out or just never push. I can’t see why you wouldn’t want the extra features of push and pull. The overhead is minimal, if any, to use DRCSs.

    I’ve written a little article about learning DRCSs which mainly consists of links to tech talks about it. I sometimes have a hard time getting teammates to learn DRCSs. That, for sure, is a downside to any new technology. Hopefully Linus can help convert people =)

    Good post, though! I didn’t know Hg hosting existed.

  2. Max says:

    In a given week, I use Subversion, Mercurial and git. I use them for different projects and in different contexts.

    Subversion is fine for basic VCS in a centralised office environment, and it is least confronting to developers. But it does have many warts, and branching/merging is a real pain. (Hopefully 1.5 will address the biggest failure of svn’s merging whereby you have to manually figure out which revisions to merge!). It currently has the best 3rd party tool support, but that will change with time.

    I’ve recently started using git, and it is very fast and very powerful. And it takes quite some learning to get comfortable with it. If you put in the effort to learn, you can do amazing things with it. But then again, many people don’t need to, so it can be overkill in some places.

    I’ve been using Mercurial for a few months now, and it’s my preferred tool by far. I use Mercurial for all my personal projects, for shadowing FLOSS projects, and even for local branches of svn projects. Mercurial has a wonderful balance of power and ease of use. It isn’t quite as featureful as git, but I’ve never found it wanting. It is fast, easy to use, has great documentation, and I can be productive with little learning. It is very comfortable for an svn user to start using almost straight away.

    I’m surprised you don’t see a huge need for a DVCS. If you’ve ever worked on an svn project on a laptop, you will know the pain of not being able to commit, not being able to check history, do diffs from older revisions than HEAD, create new branches, etc, etc, etc. Subversion is virtually useless if you’re disconnected. And since I do a lot of work on trains and planes, I need a distributed system. Even for a small team in the same office, I would rather use hg than svn. Mainly due to its superior branching and merging.

    A centralised VC model is merely a degenerate case of a fully distributed system. And you can easily use hg or svn in a similar fashion, with a central “master” repo on a server. Since both hg and git are also way faster than svn, there’s little reason (other than perhaps IDE support) not to use one of them.

    As I have read many places elsewhere, once you’ve used a DVCS, you won’t want to go back.

  3. Anna Lissa says:

    It would also be worth giving sshcontrol.com a try. All registered users can create one free Mercurial, Git or Subversion repository and upload SSH keys for secure access.

  4. Josh Adams says:

    I’m surprised you don’t see the big benefit of git. Have you yet forked and followed someone’s repository? Seen this feature with gitk or github’s network diagram?

    It’s phenomenal…I’ve been ghosting communityengine and contributing back when I can just by sending the maintainer a pull request from my repository…and this took nearly zero setup. It kind of flips the permissions thing on its head for repositories imo.

  5. saluk says:

    Yeah, distributed has some nice ideas, such as the “pull only model”, which minimizes mistakes or people getting mad at you for committing something that didn’t work. Having everyone only pull changes from each other feels much less intrusive and free than having to push to a specific place and worry about what others may be doing at the time. Even as a single developer there are benefits, such as being able to make many commits without having to worry about breakages, and then less frequently doing the actual push and knowing that the state of the mirror is a good build. Users can always be safe downloading what is on the trunk, and I can be free to commit as I please. I use mercurial, because the git error messages are some of the most unhelpful messages I’ve ever seen (and windows support of git is extremely lacking), but I have learned enough of both to generally prefer the model to the “old way”.

  6. I’ve been using Mercurial for the last 6 months, previously I used CVS for about 15 years.

    Mercurial works really well for us. We have a private, internal network. We have an office and a lab a block away.

    In the lab are 2 work stations, you never know which one you will get.

    We have a main repo on a central server that we all push to.

    In my office I have a clone of the central repo. I keep the Mercurial http server running in my office.

    In the lab I pull and push to my office Mercurial http server. So no, matter what workstation I’m on, I always have the latest code.

    This configuration works out really super nice.

    I also use the Mercurial Queues or patches. It took a little while to get used to this, now I couldn’t live without it.

    Mercurial is very flexible.

    - Greg Strockbine

Leave a Reply