Clearcase元素存在性

Clearcase元素存在性,clearcase,Clearcase,我想用批处理文件检查Clearcase中是否已经存在某个元素,或者是否仍然需要添加它 如何将其放入条件语句中 比如: 您需要构建一个返回true或false的函数,具体取决于元素全名是否是ClearCase视图元素的一部分。 然后,如果。。。否则…语句 函数可以使用以下各种命令来确定文件是否为ClearCase元素(表示已添加到源代码管理中): 您可以使用的结果开始:如果其输出包括查看私有对象,则尚未将其添加到源代码管理中 cmd-context ls -long version

我想用批处理文件检查Clearcase中是否已经存在某个元素,或者是否仍然需要添加它

如何将其放入条件语句中

比如:


您需要构建一个返回true或false的函数,具体取决于元素全名是否是ClearCase视图元素的一部分。
然后,如果。。。否则…语句

函数可以使用以下各种命令来确定文件是否为ClearCase元素(表示已添加到源代码管理中):


您可以使用的结果开始:如果其输出包括
查看私有对象
,则尚未将其添加到源代码管理中

cmd-context ls -long
version               Makefile@@\main\3      Rule: element * \main\LATEST
view private object   bug.report
version               cm_add.c@@\main\0      Rule: element * \main\LATEST
derived object (unshared)   hello@@2007-03-24T11:32.418
version               hello.h@@\main\CHECKEDOUT from \main\2  
                                              Rule: element * CHECKEDOUT
此处尚未添加“
bug.report
”。
有关详细信息,请参阅“”。
我已经在前面的一个问题中使用了C#:“”,推荐了这种方法


另一种方法是使用
cleartool description
,如果所描述的元素是私有元素,则会触发错误


如中所述,该命令仅适用于动态视图,而不适用于快照视图。
对于快照视图,您可以使用:
cleartool ls-r-view\u only



另一种方法是使用,如“Clearcase:如何检查元素在主干上是否具有在我从主干分支后创建的版本?”

以下DOS批处理文件将向Clearcase添加一个文件,如果它还不在那里。可在动态视图和快照视图中使用

@ECHO OFF
cleartool ls -l %1 | FIND "view private object"
IF %ERRORLEVEL% == 1 GOTO END
cleartool co -nc .
cleartool mkelem -nc -ci %1
cleartool ci -nc .
:END

您可能希望添加适当的注释,而不是使用-nc开关。

我的问题不是我不知道如何检查此项。我只是不知道如何构建if-else语句somehow@ZerO您首先需要构建一个函数,给定文件名,该函数将返回true或false。然后,您可以从
if
else
语句中调用该函数。当然,但哪个函数返回true或false?查找或描述不返回真值或假值,这是我的problem@ZerO使用我描述的方法之一,您将编写并确定是否添加了文件的函数:
cleartool ls-l myFile | grep private
,这是一个良好的开端。这些命令不返回true或false并不重要:重要的是,当元素在源代码管理中或不在源代码管理中时,它们返回不同的内容,这允许函数在第一种情况下返回true,在后一种情况下返回false。
@ECHO OFF
cleartool ls -l %1 | FIND "view private object"
IF %ERRORLEVEL% == 1 GOTO END
cleartool co -nc .
cleartool mkelem -nc -ci %1
cleartool ci -nc .
:END