Изменить MIME-тип Subversion по умолчанию для двоичных файлов, которые не имеют определенного расширения? - PullRequest
5 голосов
/ 10 июня 2010

Subversion по умолчанию устанавливает для свойства svn:mime-type двоичного файла значение application/octet-stream.

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

Причина в том, что моя кодовая база содержит код в двоичных файлах (проприетарный формат), и яесть приложения, необходимые для эмуляции diff и diff3 для них.Но Subversion не позволяет мне использовать их из-за mime-типа по умолчанию.

Обратите внимание: Для этих файлов кода нет расширения по умолчанию (* .jar, * .py и т. Д.).Некоторые файлы даже не имеют расширения. Таким образом, настройка MIME-типа по расширению файла невозможна .

1 Ответ

4 голосов
/ 10 июня 2010

--- Изменено после ответа, что для этих файлов нет расширения по умолчанию ---

Если для этих файлов нет расширения по умолчанию, при некоторых обстоятельствах вы можете использовать директиву [auto-props] в клиенте.

Если файл имеет известное зарезервированное имя файла (например, Makefile), тогда вы можете вставить директиву, которая соответствует всему имени файла, например

Makefile = svn:mime-type=text/x-makefile

Если у вас есть только несколько имен файлов, вы можете просто добавить директивы для каждого из желаемых имен файлов.

* не ограничивается только сопоставлением расширений, директивы соответствуют шаблонам имен файлов, поэтому вы также можете написать директиву, такую ​​как

Image* = svn:mime-type=image/png

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

Обратите внимание, что изменение значений по умолчанию клиента изменит поведение клиента для доступа ко всем SVN-репозиториям, поэтому рекомендуется выбирать только те варианты, которые, вероятно, будут применяться к каждому репозиторию, который вы намереваетесь использовать.

--- Исходный пост следует ---

svn: mime-type является свойством. Для существующих записей вы можете отредактировать их с помощью svn propedit

Чтобы изменить тип MIME по умолчанию, на стороне клиента вы можете отредактировать файл svn config, включив в него директиву в разделе [auto-props] файла конфигурации.

*.png = svn:mime-type=image/png

автоматически добавит svn:mime-type из image/png к любому новому созданному файлу, который закончится *.png

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

...