Нет форка, потому что нет двух ревизий, разделяющих родителя.
Клонированный репозиторий не является чем-то особенным. Это идентично оригиналу. Коммиты для него идентичны коммитам в исходном репо. Они не помечены как ветки. Клон - это просто хороший способ иметь другую рабочую область, в которой вы можете выполнять некоторую работу (включая коммиты), не влияя на оригинал.
Разветвление происходит, когда два или более коммитов имеют одного и того же родителя. Часто это происходит при использовании клонов, но может и не быть. Если есть только одна ревизия с одним и тем же родителем, разветвления нет.
После вашей первой последовательности вы ввели только один набор изменений (4), который имеет старый наконечник (3) в качестве родителя, так что это все еще прямая линия. Только когда вы введете второй набор изменений, заключенный в (3), вы увидите вилку.
Теперь запомните, даже если вы «отодвинули» набор изменений обратно, а исходное репо «Hello» содержит все 4 набора изменений, его рабочий каталог по-прежнему указывает на набор изменений (3). Так будет до тех пор, пока вы не запустите «hg update» внутри него. Это означает, что если вы сделаете коммит в «Hello», он будет основан на (3), а затем появится форк. Неважно, когда этот коммит сделан.
Это то, что вы сделали во второй последовательности.
Надеюсь, это поможет.
Я пытался использовать термин «вилка» в этом, потому что «ветвь» имеет много значений, включая команду «hg branch», которая делает несколько другие вещи.