Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control clearcase:在所有视图中仅备份修改的签出元素_Version Control_Unix_Shell_Clearcase_Cleartool - Fatal编程技术网

Version control clearcase:在所有视图中仅备份修改的签出元素

Version control clearcase:在所有视图中仅备份修改的签出元素,version-control,unix,shell,clearcase,cleartool,Version Control,Unix,Shell,Clearcase,Cleartool,对于我们来说,在所有视图中只对修改后的checkedout元素进行常规大小高效备份将是一件好事,因为大量已定义的动态/快照视图无法包含在日常备份策略中 下面的ksh代码接近于动态视图所需的代码,但它简单地假设视图的配置规范文件中的第一行始终首先选择签出元素(*element*CHECKEDOUT*)。一般来说,它不会很好地工作 对于视图中的每个版本化文件,我们希望能够将其添加到备份列表中,前提是它与为该视图选择的VOB中的最后一个相应版本化元素不同。(仅当已在视图中展开时) [解决方案也必须对快

对于我们来说,在所有视图中只对修改后的checkedout元素进行常规大小高效备份将是一件好事,因为大量已定义的动态/快照视图无法包含在日常备份策略中

下面的ksh代码接近于动态视图所需的代码,但它简单地假设视图的配置规范文件中的第一行始终首先选择签出元素(*element*CHECKEDOUT*)。一般来说,它不会很好地工作

对于视图中的每个版本化文件,我们希望能够将其添加到备份列表中,前提是它与为该视图选择的VOB中的最后一个相应版本化元素不同。(仅当已在视图中展开时)

[解决方案也必须对快照视图有效]

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
有什么想法吗?。蒂亚。
Javier C.

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

  • 所有签出文件和专用文件都存储在视图存储中(仅适用于动态视图)
  • 但它不会考虑签出的文件,与版本化的对应文件相比(尚未)没有任何修改
如果您需要这两方面的通用解决方案,则可以参考:
''(您正在使用的'
cleartool lsco
),但您不需要计算最新版本来进行基于系统的差异。
你可以简单地:

cleartool diff -pred ${CHECKEDOUT_FILE_IN_THE_VIEW}
如果签出版本与其以前版本之间存在任何修改,它将返回某些内容(对于快照或动态视图中的版本)。

请参见

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

  • 所有签出文件和专用文件都存储在视图存储中(仅适用于动态视图)
  • 但它不会考虑签出的文件,与版本化的对应文件相比(尚未)没有任何修改
如果您需要这两方面的通用解决方案,则可以参考:
''(您正在使用的'
cleartool lsco
),但您不需要计算最新版本来进行基于系统的差异。
你可以简单地:

cleartool diff -pred ${CHECKEDOUT_FILE_IN_THE_VIEW}
如果签出版本与其以前版本之间存在任何修改,它将返回某些内容(对于快照或动态视图中的版本)。

请参见

您需要为该问题提供更好的标签,以便该领域的专家前来查看该问题。此代码所针对的语言和平台将是标记的良好起点。谢谢你,易!。我刚刚按照你的建议做了。你需要给这个问题加上更好的标签,这样这个领域的专家就会来看看这个问题。此代码所针对的语言和平台将是标记的良好起点。谢谢你,易!。我刚才按你的建议做了。