2011-02-17 108 views
0

我們正在考慮限制我們的Subversion項目中的合併點。SVN合併 - 哲學

背後的想法是保持合併更整潔,因爲我們擔心有大量新開發的svn的開發者,我們可能會得到不同的合併 點的蛛網。

我們害怕所有不同的副作用,所以這樣的限制將幫助我們擁有一切。

作爲一個基本的概念,我們決定只允許在根上進行分支並只在分支的頂部進行合併。這使得一切都很好。但是......

但是,由於一些開發人員組在總體幹線上使用10%,因此允許他們僅在分支上分支似乎是合理的。

然後樂趣開始。如果我們給他們自由意志,那麼合併可能發生在任何地方。 我真的很害怕這個。那是我怎麼來到這個問題:-)

你會怎麼看待乾淨的方式來設置事情?

謝謝!

+0

理想情況下,你不會經常分支,可以說,2011年1月分行,2011年2月分行等,與當前主幹持續一個月(甚至一週),它可能會產生更好的結果,所以每月一次過去了,你只需要處理那個樹幹或者與之前的分支合併來解決衝突。我有道理嗎? – Ravikiran 2011-02-17 14:42:44

回答

0

除非你想限制對特定分支的提交訪問,否則在Subversion中沒有簡單的方法。

首先,通常只想將合併限制爲一小部分文件。如果您只允許在項目級別進行合併,則在需要時無法選擇合併。

另一個問題是svnlook不會告訴你爲什麼文件被更改。即使你可以防止提交,如果某些文件有svn:合併信息,用戶可以很容易地使用--ignore-ancestery參數,而不僅僅是合併,但沒有記錄它完成,這會讓你更糟,因爲你不'沒有合併的信息。請記住,如果你阻止用戶做他們認爲他們需要做的事情,他們會找到解決方法。

最好的辦法是相信你的開發人員,並讓他們訓練如何以及爲什麼他們應該在Subversion中進行合併。

請記住,當涉及到Subversion的時候,你是一位全能的上帝。沒有什麼隱藏你的所有知道的存在。如果開發人員做了一個古怪的合併,你會通過「svn log」知道。這種力量使開發人員保持一致。如果你讓技術領導者購買爲什麼你需要合併在一個合乎邏輯和連貫的莊園,這是尤其如此。畢竟,如果合併發生錯誤,開發團隊就會受到影響。