首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clearcase:只备份所有视图中修改过的签出元素。

clearcase:只备份所有视图中修改过的签出元素。
EN

Stack Overflow用户
提问于 2010-09-06 16:13:16
回答 1查看 656关注 0票数 1

进行常规的有效备份(仅为)--所有视图中修改的签出元素--对我们来说都是一件很棒的事情,因为大量定义的动态/快照视图不能包含在日常备份策略中。

下面的ksh代码接近于动态视图所需的内容,但它简单地假设视图的config-spec文件中的第一行总是首先选择签出元素( *element * CHECKEDOUT* )。一般情况下,它不会有好的效果。

对于视图中的每个版本文件,只有在与为该视图选择的VOB中的上一个相应版本元素不同的情况下,我们才能将其添加到备份列表中。(只有在视图中已经开发)。

该解决方案还必须对快照视图有效。

代码语言:javascript
复制
for CHECKEDOUT_FILE_IN_THE_VIEW in $( /usr/atria/bin/cleartool lsco -cview -avobs -short  )
do

  VERSIONED_FILE_NAME=$( /usr/atria/bin/cleartool describe -short ${CHECKEDOUT_FILE_IN_THE_VIEW} \
                        | sed -e's/CHECKEDOUT/LATEST/' )

    if [ -f ${VERSIONED_FILE_NAME} ]; then

       if [ -f ${CHECKEDOUT_FILE_IN_THE_VIEW} ]; then

        diff -b ${CHECKEDOUT_FILE_IN_THE_VIEW}  ${VERSIONED_FILE_NAME} > /dev/null

        if [ $? -ne 0 ]; then

           ##-- The checked-out file in the view is different from the corresponding
           ##-- versioned element in the VOB. So it has to be added to the backup list.

           echo "${VERSIONED_FILE_NAME}" >> ${F_LOG}
        fi
       fi
    fi

 done

有什么想法吗?蒂娅。哈维尔C.

EN

回答 1

Stack Overflow用户

发布于 2010-09-06 17:18:23

坦率地说,对于动态视图,更简单的备份策略是压缩和备份与上述动态视图相关联的视图存储(在“cleartool endivew -server aDynViewTag”之后):

  • 所有签出和私有文件都存储在视图存储中(仅用于动态视图)
  • ,但它不会考虑与版本对应的签出文件(尚未)进行任何修改。

如果您需要一个通用的dynamic and snaphot views解决方案,那么您可以参考:

How to find all checkedout files with ClearCase cleartool?”(您正在使用的“cleartool lsco”),但是您不需要计算最新版本就可以产生基于系统的差异。

你可以简单地:

代码语言:javascript
复制
cleartool diff -pred ${CHECKEDOUT_FILE_IN_THE_VIEW}

如果签出版本与其上一个版本之间存在任何修改,它将返回某些内容(对于快照或动态视图中的版本)。

见。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3652854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档