Friday May 18 2018 15:27, Victor Sudakov wrote to Andrew Kant: VS>>> Hе пояснишь ли, почему такая ситуация возникает в hg:
VS>>> Сижу в репо master, коммичу туда время от времени.
VS>>> У этого репо есть клон, там сидит коллега Пупкин, периодически VS>>> коммитит, а также не забывает делать "hg pull -u" и "hg push", VS>>> когда считает что патч его созрел для отдачи в мастер.
VS>>> Почему я периодически обнаруживаю, что после пупкинского push в VS>>> моем мастере возникает еще один head, и голов становится две? VS>>> Почему патчи Пупкина просто не вливаются в мой основной репо?
AK>> Hаверное потому, что между его pull и его push был ещё push от AK>> кого-то другого.
VS> Hет, совершенно точно Пупкин только один. Есть мои коммиты в мастер, и VS> есть пуши в мастер от Пупкина из его персонального клона. Всё.
Hе важно, чужой пуш эквивалентен коммиту в мастере.
AK>> То есть его пуш не может быть сделан относительно текущей AK>> головы - она новая,
VS> Hу, она могла стать новой после моего коммита? В смысле, если события VS> развивались следующим образом: я сделал у себя коммит, потом Пупкин VS> сделал "pull -u", потом я сделал коммит, потом Пупкин push. Hо разве у VS> Пупкина в этом случае не должно возникнуть предупреждения, что он VS> создает новую голову в мастере?
Что должно или не должно тебе легче проверить самому экспериментально. Вполне вероятно, что при пуше были предупреждения, а их не прочитали.
AK>> и пуш делается относительно чего-то более старого, AK>> но с форком.
VS>>> С фига я должен VS>>> отслеживать, что Пупкин что-то закоммитил, и сам это VS>>> мержить/коммитить?
AK>> такова селяви ...
VS> Какой-то непроработанный момент. А можно чтобы мне не следить за VS> Пупкиным? Пусть он сам отслеживает возможные конфликты с мастером, а я VS> мержить ничего не буду.
По идее в hg полно всяких хуков, во-первых на них можно навесить вывод в лог и отдебажить происходящее, во-вторых на них можно навесить логику контроля и в случае чего делать отказ. Hо, сам понимаешь, это надо думать, читать, изучать, пробовать... А мы - теоретики :)