2011-07-20 39 views
5

Al usar archivos binarios git-svn y dcommiting (imágenes y archivos JAR) hay una diferencia: Las imágenes también se tratan como binarias en SVN si están comprometidas inicialmente a través de SVN. Ni los archivos JAR ni las nuevas imágenes agregadas a git que se han comprometido a SVN tienen ninguna propiedad Svn como svn: mime-type.Git SVN con archivos binarios

Esto provoca que el visor de repositorio como Fisheye maneje estos archivos como archivos de texto y creará diferencias de ajustes de cambios sin sentido para ellos. Espero que haya otros problemas en la fusión también.

¿Hay una manera simple pero fácil de usar para ajustar automáticamente el tipo MIME correcto para el manejo de archivos binario correcto?

Lo sé, lo sé, habrá usuarios que dirán: ¿Por qué el seguimiento de archivos JAR en SVN? USe Nexus y Maven ... SÍ, tienes razón, pero los archivos JAR son solo uno de los ejemplos. ¡Los principales problemas se relacionan con las imágenes!

Respuesta

3

Parece que puede establecer un [auto-props] en su configuración de subversión que git detectará. Vaya a http://trac.webkit.org/wiki/UsingGitWithWebKit y mire la sección titulada Misc. Consejos y trucos

parece que se puede añadir algo como:

[miscellany] 
enable-auto-props = yes 

# Add an additonal line for each type of binary file you wish to commit. 
[auto-props] 
*.jpg = svn:mime-type=image/jpeg 

a su ~/.subversion/config

+1

El autor está utilizando git svn, no svn. No ayuda. – jcwenger

+1

Crear un archivo ./~subversion/config? [Parece]] (http://kerneltrap.org/mailarchive/git/2008/7/25/2681794) git lo verá. – Andy

+0

Tenga en cuenta que en Windows puede tener dos archivos de configuración en '% APPDATA% \ Subversion \ config' y'% USERPROFILE% \. Subversion \ config' - debe asegurarse de que sean los mismos. –

2

Desafortunadamente, git-svn no se puede establecer la propiedad requerida svn:mime-type.

Ignoramos todas las propiedades de SVN excepto svn: ejecutable. Cualquier propiedad no controladas se registran en $ GIT_DIR/SVN // unhandled.log

Se puede crear un post-commit (o incluso antes de comprometerse?) Que corrige este gancho, pero eso es algo excesivo?