Как избежать svn:mergeinfos на подпапках?

Мы пытаемся сохранить 'svn:mergeinfo' свойство на корневой папке ответвления только. Однако мы продолжаем видеть, что он вползает в подпапки. Мы были в состоянии определить некоторые возможные причины:

  1. Перемещение папки в repo-браузере
  2. Перемещение и/или переименование пакетов в IntelliJ
  3. Используя старые svn клиенты

Кто-либо может предоставить список вещей, которые мы не должны делать, чтобы не создавать эти свойства случайно?

Инструменты, которые мы используем, являются IntelliJ 8 (скоро 9), Анк, TortoiseSVN и SlikSvn.

9
задан ripper234 31 December 2009 в 08:57
поделиться

3 ответа

К сожалению, старые клиенты svn просто делают это, и любые инструменты, основанные на этих старых версиях svn, также ломаются. Единственный способ решить эту проблему - удалить созданные записи svn:mergeinfo перед фиксацией. Поскольку большинство людей не знает о том, что они созданы, единственный реальный способ принудительно применить это крючок до фиксации, или просто сделать:

svn propdel --recursive svn:mergeinfo $ROOT/*

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

Проблема исправлена в новых svn клиентах, поэтому проблема должна медленно исчезнуть, но это может занять некоторое время, прежде чем все инструменты в вашем рабочем процессе будут заменены.

Основываясь на другом ответе на этот вопрос, краткое объяснение того, что является причиной проблемы. При перемещении или удалении рабочей копии клиенты svn старше 1.5.5 создали поддельную запись svn:mergeinfo. Это разрешено в svn 1.5.5.

.
11
ответ дан 4 December 2019 в 19:34
поделиться

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

0
ответ дан 4 December 2019 в 19:34
поделиться

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

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

0
ответ дан 4 December 2019 в 19:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: