Попробуйте с помощью
$ hg status --rev "branch('your-branch')"
получить изменения между первым и последним набором изменений в ветви (hg status
будет неявно использовать min(branch('your-branch'))
и max(branch('your-branch'))
, когда вы дадите ему диапазон ревизийвот так).
Поскольку вы будете объединяться, вам действительно нужно взглянуть на
$ hg status --rev default:your-branch
, чтобы увидеть, что изменилось между веткой default
и your-branch
.Это показывает вам выполненные изменения и отфильтровывает любые изменения, сделанные в ветке из-за слияния с default
.
Это необходимо, если ваша история выглядит так:
your-branch: x --- o --- o --- o --- o --- o --- y
/ / /
default: o --- a --- o --- b --- o --- c --- o --- o --- d
где вы уже пару раз слили default
в свою ветку.Объединение default
в вашу ветку - это нормально, так как вы хотите регулярно интегрировать последние материалы из этой ветки, чтобы избежать смещения ветвей слишком далеко друг от друга.
Но если новый файл был введен в default
и позже слились в B
, тогда вы не хотите видеть это в выводе hg status
.Вы увидите это, если вы сделаете
$ hg status --rev a:y
, поскольку файл отсутствовал в a
, но присутствует в y
.Если вы сделаете
$ hg status --rev d:y
, то вы не увидите файл в выводе, предполагая, что он присутствует в обеих головках.
Вы пишете в комментарии, что работаете печь хранилище.Они имеют в виду «клон», когда говорят «ветвь», но выше все еще можно адаптировать для вашего случая.Все наборы изменений будут в default
именованной ветви , но это нормально.
Запустите следующую команду в локальном клоне репозитория "branch":
$ hg bookmark -r tip mybranch
Это отмечает текущий наконечник как заголовок mybranch
.Затем извлеките все наборы изменений из основного хранилища:
$ hg pull https://you.kilnhg.com/Repo/public/Group/Main
Затем отметьте новый наконечник в качестве наконечника основного хранилища:
$ hg bookmark -r tip main
Вы можетеТеперь запустите
$ hg status --rev main:mybranch
, чтобы увидеть изменения между main
и my-branch
.Если вы хотите увидеть, что вы сделали с самой веткой, используйте
$ hg status --rev "::mybranch - ::main"
. Часть ::mybranch
выберет наборы изменений, которые являются предками mybranch
- это все ваша новая работа плюс старая историядо того, как вы разветвились.Мы удаляем старую историю с - ::main
.В старых версиях Mercurial вы использовали бы hg log -r -r mybranch:0 -P main
.