【问题标题】:Add line to ClearCase config将行添加到 ClearCase 配置
【发布时间】:2017-10-27 04:04:04
【问题描述】:

我正在 Jenkins 上运行一个作业,该作业用于在 ClearCase 上创建一个视图,而 ClearCase 视图会创建默认配置规范。

我想通过添加更多行来编辑配置规范,但我不想每次都手动编辑它。所以我希望向 Jenkins 添加一些脚本,以便它可以在每次运行作业时编辑配置规范。

有没有人可以解决这个问题。

【问题讨论】:

  • 如果您可以通过脚本生成配置规范,则可以调用 cleartool setcs(文件名)以在创建的视图中设置生成的配置规范。这可以作为第一步完成
  • 是的,但我正在寻找可以向现有配置规范添加更多行的脚本。

标签: clearcase cleartool clearcase-automation


【解决方案1】:

创建 ClearCase 视图后,您需要将其配置规范作为带有 cleartool edcs 的文件获取

cd /path/to/view
cleartool catcs > cs

您需要在默认规则之前添加您的选择规则:如config spec中所述

因为配置规范中的规则是按顺序处理的,所以改变顺序可能会影响版本选择。例如,假设此规则出现在配置规范的开头附近:

element * /main/LATEST

配置规范中的任何后续规则将永远不会被使用,因为该规则总是提供匹配;每个元素在其主分支上都有一个最新版本。

注意:
指定快照视图的加载规则的顺序并不重要。

要编写脚本,请参阅“Using sed, Insert a line below (or above) the pattern?”。
另一种选择:参见“How to insert the content of a file into another file before a pattern (marker)?”。
将您的附加行放入名为 othercs 的文件中。

#!/bin/bash
while IFS= read -r line
do
    if [[ "$line" =~ .*CHECKEDOUT.*$ ]]
    then
        cat othercs
    fi
    echo "$line"
done < cs

完成后,您可以附加任何您想要的额外加载规则(如果您使用的是快照视图,因为动态视图没有加载规则)

最后,一旦 cs 文件具有正确的选择/加载规则,您就可以使用 cleartool setcs 将其设置回当前视图。

cleartool setcs -tag view-tag  cs
                              ^
                              |
                     name of the file you have modified

【讨论】:

  • @bri 是的,我已经修正了那个错字
  • 我尝试使用 sed 添加额外的行,但我没有这样做。你能帮我详细解释一下吗?更多细节在下面添加。
  • @clearclase 我已编辑我的答案以提出替代方案,以便将您的选择规则插入现有的配置规范中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-08
  • 1970-01-01
  • 2014-10-18
  • 2017-04-25
相关资源
最近更新 更多