Как отключить svn-update-automerge для файлов XML

У меня есть репозиторий svn с файлами XML, и меня не устраивает функция автоматического слияния svn-update.

После svn update или svn update --accept postpone у меня есть такой поврежденный XML.

<?xml version="1.0" encoding="utf-8"?>
<VERSION>
<<<<<<< .mine
    <MAJOR>200</MAJOR>
=======
    <MAJOR>100</MAJOR>
>>>>>>> .r10
</VERSION>

SVN считает, что XML был текстовым файлом, и поместил здесь несколько маркеров для человеческого редактора.

Как отключить слияние в svn update для XML (текстовых) файлов?

Я прочитал и попробовал все ответы в Могу ли я отключить автоматическое слияние в Subversion?, но это не работает для SVN v 1.8.

UPD

Я просмотрел ответ https://stackoverflow.com/a/7673033/3578861 и обнаружил, что это не так. для свн 1.8 - Subcommand 'update' doesn't accept option '--diff-cmd ARG'

Но теперь вместо этого был вариант diff3-cmd.

Если я изменю решение на

svn update --accept postpone --diff3-cmd="d:\\f.bat"

и напишите d:\f.bat скрипт с

@type %9
@exit 1

Сейчас работа. Но это слишком накладной и нестабильный хак. Этот скрипт принимает входные потоки от всех конфликтующих файлов и сохраняет один из них в результирующий файл - это очень глупо и затратно.

Есть ли более элегантное решение?


person Y.N    schedule 29.10.2015    source источник


Ответы (1)


Может быть, лучшим решением будет переопределить MIME-тип *.xml на some/nontext в SVN-репозитории (или глобально в конфигурационном файле в разделе [auto-props])?

person Lazy Badger    schedule 29.10.2015
comment
Да, может быть, я попробую. Но для XML-файла DSL существует множество расширений файлов. SVG является примером. Могу ли я определить нетекст для всех файлов с содержимым xml? - person Y.N; 29.10.2015
comment
@Y.N - нет. только для каждого расширения, а не для контекста - person Lazy Badger; 29.10.2015
comment
Я пытаюсь config [miscellany] enable-auto-props = yes и [auto-props] *.xml = svn:mime-type=image/gif или *.xml = svn:mime-type=application/octet-stream и где НЕТ эффекта - person Y.N; 29.10.2015
comment
@Y.N - автопрос работает только с новыми файлами на этапе добавления в репозиторий. Для файлов с версиями вы должны определить это свойство вручную. - person Lazy Badger; 29.10.2015
comment
Да, теперь я вижу. После настройки autoprops или ручной установки свойства файла на двоичный svn mime-типа остановитесь, чтобы объединить его. - person Y.N; 30.10.2015
comment
Но я думаю. моя задача не решена. Как обрабатывать файлы, которые уже находятся в репо, без mime? Я думаю, что это взлом, и это не ясное и стабильное решение. - person Y.N; 30.10.2015
comment
@Y.N - для файлов в репозитории - svn ps svn:mime-type только. В будущем у вас может быть репозиторий, продиктованный Конфигурация с начала каждого репозитория - person Lazy Badger; 30.10.2015