【发布时间】:2008-12-17 23:02:24
【问题描述】:
我发现了这个问题:如何找出哪些 CVS 标签覆盖了哪些文件和路径? (3)
但是,结果完全不是我所期望的。 我正在使用以下内容:
cvs -n -q update -r ET30908
我正在寻找每个带有“ET30908”标签的文件。
【问题讨论】:
我发现了这个问题:如何找出哪些 CVS 标签覆盖了哪些文件和路径? (3)
但是,结果完全不是我所期望的。 我正在使用以下内容:
cvs -n -q update -r ET30908
我正在寻找每个带有“ET30908”标签的文件。
【问题讨论】:
我发现最简单的方法是查看项目。
cvs co -d tag-ET30908 -r ET30908 modulename
这将在磁盘上创建一个名为“tag-ET30908”的目录,其中仅包含那些带有指定标签的文件。
您甚至可以保留此目录,稍后使用cvs update 进行更新,以查看发生了哪些标签更改。
【讨论】:
知道这一点的唯一方法是迭代所有文件,因为 CVS 是面向文件的,而不是面向变更集或快照的。没有输入所有标签的中心文件/位置。
【讨论】:
嗯,怎么样:
cvs -q rlog -SR -rET30908 .
注意末尾的句点字符。这实质上意味着搜索整个存储库。当然,您也可以将搜索限制在特定模块。
另请注意,某些旧版本的 CVS 和 CVSNT 不支持 -S 参数。如果没有它,即使它们与给定的标签不匹配,您也会为每个文件获得一个条目。
【讨论】:
我会与树的 HEAD 进行比较
cvs rdiff -s -r ET30908 -r HEAD modulename
rdiff 让您无需结帐即可查看
如果您想与您的版本进行比较,您可以标记您所在的空间并 然后用那个标签做 rdiff
【讨论】: