Карл Мейер прав. Ты думаешь как пользователь git, а Mercurial по-разному справляется с ситуацией.
Вы можете сделать то, что предложил Карл, и просто заставить следующий коммит быть в ветке разработчика. Лично я бы посчитал это довольно запутанным, если бы увидел это, так как в ветви dev был бы разрыв.
То, как я справлюсь с этим, - это объединить ветвь функций обратно в: hg update dev && hg merge feature && hg commit -m 'Merge in the completed feature.'
Это приведет к графу, как:
a - dev
b - dev
c - dev
d - dev
/|
e | - feature
f | - feature
\|
g - dev
Для меня это ясно иллюстрирует, что именно произошло. Вы добавили новую функцию и добавили ее в ветку dev после завершения. Тот факт, что в то время на dev не было никаких других коммитов, является просто совпадением и не должен изменять рабочий процесс.