Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to explicity tell SVN to treat a file as text, not binary

I have a number of files that I checked into SVN without having set up their Mime types correctly. SVN initially classified them as binary.

I've since set their Mime type in SVN via propset to "text/plain; charset=UTF-8" and I'vc made sure that all the files are UTF-8 signed. When I do 'svn blame filename', svn says that the file is binary and does not give me explicit blame-type output.

Any suggestions on how to persuade SVN that these are truly text files?

like image 744
DWright Avatar asked Jan 19 '09 18:01

DWright


2 Answers

Setting the svn:mime-type property to just "text/plain" helps:

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

Also, you can force Subversion to treat a file as text when blaming:

svn blame file/to/blame --force
like image 195
Stefan Avatar answered Nov 05 '22 11:11

Stefan


I had the same problem: I checked in a number of utf8 files (native encoding for Linux), some of which were picked up wrongly as binary and showing "(bin)". I did not delve into how the error occurred, but checked what was there...

$ svn propget svn:mime-type *

...noted that correctly checked-in text files had no svn:mime property at all, and simply deleted the svn:mime-type property from text files wrongly mislabled binary.

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

This seems to have worked with no ill effect. Caveat usor: I have no idea how Windows would behave in this case, though this is easily testable.

like image 27
smaines Avatar answered Nov 05 '22 11:11

smaines