2014-01-17 54 views
0

我希望得到您對Subversion項目管理策略的意見。這是項目管理Subversion存檔的好策略嗎?

我們的一些SVN項目已經變得非常龐大而笨拙。從開發人員的角度來看,可以簡單地檢查你正在工作的分支,但是從項目管理的角度來看,讓項目從根目錄檢出更有意義。但是,除了歷史參考外,還有很多舊的分支和標籤根本不相關。

有人建議實施一種策略,在項目的根目錄(「分支」,「標籤」和「主幹」旁邊)中創建另一個文件夾,稱爲「歸檔」。舊的分支和標籤隨後可能被移動到該文件夾​​中,因爲它們變得不相關,而用於當前項目管理的結賬可能會排除「歸檔」文件夾。這應該保持與這些分支有關的歷史記錄,但不會導致本地大量工作副本的問題。

您認爲這有意義嗎?任何想法將不勝感激。

+3

如果分支是沒有用的了,你爲什麼不刪除它們?如果你需要它們的話,Subversion仍然會有它的歷史。 –

+1

真的不清楚爲什麼檢查項目經理的整套標籤和分支是有意義的。用命令「log」檢查更改是很容易的。爲了探索任何分支的狀態,只需要一個分支結賬並使用命令「switch」即可。 – maxim1000

+0

我想我已經從根本上檢查了一下。..我在Parallels上運行帶有Windows的OSX,並且Windows資源管理器中的TortoiseSVN集成爲分支/標籤管理和合並提供了一些不錯的便利。可能是這種情況,我需要包括一些工作流調整以及我們使用的任何新的歸檔策略(刪除或「歸檔」文件夾)。謝謝! – ilasno

回答

1

爲什麼不直接刪除(svn rm)現在不相關的分支和標籤?如果你需要它們,你仍然可以將它們從歷史中解救出來。他們只是不會出現在HEAD分支/標籤列表中。

例如有一個在Subversion項目的回購協議的一個分支命名日誌尋址,但如果你認準branch now you won't find it.

你仍然可以找到分支,所有的數據。我跑對分支的日誌,發現它已被刪除:

svn-trunk log ^/subversion/branches --search log-address 

其中第一項是:

r1546929 | stefan2 | 2013-12-02 00:48:57 -0800(2013年12月2日,星期一)| 1行

將fsfs-improvements合併到 後刪除對數尋址分支。

現在讓我們說,我想看看這個舊的分支,如果我只是嘗試檢查出來是這樣的:

svn co https://svn.apache.org/repos/asf/subversion/branches/log-addressing 

我會得到一個錯誤,它並不存在:

的svn:E170000:URL 'https://svn.apache.org/repos/asf/subversion/branches/log-addressing' 不存在

但是,我知道它一直存在,直到版本1546929,所以如果我使用1546928的peg修訂版(少一個)檢出版本,我會得到它在被刪除時的狀態。我可以這樣做:

svn co https://svn.apache.org/repos/asf/subversion/branches/[email protected] 

現在讓我們假設你決定你需要那個分支回來。您可以使用相同的語法將peg rev指定爲copy命令的來源,從歷史記錄中恢復它。

一些有用的進一步閱讀可能是SVN圖書的以下部分:

2

從從回購根PM的POV結賬是零值無用愚笨的解決方案 - 完整的回購樹告訴你沒有但浪費了很多空間!

而且,正如本已經指出的,老不相關的過時的節點可以(必須)從庫中刪除 - 因爲他們還是保存在歷史記錄,並且可以達到,當它需要