Wie erstelle ich eine SVN Commit -Nachrichtenvorlage und einen Haken, um dies zu überprüfen?
-
13-09-2019 - |
Frage
Ich verwende visuelle SVN -Server und Tortoise SVN (Client) für die Quellensteuerung. Ich möchte, dass alle Entwickler ein konsistentes Format für Checkin -Notizen standardisieren.
Zum Beispiel möchte ich, dass ihre Commit -Nachricht an ...
Zusammenfassung:
Entwicklername: (vorausgefüllt)
Rezensiert von:
Bug ID]:
Bug -Status ändern]:
Bekannte Probleme:
Betroffene Dateien: (vorausgefüllt)
In Zukunft möchte ich [Fehler -ID] und [Bug -Status] die Informationen zur Verfügung stellen, um ein automatisiertes Update für das Fehlerverfolgungssystem auszulösen. Auch Entwicklername und betroffene Dateien sollten mit dem SVN -Benutzer und den von dem Benutzer begangenen Dateien vorgepopuliert werden.
Bitte senden Sie alle Links oder Muster, die Sie haben.
Lösung
Genommen von So erstellen Sie eine Schildkröten -SVN -Checkin -Vorlage (modifiziert für aktuellere Versionen):
Die Protokollvorlage kann gemäß den Projektanforderungen angepasst und zur Implementierung eines strengen Protokollformats verwendet werden.
Das Hinzufügen dieser SVN -Repository ist einfach:
Wählen Sie einen SVN -Ordner aus, auf den Sie dies anwenden möchten, um zu den Subversion -Eigenschaften zu gehen (mit der rechten Maustaste klicken
TortoiseSVN -> Properties
)Auswählen
New -> Advanced
, danntsvn:logtemplate
Aus der vom Dropdown -Liste benannten ListeProperty name
.Fügen Sie die oben genannten Vorlagen (oder Ihren eigenen) dem Textbereich unter dem Kombinationsfeld hinzu.
Wenn Sie die Eigenschaft auf jede Datei und jeden Ordner in der Hierarchie unter dem aktuellen Ordner anwenden möchten, überprüfen Sie das rekursive Kontrollkästchen.
Klicke auf
OK
So fügen Sie diese Eigenschaft zur Liste hinzu.Machen Sie alle Ordner und Dateien ein, damit alle anderen in Ihrem Team dieselbe Vorlage verwenden können.
Andere Tipps
Eine Möglichkeit, dies mit der Befehlszeile zu tun, besteht darin, die hier beschriebene SVN_Editor -Umgebungsvariable zu ändern:
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"
Oder für einen weiteren Komfort von SVN_EDITOR (zB ordnungsgemäß Verknüpfung mit dem TFS -Arbeitselement, wenn Sie SVNBRIDGE verwenden müssen), könnte man das folgende Skript als ~/bin/svn_editor speichern:
#!/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 "${@}"
und dann einfach tun
export SVN_EDITOR=~/bin/svn_editor
in ~/.bashrc oder so. Bonuspunkte für die Aufrechterhaltung der Arbeitselementnummer -Datei auch von der aktuellen Arbeitselementseite, wie sie in der Firefox -TFS -Weboberfläche angezeigt werden (ich denke, es gibt möglicherweise eine Möglichkeit, mit Firefox zu kommunizieren, um Seitentitel usw. zu erhalten). Oder lassen Sie dieses Skript einfach einen ersten ersten Editor starten, der in der persistenten Arbeitselementdatei ausgeführt wird und dann Lassen Sie es den zweiten Editor ausführen, der in der benutzerdefinierten Commit -Vorlage ausgeführt wird.
Ich fand es mit:Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.