Clearcase 强制UCM基线的命名约定

Clearcase 强制UCM基线的命名约定,clearcase,clearcase-ucm,cleartool,Clearcase,Clearcase Ucm,Cleartool,关于ClearCase的另一个问题。。。 在我们的UCM项目中,我们在全球有大约30名开发人员。它们都可以在项目的不同组件中创建基线。 为了对基线进行通用命名,我们为基线定义了一个命名方案。它可以用正则表达式表示。现在,我们想根据这个正则表达式检查要创建的基线的名称——因为命名约定可能很好,但是如果不强制执行它们,就不必定义它们。 正则表达式太复杂,无法使用基线命名模板处理 (DEV|REV)[0-9]+_PartOfComponentName_.* 我试图为mkbl定义一个preop触发器,

关于ClearCase的另一个问题。。。 在我们的UCM项目中,我们在全球有大约30名开发人员。它们都可以在项目的不同组件中创建基线。 为了对基线进行通用命名,我们为基线定义了一个命名方案。它可以用正则表达式表示。现在,我们想根据这个正则表达式检查要创建的基线的名称——因为命名约定可能很好,但是如果不强制执行它们,就不必定义它们。 正则表达式太复杂,无法使用基线命名模板处理

(DEV|REV)[0-9]+_PartOfComponentName_.* 我试图为mkbl定义一个preop触发器,但发现在preop触发器中无法访问要创建的基线名称-至少如果命令是使用GUI执行的,我可以从命令行解析命令,但老实说,这不是我想做的,我不想让用户使用命令行。 因此,目前我唯一能想到的实施命名约定的可能性是为mkbl定义一个postop触发器,并且只要基线名称在那里可用,我还没有尝试在违反命名约定的情况下将基线设置为过时。但老实说,我觉得这不对。。。 那么,有没有一种方法可以在UCM ClearCase中强制执行基线的命名约定,而不会导致大量过时的基线? 谢谢你的阅读

不容易,如中所述:

CLEARCASE_BASELINES环境变量不可用于preop mkbaseline触发器。 这是因为该值设置为创建的数据库对象的名称,可能与命令行中给出的名称不完全匹配。如果对多个组件运行mkbaseline命令,则尤其如此

如果不使用GUI,则可以从CLEARCASE_CMDLINE环境变量中解析基线名称,该变量在命令行操作触发触发器时可用

如果您需要在GUI中执行此操作,恐怕此时唯一的解决方案是定制CC包装器脚本/可执行文件


因此,请检查CLEARCASE\u CMDLINE包含的内容,以便您检查名称。

谢谢您的回答。我也找到了这根线。但不幸的是,问题是我如何做自定义CC包装器脚本/可执行文件?没有人回答。正如我所说,我不想将用户限制在命令行,应该允许他们使用GUI,然后CLEARCASE_CMDLINE就不可用了。