Независимо от того, слились ли вы ver5 с версией 6 или версией 6 с версией 5, у вас все равно останется ребенок от версии 5, в котором есть материал от вершины 6
Если, однако, вы хотите избежать измененийу которого ветвь ver5 с предками ver6, вы можете сделать это довольно легко с помощью хука.Просто , где вы положили этот крючок - это сложная часть.Если вы сделаете это pretxnchangegroup
хуком, вы можете помешать людям вставить оскорбительное слияние в репозиторий на стороне сервера, но они уже будут его фиксировать, и, возможно, будут внесены некоторые дополнительные изменения, и у них будет сложная задача.время выяснить, что делать, чтобы это исправить.Если вы можете управлять их локальными настройками, вы можете вставить хук pretxncommit
, который не позволяет им выполнить слияние, но вы не можете заставить их запустить этот хук, используя только инструменты Mercurial.
Фактический хук, в зависимости от того, чтовведите, что вы делаете это, может использовать одну из следующих стратегий:
- проверить, является ли фирменное имя ver5, и если это так, убедитесь, что никакой конкретный файл / контент из ver6 не является presnet
или
- проверьте, имеет ли branchname ver6, и если да, убедитесь, что ни p1, ни p2 не имеют branchname ver5
TL; DR: Это, вероятно, больше проблем, чем стоит - придерживайтеськ позору.