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



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

519   10  
svn

10 ответов:

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

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

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

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

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

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

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

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

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

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

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

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

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

в принципе, вы должны установить тип mime в octet-stream:

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

Если '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

например:

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

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

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

svn ищет свойство типа mime, предполагая, что это текст, если он не существует. Вы можете явно установить это свойство, см. http://svnbook.red-bean.com/en/1.5/svn.forcvs.binary-and-trans.html

на Subversion FAQ, вы можете использовать svn propset для изменения svn: mime-type свойство application / octet-stream

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

Comments

    Ничего не найдено.