我使用的是MacOSX10.7.2和Git 1.7.8.2,使用的是Homebrew、cvsps 2.2b1和git-cvsimport。
不久前,我使用了一个Web站点项目的Subversion存储库,成功地将其转换为Git。虽然我还没有在这个项目上工作,但是一位同事无法访问和使用Subversion,但是有了最新的签出,他将更改保存在CVS存储库中。
我想转换他的CVS提交和应用在我的Git回购。但我没有CVS方面的经验,因为我以前只使用Subversion和Git。
现在,我只想把他的CVS回购转化成Git。(也许我稍后会使用git合并或git重基将转换后的Subversion和CVS存储库合并到一个Git中。但我还没到那个地步。)
他给我发了一个压缩的他的CVS“回购”的球。当我解压它时,我得到一个与项目名称相匹配的目录,其中的文件与项目的每个文件相匹配,但是在每个名称的末尾有一个",v“,用于版本控制。我假设我得到的tarball只是CVS存储库的一个模块,我认为应该足够了。
以下是我的文件结构:
用于将CVS模块转换为Git的命令如下:
$ cd ~/Sites
$ rm -fr sitename # Make way for new git repo of same name.
$ git cvsimport -v -d ~/Sites -C sitename sitename这就是它的产出:
Initialized empty Git repository in /Users/remi/Sites/sitename/.git/
Running cvsps...
cvs_direct initialized to CVSROOT /Users/remi/Sites
cvs rlog: Logging sitename
cvs rlog: Logging sitename/.git
cvs rlog: Logging sitename/.git/hooks
cvs rlog: Logging sitename/.git/info
cvs rlog: Logging sitename/.git/objects
cvs rlog: Logging sitename/.git/objects/info
cvs rlog: Logging sitename/.git/objects/pack
cvs rlog: Logging sitename/.git/refs
cvs rlog: Logging sitename/.git/refs/heads
cvs rlog: Logging sitename/.git/refs/tags
DONE; creating master branch
fatal: refs/heads/origin: not a valid SHA1
fatal: master: not a valid SHA1
fatal: You are on a branch yet to be born
checkout failed: 32768当我进入新Git的目录时,执行git log会产生fatal: bad default revision 'HEAD'。
我遗漏了什么吗?还有我同事的CVS回购服务器需要的其他文件吗?
提前感谢您的帮助!
发布于 2012-01-27 04:44:13
我建议使用这个http://cvs2svn.tigris.org/cvs2git.html。cvsps不受支持--不适用于分支,只是普通的旧版本不支持IMHO。
https://stackoverflow.com/questions/9028257
复制相似问题