There are several different revision control systems that developers have available to them in order to control changes to their code base. These include:
I still see many teams using SVN and Git but in the past year I have seen more and more teams starting to use Mercurial. (I’ve also seen teams rapidly adopting BitBucket which has been a favorite of mine for years). There are several client tools available to manage a Mercurial repository but the one that I’ve found to offer the best balance is TortoiseHg.
TortoiseHg is free and has a significant user base. The tool is updated on nearly a monthly basis to resolve bug fixes and add new features. The tools is also windows based and has a very similar flow to TortoiseGit and TortoiseSVN (yes I use all these so having a common windows shell extension comes in quite handy).
The Mercurial process for committing and receiving is slightly different than with Git. Developers who want to update to the latest code must:
- Perform a sync
- Pull from the repository
- Update the local copy
In Git, users just had to perform a pull and their local copy would be updated. The nice thing about the synchronization is that it allows a developer to see what changes have been made without having to update the local copy immediately to those changes.
Developers who want to commit their code must:
Once this has been done, the latest code now lives in the repository.
The easiest way to manage this entire process is to use the Hg Workbench. Developers can use the workbench to perform all these tasks in addition to browsing the repository, viewing changes and even reverting and creating additional branches.
(image source: http://tortoisehg.readthedocs.io/en/latest/workbench.html)
If anything is certain, developers need to at least be using some type of version control system to manage their code. Mercurial has become the new favorite amongst developers and one tool that I have found that is useful is TortoiseHg.