Uno de los problemas que tenia al configurar mi entorno, es que al instalar las herramientas como mi usuario en lugar de root y trabajar con mi usuario, al cambiar de ramas a traves de Git-Svn necesitaba usar «sudo git co branch» y me cambiaba constantemente el usuario y grupo de los ficheros de mi proyecto.
Una forma rapida de solucionarlo sin tener que tocar nada del sistema de usuarios y grupos es usando los «hooks» de git.
Se trata de crear dentro de la carpeta «.git/hooks/» del proyecto un nuevo fichero (en mi caso «post-checkout» con las acciones que queramos. En mi caso contiene lo siguiente:
#!/bin/sh
sudo chown -R david:david .
echo «Se ha cambiado el usuario y grupo a david:david a traves de un hook de Git.»
Despues guardamos los cambios y le damos permisos de ejecucion:
chmod +x .git/hooks/post-checkout
Y a funcionar ¡
Cada checkout que hagamos ejecutara dicho script y nos cambiara los permisos por los que toque sin afectar a nada mas.
Mas información en: