2010-04-22 160 views
0

我有兩個CVS項目,我在Eclipse中進行維護。我查看第一個項目,對於第二個項目,我使用「checkout in existing project」選項,這樣我就可以將兩個CVS項目維護到一個Eclipse項目中。這樣做我可以使用相同的標籤標記兩個項目等。將兩個CVS項目合併到一個SVN項目中

而且知道,現在已經開始使用SVN了。我能夠創建兩個單獨的CVS轉儲文件,並且當我使用svnadmin加載到SVN存儲庫時,我無法保留CVS中的結構!

所以,當我導入這兩個轉儲seperatly爲SVN,我得到以下結構:

ProjA - 分支器 標籤 幹線

ProjB bracnches 標籤 幹線

在CVS我能夠將ProjB作爲ProjA主幹的子文件夾!

有什麼辦法可以使用SVN來實現這個嗎?

回答

2

項目的Subversion概念「你標記和分支爲單元」。不管是在單獨的Subversion存儲庫中還是在單個存儲庫中的子項目,同時標記或分支獨立項目都很麻煩。我熟悉的其他現代VCS也具有相同的侷限性。

所以我想問題是:如果你想同時標記或分支這些「項目」,他們真的是單獨的項目,或者你應該考慮他們的子目錄在一個單一的「主」項目?如果它們是單個項目的組成部分,那麼同時對它們進行標記或分支也很簡單,但當然,單獨標記或分支它們會變得更加麻煩。

我建議下面的經驗法則:一個項目是一組文件,將與單個版本號一起發佈。如果您的「項目」通常會在單個版本號下發布,那麼將它們視爲單個項目的子目錄。如果它們將使用不同的版本號分開發布,則將它們作爲單獨的獨立項目對待。

+0

我會試着讓整個來自CVS的「master」項目,並且標記會很簡單,但問題是我正在使用精煉腳本來獲取CVS轉儲,並且由於項目非常大,精化無法處理,所以我嘗試使用單獨的子文件夾進行提煉(逐個) 只有提煉可以處理我的項目(cv s2svn couldn'd)。 – mikipero 2010-04-25 22:24:00

0

如果這些是真正獨立的項目,您可以做的一件事是使用svn:externals,這將允許您使其中一個存儲庫引用(並自動從其他存儲庫下載內容)。

+0

我試過這個,但問題是我在eclipse下使用subclipse功能「Tags」,當我將ProjA的ProjA的外部值設置在ProjA的文件中時,我可以看到Tags先前創建(使用配置標籤/分支),但在ProjB的所有文件中,沒有標籤! 我試圖設置外部ProjB標籤(僅檢出ProjB並配置標籤),但在設置外部特性時我沒有得到任何結果。 此外,當我在新項目ProjA與外部ProjB標記,我不能得到我想要的。 – mikipero 2010-04-25 22:16:09

0

在SVN中,您可以將文件和文件夾移動到您想要的位置。

查找svn move命令。

+0

有沒有辦法,我可以與「移動」commad完成我不會,因爲如果我不能只獲得ProjB幹線文件夾作爲ProjA幹線子目錄 – mikipero 2010-04-25 22:07:54

+0

@ komunca:當然,你可以。把它移到那裏。 – sbi 2010-04-25 22:15:23

+0

move -m「svn:// server/test/sqloracle svn:// server/test1/popiscdc/trunk/sqloracle無法找到存儲庫svn:在'svn:// server'中找不到存儲庫 - – mikipero 2010-04-25 23:19:11

相關問題