Непосредственно: svn diff: файл, помеченный как двоичный тип (В комментарии к ответу)
Почему мой SVN-клиент будет отмечать некоторые файлы как двоичные?
В частности, .sql
имеет prop svn:mime-type = application/octet-stream
при использовании TortoiseSVN.
Я проверил "Правый клик" > "Контекстное меню" Черепаха " > " Настройки " > " Основные " > " Файл конфигурации Subversion ", и ничего не было раскомментировано в [miscellany]
или [auto-props]
, поэтому откуда взялось решение?
Из того, что я вижу в связанных сообщениях, я могу "исправить" его либо удалением свойства на затронутые файлы, либо глобально изменить поведение новых файлов с помощью конфигурации/настройки, но есть ли "простой" способ делать оба для всех затронутых файлов?
В некоторой степени связаны:
Ответ 1
Ну, я нашел проблему в моем конкретном случае:
Разработчик сохранил файл шаблона .sql
, который он использовал для новых скриптов. Этот файл каким-то образом был сохранен с помощью UCS-2
(или Unicode
) кодирования. Всякий раз, когда он добавлял файлы, TortoiseSVN определял, что это двоичный файл. Переключая кодировку на UTF-8
, шаблон и файлы, полученные из него, добавляются правильно как text/plain
.
Дополнительная информация (Изменить)
Я нашел, что могло быть виновником. При генерации некоторых скриптов с использованием графического интерфейса SQL Server Management Studio записывает их как Unicode
в окне запроса. Если файл сохранен, он будет сохранен как Unicode
. Интересно, что файлы, открытые с помощью File
> New
, не сохраняются так. Проблема была поднята с Microsoft об этом еще в 2007 году (найдена здесь), которая, по-видимому, не была решена.
Ответ 2
Вот быстрый способ решить эту проблему:
notepad %APPDATA%\Subversion\config
Прокрутите вниз и раскомментируйте эту строку:
enable-auto-props = yes
В разделе [auto-props] добавьте эту строку:
*.sql = svn:mime-type=text/plain
Теперь, когда вы добавляете файлы .SQL в SVN, они автоматически будут помечены как текст (не октетный поток).
EDIT: Удалено ненужное изменение файла окончания строки.