SVNコミットメッセージテンプレートとフックを作成して確認するにはどうすればよいですか
-
13-09-2019 - |
質問
ソースコントロールにVisual SVNサーバーとカメSVN(クライアント)を使用しています。すべての開発者に、チェックインノートの一貫した形式で標準化してほしい。
たとえば、彼らのコミットメッセージがデフォルトになりたいです...
概要:
開発者名: (事前に入力)
にレビューされました:
バグID]:
バグ状態を変更]:
既知の問題点:
影響を受けるファイル: (事前に入力)
将来、[バグID]と[バグ状態]が情報を提供して、バグ追跡システムの自動更新をトリガーしたいと考えています。また、開発者名と影響を受けるファイルは、ユーザーがコミットしているSVNユーザーとファイルを事前に配置する必要があります。
持っている可能性のあるリンクまたはサンプルを送信してください。
解決
から取られた カメSVNチェックインテンプレートを作成する方法 (より多くの現在のバージョンに適合するように変更):
ログテンプレートは、プロジェクトの要件に従ってカスタマイズでき、厳密なログ形式を実装するために使用できます。
これをSVNリポジトリに追加するのは簡単です:
これを適用するSVNフォルダーを選択します。
TortoiseSVN -> Properties
)選択する
New -> Advanced
, 、 それからtsvn:logtemplate
名前のドロップダウンリストからProperty name
.上記のテンプレート(または独自)をコンボボックスの下のテキスト領域に追加します。
現在のフォルダーの下の階層内のすべてのファイルとフォルダーにプロパティを適用する場合は、再帰チェックボックスをチェックしてください。
クリック
OK
そのプロパティをリストに追加します。チームの他の全員が同じテンプレートを使用できるように、すべてのフォルダーとファイルをチェックインします。
他のヒント
コマンドラインでこれを行う方法は、ここで説明するsvn_editor環境変数を変更することです。
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"
または、さらにSVN_EDITORの快適さ(SVNBridgeを使用する必要がある場合にTFSワークアイテムに適切にリンクする)のために、次のスクリプトを〜/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 "${@}"
そして、単にやります
export SVN_EDITOR=~/bin/svn_editor
〜/.bashrcまたはそのようなもの。 Firefox TFS Webインターフェイスで表示されているように、現在のWork Item Pageからのワークアイテム番号ファイルを更新するためのボーナスポイント(Firefoxと通信してページタイトルなどを取得する方法があると思います)。または、このスクリプトに、永続的なワークアイテムファイルで最初の初期エディターを実行することと それから カスタマイズされたコミットテンプレートで2番目のエディターを実行します。
私はそれを使用していることがわかりました:Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.