Конфигурация с SVN-репозиторием: переопределение шаблона не работает должным образом - PullRequest
1 голос
/ 14 марта 2019

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

enable-auto-props = yes
[auto-props]
*.xlsm = svn:needs-lock=*

Для одного конкретного репозитория я НЕ хочу, чтобы свойство svn:needs-lock было присвоено *.xlsm файлам. Для этой цели я хочу использовать «Конфигурирование с использованием репозитория». Я назначаю свойство svn:auto-props со значением *.xlsm = svn:mime-type=application/vnd.ms-excel корню хранилища.

Согласно этой информации, шаблон *.xlsm из свойства svn:auto-props переопределяет шаблон из файла конфигурации, пока я добавляю файлы в соответствующий корень репозитория и их дочерние элементы.

Пример:

/               Repository root with the "svn:auto-props" property
                assigned, as described above.
/file.xlsm      The file I want to add to the repo.

При добавлении файла file.xlsm я ожидаю, что свойства этого файла будут

svn:mime-type    application/vnd.ms-excel

, поскольку svn:auto-props из корня хранилища переопределяет шаблон из моего файла конфигурации. Тем не менее, похоже, что правила объединены, и результирующие свойства для file.xlsm:

svn:mime-type    application/vnd.ms-excel
svn:needs-lock   *

Мое понимание переопределения - это замена одного правила другим, когда не применяются оба правила одновременно. Как мне достичь ожидаемого результата?

Я использую Windows 10 и SVN 1.9.5:

$ svn --version
svn, version 1.9.5 (r1770682)
   compiled Nov 26 2016, 14:22:31 on x86-microsoft-windows

Copyright (C) 2016 The Apache Software Foundation.

Обновление: я установил последнюю версию SVN, которая не устранила проблему.

$ svn --version
svn, version 1.11.1 (r1850623)
   compiled Jan  9 2019, 19:28:50 on x86-microsoft-windows

Copyright (C) 2019 The Apache Software Foundation.

1 Ответ

1 голос
/ 14 марта 2019

Я неправильно понял поведение переопределения в этом случае.

Не шаблоны переопределены, но свойства переопределены. Это означает, что если я определяю свойство дважды, то применяется переопределение, как определено для значения свойства, а не для всего шаблона.

К сожалению, переопределение нарушено. См https://issues.apache.org/jira/browse/SVN-4699

Кроме того, переопределение svn:needs-lock невозможно, если оно было установлено один раз. svn:needs-lock не имеет значения, свойство выступает за себя. Я могу переопределить свойство только путем определения нового значения (я все еще могу назначить любое значение этому свойству, но это не меняет поведение).

Это означает для моего случая: я определил svn:needs-lock в моем конфигурационном файле SVN. svn:needs-lock включен сейчас. Я не могу переопределить это свойство, чтобы оно стало удаленным.

У моего вопроса нет решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...