|
Вопрос по слиянию изменений в SVN
|
|||
---|---|---|---|
#18+
Есть вопрос, который я не могу понять как решить. Суть проблемы заключается в том, что SVN считает, что она может беспроблемно "сливать" файл, основываясь на своем алгоритме анализа изменений. Вот есть у нас исходники на Delphi, и, например, ситуация, когда trunk развивается, а в branch время от времени вносятся изменения из trunk (по разнице trunk между ревизиями, как рекомендует инструкция). Я создаю два метода с одинаковым кодом (к примеру One и Two), ответвляю branch, в branch'е меняю эти методы (имена) местами, сливаю с изменениями в trunk (допустим, что в trunk были изменения), не внося в trunk изменения из branch. Далее (спустя некоторое время, когда обычно многое забывается), если в trunk в методе One добавить строку, и опять слить разницу (от последнего слияния до текущего) в branch - SVN добавит эту строку в branch в метод Two и файл пометит обычным "updated". Сейчас у меня при слиянии порядка 40 "updated" файлов, половина из них изменена в большей части. И я не могу придумать, как можно отследить такие ошибки. Или как организовать внесение изменений в другие ветви. Сильно помогло бы даже, если бы файлы, которые в рабочей копии отличаются от соответствующих исходных ("source1"/"from") в разнице, были бы помечены конфликтными. Какие варианты могут быть решением? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2008, 14:39 |
|
Вопрос по слиянию изменений в SVN
|
|||
---|---|---|---|
#18+
Отписываюсь по результатам - возможно кому-то эта информация окажется полезной. Достаточным решением проблемы для меня стал запрет "контекстного" слияния (contextual merge) для изначально разных файлов (т.е. выдача конфликта, вместо автоматического обновления). Судя по отсутствию вариантов в инструкции и молчанию в их mail-листе, предполагаю, что такое поведение SVN изначально глубоко заложено в систему и так просто не отключается. Я знаю два варианта отключения "контекстного слияния". Первый - пометка всех необходимых файлов как бинарные (свойство svn:mime-type). Минусы: необходимость дополнительной "ручной" корректировки свойств, невозможность использования средств текстового сравнения, проверяющих это свойство (например из TortoiseSVN). Второй вариант - использование внешней diff3-программы (External diff3). Для меня более удобным оказался второй вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2008, 14:50 |
|
Вопрос по слиянию изменений в SVN
|
|||
---|---|---|---|
#18+
Всем привет. Не могу немного разобраться с порядком сливания бранча и транка. Разработку ведет 4 человека. Каждый работает в своем бранче, после того как он довел какую-нибудь часть своей работы до конца, эти данные сливаются в транк. Допустим что 3 человека за день посливали в транк свои бранчи. В моем бранче соответственно нет этих изменений, но есть мои изменения, которые я хочу теперь тоже слить в транк. Как это лучше сделать? мне немного не понятно. по идее я должен сначала слить все последние изменения из транка в свой бранч, а только потом сливать изменения из своего бранча в транк? Вчера я сделал вот что: я взял и обновил свой бранч до транка, причем при сливании я указывал номер ревизии бранча когда я последний раз сливал свои изменения в транк, иначе все что я после этого изменил затиралось транком.. Он же не знает еще об этих изменениях. Потом кто-то еще раз залил новые изменения в транк. И вот теперь мне не понятно как мне снова обновить свой бранч. мои изменения все затираются. И в транк я тоже не могу слить свои изменения потому что затираю изменения которые были сделаны сегодня. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 06:54 |
|
|
start [/forum/topic.php?fid=37&fpage=9&tid=1555550]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 269ms |
total: | 384ms |
0 / 0 |