0

我对 perl 了解不多,并且在将功能添加到 git-cvsexportcommit.perl 以在切换到 cvs 时添加在 git 项目上创建的新文件时遇到了麻烦。我总是收到一个错误,例如

cvs status: nothing known about `private/includes/suiviAnnuelpdf.php'
Huh? Status 'Unknown' reported for unexpected file 'no file suiviAnnuelpdf.php' 

你有什么主意吗?

谢谢

4

1 回答 1

0

我不知道您是否找到了解决方案,但我刚刚这样做并遇到了类似的问题(我的文件是我在 Git 迁移之前的一次提交中从 CVS 中删除的文件)。问题是我没有对我的 Git 存储库提交任何更改,因此 cvsexportcommit 试图重播最后一次更改,即删除此文件。CVS 抱怨它对文件一无所知(我删除它太正确了)。

为了将来参考,这是我刚刚用来从 Git 存储库向 CVS 发送提交的内容。您将需要一个准备好的 CVS 沙箱,我将调用它foo-CVS和我将调用的 git 存储库foo

cd /tmp
cvs co -d foo-CVS foo
git clone /my/foo.git
cd foo
<DO THE CHANGE on file.txt>
git add file.txt
git commit file.txt
git cvsexportcommit -w ../foo-CVS -v -u HEAD
cd ../foo-CVS
cvs commit -F .msg file.txt

该命令也可以为您执行提交,但我觉得最好阅读一下 CVS 中的更改,直到我完全信任该过程。

于 2013-04-05T12:29:25.457 回答