2012-03-21 62 views
1

我很好奇SVN分支機構管理中涉及的最佳實踐。SVN分支機構爲通用引擎

我的情況很簡單,直到現在我只有我的整個項目的樹幹分支。我的目標是建立一個共同的共享引擎(幾乎整個實際幹線分支減去一些文件),並創建一些獨立的分支,這些分支代表相同的項目,但是爲不同的平臺使用不同的IDE構建。

這些不同分支應共享引擎,同時對所涉及的misc文件(例如具有完全不同格式或參數的項目文件)進行小的更改。所以這個共同的部分只在一個分支上承擔,而不關心從哪裏進行修改,而獨立的文件只是保持分離。

我研究了一下SVN分支的一點點,但它似乎是與分支有關的唯一功能是svn copy文件和文件夾。這將複製一個分支,但是如果文件被認爲是從「共享部分」獲取的,似乎將在兩個不同的分支中將相同的文件從現在開始分離而沒有隱式更新。

我應該如何處理我想用SVN解決的問題?目前還不清楚Subversion是否可以很容易地管理這件事,但我沒有看到它應該怎麼做,或者如果它是某些SVN沒有實際使用的東西,所以我應該改變我的SCM到其他東西。

任何建議將不勝感激,謝謝!

+0

我認爲這是一個需要使用'make'或'Ant'而不是SVN構建工具來解決的情況。 – madth3 2012-03-21 19:11:28

回答

1

如果CORE和IDE文件可以被分離到不同的文件夾,並有獨立的變化(即你沒有改變核心東西每個IDE):

  • 獨立核心,並以此爲SVN:外部組件(單人,普通,共享資源)在IDE分支中(或者在repository-per-IDE
+0

我學習了svn:externals並解決了所有問題,謝謝! – Jack 2012-03-22 00:42:03

1

這不是使用分支機構的正確方法。

如果您有一個引擎,讓它留在一個FOLDER'引擎'下的trunk VERSION中,然後爲單獨的IDE特定文件提供單獨的文件夾。

不要忘記,你不必檢查整個存儲庫。你可以僅僅指剛檢查出的引擎文件夾和

看起來你可能意味着你想有不同的版本,不同的IDES文件的文件夾,我將不得不考慮這一點,並儘快給您

+0

因此,這意味着特定平臺和特定IDE的工作副本將通過檢出包含該特定項目文件的「引擎」文件夾+「特定」文件夾在本地創建?或者爲每個文件夾創建兩個工作副本?但如何提交然後管理,因爲根不會受版本控制,好像我將不得不單獨提交文件夾.. – Jack 2012-03-21 16:27:11