Un dels problemes de tenir un repositori en un servidor central és com de costum el tema dels permisos, per una banda has de tenir els usuaris creats en local, afegir-los en el mateix grup perquè cadascú pugui accedir als repositoris i finalment un cop està tot apunt tens el problema (amb solució!) de que quan algú fa un commit la resta no en poden fer ja que s’han canviat els permisos.
A primer cop d’ull penses que això amb un hook de git i un script que faci un chown ja n’hi pot haver prou, després ho rumies una mica més i penses que no hauria de ser tant complicat i arribes a la idea que l’umask serà el teu amic … però al final cerques una mica per Internet i et trobes amb una solució molt més elegant:
$ git repo-config core.sharedRepository true
Amb aquesta senzilla ordre executada per a tots i cadascun dels repositoris que vulguis compartir entre més d’un desenvolupador i llestos, a programar que és el que ens agrada.
Quan inicies el repositori també el pots configurar com a compartit
git init –bare –shared=all
shared pot tenir diferents opcions: umask (te en compte el umask del sistema), all (o world o everybody per tothom, group (només pel grup de la carpeta), o un número octal 0xxx
Gràcies alovse!