我使用Git来管理我的存储库,其中包含来自其他地方的CVS模块。我不打算对CVS仓库进行任何本地更改,我只是想定期更新它。目前我在Git的控制下在CVS仓库中创建了所有内容,在cvs update
之后,然后我在Git中提交它。
是否有更好(更简单或更简洁)的方式让我可以在轻松更新CVS模块的同时跟踪我的Git仓库?
答案 0 :(得分:0)
您可能想要做的是在git中创建一个子模块,使用cvs export将cvs模块导出到此git子模块并将其提交到您的repo。这使得master分支可以清除任何其他cvs文件。
一旦你完成了这一点,你就可以在提交脚本上使用cvs来保持子模块在提交时保持最新状态 - 这将是我的首选选项。在伪代码中,它可能如下所示:
#!/bin/sh
mv -R <submodule>/.git /tmp/
rm -rf <submodule>/*
mv -R /tmp/.git <submodule>/
cd <submodule>
cvs -d<path> export <module>
find . | xargs git add
git commit -a -m "CVS Updates for `date`"
cvs -d<path> co CVSROOT
cvs add
checkoutlist
loginfo
添加条目,以便运行脚本。