[英]git repo as intermediate between two SVN repos for syncing
我不太擅長GIT的思維方式-在我正在思考的場景中有點失落。
長話短說,我正在嘗試使用一個中間的本地Git存儲庫來同步不同機器/網絡上的兩個單獨的SVN存儲庫。 我不在乎提交到第二個回購協議的內容-我希望它只是第一個回購協議的鏡像。 基本上,我將不允許提交第二個回購協議,因此應該沒有沖突。 那我該怎么辦呢?
我成功克隆了現有的SVN存儲庫(git svn clone ..),但是如何將另一個鏡像存儲庫指定為要推送到的第二個遠程存儲庫?
人們正在談論直接修改.git / clone文件以添加第二個“遠程”文件-但是他們有點將其連接到新分支上-我不是很想這樣做。 我只想將我從主SVN存儲庫中獲取的更改推送到另一個SVN遠程服務器。
基本上,要從SVN存儲庫1進行git svn取回,而不要向SVN存儲庫1進行git svn dcommit,而是將其提交給SVN存儲庫2。
我了解應該啟用對第二個回購協議的某種跟蹤。 哦,天哪,似乎有可能,但我只是想不通。 幫忙,有人嗎? 謝謝。
在查看svnsync解決方案時讓我感到困惑的原因是,在兩個時間點上,兩個SVN存儲庫是隔離的。 我首先需要將VPN連接到第一個存儲庫,獲取更改,斷開連接,然后通過VPN2連接到第二個存儲庫並推送。 這就是為什么Git中間本地倉庫吸引我的原因。有這個 ,但我又覺得它很復雜。 有沒有更簡單的解決方案? Weeell ..我應該考慮將SVN回購或SVK回購視為更自然的解決方案嗎? 再次感謝。
由於我們沒有以下要求
AH建議的解決方案似乎是最簡單,最實用的解決方案。 鑒於
要轉儲現有存儲庫的內容(所有歷史記錄-大型存儲庫速度較慢):
svnrdump dump SOURCE_REPO > repo.dmp
要僅轉儲當前修訂版:
svnrdump dump -rHEAD SOURCE_REPO > repo.dmp
默認情況下,svnrdump轉儲將始終每個文件至少具有一個完整版本,因為它需要它知道如何繼續處理它將保存的其他增量差異(-增量選項會覆蓋該增量差異,但是在這里我們不需要它-除非我們保留已經轉儲的最新修訂的記錄,並且每次都進行增量轉儲-但我們絕對不需要就版本號而言將兩個歷史記錄保持一致)
要將轉儲文件導入另一個存儲庫(也可以使用http / svn嗎?)
svnrdump load DESTINATION_REPO < repo.dmp
請注意,在導出和導入時,版本號不會保持同步。 -導出時,它們不會保存到轉儲文件中,導入時,每個修訂都將保存為增量編號-因此,如果我們僅轉儲源存儲庫的HEAD修訂,而我們是第一次導入,則將其保存為修訂DESTINATION存儲庫中的1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.