Tengo un extraño error con el cliente svn
en Linux.
Me gustaría agregar el file test.xml
al repository. Este file es un file de text XML estándar con solo caracteres latinos (sin BOM) y con final de línea de Linux (solo LF
). Pero mi cliente svn
falla con:
[mn@mn testy]$ cat test.xml <?xml version="1.0" encoding="UTF-8"?> <Test>test</Test> <Test>89012345678901234</Test> [mn@mn testy]$ file test.xml test.xml: XML document text [mn@mn testy]$ svn add test.xml svn: E200009: Can't set 'svn:eol-style': file '/home/mn/testy/test.xml' has binary mime type property
La misma operación funciona en el entorno de Windows. En ambos tengo configuration con autopropulsados:
*.xml = svn:eol-style=native
En ambos tengo svn, version 1.8.10 (r1615264)
.
Puedo workaroud it:
agrega svn:mime-type=text/xml
en autopropulsados, por lo que se ve así:
*.xml = svn:mime-type=text/xml;svn:eol-style=native
svn add
con la --no-auto-props
y luego use svn propset
Pero me gustaría hacerlo simplemente agregando file.
¿Por qué el cliente de Subversion en Linux detecta este file como binary?
No es una solución real, pero algunas observaciones que pueden ayudar:
Con Subversion 1.8 en el cliente, tiene la denominada Configuración dictada del repository , por lo que lo siguiente debería funcionar bajo todas las circunstancias:
svn:auto-props
con el valor *.xml = svn:mime-type=text/xml;svn:eol-style=native
.xml
final, Subversion debería agregar como propiedad al file svn:mime-type
y svn:eol-style
. No debe haber magia involucrada para ver si el file es binary, y para establecer el tipo de mime en algo como text/*
debe garantizar que el file no se interprete como un file binary.