
我有一個 SVN 儲存庫,其結構與所需的相對建置路徑不符。
SVN repo 目錄看起來有點像這樣
- 根
- α
- 樹幹
- p1
- p2
- p3
- 標籤
- 分支
- 樹幹
- 布拉沃
- 樹幹
- p4
- p5
- p6
- 標籤
- 分支
- 樹幹
- α
我需要的建構目錄結構是
- 根
- p1
- p2
- p3
- p4
- p5
- p6
我希望能夠單獨保留 SVN 結構,很大程度上是因為我沒有真正的能力來調整它。我還希望如果將另一個東西添加到主幹中,例如 alpha 中的 p7,構建目錄會自動將其添加到其中。為了使建置工作,我需要能夠從 p1 內部發出 cd ../p2/ 之類的命令並將其移至 p2 資料夾中。
我認為某種形式的連結是我需要的路線,但我對如何處理這個問題有點迷失。
提前致謝。
答案1
實現此目的的一種方法(僅使用 SVN)是在 root 下創建第三個項目,將其稱為「build」。如果你願意的話,它可以像平常一樣有一個樹幹、標籤、分支。在「build」專案中,您可以保留 makefile 或其他文件,但大多數「build」只會有一個 svn:externals 規則來引入所有必要的元件(並在適當的修訂版本中)。然後,您可以建立您喜歡的任何目錄結構,同時保留正常的儲存庫位置。
這種方法的一個很大的缺點是,在提交更改之前建立更改變得更加困難。但是,如果需要拉入 HEAD 而不是特定修訂版,您仍然可以透過對 svn:externals 進行臨時修改,在「建置」工作副本中進行變更來實現此目的。