2013-04-23 70 views
4

我們正在將舊的SVN存儲庫遷移到Git。這與svn2git工作得很好。現在我們只想在git上工作,但需要將任何新的git提交鏡像到舊的SVN存儲庫。這是必要的,因爲一些生產系統仍然通過SVN部署。在使用svn2git創建的repo上使用git svn

因此,我試圖在我運行svn2git之前使用git svn。我不是專家(還),但我想,這樣的事情應該做的伎倆:

$ git svn dcommit --interactive 
Unable to determine upstream SVN information from HEAD history. 
Perhaps the repository is empty. at /usr/lib/git-core/git-svn line 780. 

我也試圖獲得關於進口SVN數據的一些信息:

$ git svn info 
Unable to determine upstream SVN information from working tree history 

所以似乎svn2git做了一些魔術,並使git svn處於「未配置狀態」。 據我所知,git必須保留一些引用來映射SVN提交到git提交。相反的命令svn2git --rebase工作:它提取任何新的SVN提交併將它們應用於git repo。所以數據似乎在svn2git(AFAIK基於git svn)可用。

那麼我該如何讓git svn工作?或者還有另外一種方式,我們可以如何將git提交從新的回購庫中提交回SVN(無需從頭開始)?

+0

所以你正在嘗試使用'git svn'直接提交舊'SVN'回購? – Atropo 2013-07-22 08:06:22

回答

1

嘗試「git svn rebase」。

我遇到了完全相同的問題,並使用託管的包裝腳本@vhttps://github.com/nirvdrum/svn2git。 請花點時間閱讀SVN to GIT migration failed using svn2git

+0

感謝您的回答。我無法真正判斷它是否有效,因爲我們無法及時解決問題,所以我們現在採用了不同的方法。無論如何,我會接受它作爲正確答案;)。 – 2013-07-22 20:11:53

+0

實際上'git svn rebase'與'git svn info'給出了同樣的錯誤信息:「無法確定工作樹歷史記錄中的上游SVN信息」,所以不起作用。 – Calin 2014-05-19 16:24:28