¿Cómo implementa Gerrit sus refs "mágicos"?

Actualmente estoy implementando Gerrit como sistema central de revisión de código. En el process de tratar de entender los pormenores de Gerrit, me quedé atrapado en la siguiente oración. Tomado de la documentation de Gerrit :

Como Gerrit implementa toda la stack de serveres SSH y Git dentro de su propio espacio de process, Gerrit mantiene un control total sobre cómo se actualiza el repository y qué respuestas se envían al cliente de git push invocado por el usuario final o mediante repo upload . Esto le permite a Gerrit proporcionar references mágicas, como refs/for/* para el nuevo envío de cambios y refs/changes/* para el cambio de reemploop.

¿Qué significa la statement anterior, en particular esta frase: "Como Gerrit implementa toda la stack de serveres SSH y Git dentro de su propio espacio de process"? Traté de search preguntas relevantes, pero lo más parecido que he encontrado es por qué git push gerrit HEAD: refs / for / master utilizado en lugar de git push origin master , pero no proporciona una explicación adecuada de cómo la implementación de la stack del server permite a Gerrit proporcionar refs mágicos. Disculpas si se han hecho preguntas similares antes. ¡Gracias!

No es difícil implementar una reference mágica incluso en "git normal". Solo tiene que implementar gancho de pre-receive o update en su repository remoto que reconoce la twig de destino de la inserción y hacer lo que quiera con ella (por ejemplo, almacenar la inserción en otra twig).

Aunque no tengo detalles de implementación (supongo que es mucho más sofisticado), este es el mismo comportamiento que el de Gerrit. Usted presiona para refs/for/master y lo almacena en refs/changes/66/5066/2 branch (por ejemplo).

Hay algunos ejemplos .