Я люблю работать в системе контроля версий GIT. Это стандарт на сегодняшний момент среди всех систем контроля версий. Так получилось, что на моей новой работе широко применяется меркуриал. Не буду ругать меркуриал. В целом - это хорошая система контроля версий кода. Если вы работали с гитом, то перейти на hg вы сможете без труда. Конечно, есть свои тонкости. В целом синтаксис команд hg очень похож на гит. Это облегчает переход на hg. Я предлагаю вам простую схему обучения.
Меркуриал не архивирует файлы как svn. Он обладает верхним и нижним уровнем абстракций. Файл изменённый один раз на протяжении всего проекта, не будет записываться 100 раз, а будет фиксироваться только последнее изменение этого файла. Это экономит пространство вашего жесткого диска. Если вы по ошибке удалите коммит с изменением файла, то буду проблемы с всеми коммитами в одной ветке.
Что нужно уметь делать на первом шагах обучения. Вы должны научится легко делать коммиты и откатывать изменения. Вам нужно легко работать в пределах одного репозитория. Нужно научится быстро просматривать коммиты и отлавливать изменения кода сквозь цепь коммитов. Допустим, у вас один файл и вы не помните когда вы внесли определённое изменение в файл. Hg позволяет просматривать файл сквозь коммиты. Вам нужно научиться настраивать файл hgrc. Вам нужно уметь делать простейшую настройку файла hgignore.
Второй шаг сложнее первого. Тут нужно уметь создавать ветки и понимать ветвление. Это не просто если не никогда не делали ветки. Вам нужно понять как происходит подключение к удалённым репозиториям bitbucket.org. Помимо удалённый репозиториев нужно еще научится работать с локальными репозиториями. Вам нужно быть экспертом в hgignore. Если вы неправильно настроите hgignore, то у всего коллектива будут проблемы. Вы должны уметь разруливать слияния merge. Иногда возникают конфликты и нужно быстро исправлять код.
Третий шаг. Это уже для крутых программистов. Тут нужно понимать что такое хуки и когда их использовать. Нужно работать с патчами. Вы должны разруливать сложные запутанные случаи. Очень часто в репозиторий попадают ненужные данные и вылавливать их не просто. Вам надо уметь применять в sh-скриптах команды hg.