Создать список файлов (с ревизией), которые принадлежат конкретному cvs-тегу - PullRequest
0 голосов
/ 08 января 2010

есть ли способ сгенерировать список файлов, принадлежащих конкретному cvs-тегу с ревизией.

например, projectname_a включает следующие файлы - file_1 rev 1.1 - файл 2 рев 1.40 ...

Ответы [ 3 ]

0 голосов
/ 08 января 2010

Список будет немного более подробным, чем вы хотите, но вы можете просто сделать:

cvs log -S -N -r projectname_a

или, возможно, (если у вас нет проверенного проекта):

cvs rlog -S -N -r projectname_a ModuleName

(вы можете использовать "." (Без кавычек) в качестве имени модуля, если вы хотите сканировать весь репозиторий)

Если вам нужны только имена файлов без информации о редакции, добавьте -R.

0 голосов
/ 08 января 2010

Не нужно ничего проверять - вы можете использовать команду rls (удаленный список). Это даст вам информацию немного забавным способом, но это просто для обработки.

cvs rls <MODULE> -r <TAG> -eR

Вот мой фрагмент сценария:

for NAME in `cvs rls ${MODULE} -r ${TAG} -eR  | grep -v ^$  | grep -v ^D | sed 's/ /~~/g'`
do

    FIRST_CHARACTER=`echo $NAME | cut -c1,1`
    if [ ${FIRST_CHARACTER} = "/" ] 
    then
        # This is a file
        FILE_NAME=`echo $NAME | awk -F/ '{print $2}'`
        VERSION=`echo $NAME | awk -F/ '{print $3}'`

        echo "${DIR_NAME}/${FILE_NAME},*${VERSION}*"

    else
        # This is a dir
        DIR_NAME=`echo $NAME | awk -F: '{print $1}'`
    fi
done 
0 голосов
/ 08 января 2010

Самое простое решение - оформить заказ с этим тегом где-нибудь. Занимает немного места на диске, хотя. Если это вас беспокоит, попробуйте то, что вы получите с опцией -p. Если этот вывод содержит имена файлов, вам просто нужно отфильтровать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...