Как объяснить, что SVN должен рассматривать файл как текст, а не как двоичный файл? - PullRequest
39 голосов
/ 19 января 2009

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

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

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

Ответы [ 5 ]

52 голосов
/ 19 января 2009

Установка свойства 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
4 голосов
/ 30 сентября 2013

У меня была та же проблема: я зарегистрировал ряд файлов 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 в этом случае, хотя это легко проверить.

1 голос
/ 19 января 2009

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

0 голосов
/ 24 мая 2013

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

0 голосов
/ 29 сентября 2011

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

...