2010-10-21 2 views
1

Есть ли способ сообщить SVN, когда он слияния, что один или несколько файлов являются особыми и не должны быть объединены?svn: слияние при сохранении вариантов между ветвями

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

ответ

0

В разделе Blocking Changes приведен обзор методов, доступных для предотвращения слияния данной редакции.

EDIT: По моему пониманию, подрывная деятельность касается пересмотров. В отличие от хорошо известного DVCS он не отслеживает контент или изменения наборов. Чтобы закрыть промежуток между отслеживанием файла в подрывной деятельности, но не отслеживать изменения развертывания/рабочей копии, может быть осуществлен следующий подход.

Вместо 'id.txt' файл с именем 'id.txt.template' имеет версию. В рамках процесса развертывания генерируется «id.txt», будучи частью svn:ignore.

+0

Хм, я не вижу, как это помогает; он работает на целых наборах изменений, и я заинтересован в маркировке определенного файла как do-not-touch. –

+0

«Вместо« id.txt »файл с именем« id.txt.template »версируется» - я все время делаю это с помощью svn: ignore. Дело не в этом; файлы, о которых идет речь, не автогенерируются. –

1

Думаю, вам придется каждый раз исключать его, что было бы больно, если бы вы не хотели использовать что-то вроде SVNMerge.py.

2

Вы можете исключить файлы из слияния, или вы можете объединить всю лот, а затем вернуть файлы перед фиксацией.

Возможно, лучшим решением является использование внешних файлов - поместите файлы слияния в другое место в вашем дереве и используйте свойство externals, чтобы вытащить конкретный файл в ваш туалет при оформлении заказа. Тогда файлы не будут частью слияния.

+0

+1: интересная идея внешних. имеет ли она нижнюю сторону? –

+0

С внешними настройками вам либо нужно указать желаемую ревизию ссылочного пути, либо убедиться, что ссылочный путь имеет стабильный API. Когда вы не укажете номер версии, svn проверит HEAD ссылочного пути, даже если вы проверите старую ревизию вашего проекта. – Rudi

+0

также вы можете забыть ознакомиться с опцией 'get externals' и не получить обновленный файл. Не обязательно проблема, если файл никогда не меняется :) – gbjbaanb

Смежные вопросы