2009-07-14 79 views
1

我目前使用預先提交的掛鉤阻止任何不包含評論的SVN提交。如何執行SVN提交評論中輸入的評論者名稱

現在我希望延長本,以便提交評論必須行

「點評人:

目前預提交鉤子文件看起來像

:: SET REPOS=%1 

:: Transform forward-slashes to back-slashes for Windows 
:: SET REPOS=%REPOS:/=^\% 

"C:\Program Files\VisualSVN Server\bin\svnlook.exe" log -t %2 %1 | FindStr [a-zA-Z0-9] 
IF %ERRORLEVEL% EQU 0 GOTO CHECKSUOFILES 
echo "Commit Comments are Required" >&2 
exit 1 

有沒有人實施類似的東西?

我目前使用SVN 1.6.0

回答

1

我參加了一個相當原始的路線,回答我的問題。我改變了預提交鉤子去尋找「的評論:」文本,否則它會阻止提交

沒有與問題,這

  • 您只需通過輸入審閱繞過它:和再不是一個名字
  • 我們要求開發人員對來自輸入:沒有人對未審查提交

然而,它將使我們能夠解析SVN日誌,看看有/沒有被審查和誰。

5

這對我來說似乎是一個不好的習慣 - 強迫某些事情被審查會抑制頻繁的檢查,這是你想要鼓勵的事情之一。總的來說,我對使用版本控制軟件作爲某種工作流程管理系統的明顯趨勢感到有些沮喪,但這並不是它的目的!

0

你基本上已經有一個例子。只需添加如下內容:

set reviewed=no 
"C:\Program Files\VisualSVN Server\bin\svnlook.exe" log -t %2 %1 | FindStr "reviewed by" && set reviewed=yes 
if "%reviewed%"=="no" GOTO NOTREVIEWED 

但是,

當更改已被提交時,檢查更改是最容易的。另外,正如Neil已經提到的那樣,您不想阻止常規的一口咬合提交。審查巨大的變化點並不好。

如果你確實想確保每一個改變都被檢查過,你應該使用feature branches的概念。爲每個更改設置一個分支,並允許在那裏沒有評論的情況下經常進行小的提交當更改準備好後,審閱者可以通過提交併將更改合併到主題中來檢查它的提交。

0

您可能需要考慮使用類似Git(http://git-scm.com/)而不是SVN。使用Git,您可以擁有隻能由您的審閱者撰寫的項目「祝福」版本。個人都在本地機器上使用代碼,並可以將他們的更改推送到項目的「審覈」實例。審閱者可以查看「審閱」實例中的更改,並將個人更改推送到「祝福」版本。

Git還可以直接轉換您現有的SVN項目。

+0

這實際上並不是切換到git的參數。你也可以在SVN中「祝福」一個分支。 – 2009-07-17 12:35:38