Что корректные/лучшие свойства должен присвоить *.xml файлам в Подверсии?
Я особенно интересуюсь свойствами svn:mime-type
и svn:needs-lock
.
Я думаю, что существует два ответа, но я не уверен в который выбрать. Первый должен рассмотреть XML-файлы как текстовые файлы, позволив Подверсии управлять текстовыми слияниями в них. Для этого я использовал бы svn:mime-type=text/xml
и не использовал бы svn:needs-lock
.
Второе должно было бы рассмотреть XML-файлы как двоичные файлы, предотвратив Подверсию для выполнения автоматических слияний и настояв на поведении блокировки перед редактированием. Для этого я использовал бы svn:mime-type=application/xml
и установил бы svn:needs-lock
.
Я думаю, что нормально рассматривать XML как текст, если это - вид XML-файла, который редактируется непосредственно в текстовом редакторе, потому что пользователь затем смог бы разрешить любые возможные конфликты слияния вручную. Однако инструмент генерировал XML-файлы, не может быть легко отредактирован вручную и так не должен быть автоматически объединен Подверсией, чтобы пользователь быть помещенным в ситуацию, в которой он должен разрешить конфликт в (чрезвычайно) двоичном файле.
Будучи консервативным, я рассматриваю XML-файлы как двоичный файл. Но я должен всегда объяснять это разработчикам, которые предпочли бы мочь отредактировать некоторые XML-файлы непосредственно без потребности получить блокировки ранее.
Я хотел бы знать, какие другие думают об этом и если действительно существует опасность относительно сгенерированных XML-файлов инструментов или нет.
РАЗЪЯСНЕНИЕ СООБЩЕНИЯ:
Считав первые три ответа я понял, что вышеупомянутый вопрос не был достаточно ясен.
Мое сомнение - то, для чего должны быть настроены свойства *.xml
файлы в [auto-props]
раздел конфигурационного файла Подверсии (~/.subversion/config
)?
Проблема состоит в том, что может только быть одна конфигурация. Так, я должен быть консервативным и рассматривать все XML-файлы как двоичный файл, или я должен понравиться пользователям, которые редактируют их XML-файлы вручную и рассматривают все XML-файлы как текст по умолчанию?
Мы используем как text / xml, так и application / xml в нашем репозитории Subversion. XML, который редактируется вручную, читается человеком и, следовательно, может быть с пользой объединен, мы рассматриваем как текст. Сюда входят такие вещи, как pom-файлы maven и файлы build.xml, файлы docbook, xhtml-документы и т. Д.
svn:eol-style=native
svn:mime-type="text/xml; charset=utf-8" /* so apache sends the right encoding */
Для XML, который является сложным форматом файла для некоторых инструментов, мы рассматриваем его как двоичный. Примерами этого являются * .fodt (плоский ODT), файлы OmniGraffle, XMI (модели UML) и т.п. Пользователь не может быть разумно направлен на слияние такого файла, и действительно, часто различия даже для тривиальных изменений большие и беспорядочные.
svn:mime-type="application/xml"
svn:needs-lock="*"
Проведение такого различия сослужило нам хорошую службу.
Если XML удобочитаем и хорошо понят, нет ничего плохого в том, чтобы обращаться с ним как с любым другим текстом. Если это только машиночитаемое или не то, что ваши разработчики хорошо понимают, вы должны рассматривать его как двоичные данные; ваш уровень понимания и способность управлять им вручную будут такими же.
Если XML сгенерирован, вы должны спросить, почему он вообще находится в Subversion. Я с разработчиками в этом вопросе, но очевидное решение, если вы должен управлять версиями сгенерированных файлов, чтобы дать им расширения, отличные от .xml.