hg branch X
не делает ничего , кроме как сказать Mercurial "следующий коммит, который я сделаю, должен быть в ветви X". Это на самом деле не «создает» ветку. Ветвь не существует, пока на ней не будет хотя бы одного коммита:
sjl at ecgtheow in ~/Desktop/test on default at tip
$ hg branch a
marked working directory as branch a
sjl at ecgtheow in ~/Desktop/test on a at tip
$ hg branch b
marked working directory as branch b
sjl at ecgtheow in ~/Desktop/test on b at tip
$ hg branches
default 0:aae011bc1b00
sjl at ecgtheow in ~/Desktop/test on b at tip
$ echo foo >> x
sjl at ecgtheow in ~/Desktop/test on b at tip!
$ hg com -m1
sjl at ecgtheow in ~/Desktop/test on b at tip
$ hg branches
b 1:b66106035d8d
default 0:aae011bc1b00 (inactive)
sjl at ecgtheow in ~/Desktop/test on b at tip
$
Итак, ответ на ваш вопрос: «используйте hg branch branch-A
, чтобы пометить следующий коммит как находящийся на ветви-A».