从Git项目中更新CVS模块

时间:2012-10-29 15:54:35

标签: git cvs

我使用Git来管理我的存储库,其中包含来自其他地方的CVS模块。我不打算对CVS仓库进行任何本地更改,我只是想定期更新它。目前我在Git的控制下在CVS仓库中创建了所有内容,在cvs update之后,然后我在Git中提交它。

是否有更好(更简单或更简洁)的方式让我可以在轻松更新CVS模块的同时跟踪我的Git仓库?

1 个答案:

答案 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:

  • 您首先检查CVSROOT并将脚本复制到那里,不要忘记使脚本可执行。 cvs -d<path> co CVSROOT
  • 将脚本复制到目录
  • 使用cvs add
  • 添加脚本
  • 将脚本的文件名添加到checkoutlist
  • loginfo添加条目,以便运行脚本。
  • 提交