iT邦幫忙

DAY 26
8

版本控管觀念與技巧使用Subversion為例系列 第 26

LOG 是很重要的!如何強迫 Commit 時一定要輸入 Log

版控介紹到這裡這裡各位應該都可以體會 Log 是一個非常重要的東西,分支、合併、還原、刪除等等一堆功能都需要靠 Log 來做判斷,但是預設的情況下 Log 是可以不輸入的,對於這種不輸入 Log 的送交實在是很頭痛,因此這裡就來介紹如何強迫每次送交(Commit)都需要寫 Log 的方式。
首先實作觀念 demo 不想提,因為這扯很遠相當遠,對於我們這種專注於應用的人來說扯那個沒有意義,所以就讓我們達到目標就好,你只要確定你動的到 SVN Server 因為這是對於伺服器端的操作,如果你動不到伺服器端那就沒搞頭了,再確認你可以動到伺服器端後至 codeplex 下載 SubversionTools http://svntools.codeplex.com/

●下載回來的檔案請解壓縮,解壓縮後可以看到
ChkCommitMsg.exe
ChkCommitMsg.exe.config
README.txt
SvnLib.dll
pre-commit.bat
請將以上的檔案全部複製到你要限制的專案下的 hooks 目錄,依據本範例就是 s:\Repositories\demoshopTest\hooks

●點開 pre-commit.bat 這個檔案

將原本的

Svnlook info %REPOS% -t %TXN% | %REPOS%\hooks\ChkCommitMsg.exe

換成

"C:\Program Files (x86)\VisualSVN Server\bin\svnlook.exe" info %REPOS% -t %TXN% | %REPOS%\hooks\ChkCommitMsg.exe

注意事項(以上路徑為您是使用 Visual SVN 安裝 Server 並且安裝在C槽的情況,如有變動請自行修改 svnlook.exe 的路徑)

●點開 ChkCommitMsg.exe.config

調整你想要的警告訊息

<add key="ErrorNoCommitMessage" value="不是和你說 Log 很重要!為什麼不輸入!"/>

●這時候你就可以嘗試不輸入 Log 來送交了

立即會收到錯誤並且阻擋了這次的送交

demo廢言利用這種方式就可以避免使用者提供了空白的 Log 。

[鐵人賽] LOG 是很重要的!如何強迫 Commit 時一定要輸入 Log | demo小鋪


上一篇
Visual Studio 免費的 SVN 整合工具 ankhsvn 與 Visual SVN
下一篇
讓 SVN Service 擁有發信的功能並且進階限制 Log 的樣式
系列文
版本控管觀念與技巧使用Subversion為例30

尚未有邦友留言

立即登入留言