Как говорится, объединять нечего - вместо этого следует использовать обновление:
$ hg update feature1
Вы можете объединять только расходящиеся части истории, и здесь набор изменений dev-1.1
является просто предком набора изменений feature1
. Mercurial 2.1 говорит
$ hg merge feature1
abort: nothing to merge
(use 'hg update' or check 'hg heads')
в этом случае, и мы надеемся, что это прояснит ошибку.
Если вы добавили в закладки набор изменений dev-1.1
(вместо того, чтобы пометить его), тогда обычный
$ hg update
теперь (с Mercurial 2.1) приведет к обновлению закладки dev-1.1
. Так что, если вы начнете с
$ hg bookmarks
* dev-1.1 0:b1163a24728f
feature1 3:c84f04513651
feature2 2:e60dd08af282
, а затем обновить:
$ hg update
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
updating bookmark dev-1.1
затем закладка обновляется:
$ hg bookmarks
* dev-1.1 3:c84f04513651
feature1 3:c84f04513651
feature2 2:e60dd08af282
С более ранними версиями вам нужно будет сделать
$ hg update feature1
$ hg bookmark -f dev-1.1
Это все еще применяется, если обычный hg update
не приведет вас к правильному набору изменений, например, если вы хотели вместо этого "слиться" с feature2
.
Идея использования merge , когда история на самом деле не расходилась, возникла из Git. В этой системе существует понятие ускоренного слияния , которое мы называем обновлением в Mercurial.