tortoise tag subversion estructura entre diferencia create crear branches svn tortoisesvn visualsvn-server pre-commit-hook commit-message

svn - tag - merge branches subversion



¿Cómo creo una plantilla de mensaje de compromiso SVN y un gancho para verificar (4)

Lo encontré usando: Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.

Estoy usando Visual SVN Server y Tortoise SVN (cliente) para el control de fuente. Me gustaría que todos los desarrolladores estandaricen en un formato consistente para las notas de registro.

Por ejemplo, quiero que su Mensaje de confirmación sea predeterminado a ...

Sinopsis:

Nombre del desarrollador: (pre-poblado)

Revisado por:

[Id del error]:

[Cambiar estado de error]:

Problemas conocidos:

Archivos afectados: (pre-poblados)

En el futuro me gustaría que [Bug Id] y [Bug State] proporcionen la información para activar una actualización automática del sistema de seguimiento de fallos. Además, el nombre del desarrollador y los archivos afectados se deben rellenar previamente con el usuario svn y los archivos que el usuario está comprometiendo.

Por favor envíe cualquier enlace o muestra que pueda tener.


O bien, para mayor comodidad de SVN_EDITOR (por ejemplo, vincular correctamente al elemento de trabajo TFS en el caso de tener que usar SvnBridge), se podría almacenar el siguiente script como ~ / bin / svn_editor:

#!/bin/sh template_file="${@}" template_file_new="${template_file}.new" current_work_item_number_file="${HOME}/tfs_work_item_number_current.txt" [ -f "${current_work_item_number_file}" ] && work_item=$(cat "${current_work_item_number_file}") || work_item="please fill in!" # Yes folks, this is the TFS convention (hard, NOT-TO-BE-ALTERED text) # to properly link to work items via SvnBridge commits! work_item_prefix_hard_tfs_convention_text="work item: " work_item_text="${work_item_prefix_hard_tfs_convention_text}${work_item}" custom_text="${work_item_text}/n/n[this addition above initially placed to ignored content part here,/nto ensure properly abortable empty message by default - please move it to active content as needed]" sed -e ''s//(will be ignored--/)//1/n''"${custom_text}"''/'' "${template_file}" > "${template_file_new}" mv -f "${template_file_new}" "${template_file}" $EDITOR "${@}"

y luego simplemente hazlo

export SVN_EDITOR=~/bin/svn_editor

en ~ / .bashrc o algo así. Puntos de bonificación por mantener el archivo de número de elemento de trabajo actualizado incluso desde la página de elemento de trabajo actual tal como se ve en la interfaz web de Firefox TFS (creo que posiblemente haya una forma de comunicarse con Firefox para obtener títulos de página, etc.). O simplemente, haga que este script inicie una primera ejecución inicial del editor en el archivo de elemento de trabajo persistente y luego deje que se ejecute el segundo editor en la plantilla de confirmación personalizada.


Tomado de Cómo crear una Plantilla de registro SVN de tortuga (modificada para ajustarse a las versiones más actuales):

La plantilla de registro se puede personalizar según los requisitos del proyecto y se puede utilizar para implementar un formato de registro estricto.

Agregar esto a su repositorio svn es fácil:

  1. Seleccione una carpeta SVN a la que desea aplicar, vaya a Propiedades de Subversion (haga clic derecho en TortoiseSVN -> Properties )

  2. Seleccione New -> Advanced , luego tsvn:logtemplate de la lista desplegable llamada Property name .

  3. Agregue las plantillas anteriores (o la suya) al área de texto debajo del cuadro combinado.

  4. Si desea aplicar la propiedad a cada archivo y carpeta en la jerarquía debajo de la carpeta actual, marque la casilla de verificación Recursiva.

  5. Haga clic en OK para agregar esa propiedad a la lista.

  6. Regístrese en todas las carpetas y archivos para que todos los demás en su equipo puedan usar la misma plantilla.


Una forma de hacer esto con la línea de comando es cambiar la variable de entorno SVN_EDITOR, que se describe aquí:

http://svn.haxx.se/dev/archive-2006-02/0487.shtml

SVN_EDITOR="rm svn-commit.tmp && cp $REPOS/hooks/log.tmpl svn-commit.tmp && vi svn-commit.tmp"