我想将一个特定文件夹从CVS模块深处签出到我的Hudson / Jenkins工作区。剥离其他选项(例如修剪,分支等),CVS命令是......
cvs checkout -d workspace module\a\b\c\d\e\f
这导致我的文件夹包含一个子文件夹'a',其中包含'b',其中包含......嗯,你明白了。所有这些都是空的,直到你到达文件夹'f'。
我真正喜欢 myfolder 包含 f 的内容。 CVS是否支持此功能(不将f定义为模块)?
对于奖金业力...我可以让Jenkins在.cvsrc或其他机制中使用此选项吗?
答案 0 :(得分:2)
我没有得到你描述的行为。当我移动到空目录并执行
时cvs checkout -d fox modules/a/quick/brown/fox
我刚刚得到一个名为fox的新目录,其中包含我请求的目录的内容。 (注意正斜杠。)
然而,如果我这样做
cvs checkout modules/a/quick/brown/fox
然后我得到你描述的内容。
我在Windows上使用最新的FSF版CVS http://ftp.gnu.org/non-gnu/cvs/binary/feature/x86-woe/cvs-1-12-13a.zip。
答案 1 :(得分: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 /命令重命名它。
答案 2 :(得分:0)
更多内容:
比你签出的地方高出1级
cvs co -r“TAG”