23

我使用Visual SVN Server和Tortoise SVN(客戶端)進行源代碼管理。我希望所有的開發人員能夠以一致的格式對簽入筆記進行標準化。如何創建SVN提交消息模板並掛鉤驗證

例如,我希望自己提交信息默認爲...

簡介:

開發商名稱:(預填充)

點評人:

[錯誤Id]:

[Change Bug State]:

已知問題:

受影響的文件:(預填充)

在未來,我想[錯誤ID]和[錯誤狀態]提供的信息來觸發自動更新到錯誤跟蹤系統。開發者名稱和受影響的文件也應該預先填充用戶正在提交的svn用戶和文件。

請發送您可能有的任何鏈接或樣品。

+10

「受影響的文件」,或許也是「開發者名稱」,不應該是值的信息,因爲它們是* *可靠的內置提交的元數據。 – 2010-05-02 23:38:01

回答

30

How to create a Tortoise SVN Checkin Template採取的措施(修改,以適應更多的當前版本):

日誌模板可以定製按項目要求,可用於實現嚴格的日誌格式。

添加給你的svn庫很簡單:

  1. 選擇SVN文件夾,您想要應用此去顛覆屬性(右鍵單擊TortoiseSVN -> Properties

  2. 選擇New -> Advanced,然後tsvn:logtemplate從名爲Property name的下拉列表中選擇。

  3. 將上述模板(或您自己的)添加到組合框下面的文本區域。

  4. 如果要將屬性應用於當前文件夾下方層次結構中的每個文件和文件夾,請選中遞歸複選框。

  5. 點擊OK將該屬性添加到列表中。

  6. 簽入所有文件夾和文件,以便團隊中的其他人都可以使用相同的模板。

+4

有點難以找到,但猜測這是預計將近4年後:)我發現它使用:文件夾右鍵單擊 - >屬性 - >新... - >高級 - >屬性名稱:tsvn:logtemplate - >輸入屬性值 - >確定 - >確定。遞歸選項似乎並不重要,無論是應用還是刪除此模板屬性值。非常感謝adrainbanks(甚至4年!)。 – 2013-03-27 01:09:12

1

或者,對於進一步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界面中所看到的(我認爲可能有與Firefox進行通信以獲取頁面標題等的方法)。 或者簡單地讓這個腳本啓動第一個初始編輯器運行在持久工作項目文件上,然後然後讓它在定製提交模板上運行第二個編輯器。

1

我發現它使用: Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.