Проверка CVS работает жестко, но не с переменными - PullRequest
1 голос
/ 15 ноября 2011

Я использую cygwin для вызова .sh со следующей строкой:

echo cvs co -d"$tmpdir" -r"$revision" "$cvsdir/$file"
    cvs co -d"$tmpdir" -r"$revision" "$cvsdir/$file"<br>

Эхо выводит:

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<br>

Самое смешное, что если я использую

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'"

Но модуль все еще не найден.

1 Ответ

1 голос
/ 25 ноября 2011

Вы когда-нибудь пробовали это:

    echo cvs co -d"$tmpdir" -r"$revision" "$cvsdir/$file" > .cvs_cmd
    cat .cvs_cmd
    source .cvs_cmd
    rm -f .cvs_cmd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...