2010-08-26 9 views
7

Para el fondo de mi pregunta: svn diff no un archivo binario que piensa que es¿Anula persistentemente el mime de svn a la asignación binaria?

$ svn diff data/assets/site/ir_gallery/images.kml 
Index: data/assets/site/ir_gallery/images.kml 
=================================================================== 
Cannot display: file marked as a binary type. 
svn:mime-type = application/vnd.google-earth.kml+xml 

Un reciente respuesta de desbordamiento de pila (svn diff: file marked as binary type) mostraron que se puede obligar a un tipo de MIME:

$ svn propset svn:mime-type 'text/plain' data/assets/site/ir_gallery/images.kml 
property 'svn:mime-type' set on 'data/assets/site/ir_gallery/images.kml' 

Nota que la respuesta anterior es incompleta ... también hay que:

$ svn commit 

Ahora mi nueva pregunta es: ¿puedo establecer un valor predeterminado, por lo que todos los archivos "vnd.google-earth.kml + xml" futuros se tratan como texto por svn? El libro rojo aparece nada sobre este tema: http://svnbook.red-bean.com/en/1.2/svn.advanced.props.html se limitó a decir:

...if a file's svn:mime-type property is set to a non-text MIME type 
(generally, something that doesn't begin with text/, though there are 
exceptions) then... 

qué excepciones? ¿Están estas excepciones horneadas en el código svn, o accesibles?

Respuesta

5

La respuesta depende del cliente svn que esté utilizando. En el cliente svn oficial, la opción que está buscando es Automatic Property Setting. La versión tl; dr es la que necesita actualizar su user or system config, configurar enable-auto-props en yes en la sección miscellany, y crear una nueva sección llamada auto-props que define los patrones que desea combinar y las propiedades que desea establecer.

Para su ejemplo de archivos KML:

### Section for configuring miscelleneous Subversion options. 
[miscellany] 
enable-auto-props = yes 

[auto-props] 
*.kml = svn:mime-type=text/plain;svn:eol-style=native 

Esto asegurará que cuando se agrega un archivo .kml a su repositorio, que tendrá un tipo MIME text/plain y utilizará los finales de línea nativas a la plataforma del cliente.

+1

él puede preferir '* .xml = svn: mime-type = text/xml' porque kml es un xml IIRC – akostadinov

+1

Por cierto, el svn: mime-type = text/...; parte es crítica, porque si no está allí, hay un conjunto de propiedades inicial que lo establece en no-texto, application/xml, lo que causaría que el svn: eol-style = native saliera de error, impidiendo la totalidad paso de agregar archivo. El mime-type = text/... anula primero la naturaleza binaria del archivo, de modo que se puede establecer eol-style-native. – macetw

Cuestiones relacionadas