2008-09-23 148 views
8

我正在尋找有關不同源代碼控制策略的概述。我只是遇到了主線政策,並希望在與團隊合作之前更好地瞭解其他人。源代碼控制策略

有人可以提供一個概述鏈接,甚至給我一些政策的名稱,所以我可以啓動谷歌呢?

回答

0

我最喜歡的政策是「沒有顛覆承諾不引用門票+自動Trac的評論對每一個提交」:http://trac.edgewall.org/browser/trunk/contrib/trac-post-commit-hook

+0

也許,只是也許,在一個真正鎖定的維護環境。我更願意鼓勵所有開發人員進行檢查。獲得自動化測試並構建系統,並確保對基線進行配置審計,但不要阻止提交。 – 2008-09-23 07:32:21

2

我已經取得了巨大的使用書Practical Perforce的。雖然你可能沒有使用Perforce,但我認爲第7章(軟件的演變)和第8章(基本代碼管理)可能非常有用。你可以在Google Books上瀏覽它們。

Perforce在這個問題上也有很多很棒的文章。 Software Life-Cycle Modeling寫道政策。
Perforce complete technical documentation

而且,不,我沒有爲Perforce工作。

祝你好運, 托馬斯

8

沒有空提交信息。

0

提交每更改而不是每個文件。

這具有以下優點:

  • 以後,您可以看到爲什麼這一行已在此確切的文件被更改(啊哈,這是對錯誤#123 Bug修復)。如果您提交每個文件,則提交消息往往會描述文件中所做的更改 - 無論如何,您都可以通過diff查看。如果您提交per-change,那麼提交消息往往可以解釋爲什麼首先完成更改。
  • 恢復或合併更改/錯誤修復要容易得多。
  • 當你清楚地關注你正在工作的單個bug /特性/改變時,它有助於更​​好地組織你的工作。你完成後就提交。

有些人認爲這個政策會產生更多的承諾,但從我的經驗來看,您最終獲得的承諾更少。例如,您正在進行影響50個文件的重構。重構後,您只需提交一條消息「重構xyz子系統」。

對於較大的變更,您應該考慮dev-branch-per-change政策。

+0

這會導致很多提交,或者不是嗎? 您可以命名支持這種策略的源代碼控制系統。我所知道的所有系統只支持每個文件的提交。 – boutta 2008-09-23 07:20:07

+0

是的,這是很多提交。只要它們是真的(http://thedailywtf.com/Articles/Productivity-20.aspx),這不是問題@Vilmantas Baranauskas希望確保他可以跟蹤個人提交的內容。這是一種折衷。 – 2008-09-23 07:34:57

0

請勿簽入/提交任何破壞構建的更改。

6

我們在項目中使用了幾條實用規則作爲提交策略。這些規則有助於我們將每個修訂保持在可以部署的狀態。我們的規則類似於KDE提交策略,發佈在這裏:http://techbase.kde.org/Policies/SVN_Commit_Policy。 每個提交應該是(從較高到較低優先級):

  • 成功檢查(編譯,測試,審查,FxCop'ed等)
  • 原子(應該只包含一個邏輯變化,FE單一錯誤修正,重構等)
  • 非冗餘的(未使用的代碼應該加入,不要犯註釋代碼,將其刪除,不小心犯格式的變化等)
  • 正確和全面評價
  • 匹配的電流開發階段(例如,不應該重構b e允許在版本支持分支中)
  • 儘可能小以匹配先前的規則。

我們開發了一個簡單的工具SvnCommitChecker,幫助我們在提交到svn之前檢查這些規則。我計劃在不久的將來將其發佈到sourceforge上,並提供一篇關於保持良好svn變化歷史的好處的文章。