Подтвердить что ты не робот

Как сообщить Subversion рассматривать файл как двоичный файл?

Как указать Subversion (svn) обрабатывать файл как двоичный файл?

4b9b3361

Ответ 1

Можно вручную идентифицировать файл, расположенный в репозитории как двоичный, используя:

svn propset svn:mime-type application/octet-stream <filename>

Это, как правило, необязательно, поскольку Subversion попытается определить, является ли файл двоичным, когда файл впервые добавлен. Если Subversion неправильно помечает определенный тип как "текст", когда его следует рассматривать как двоичный, можно настроить Subversion функцию автообновления на автоматически помечайте этот файл нетекстовым MIME-типом. Независимо от свойств, настроенных в файле, Subversion сохраняет файл в двоичном формате в репозитории.

Если Subversion идентифицирует тип MIME как "текстовый" тип, он включает определенные функции, которые недоступны в двоичных файлах, таких как svn diff и svn wame. Он также позволяет автоматическое преобразование конца строки, которое настраивается на основе клиента за клиентом.

Для получения дополнительной информации см. Как Subversion обрабатывает двоичные файлы?

Ответ 2

Со страницы 367 Книга Subversion

В самом общем смысле Subversion обрабатывает двоичные файлы более грациозно, чем CVS. Поскольку CVS использует RCS, он может хранить только последовательные полные копии изменяющегося двоичного файла. Subversion, однако, выражает различия между файлами с использованием бинарного алгоритма дифференцирования, независимо от того, содержат ли они текстовые или двоичные данные. Это означает, что все файлы хранится в репозитории по-разному (сжато).

Пользователи CVS должны отмечать двоичные файлы флагами -kb, чтобы предотвратить искажение данных (из-за к расширению ключевых слов и переводам строк). Иногда они забывают это сделать.

Subversion берет более параноидальный маршрут. Во-первых, он никогда не выполняет каких-либо ключевых слов или line-end translation, если вы явно не попросите его сделать это (см. раздел "Ключевое слово" Замена "и раздел" Последовательные последовательности символов "для более подробной информации). По умолчанию Subversion обрабатывает все данные файла как строки буквенного байта, и файлы всегда хранятся в хранилище в нетранслированном состоянии.

Во-вторых, Subversion поддерживает внутреннее представление о том, является ли файл" текстовым "или" двоичным" данным, но это понятие сохранилось только в рабочей копии. Во время обновления svn Subversion будет выполнять контекстные слияния с локально модифицированными текстовыми файлами, но не будет пытаться сделать это для двоичные файлы.

Чтобы определить, возможно ли контекстное слияние, Subversion рассматривает svn: свойство mime-type. Если файл не имеет свойства svn: mime-type или имеет MIME тип, который является текстовым (например, text/*), Subversion предполагает, что это текст. В противном случае Subversion предполагает, что файл двоичный. Subversion также помогает пользователям запускать алгоритм двоичного обнаружения в командах svn import и svn add. Эти команды сделают хороший угадать и затем (возможно) установить двоичное свойство svn: mime-type для добавляемого файла. (Если Subversion ошибается, пользователь всегда может удалить или отредактировать это свойство вручную.)

Ручное редактирование будет выполнено

svn propset svn:mime-type some/type filename.extension

Ответ 3

В принципе, вы должны установить тип mime в октетный поток:

svn propset svn:mime-type application/octet-stream <filename>

Ответ 4

Если 'svn add' угадывает неправильный тип и дает вам ошибку, например следующее:

svn: E200009: File 'qt/examples/dialogs/configdialog/images/config.png' has inconsistent newlines
svn: E135000: Inconsistent line ending style

тогда обходной путь заключается в том, чтобы добавить файл без свойств, а затем установить свойства на втором шаге:

svn add --no-auto-props qt/examples/dialogs/configdialog/images/config.png
svn propset svn:mime-type image/png qt/examples/dialogs/configdialog/images/config.png

Ответ 5

Например:

svn propset svn:mime-type image/png foo.png

Ответ 6

Хотя Subversion пытается автоматически обнаруживать, является ли файл двоичным или нет, вы можете переопределить тип mime, используя svn propset. Например, svn propset svn:mime-type application/octet-stream example.txt. Это заставит ваш файл действовать как набор байтов, а не текстовый. См. Также руководство svn на Переносимость файлов.

Ответ 7

При использовании черепахи svn в Windows, щелкните правой кнопкой мыши на файле и перейдите к свойствам. Нажмите на новое и добавьте новое свойство типа svn: mime-type. Для значения put: application/octet-stream

Ответ 8

В соответствии с Subversion FAQ вы можете использовать svn propset для изменения свойства svn: mime-type в приложение/октет-поток

Ответ 10

Обычно это делается по умолчанию для вас, но если вам не нужно искать в свойствах файла и propset.