Friday, 20 April 2012

Useful Git and Mercurial Links

Following on from my talk on DVCS at NxtGenUG last night, here are some links to the tools I talked about.

Git Install on Windows

Git users on Windows should start by installing msysgit. Visual Studio integration is available with VisualGit. To visualise your repository, keep an eye on SeeGit, which is still in its early stages, but could develop into a very useful tool. There is also a forthcoming GitHub for Windows application (still in private beta) that should be worth the wait. Finally, Posh-Git is a good PowerShell integration for git.

Mercurial Install on Windows

Get started with Mercurial by installing TortoiseHg and if you want Visual Studio integration there is VisualHg. Posh-Hg provides PowerShell integration.

Converting Repositories

Both Mercurial and git support importing the history from other Version Control Systems. In Mercurial, see the convert extension which supports many DVCS systems. You can also import from TFS and SourceSafe.

For git users there are similar tools. Here’s some help for converting VSS to git, TFS to git and Subversion to git.

Publishing a Repository from Your Local Machine

There are occasions when you want another developer to pull from a repository on your local machine. With Mercurial, you can use hgserve to launch a webserver, and with git, you use git daemon.

Open Source Git and Mercurial Hosting

Sourceforge, google code, bitbucket and codeplex all support both git and Mercurial open source projects. Then there is github, which only supports git, but has a deserved reputation for being one of the best DVCS hosting sites out there.

Private Git and Mercurial Hosting

A number of sites allow you to pay for hosting of private repositories. Both github and bitbucket offer paid options. Bitbucket has the distinction of offering unlimited free private repositories (with a limit on the number of users). Others worth looking at include repository hosting and unfuddle. Fog Creek have a product called Kiln which is based on Mercurial.

If you want to host the repositories on your own server, you can do so, but the hosting software tends to be more primitive than offered by sites like github, so you miss out on features user management, forking, pull requests etc. There is an open source project called rhodecode you can use to host Mercurial repositories. It would be great if a product similar to github were available for you to install locally, but I don’t know of any such product at the moment (let me know in the comments if such a thing does exist – gitorious is the closest I have seen so far).

Other DVCS products worth keeping an eye on

Although git is very much out in front at the moment, I think there is still plenty of scope for innovation in the DVCS space, so it may not be the final word. Three to keep your eye on for the future are Fossil, PlasticSCM, and Veracity, which look to fill in some of the missing gaps in existing DVCS systems, like better visualisation, integration with bug tracking systems and IDEs, or capabilities such as exclusive file locks, or archiving of large binary files.


Phil Collins said...

Thank you Mark, that was a fantastic session last night.

Anonymous said...

RhodeCode supports git also