2014-03-26 55 views
0

我們有一個非常標準的發展歷程:在一個新的功能要求/ bug修正我們的開發人員創建自己的SVN分公司開發的代碼裏面,我們做一些代碼審查迭代,代碼審查的變化再次承諾,當所有的開發人員決定好的,我們喜歡它被合併回SVN主幹的代碼。SVN批准合併

現在從上面使用一個級別的請求進入了系統:我們應該重新合併,如果被批准更高米@ N - [摹€米€NT只主幹。他們有效地要求我們阻止「svn merge」直到有人的地方按下一個按鈕,這臺某處的標誌......

這甚至可能嗎?如果是的話,怎麼樣?

回答

1

如果您提交到主幹是只有 mergesets,你可以使用pre-commit鉤子,這

  • 攔截承諾/主幹
  • 檢查一些財產一些文件或(甚至/主幹),在此提交(原本屬性定義已在分支根來定義和形式顯示在WC合併)主幹的屬性
  • 允許此提交僅當屬性定義定義和h作爲預定值

如果您提交混合(直接發展軀幹和合並),你可以稍微擴大上述鉤和檢查兩個SVN-性的判定,其中一個(也是唯一一個)必須被定義。

類似「直接提交YES」和「合併批准YES」。對於發展承諾merge-approved必須不存在,而direct-commit將被定義爲mergesets情況正好相反(direct-commit不存在,merge-approved定義)

我看到行政和管理方只有一個問題:在所有創建分支這些屬性必須在分公司被消滅,批准合併「簽約」分支必須發生在安全的方式(普通propset命令將很快利用)

+0

這種pre-commit鉤子將只允許一種類型提交的(無論是直接提交還是合併批准)都可以在trunk中同步,例如直接提交需要等到合適的時間ty **直接提交**設置合併批准時設置。你不覺得它可能會減緩發展活動嗎? –