2009-10-14 28 views
0

我有我認爲是一個棘手的情況,但這通常表明我無知的東西很簡單。svn - 2'包'一個使用另一個元素,最好的方式來構造這個?

我現在有一個PHP項目是在svn的,稱之爲 'firstproject'。這個工作副本是一個Apache虛擬主機目錄,所以我可以在任何開發階段通過瀏覽器高興地運行這個項目。 我現在有另外一個項目「newproject」,我想用一些「firstproject」但是當核心代碼newproject要求我重構firstproject類的部分,我想該是在某個時刻集成回第一個項目

有什麼辦法來設置svn,這樣我就可以有newproject的工作副本愉快地在自己的Apache虛擬主機和包括從firstproject,然後一些代碼它自己的代碼和SVN,監視這是創建'新項目'分支第一個項目,編輯了加入新項目代碼,然後做一些合併代碼回'第一個項目'當它看起來合適嗎?

非常感謝的人誰可以幫助我在想這個,感覺應該有一個整潔的方式,但也許沒有。

回答

1

在我看來,第一個項目應該發佈一些交付物(一個庫)。然後新項目可以消耗這個。

如果該庫需要更改,則應該在第一個項目中進行更改併發布。

那怎麼我通常在非PHP世界管理這種依賴。我不確定在PHP中它應該會有什麼不同。這有點令人頭疼,但你正在構建一個可重用的庫,下游項目可以使用它(並選擇它消耗的版本,注意)。

+0

感謝您的想法布賴恩,這的確是一個頭痛! – Tofuwarrior 2009-10-14 11:40:54

0

如果是普通的代碼的很大一部分,那麼你可以考慮使用一個共同的信息庫,而不是爲這兩個項目兩個單獨的存儲庫。然後,您可以從項目新項目中取出可能更改代碼的分支。 Apache服務器上的新項目上的工作空間必須來自該分支,以便任何更改都可以提交回分支,並在準備就緒後合併回主幹。通過這種方式,您可以將這些更改合併回第一個項目 mainline/trunk。

您也可以探索SVN的外部的另一種方法進行混搭,如果你需要從多個存儲庫簽出工作區。我沒有這個實現自己,但你可能會發現這裏的細節: http://svnbook.red-bean.com/en/1.1/ch07s04.html

相關問題