version-control - 在 WinCvs 中获取分支结尾的修订号

标签 version-control branch versioning cvs wincvs

我需要一个给出分支名称的 CVS 命令,它将为您提供该分支中最后一个文件的修订号。


CVS 树结构:

(filename)
    |
    +--> 1.1-----(branch)
          |         |
          |      1.1.1.1
          |         |
          |      1.1.1.2
          |         |
          |      1.1.1.3
          |
          |
         1.2
          |
          |
          :

例如:使用 CVS 命令,给定标签名称“branch”,我怎样才能让 CVS 给我修订号“1.1.1.3”?


我已经尝试使用 log 命令并期望能够解析 log 命令的输出以获得版本号,但是版本号log 分支的命令输出与分支末尾的版本号不匹配。

例如:cvs -Q log -h 文件名


CVS 版本信息:

enter image description here


我发布了一个类似的问题 here关于从标签名称中获取文件的版本号。我也从未得到关于如何做到这一点的明确答案,但我能够通过使用 Perl 脚本解析 log 输出找到解决方法。

由于分支的 log 输出与分支末尾的版本号不匹配,因此我的 Perl 脚本解决方案在这里不起作用。

最佳答案

你应该使用cvs log -rMyBranch. MyFilename , 其中MyBranch.是有问题的分支将点添加为最后一个字符,并且MyFilename是有问题的文件名。

例子:

cvs log -rTestBranch. TestFile.txt

RCS file: C:\cvsroot/TestRepository/TestFile.txt,v
Working file: TestFile.txt
head: 1.2
branch:
locks: strict
access list:
symbolic names:
    TestBranch: 1.2.0.2
keyword substitution: kv
total revisions: 4; selected revisions: 1
description:
----------------------------
revision 1.2.2.2
date: 2015/06/08 18:32:52;  author: Codeguard;  state: Exp;  lines: +1 -1;  kopt: kv;  commitid: 117c5575dfce6e9e;  filename: TestFile.txt;
2
=============================================================================

从那里,您可以轻松地解析修订。

关于version-control - 在 WinCvs 中获取分支结尾的修订号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30515404/

相关文章:

git - 将git分支分成多个分支 merge 到master

Github pull 请求 : There isn't anything to compare

c# - 如何在(重新托管的)工作流设计器中将工作流与旧版本的事件库一起使用?

versioning - 如何将页面版本从一个 CQ 实例迁移到另一个?

git - 通过 Visual Studio 2013 将 URL 更改为远程 Git 存储库?

version-control - 源代码管理 (TFS) 中的大文件

version-control - 移动/重命名后,Mercurial 差异不起作用

android - 用于测试的多个版本的 Android 应用程序

git - SourceTree 中没有分支?

jenkins - 如何在不覆盖的情况下对 Artifactory 上的 Artifactory 进行版本化