CVS签出进行硬编码,但不包含变量

问题描述 投票:1回答:2

我正在使用cygwin调用以下行的.sh:

echo cvs co -d“ $ tmpdir” -r“ $ revision”“ $ cvsdir / $ file”cvs co -d“ $ tmpdir” -r“ $ revision”“ $ cvsdir / $ file”

回显打印:

cvs co -dtmp -r1.2 my_module / interfaces / my_file.sql

和错误:

cvs服务器:找不到模块`my_module / interfaces / my_file.sql'-忽略的cvs [结帐中止]:无法扩展模块

有趣的是,如果我使用

cvs co -dtmp -r1.2'my_module / interfaces / my_file.sql'要么cvs co -dtmp -r1.2 my_module / interfaces / my_file.sql

而不是:

cvs co -d“ $ tmpdir” -r“ $ revision”“ $ cvsdir / $ file”

它有效(成功签出)。你们有什么主意,为什么会这样?

回显输出的模块路径与我硬编码加单引号的路径完全相同。我尝试做类似的事情:

cvs co -d“ $ tmpdir” -r“ $ revision”“'$ cvsdir / $ file'”

但是仍然找不到该模块。

shell cygwin cvs
2个回答
1
投票

您是否尝试过此方法:

    echo cvs co -d"$tmpdir" -r"$revision" "$cvsdir/$file" > .cvs_cmd
    cat .cvs_cmd
    source .cvs_cmd
    rm -f .cvs_cmd

0
投票

当您从CVS存储库中检出时,服务器将查找模块,例如

cvs checkout module1 module2

模块名称在名为CVSROOT/modules的文件中定义。要添加新模块,请修改此CVSROOT/modules文件,例如您结帐CVSROOT

modules

cvs checkout CVSROOT 添加另一行

CVSROOT/modules

并提交更改

mymodule -a relative/path/to/interfaces
© www.soinside.com 2019 - 2024. All rights reserved.