2009-09-17 29 views
0

我們有兩個倉庫,一個開發和一個生產倉庫。它的構建是爲了讓測試的東西進入開發階段,然後合併到生產環境中,現在有時候人們會忘記合併,並且它們會失去同步。找到不在生產回合中的所有變化的最佳方法是什麼?如何同步(合併)到svn倉庫...開發 - >生產

+0

事實上,這些存在於兩個單獨的存儲庫中,還是需要討論? – sbi 2009-09-17 14:27:56

回答

1

我不會合並所有東西,但複製開發版本以獲得新分支。這個新分支是當前的生產版本並被凍結。您可以在其中執行錯誤修正併合並分支和開發之間的某些功能。一段時間後,發展(樹幹)和生產(分支)安靜不同,你再次複製。

這意味着,樹幹是主人,每個人都在努力。每個分支都是您軟件的一個版本,應該穩定並且凍結。除此之外,您可以複製分支來嘗試解決問題,如果您對結果感到滿意,可將其合併到主幹中。

我認爲以上是最佳實踐和廣泛應用。但是,某些敏捷方法可能會違反此規定;-)

0

檢查生產版本到目錄A.檢查開發版本到目錄B.將所有文件從B中的所有文件複製到A中的文件之上(小心不要複製.svn子目錄)。然後執行svn status或svn diff來查看更改內容。

我使用Eclipse,其中任何已更改的文件都帶有一個小號加號,這使得它很容易被發現。 (或者,如果只有我有更好的視力和/或更大的顯示器)。

當SVN試圖找出文件是否改變時,它不會進行按鍵跟蹤或類似的事情。它只是將文件的當前版本與.svn目錄中的緩存版本進行比較。

我從來沒有在整個產品上做過這件事,但是出於某種原因,我有一段文件被更新到了我的工作區以外的地方。 (我正要解釋情況,但我意識到這將是漫長而無聊的。)

正如另一張海報所說,爲什麼在這種情況下你有兩個獨立的存儲庫?我不明白這會給你帶來怎樣的收益,並且在追蹤變更歷史和進行合併等方面增加了很多痛苦。您可以在存儲庫中創建兩個「生產」和「開發」目錄,並可能獲得所有優點並且沒有任何缺點。