Jürgen Hunold
Hi Gavin,
On Tuesday, 26. November 2013 20:06:00 Gavin Lambert wrote:
On 26/11/2013 19:54, Quoth Jürgen Hunold:
boost.svn$ svn proplist libs/pool/doc/images/mb1.svg
Properties on 'libs/pool/doc/images/mb1.svg': svn:mime-type
boost.svn$ svn propget svn:mime-type libs/pool/doc/images/mb1.svg image/svg+xml
And image/* marks this as "binary". We had this discussion weeks ago with noch real decision.
Just curious: where is that rule coming from? If it's in the conversion code (which seems likely), can it be changed to treat */*+xml as text regardless of other rules?
No, subversion will not do CRLF-conversion on binary files. This creates the same issues as explicit CRLF settings when doing the conversion on Unix.
Let me be very clear: it does not matter a bit what platform is used to do the conversion. The bytes of every file are streamed literally from SVN to Git. https://github.com/ryppl/Boost2Git/blob/master/src/importer.cpp#L459
And the conversion script
And please don't call it a script ;-)
will have to use subversion commands in order to get the commits.
The conversion works uses the SVN API directly.
The reason for the "image/*" setting for svg was to have them displayed as images when viewed in a web browser. But those display settings can be better configured server-side. My experience is to have all text file eol-style "native" and mime-type "text/something" to get the best cross-platform integration. This is true even for .vcproj files as you can then script-edit them on Unix without problems.
The final question is how to resolve this. I am not sure which solution is best. I'd like to set all text-based files (including .svg and .bat) to svn:eol-style native and svn:mime-type text/* in svn and then re-run the conversion again. The main reason is that this worked really well for the rest of the repository.
That might be easier though, provided they're all found. :)
We have to handle all files which come out "modified" from a fresh checkout. The list from Beman is quite comprehensive. And I would just use a skript to force-set the needed properties on the svn side.
Yours,
Jürgen