在Clearcase中,我需要找到两个标签之间的区别,包括新添加的文件,修改过的文件和新标签中删除的文件。
我使用了以下脚本,但它没有给我正确的数据:
#!/bin/sh
REL_LBL_1=REL1_7
REL_LBL_2=REL1_8
echo "\n ${REL_LBL_2} versions of files that replaced ${REL_LBL_1}
versions ..."
echo "====================================================="
cleartool find -avobs -element "{lbtype_sub(${REL_LBL_2}) &&
lbtype_sub(${REL_LBL_1})}" -version "{lbtype(${REL_LBL_2}) && !
lbtype(${REL_LBL_1})}" -print
echo "\n Files created new to ${REL_LBL_2} ..."
echo "====================================================="
cleartool find -avobs -element "{lbtype_sub(${REL_LBL_2}) && !
lbtype_sub(${REL_LBL_1})}" -version "lbtype(${REL_LBL_2})" -print
echo "\n ${REL_LBL_1} files removed in ${REL_LBL_2} ..."
echo "====================================================="
cleartool find -avobs -element "{lbtype_sub(${REL_LBL_1}) &&
lbtype_sub(${REL_LBL_2})}" -version "lbtype(${REL_LBL_1})" -print
答案 0 :(得分:0)
cleartool find -avobs -element "{lbtype_sub(${REL_LBL_1}) && lbtype_sub(${REL_LBL_2})}" -version "lbtype(${REL_LBL_1})" -print
输出显示一些文件,但是当我签入最新标签时,这些文件仍然存在
这可能是因为被删除后,某些时候再次将 添加到源控件中。 检查他们的版本历史。
cleartool find -avobs -element "{lbtype_sub(${REL_LBL_1}) &&
lbtype_sub(${REL_LBL_2})}" -version "lbtype(${REL_LBL_1})" -print
或者可能是因为查询 没有列出“$ {REL_LBL_2}中删除的文件”。它仍会显示${REL_LBL_2}
以及${REL_LBL_1}
至少尝试:
cleartool find -avobs -element "{lbtype_sub(${REL_LBL_1}) &&
lbtype_sub(${REL_LBL_2})}" -version "lbtype(${REL_LBL_1}) && !lbtype(${REL_LBL_2})" -print
这个脚本的目的是,我打算将Clearcase迁移到GIT,下面是计划 -
- 我将把来自cleacase label-1的数据放入GIT中,并在GIT中应用tag label-1。
- 我会在Clearcase中找到label-1和label-2之间的差异,并在GIT中复制diff并在GIT中应用tag label-
醇>
。 对于第二点,我将使用上面的脚本来识别,修改文件,删除文件和新文件
事情是......你不需要编写脚本。完全没有。
只需将ClearCase视图设置为标签2,然后将该内容添加到您的git repo:
cd /path/to/git/repo
git --work-tree /path/to/clearcase/view/set/to/label_2 add .
git commit -m "Import label 2"
git tag -m "label2 import" label2
Git会自动检测已添加/修改和已删除的内容!