3

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

有没有更好(更简单或更清洁)的方法可以让我在轻松更新 CVS 模块的同时跟踪我的 Git 存储库?

4

1 回答 1

0

您可能想要做的是在 git 中创建一个子模块,使用cvs export将 cvs 模块导出到此 git 子模块并将其提交到您的 repo。这样可以使主分支清除任何其他 cvs 文件。

完成后,您可以使用 cvs on commit 脚本在有提交时使子模块保持最新 - 这将是我的首选选项。在伪代码中它可能看起来像这样:

#!/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该条目将运行脚本。
  • 犯罪
于 2013-01-06T20:58:51.717 回答