23

Estoy usando el servidor Visual SVN y el SVN de Tortoise (cliente) para el control de código fuente. Me gustaría que todos los desarrolladores estandaricen en un formato consistente para las notas de registro.Cómo creo una plantilla de mensaje de compromiso de SVN y un gancho para verificar

Por ejemplo I quieren que su mensaje de registro por defecto a ...

Sinopsis:

desarrollador Nombre: (rellena previamente)

revisada por:

[Bug Id]:

[Cambiar estado del error]:

Problemas conocidos:

afectada presenta: (pre-poblada)

En el futuro me gustaría [Bug ID] y [Estado Bug] para el suministro de la información para desencadenar una actualización automática a la Sistema de seguimiento de errores. 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 los enlaces o muestras que pueda tener.

+10

"afectada presenta", y tal vez también "desarrollador Nombre", no debería estar en el mensaje de confirmación, ya que son de forma fiable * * en el built-in cometer metadatos. –

Respuesta

30

Tomado de How to create a Tortoise SVN Checkin Template (modificado para adaptarse a las versiones más actuales):

La plantilla de registro se pueden personalizar según las necesidades del proyecto y se puede utilizar para aplicar formato de registro estricto.

La adición de este a su repositorio SVN es fácil:

  1. Seleccione una carpeta SVN a la que desea aplicar esto, vaya a las propiedades de Subversion (clic derecho TortoiseSVN -> Properties)

  2. Seleccionar New -> Advanced, entonces 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 Recursivo.

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

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

+4

Fue un poco difícil de encontrar, pero supongo que es de esperar cerca de 4 años después :) Lo encontré usando: Carpeta clic con el botón derecho -> Propiedades -> Nuevo ... -> Avanzado -> Nombre de la propiedad: tsvn: logtemplate - > ingrese un valor de Propiedad -> OK -> OK. La opción recursiva no parecía importar, ya sea al aplicar o eliminar este valor de propiedad con plantilla. Muchas gracias adrainbanks (¡incluso dentro de 4 años!). –

+0

La opción recursiva solo importa si no revisa la carpeta raíz (donde solo se estableció la propiedad). Todas las propiedades 'tsvn' son propiedades del cliente, por lo que no se realiza ninguna comunicación con el servidor para leer las propiedades. – mliebelt

+0

Link rot. Nuevo enlace: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-propertypage.html –

1

O, para mayor comodidad SVN_EDITOR (por ejemplo correctamente vincular 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 hacer

export SVN_EDITOR=~/bin/svn_editor 

en ~/.bashrc o algo así. Puntos de bonificación para mantener el archivo de número de elemento de trabajo actualizado incluso desde la página de elemento de trabajo actual 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 el primer editor inicial ejecutado en el archivo de elemento de trabajo persistente y , luego, haga que el segundo editor se ejecute en la plantilla de confirmación personalizada.

1

me pareció usando: Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.

Cuestiones relacionadas