2010-06-27 43 views
4

另一個SVN指南問題,我知道。針對我的工作環境的SVN改進建議

我最近加入了一家新公司,該公司維護了一些網站。我們有幾個開發人員和一個圖形設計人員,我們所有人都使用SVN。我們每個人都有單獨的工作副本和沙箱可供使用,並將所有內容都提交給主幹。

這是我們所面臨的問題:

  1. 有時候,多脂肪酶在相同的特性/錯誤的工作(例如我和圖形的傢伙)。爲了讓我們同步我們的工作(例如,讓我看到新的圖片/ css),圖形人員需要提交他的更改,並且我必須更新我的工作副本。因此,在一天結束時,我們有很多修改從trunk到RC分支合併。

  2. 通常我們被要求實現一個功能,確定,完成,提交代碼到主幹。然後我們被要求修復一個bug(修復這個bug,它以某種方式使用了爲該功能編寫的一些代碼,並且沒有人記得它)好吧,修復了bug,測試了錯誤並修復了trunk。稍後我們被告知,我們不會發布該功能,但需要發佈錯誤修復。

還有一些情況,但我現在不記得了。你們認爲哪些改變會改善我們的流程?

問候

詹姆斯

回答

2

你可以擁有你自己和圖形傢伙一起工作的功能分支。確保你有任務寫出來,你們都會做,當你們之間毫無疑問地存在着某種依賴關係時(正如你們所經歷的那樣)。

我們的團隊使用設計師的一個好方法就是我們坐下來快速制定出一份「API」或基本代碼合同,他可以在開發人員編碼時同時設計這些合同。

嘗試將兩者都集成到您的分支和主幹。如果check in有很大差距,則合併變得更加困難(代碼漂移)。合併工具只能到目前爲止。

錯誤確實發生在一個功能完成後,沒有人是完美的,但要確保你有一個合適的錯誤跟蹤系統,並將錯誤分配給最適合工作的人(通常是最瞭解功能的人)。

如果你有一個人知道這個功能並且他去度假,那麼你可以得到團隊中沒有其他人知道它是如何工作的情況。在這種情況下,我發現最好儘可能在團隊中分享知識。如果你使用Agile peer(pair)編程可以工作,也許代碼審查。

記住溝通是大型項目的關鍵,只需向下一個人介紹手頭的任務就可以分享知識和理解。

HTH

2

這可能是改變svn涉及到一些分佈式SVC的好時機(如水銀或GIT)。我沒有使用它們,但根據我所讀到的內容,它們在合併和分支時的摩擦較小,這似乎是這裏的問題。

+0

原因混帳做分支這麼容易是因爲在這個問題'問題2'(主題分支),和git的「decentralisedness」(來自其他用戶的資料庫,直接拉動)和明智的合併將使'基本上問題1'一個非問題 – dbr 2010-06-27 22:58:35

+0

歡呼聲,我今天早上看着git,但我不認爲我們可以輕鬆地遷移到git。 – 2010-06-27 23:04:54

2

我們的店是這樣的...
幹線只是在生產。
如果開發人員需要創建更改,他會從主幹創建一個分支。在分支中執行他的更改等等。
就在分支被部署之前,合併是從幹線進入分支。這樣你就有了分支中的中繼+最新變化。
一旦分支機構投入生產並進行了一些測試,那麼剛剛投入生產的分支機構就會重新集成到卡車中。
沒有人接觸幹線,它始終是生產的工作快照,除了部署後的小窗口。

+0

乾杯,你剛剛確認我在想什麼:) – 2010-06-27 23:01:36