2011-08-11 151 views
1

這是問題所在。我們有一個項目。該項目於一個SVN回購開始讓我們說http://svn1/prjsvn合併2個獨立分支

該項目的標準結構,分支,標籤,軀幹。現在,我們不得不爲一些沒有網絡訪問權限的人提供一些工作。所以,我們在我們網絡之外的服務器上安裝了另一個svn instante。我們已經將svnadmin dump和svnadmin加載到新的存儲庫中,並在分支中爲其提供訪問權限。所以現在我們有http://svn2/prj

現在我們想的分支從svn2融入svn1的樹幹。所以我們研究了一些可能性,但現在看來我們正在變得越來越好。所以,這個事情我們已經tryied:

  • 傾銷svn2和進口過來svn1:svnadmin的轉儲,asvn管理負載
  • 我們tyied做某種賣主分支從svn2做的本地副本svnadmin的進口。當我們做的svn這個分支和主幹合併,什麼都沒有發生
  • 我們tryied來創建我們的機器上的另一個SVN,出口svn2回購和導入我們的svn3回購。不好。
  • 我們嘗試過使用svn:externals,將分支中的目錄鏈接到sv2中的分支,然後執行svn合併。不好。

所以我們沒有更多的選擇。我們現在正在研究git,看看git是否可以幫助我們解決更多的問題,並且在合併完成後將其移植到git上。

Thx。

+0

我的第一個想法是「開發人員正在離線/脫離網絡,Git對此很有幫助!」然後我讀到底部,你說你正在評估Git。好動作:)在過去的3年裏,我一直在使用Svn工作,幾乎每個月我們都會遇到合併惡夢。 – CodingWithSpike

+0

那麼,使用git你已經解決了這個問題? –

+0

呃,它可能不適合你使用Git的情況,但它的一個特點是你可以在連接到你的網絡時將repo克隆到開發機器,然後該機器可以脫機並仍然可以能夠分支和提交,然後當準備合併時,開發機器可以暫時重新連接到網絡,並且合併提交。如果您有遠程或合同開發人員每月進入一次,並且可以在辦公室同步他們的提交,那麼這種方法非常有效。 – CodingWithSpike

回答

0

如何像this

一旦你獲得這兩個項目在同一個SVN倉庫,你可以使用svn merge --ignore-ancestry合併它們,因爲它們不會共享共同的父修訂。

+0

我們試過了。我們在分支庫中創建了一個dorectory,並將轉儲導入到它中。什麼都沒發生。沒有任何進口。 –

+0

也許我不明白你的意思。所以,我將我的轉儲文件導入到我的存儲庫的一個目錄中,讓我們說分支,然後做一個合併。如果是這樣,我們已經嘗試過,並沒有按預期工作。 –

+0

這是哪一個?什麼都沒有導入,或者你的合併不起作用? –