Свойства SVN Mergeinfo на пути, отличные от корня рабочей копии

У меня есть SVN-репозиторий, где у меня есть соединительная линия и ветка.

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

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

Я использовал команду svn propdel и удалил все свойства mergeinfo из ветки WC (затем вернул изменение в корне) перед слиянием соединительной линии, и проблема исчезла.

Итак, вопрос в том, как мой филиал получил все эти изменения mergeinfo в нем на уровнях подкаталогов?

Ответ 1

Subversion 1.5.x добавляет много свойств svn: mergeinfo, даже в файлы/папки, которые, по вашему мнению, не имеют никакого отношения к слиянию. Но Subversion все еще использует те, которые уменьшают время слияния для последующих слияний.

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

Subversion 1.6 будет иметь те свойства svn: mergeinfo, которые были уменьшены, если все пойдет по плану с выпуском 1.6.

Ответ 2

По крайней мере одна часть этой ошибки была зафиксирована в Subversion 1.5.5. Из 1.5.5 CHANGES file:

не создавать mergeinfo для перемещений или копий wc-wc (r34184, -585)

То есть, была ошибка в SVN до 1.5, где она создавала бы записи mergeinfo, которые она не использовала и была лишней.