我正在使用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 server: cannot find module `my_module/interfaces/my_file.sql' -ignored cvs [checkout aborted]: cannot expand modules
有趣的是,如果我使用
cvs co -dtmp -r1.2 'my_module/interfaces/my_file.sql' or 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'"
但是仍未找到该模块。
答案 0 :(得分:1)
你有没有试过这个:
echo cvs co -d"$tmpdir" -r"$revision" "$cvsdir/$file" > .cvs_cmd
cat .cvs_cmd
source .cvs_cmd
rm -f .cvs_cmd
答案 1 :(得分:0)
从CVS存储库中结帐时,服务器会查找模块,例如
cvs checkout module1 module2
模块名称在名为CVSROOT/modules
的文件中定义。要添加新模块,请修改此modules
文件,例如您结帐CVSROOT
cvs checkout CVSROOT
将另一行添加到CVSROOT/modules
mymodule -a relative/path/to/interfaces
并提交更改
cvs commit -m 'Added mymodule' CVSROOT/modules