¿Por qué el cliente de Subversion en Linux detecta mi file XML como binary?

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:

  1. agregar file en Windows
  2. agrega svn:mime-type=text/xml en autopropulsados, por lo que se ve así:

     *.xml = svn:mime-type=text/xml;svn:eol-style=native 
  3. svn add con la --no-auto-props y luego use svn propset

  4. agregue el file vacío, luego edítelo

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:

  • Normalmente, los types de mimo son establecidos explícitamente por el usuario mediante autopropulsiones.
  • He encontrado una reference de cómo los files están marcados como binarys: http://svnbook.networking-bean.com/en/1.7/svn.forcvs.binary-and-trans.html Quizás esto ayude a entender cómo funciona.
  • ¿Ha comprobado si el file se hace ejecutable en Linux, por lo que Subversion cree que es un file binary?

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:

  1. Incluya en la raíz de su repository (/ o / trunk) la propiedad svn:auto-props con el valor *.xml = svn:mime-type=text/xml;svn:eol-style=native
  2. Cuando agregue un nuevo file (en Windows y Linux) y el file tenga el .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.