Ваша идея не сработает, даже если вы ограничите себя одной именованной веткой.Как упоминалось Ry4an, проблема в том, что порядок наборов изменений в этой ветви определяется порядком hg push
и hg pull
.Таким образом, вы легко можете столкнуться с ситуацией, когда у вас есть:
@ branch: master, changeset: 5:f5b6808f2f04, summary: merge
|\
| o branch: master, changeset: 4:2b7bdcc98a88, summary: mmm
| |
o | branch: master, changeset: 3:6b60342a01a6, summary: mm
|/
o branch: master, changeset: 2:f39fa3fa1aaf, summary: m
|
o branch: master, changeset: 1:4dd5e8ae6481, summary: create master
|
o branch: default, changeset: 0:68b4eb1ca123, summary: a
в одном хранилище, но
@ branch: master, changeset: 5:f5b6808f2f04, summary: merge
|\
| o branch: master, changeset: 4:6b60342a01a6, summary: mm
| |
o | branch: master, changeset: 3:2b7bdcc98a88, summary: mmm
|/
o branch: master, changeset: 2:f39fa3fa1aaf, summary: m
|
o branch: master, changeset: 1:4dd5e8ae6481, summary: create master
|
o branch: default, changeset: 0:68b4eb1ca123, summary: a
в другом.Обратите внимание, как в двух репозиториях поменялись местами mm
и mmm
.
Только в том случае, если ветвь имеет одинаковые заголовки в обоих репозиториях, вы можете говорить о том, что «ветвь одинакова»каждый репозиторий.Если это так, то, как предполагает Lazy, простой
hg log -b master --template "." | wc -m
даст одинаковое количество в обоих репозиториях.