2008-09-20 12 views
5

Me pregunto cómo lidiar con la visualización del número de revisión de publicación cuando se lanzan nuevas versiones de su aplicación en vivo?¿Cómo mostrar la última revisión en un archivo?

Puede usar $Rev$ en un archivo para obtener la última revisión, pero solo después de actualizar el archivo.

¿Qué sucede si quiero actualizar una cadena en un archivo cada vez que cambio algún archivo en el repositorio/directorio?

¿Hay alguna manera?

Respuesta

2

¿Intentaste utilizar ganchos? Trabajan solo en el lado del servidor, pero pueden hacer el truco. De lo contrario, simplemente llamaría a un script para actualizar la revisión si las palabras clave no son adecuadas para usted.

+1

No se recomienda cambiar código/archivos en ganchos –

+1

Por supuesto, pero funciona. Si tiene una mejor solución, adelante. ;) – unexist

2

Actualice el archivo automáticamente como parte de crear/implementar la versión.

+0

¿Cómo se actualiza automáticamente el archivo como parte del proceso? –

+0

No sé cómo se ve tu proceso. Probablemente tenga una herramienta de compilación o scripts donde puede agregar pasos adicionales antes de crear el paquete o antes de copiar archivos en producción ... – Alexander

1

En el único proyecto en el que tuve una razón para hacer esto, hice trampa: llama al svnversion en sí mismo cuando se inicia.

8

La mejor manera de hacerlo es tener un script de compilación para las versiones que determinará el número de revisión usando svnversion o svn info e insertarlo en un archivo. Siempre es útil tener un script que:

  1. obtiene una copia limpia de la fuente en un directorio vacío
  2. utiliza svnversion o algo similar para calcular un número de compilación
  3. compila la fuente en un producto
  4. crea un archivo (zip o tar o lo que sea) del producto
  5. limpia: borra todo, pero el archivo

Luego tiene un proceso de un solo paso para crear una versión con una versión fácilmente identificable. También le ayuda a evitar dar a alguien una compilación a partir de su propia copia de trabajo, que puede tener cambios que nunca se controlaron en el control de la fuente.

1

Como dijo alexander, una forma es actualizar la revisión como parte del proceso de compilación.

Un método para hacerlo es tomar sus compilaciones de lanzamiento de un proceso de compilación automatizado desencadenado desde su control de versión, utilizando una herramienta como buildbot.

Un escenario podría ser desencadenar la compilación automatizada utilizando la secuencia de comandos post-hook en su repositorio de subversión. Esto hace que tu buildbot se actualice a la última revisión registrada. Su script de compilación (por ejemplo, Makefile) usaría 'svnversion' (o 'svn info' y grep) para leer la revisión del repositorio y escribirla en un archivo de encabezado antes de que se lleve a cabo la compilación.

Después de la compilación correcta, vuelva a comprobar este archivo automáticamente en el repositorio con un comentario adecuado sobre la versión de lanzamiento.

3

Hay una herramienta simple en TortoiseSVN llamada SubWCRev.exe. Se necesita una revisión desde ruta y crear un archivo desde su propia plantilla. Puede usarlo como comando prebuild.

Cuestiones relacionadas