Господа, в такой системе управления содержимым как Mercurial есть множество способов «ветвить» историю:
branch (безымянные и именованные),
tag,
bookmarks,
clone.
Поделитесь опытом, как в реальных проектах
различного масштаба происходит использование этих возможностей для:
1. Ведения мажорных версий (v1, v2, v3)
2. Минорных (v1.1, v1.2, ...)
3. Подверсий (v1.1a, v1.1b, ...)
4. Стабильных (stable) и разрабатываемых (dev) ветвей
5. Исправлений ошибок (как мелких, так и крупных)
6. Добавления
багов фич (тоже различной степени крупности)