2012-03-07 36 views
4

爲了導入CVS模塊的修正, 我使用:如何將CVS導入到git scm?

/usr/lib/git-core/git-cvsimport -a -i -p r,revisionname -k -v -d :pserver:[email protected]:2401/srv/cvs/rootname modulename 

它工作了一段時間,然後我得到的東西像cvsps得到一個錯誤。我如何確定cvsps錯誤是什麼?

+0

我得到一個非常大的數量上的警告的......不匹配strip_path並在最後我得到的「混帳cvsimport:致命:報告cvsps錯誤」 – reza 2012-03-07 22:16:48

+0

發現cvsps一個-v標誌,現在我得到cvs_direct: cvs_direct:rlog可:讀取中號 狀態:0讀線: cvs_direct:rlog可:讀M 1)用戶:刪除串行(S)hugggggggggggggggggggggggggggggge線的字符 git cvsimport:致命的:cvsps報告的errorgit cvsimport:致命的:cvsps報告編輯錯誤 – reza 2012-03-07 22:55:08

+0

我放棄了這種方法,許多人都建議不要使用git-cvsimport。所以現在我正在使用cvs2git。我在小型項目上取得成功。當我嘗試真實的東西時,遇到了另一個問題。 cvs2git --username = reza -v --blobfile = ./ blob.txt --dumpfile =。/ dump.txt ./localCVSTree/repo我看到blob文件被創建而不是轉儲文件。那是什麼意思?一個錯誤? – reza 2012-03-12 14:45:28

回答

2

放棄這種方法,並使用cvs2git

cvs2git是一個可用於將CVS存儲庫遷移到新版本控制工具(包括git)的工具。

示例用法:

cvs2git \ 
    --blobfile=cvs2git-tmp/git-blob.dat \ 
    --dumpfile=cvs2git-tmp/git-dump.dat \ 
    --username=cvs2git \ 
    /path/to/cvs/repo 
1

http://git-scm.com/docs/git-cvsimport

警告:GIT中cvsimport使用cvsps版本2,這被認爲是過時;它不適用於cvsps版本3和更高版本。如果您正在執行CVS存儲庫的一次性導入,請考慮使用cvs2git或parsecvs。

檢查,如果你有一個cvsps 3版或更高版本

$ cvsps --version 

如果你可以將它降級到cvsps版本2就完成了。

主要區別在於cvs2git不是增量式(除了使用this解決方法),所以它的目標是一次性簽出。有了cvsimport,你可以做增量更新,並保持最新的CVS回購。

2

您可以將其降級到cvsps-2.1並重新測試,因爲git cvsimportcvsps-3.x不能正常工作,因爲它具有不同的語法。

在OSX你可以(有brew):

brew tap homebrew/versions 
brew install cvsps2 
brew unlink cvsps 
brew link --overwrite cvsps2 
+1

該cobite網站似乎已經放棄了他們的cvsps頁面(誰可以責怪他們)。這些文件很幸運在Wayback Machine中。你可以'brew編輯cvsps2'並將url設置爲'http://web.archive.org/web/20160127055537/http://cocite.com/cvsps/cvsps-2.1.tar.gz' – 2016-02-09 12:32:32

+1

FWIW I創建一個公式來安裝cvsps2:https://github.com/Frizlab/homebrew-Perso/blob/master/Formula/cvsps%402.rb – Frizlab 2017-05-27 07:39:06