Pregunta

Usando Subversion, en mi copia de trabajo hago una modificación menor (actualizo un número de versión).Luego me gustaría etiquetar mi copia de trabajo.¿Esta etiqueta seguiría siendo una copia barata con la modificación o SVN duplicaría los archivos?Odiaría ver que mi repositorio creciera enormemente en tamaño porque estoy intentando guardar un cambio de número de versión.

La razón por la que pregunto acerca de la creación de una etiqueta que contenga una modificación en lugar de confirmarla y luego etiquetarla tiene que ver con mi servidor de compilación.El servidor de compilación crea un CCNetLabel que uso para actualizar los números de versión de mis proyectos (AssemblyInfo.cs).Cuando la compilación es exitosa, crea una etiqueta.Cuando uso ForceBuild, la etiqueta se basa en la copia de trabajo que contendría el número de versión modificada.Quiero que la etiqueta contenga el número de versión apropiado.

nota:Es discutible si estoy creando una rama o una etiqueta, sin embargo SVN no hace distinción entre las dos.

¿Fue útil?

Solución

Depende. Si su copia de trabajo está al día (todos los nodos tienen la misma revisión) es tan barato como el etiquetado del repositorio.

Para cada archivo / directorio (o en realidad sub-árbol) con una revisión diferente que sus padres los datos adicionales se agregará. Y si tiene modificaciones locales se añadirán aún más datos.

Pero todavía es barato razonable:. No duplica los archivos que ya se encuentran en el repositorio

Otros consejos

De la descripción de la subversión.

  • La ramificación y el etiquetado son operaciones económicas (de tiempo constante).No hay ninguna razón para que estas operaciones sean costosas, así que no lo son.Tanto las ramas como las etiquetas se implementan en términos de una operación de "copia" subyacente. Una copia ocupa una cantidad pequeña y constante de espacio. Cualquier copia es una etiqueta;y si comienzas a comprometerte con una copia, entonces también es una rama.(Esto elimina el "etiquetado de punto de bifurcación" de CVS, al eliminar la distinción que hacía necesarias las etiquetas de punto de bifurcación en primer lugar.)

¡Nota! acabo de notar que Subversión se ha trasladado a la organización del proyecto Apache

Creación de una etiqueta o una sucursal en la subversión es muy barato. no se copiarán los archivos. Todo lo que sucede es que se creará una nueva revisión, el contenido de las cuales, básicamente, sólo contendrá una indicación del lugar donde la etiqueta fue copiado. Este será el mismo tamaño para una etiqueta de un proyecto con un archivo pequeño o para uno con un millón grandes.

Cuando se dice "etiqueta de mi copia de trabajo", Qué quiere decir "etiqueta de mi sucursal de trabajo"? Sólo puede datos de la etiqueta que ya ha sido cometido en el repositorio de alguna parte, no sus cambios no confirmados locales.

Todo un fuera de fecha, pero vale la pena mencionar que para cualquiera que visite la respuesta que indica sólo puede 'sólo se puede datos de la etiqueta que ya ha sido cometido en el repositorio ...' trabajo comprometido no es completamente exacta (al menos no ahora).

Se puede etiquetar una copia de trabajo, lo que podría contener revisiones mezcladas e incluso cambiado directorios, así como modificaciones locales.

En cuanto a lo barato, sí que debe todavía ser barato como Subversion se bifurcará para usted, entonces superponer sus cambios de copia de trabajo en el repositorio, ahorrando tanto espacio como sea posible

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top