2010-05-07 19 views
14

incluyendo la línea¿Es posible que todos los comandos "git diff" usen la "diferencia de Python" en todos los proyectos de git? Cuando

*.py diff=python 

en un archivo .gitattributes locales, git diff produce etiquetas agradables para los diferentes trozos de archivos diff Python (con el nombre de la función en la que se muestran los cambios, etc.).

Es es posible pedir a Git para utilizar este modo de diferencias para todos archivos de Python a través de todos los proyectos git? Traté de establecer un ~/.gitattributes global, pero no es usado por los repositorios git locales. ¿Hay un método más conveniente que inicializar cada nuevo proyecto de git con un ln -s ~/.gitattributes?

Respuesta

3

Citando gitattributes(5) :

Los atributos que deberían afectar a todos los repositorios para un solo usuario deberían colocarse en un archivo especificado por la configuración del archivo core.attributes opción (ver git-config (1)). Su valor predeterminado es $ XDG_CONFIG_HOME/git/attributes. Si $ XDG_CONFIG_HOME no está configurado o está vacío, se usa $ HOME/.config/git/attributes en su lugar. Los atributos para todos los usuarios en un sistema deben colocarse en el archivo $ (prefijo)/etc/gitattributes.

+1

Esto funciona (con git 1.8.4), gracias! Parece que '* .py diff = python' es en realidad ahora el predeterminado, por lo que el caso particular de mi pregunta original ya no parece ser relevante. ¡Es bueno saber que hay un archivo de atributos a nivel de usuario, en cualquier caso! – EOL

0

No, git sólo busca atributos a nivel local: .gitattributes y .git/info/attributes

3

A decir git usar ~/.gitattributes que necesita para poner esto en ~/.gitconfig:

[core] 
    attributesfile = ~/.gitattributes 
+0

+1. Gracias. Esto es interesante, pero ¿esto no impide el uso de un .gitattributes local para la configuración local? Me preguntaba si sería posible tener algunos atributos comunes a todos los proyectos, que podrían personalizarse localmente. – EOL

Cuestiones relacionadas