Как правило, распределенные системы контроля версий будут поддерживать вас только для создания новой ветви из всей существующей ветви, а не (как это делает Subversion), позволяя вам сделать копию небольшой части того, что вы работа над. По крайней мере, Git (и я думаю, что некоторые другие) позволяют вам ссылаться на подмодули (которые сами по себе являются git-репозиториями).
Git позволяет вам делать практически все, что вы захотите, даже если это не особенно полезно или очевидно (и даже если инструменты не будут поддерживать вас в этом). Нет технической причины, по которой все ветви в Git-репозитории должны иметь общего родителя или иметь какое-либо отношение друг к другу. Также ничто не мешает вам создать коммит, состоящий из поддерева его родительского коммита, и отслеживание и слияние изменений в Git, вероятно, в этом случае, скорее всего, справятся довольно хорошо.
Mercurial, по крайней мере, отличается от Git в этом отношении, так как рабочий процесс Mercurial, похоже, настроен на попытку сохранить отдельные ветви в отдельных репозиториях, в то время как рабочий процесс git вполне доволен наличием множества веток в одном хранилище.