2

我想将 CVS 模块深处的特定文件夹检出到我的 Hudson / Jenkins 工作区中。剥离其他选项(例如修剪、分支等),CVS 命令是...

cvs checkout -d workspace module\a\b\c\d\e\f

这会导致我的文件夹包含一个子文件夹“a”,其中包含“b”,并且包含......好吧,你明白了。在您进入文件夹'f'之前,它们都是空的。

我真正想要的是myfolder包含f的内容。CVS 是否支持此功能(没有将 f 定义为模块)?

并且为了奖励业力......我可以让詹金斯将此选项与 .cvsrc 或其他一些机制一起使用吗?

4

3 回答 3

2

我不明白你描述的行为。当我移动到一个空目录并执行

cvs checkout -d fox modules/a/quick/brown/fox

我刚刚得到一个名为 fox 的新目录,其中包含我请求的目录的内容。(注意正斜杠。)

但是,如果我这样做

cvs checkout modules/a/quick/brown/fox

然后我明白你的描述。

我在 Windows 上使用 CVS 的最新 FSF 版本, http: //ftp.gnu.org/non-gnu/cvs/binary/feature/x86-woe/cvs-1-12-13a.zip

于 2011-02-09T18:03:41.107 回答
1

在 CVSROOT 文件夹下有一个名为“modules”的文件。您可以对其进行编辑,并使用如下所示的一行:

###shortcut name                            actual path########     
f                                         /a/b/c/d/e/f

重新签入此文件。一旦设置好,您就可以使用

cvs checkout -d workspace f

此外,在 Hudson 中,您可以(在 Modules(s) 框中)只输入 f,它应该只直接下载 f,而不是整个结构。一旦关闭,您可以使用 shell/命令重命名它。

于 2011-02-04T14:32:47.823 回答
0

更一般地说:

比您退房的地方高 1 级

cvs co -r "标签"

于 2011-11-22T16:33:12.427 回答