¿Por qué las tags nunca deben eliminarse del server?

Leyendo documentos de Gerrit , dice:

[...] users should be really knowledgeable about git, for instance knowing why tags never should be removed from a server 

No detalla esta afirmación. No veo ningún problema y tampoco puedo encontrar información al respecto.

Entonces, ¿por qué las tags nunca deberían eliminarse del server?

El por qué no debe eliminar una label remota se explica en la parte inferior de http://git-scm.com/docs/git-tag , sección "Al volver a labelr".

En resumen: si un queueborador ya ha captado la label una vez, no la actualizará después de que la haya cambiado. Por lo tanto, la label se vuelve inútil ya que representa una confirmación A en el repository remoto, pero puede representar una confirmación B en el repository de algunos desarrolladores.

Si presiona tags anotadas , se supone que representan "tags cuando un proyecto alcanza un punto de lanzamiento estable que vale la pena recordar en la historia".

Dado que el propietario de un proyecto en Gerrit tiene derecho a eliminar tags, la documentation agrega esa advertencia para que otros usuarios que confían en dichas tags no se sorprendan (o que reciban una advertencia adecuada) si esa label cambiara (o fuera a ser eliminada) .

Consulte la sección " Cumplimiento de las políticas de acceso a todo el sitio "

Al otorgarle al propietario acceso directo en el refs/* a un grupo, los administradores de Gerrit pueden delegar la responsabilidad de mantener los derechos de acceso para ese proyecto a ese grupo.

En una implementación corporativa a menudo es necesario aplicar algunas políticas de acceso. Un ejemplo podría ser que nadie puede actualizar o eliminar una label, ni siquiera los propietarios del proyecto.
Las reglas ALLOW y DENY no son suficientes para este fin, ya que los propietarios del proyecto pueden otorgarse cualquier derecho de acceso que deseen y, por lo tanto, anular de forma efectiva cualquier derecho de acceso henetworkingado de "Todos los proyectos" o algún otro proyecto principal común.

Es por eso que Gerrit propone:

Asegúrese de que nadie pueda actualizar o eliminar una label

Este requisito es bastante común en una implementación corporativa donde se debe garantizar la reproducibilidad de una compilation . Para lograr eso, bloqueamos el permiso push para los usuarios anónimos en "Todos los proyectos":

 [access "refs/tags/*"] push = block group Anonymous Users create = group Project Owners pushTag = group Project Owners