我想在我们的UCM环境中出于安全原因禁用rmver命令。不幸的是,我知道一些用户使用该命令,因此请求被制定为仅针对“有趣”的元素(在ClearCase术语中,意思是附加了超链接等)不允许使用rmver。推理沿着“为什么我不允许删除绝对没有用的版本,并且在任何地方都没有引用?”
即使告诉他们这个命令非常危险,他们也不准备彻底禁用该命令。
现在我看看可能性,发现在rmver的预操作触发器脚本中,我没有很多环境变量可以使用。我唯一能想到的就是解析CLEARCASE_CMDLINE。
由于显而易见的原因,我想避免这种情况 - 首先我不认为它有意义,其次,如果用户使用Windows GUI,就不会设置此变量,据我所知。
有没有一种方法可以禁用“有趣”版本的rmver命令,但对于没有元数据和/或超链接等的版本则禁用?
问候部分禁用UCM中的rmver
1
A
回答
1
有没有一种方法来禁用“有趣”的版本rmver命令,但对于没有元数据版本和/或超链接
不容易,但你可以在除了一些用户以外,至少对每个人禁用它(通过预操作触发器)。
这样一来,一个折衷办法是允许rmver
,但只是少数,负责当检测到“有趣”的版本不使用它。
更复杂的解决方案将涉及调用脚本以检查标签/超链接。
看到这个pre-op trigger for instance:
#############################################################
# PROT_LABEL_VER_CHECK.pl (Perl)
#
# Make sure version cannot be removed if it has a matching
# protected label attached.
#
# Note:
#
# Arguments: pattern_1 [pattern_2..pattern_N]
#
# Author: A Better Solution, Inc.
# email: [email protected]
# URL: http://www.abs-consulting.com
# Date: Jan. 29, 2005
############################################################
# History: 01/29/2005 : Created for A Better Solution, Inc.
############################################################
This trigger script
PROT_LABEL_VER_CHECK
预计可从操作前触发调用。创建一个元素都触发,并适用于指定的操作,如:
cleartool mkttype -ele -all -pre rmver \
-c "Prevents removal of versions with protected labels attached." \
-exec "{path}\perl {path}\PROT_LABEL_VER_CHECK.pl '^REL_*' '^BLD_*'" PROT_LABEL_VER_CHECK
它使用$XPN = ("$ENV{'CLEARCASE_XPN'}");
,以访问版本被rmnamed。
然后,您可以使用fmt_ccase
来描述您之后特定元素的版本。
例如,对于标签:
`$CLEARTOOL desc -fmt \%l "$XPN"`;
你会分裂输出,并且做你的检查:
$label_line = `$CLEARTOOL desc -fmt \%l "$XPN"`;
chomp ($label_line);
if ($label_line eq "")
{ exit 0; }
($junk, $label_list) = split (/[\(\)]/, $label_line);
$label_list =~ s/\s//g;
@labels = split (/,/, $label_list);
//
foreach $label (@labels)
{
foreach $pattern (@patterns)
{
$pattern =~ s/'//g;
//'
if ($label =~ /$pattern/)
{
$MSG = "Enterprise policy prohibits you from removing this version that has any protected label applied. \n\n$XPN\n\nhas the following labels applied:\n\n$label_line.";
gripe ($MSG, 3);
}
}
}
相关问题
- 1. 部分禁用annotatorjs
- 2. 禁止部分时,禁用JavaScript
- 3. 部分禁用按钮
- 4. 如何禁用部分ToolStripSplitButton
- 5. 禁用DebuggerStepThrough部分类
- 6. 为视图的一部分禁用ItemTouchHelper
- 7. 如何禁用GUI的一部分
- 8. jquery禁用页面的部分
- 9. 如何禁用部分的uisegment控件?
- 10. UCM中的拟合值
- 11. 专注于上部分和禁用下部分专注
- 12. 乐器中的调用树部分已禁用(灰显)
- 13. 如何在jsf中禁用应用程序的特定部分?
- 14. 实体框架:部分禁用LazyLoading
- 15. 禁用Joomla模块编辑器部分
- 16. iOS arc禁用部分代码
- 17. Eclipse e4禁用最大化部分
- 18. iOS - Objective C - UITablview部分禁用
- 19. 如何禁用部分视图ViewState?
- 20. 当我们处于一个panorma部分时,如何禁用剩余的全景部分禁用
- 21. 如何禁用datepicker中的日期部分android
- 22. 在Wordpress中禁用评论,最近的帖子,档案,部分
- 23. 禁用CXF jax-rs中的多部分缓存
- 24. 如何从Fluida WordPress主题中删除禁用的部分?
- 25. 在SmartGWT中显示已禁用的部分项目
- 26. 部分禁用或模拟OpenCL中较弱的GPU
- 27. 如何部分禁用JavaScript中的鼠标按钮?
- 28. ClearCase UCM层次
- 29. Hudson和UCM ClearCase
- 30. clearcase ucm baseline
由于一吨,链接确实帮助! – user2606240 2014-10-06 12:23:37