LINUX.ORG.RU

SCM: Автоматическое изменение во всех child-ветках

 , ,


0

3

У меня есть примерно такое ветвление http://dump.bitcheese.net/images/egozyza/01.png.

Можно ли при изменении файла в master автоматически изменять/мержить вверх по дереву с сохранением иерархии веток?

Ответ на: комментарий от German_1984

Тогда фэйлить (или насильно применять версию от родительской ветки). Подразумевается, что есть жёсткая иерархия, и наследники могут только добавлять новые файлы, но не изменять файлы родительской ветки.

Chaser_Andrey ★★★★★
() автор топика
Ответ на: комментарий от staseg

Я пытаюсь понять, как делать так, чтобы не нарушилась иерархия. Если начать мержить снизу и доверху, то у меня иерархия превращается в кашу.

Chaser_Andrey ★★★★★
() автор топика
Ответ на: комментарий от Chaser_Andrey

Если сохранение истории не принципиально, то можно попробовать rebase (возможно с --onto, хотя не уверен).

xaizek ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

Чтобы не нарушалась иерархия нужно чтобы применение изменений было последовательным.

Изменения из master в server и desktop. Обновленный desktop в laptop и workstation. Обновленный workstation в zks01.

Вот только при мерже на каждый коммит в master ваш репозиторий будет больше чем на 80% состоять из мержей, и в такой каше будет невозможно анализировать историю, которую вы так хотите сохранить. Плавали, знаем.

Тут либо делать такие мержи только после пачки коммитов, например при подготовке нового релиза, либо делать ребэйзы. С ребэйзами дерево истории красивее, но при сильных конфликтах можно натворить делов. git в режиме rebase не намного удобнее svn'а.

Я бы выбрал компромиссный вариант. Сначала пробую делать ребейз, если есть нетривиальные конфликты, то отменяю и делаю merge.

German_1984 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.