git pasa diferentes variables al filter de manchas según el proyecto desde el que se invoca

Quiero modificar algunas cadenas de configuration en una secuencia de commands php controlada por la versión git, de acuerdo con el entorno en el que estoy usando el código en el repository.

Quiero configurar un filter de borrado / borrado para modificar la cadena de configuration en el código de acuerdo con la plataforma, estoy comprobando (dev / testing). Mis scripts están en ~/scripts y quiero agregar un file de configuration ~/scripts/config para establecer los valores utilizados por el script

Tengo diferentes proyectos (en diferentes repositorys) con los mismos files, pero deben modificarse de manera diferente, por lo que el script necesita saber de qué repository se invocó.

¿Hay alguna forma de establecer una ID de proyecto en el file .gitattributes que se pasa como una variable de entorno al script de filter?

EJEMPLO:

contenido de .gitattributes :

 PROJECT_ID = "ProjectX" 

contenido de la secuencia de commands de la mancha (pseudo código):

 host = getConfigValueFromFile(projectXhost) if $PROJECT_ID == "ProjectX" then print 'host=$host' 

Puede establecer valores arbitrarios en la configuration del repository. Por ejemplo, puede establecer una variable como esta:

 $ git config mytool.myvariable myvalue 

Y recuperarlo así:

 $ git config mytool.myvariable myvalue 

Así que su script de borrón / git config mytool.myvariable simplemente puede llamar a git config mytool.myvariable y leer el resultado para get la información que ha configurado.

He encontrado una respuesta por mi count:

La secuencia de commands clean / smudge se ejecuta con el (nuevo) directory de repos como directory de trabajo. Por lo tanto, es posible poner un file, por ejemplo, .projectID en su repository y leer su contenido en el script de borrones.