Как объяснить, что SVN должен рассматривать файл как текст, а не как двоичный файл

У меня есть ряд файлов, которые я зарегистрировал в SVN без правильной настройки их типов Mime. SVN изначально классифицировал их как двоичные.

С тех пор я установил их тип Mime в SVN через propset на "text/plain; charset=UTF-8", и я убедился, что все файлы имеют подпись UTF-8. Когда я делаю 'svn blame filename', svn говорит, что файл является двоичным и не дает мне явного вывода типа "вина".

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

5 ответов

Решение

Установка свойства svn:mime-type просто "text/plain" помогает:

svn propset svn:mime-type text/plain build.xml
svn commit build.xml

Кроме того, вы можете заставить Subversion обрабатывать файл как текст, обвиняя:

svn blame file/to/blame --force

У меня была та же проблема: я зарегистрировал несколько файлов utf8 (нативная кодировка для Linux), некоторые из которых были ошибочно восприняты как двоичные и отображали "(bin)". Я не вникал в то, как произошла ошибка, но проверил, что там было...

$ svn propget svn:mime-type *

... отметил, что правильно отмеченные текстовые файлы вообще не имеют свойства svn: mime, и просто удалили свойство svn: mime-type из текстовых файлов, которые неправильно ошибочно двоичны.

$ svn propdel svn:mime-type [mislabeled-text-file...]
$ svn ci -m "zap binary mime-types" [mislabeled-text-file...]

Кажется, это сработало без вреда для здоровья. Предостережение: я понятия не имею, как будет вести себя Windows в этом случае, хотя это легко проверить.

Этот ответ имеет ту же идею, но в обратном направлении. Цитаты там по-прежнему актуальны для вашего запроса.

После того, как вы добавили файл в хранилище, вам, вероятно, также необходимо установить тип в хранилище. Используйте URL-адрес хранилища вместо пути к рабочей копии в вашей команде propset.

Похоже, что манипуляции с MIME-типом не убеждают SVN рассматривать файл как текст. Но если перед первым коммитом был установлен правильный mime-тип, тогда svn будет корректно обрабатывать файл. Например, svn добавляет eclipse .project и.classpath в качестве application/xml и обрабатывает их как bin. Но если перед первым коммитом вы измените его на text/xml, они будут рассматриваться как текст.

Другие вопросы по тегам