有没有办法生成属于具有修订版的特定cvs-tag的文件列表。
例如projectname_a包含以下文件 - file_1 rev 1.1 - 文件2 rev 1.40 ...
答案 0 :(得分:0)
最简单的解决方案是在某个地方使用此标签进行结帐。但是需要一点磁盘空间。如果这让您感到困扰,请尝试使用-p
选项获得的内容。如果此输出包含文件名,则只需将其过滤掉。
答案 1 :(得分:0)
列表会比你想要的更冗长,但你可以这样做:
cvs log -S -N -r projectname_a
或可能(如果您没有签出项目):
cvs rlog -S -N -r projectname_a ModuleName
(如果要扫描整个存储库,可以使用“。”(无引号)作为模块名称)
如果您只想要没有修订信息的文件名,请添加-R
。
答案 2 :(得分:0)
无需检查任何内容 - 您可以使用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