【问题标题】:IBM Rational Tem COncert - how to use scm.exe to compare projectsIBM Rational Tem COncert - 如何使用 scm.exe 比较项目
【发布时间】:2013-02-21 03:17:20
【问题描述】:

我们最近从 Harvest 转移到 Rational Team Concert (RTC)。

我们有很多抱怨,但我们不要纠缠于它们。

需要知道如何做以下事情:

在我的工作区C:\ws 我有以下流/项目:

C:\ws\dev1
C:\ws\dev2

在构建部署脚本包(Oracle、dotNet)时,我想做的是检查我们在项目过程中所做的所有更改是否都包含在包中。

为此,我们有一个反映当前生产的流。

我想简单地查询 RTC 存储库并提出问题:

“列出与生产流相比在C:\WS\dev1 中不同的所有文件”。

我找不到任何显示如何执行此操作的 SCM.exe 命令示例。

我发现的唯一方法是将生产流“加载”到我的本地工作区,例如“C:\ws\prod”然后在“C:\ws\dev1”和“C:\ws\prod”之间进行比较。

这个问题是因为 RTC 加载不保留实际的存储库签入时间戳,我必须立即开始过滤掉这些。

必须有一种方法可以使用 SCM 轻松完成此操作。

图形 Eclipse“compare显示我的差异,但我什至无法将该列表复制/粘贴到文本文件中,因为它都是图形的。

【问题讨论】:

    标签: compare rtc


    【解决方案1】:

    命令行将允许您将存储库工作区与流进行比较。如果您已签入已加载到磁盘上的更改,则可以将存储库工作区与生产流进行比较。

    lscm compare ws {workspace id} s {stream id} -r {repository_URI} -I f
    

    -I f 选项将列出文件差异并且列出文件差异。

    如果内容尚未签入,您可以设置流目标并使用status 命令。未签入的文件将显示在输出中。您可以使用-C 选项来展开更改集以查看文件。不过,您必须解析输出,因为没有排除该信息的选项。

    如果仍然不支持,您可以在 jazz.net 上打开一个工作项。

    【讨论】:

      【解决方案2】:

      这种比较的想法是暂时改变 dev1 repo 工作区的流目标,将其指向 prod 流。

      这将允许您获取您在 dev1 中没有的 prod 更改集,或者列出 dev1 中尚未在 prod 中的更改集。

      文章“Getting started with the Jazz SCM command line in Rational Team Concert”说明了这种操作。
      (示例是指向另一个Workspace,但你也可以直接指向另一个Stream)

      ~/sample$ lscm change-target workspace Workspace1 Workspace2
      Target changed.
      
      ~/sample$ lscm status
      Workspace: (4819) "Workspace1" <-> (4828) "Workspace2"
        Component: (4818) "Comp1" <-> (4828) "Workspace2"
          Baseline: (4825) 1 "Initial Baseline"
          Incoming:
            Change sets:
              (4935)  ---$ userB  <No comment>
      

      但是您仍然需要列出这些更改集的内容并查找公共文件:那些是具有不同内容的文件(更不用说仅存在于 dev1 或 prod 中的文件,或已删除的文件)

      简而言之,似乎没有一种简单的方法可以在命令行中执行此操作。

      【讨论】:

        猜你喜欢
        • 2011-01-05
        • 2020-03-28
        • 2015-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        相关资源
        最近更新 更多