23

Sto usando Visual SVN Server e Tortoise SVN (client) per il controllo del codice sorgente. Vorrei che tutti gli sviluppatori standardizzassero su un formato coerente per le note di controllo.Come creare un modello di messaggio di commit SVN e Hook to Verify

Per esempio voglio il loro messaggio di commit per difetto di ...

Sinossi:

Nome Developer: (pre-popolato)

Inviato da:

[Bug Id]:

[Cambia stato bug]:

Problemi noti:

interessato File: (pre-popolato)

In futuro mi piacerebbe [Bug Id] e [Stato Bug] di fornire le informazioni per innescare un aggiornamento automatico per la Sistema di tracciamento dei bug. Anche Nome sviluppatore e File interessati devono essere prepopolati con l'utente svn e i file che l'utente sta eseguendo.

Si prega di inviare qualsiasi link o campioni che potreste avere.

+10

"interessato Files", e forse anche "Sviluppatore Nome", non dovrebbe essere nel messaggio di commit perché sono * * in modo affidabile nel built-in commit metadati. –

risposta

30

Tratto da How to create a Tortoise SVN Checkin Template (modificato per adattarsi alle versioni più correnti):

Il modello di registro può essere personalizzato secondo le esigenze del progetto e può essere utilizzato per implementare rigorosa formato di registro.

Aggiungendo questo al repository SVN è facile:

  1. Selezionare una cartella SVN a cui si desidera applicare questo andare alle proprietà di Subversion (tasto destro TortoiseSVN -> Properties)

  2. Select New -> Advanced, quindi tsvn:logtemplate dall'elenco a discesa denominato Property name.

  3. Aggiungi i modelli precedenti (o i tuoi) all'area di testo sotto la casella combinata.

  4. Se si desidera applicare la proprietà a ogni file e cartella nella gerarchia sotto la cartella corrente, selezionare la casella di controllo Recursive.

  5. Fare clic su OK per aggiungere la proprietà all'elenco.

  6. Effettuare il check-in di tutte le cartelle e i file in modo che tutti gli altri membri del team possano utilizzare lo stesso modello.

+4

È stato un po 'difficile da trovare, ma immagino che ci si possa aspettare circa 4 anni dopo :) L'ho trovato usando: Cartella tasto destro -> Proprietà -> Nuovo ... -> Avanzate -> Nome proprietà: tsvn: logtemplate - > immettere un valore della proprietà -> OK -> OK. L'opzione ricorsiva non sembrava avere importanza, nell'applicare o rimuovere questo valore di proprietà basato su modelli. Grazie mille adrainbanks (anche 4 anni da qui!). –

+0

L'opzione ricorsiva conta solo se non si esegue il checkout della cartella radice (dove è stata impostata solo la proprietà). Tutte le proprietà 'tsvn' sono proprietà client, quindi nessuna comunicazione al server viene eseguita per leggere le proprietà. – mliebelt

+0

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

1

Oppure, per ulteriore comodità SVN_EDITOR (es correttamente collegando all'elemento di lavoro TFS nel caso di dover utilizzare SvnBridge), si potrebbe memorizzare il seguente script come ~/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 "${@}" 

e poi semplicemente fare

export SVN_EDITOR=~/bin/svn_editor 

in ~/.bashrc o qualcosa del genere. Punti bonus per mantenere aggiornato il file del numero dell'oggetto di lavoro anche dalla pagina di lavoro corrente visualizzata nell'interfaccia web di Firefox TFS (penso che ci sia un modo per comunicare con Firefox per ottenere titoli di pagine, ecc.). O semplicemente questo script avvia un primo editor iniziale sul file di lavoro persistente e quindi lascia che esegua il secondo editor sul modello di commit personalizzato.

1

ho trovato utilizzando: Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.

Problemi correlati