Clearcase で、変更されていないエレメントのブランチを削除するコマンドは何ですか (そのブランチのエレメントのバージョンは「0」です)。
2 に答える
その要素のバージョン 0 を削除するだけです (ここで詳しく説明します)。
これにより、関連するブランチが削除されます。
cleartool rmver file@@/main/aBranch/0
cleartool find
バージョン 0 を持つ (バージョン 1 を持たない) すべての要素と、rmver
それらのバージョン 0を " " 必要とするでしょう
。特定のブランチについて、これは削除するすべてのバージョンを返します:
cleartool find -type f -version "version(.../blah/LATEST)&&version(.../blah/0)" -print
それを exec ディレクティブと組み合わせることができます。
# on Windows:
cleartool find ... -exec "cleartool rmver --force \"%CLEARCASE_XPN%\"
# on Unix:
cleartool find ... -exec 'cleartool rmver --force "$CLEARCASE_XPN\"'
に注意してくださいrmver
。これは破壊的な操作find -exec rmver
であるため、完全なコマンドを実行する前に慎重にテストしてください。
もう 1 つのアプローチは、George F. Frazier による記事「ClearCase でゼロ バージョンのみの要素をパージする」に記載されています。
これらの厄介なエンティティのビューを削除する必要があります。
次のコマンドを実行して、ゼロ バージョンの要素をすべて検索します。
cleartool find -avobs -branch'{
brtype(mybranch)&&!
(version(.../mybranch/1))}'
-print > c:\files.txt
これにより、バージョン 1 がオンになっていないすべての要素が検索されます
mybranch
(よく読むと、2 以上のバージョンが既にある要素の 1 つのバージョンを削除した場合、正しく動作しないことに気付くでしょう — これはまれな状況ですが)。
終了したら、要素を核攻撃するために使用rmbranch
するだけです (ここで何をしているのかを確認してください!)。
それには多くの方法があります。MKS ツールキットを実行しているので、コマンド ウィンドウから次のコマンドを実行します。
cleartool rmbranch -f 'cat c:\files.txt'
Tamirは、 バージョン 0 を自動的に削除するトリガーを提案しています。これは、 IBM Rational ClearCase: The Ten best triggersのEmpty Branchセクションにリストされています。
cleartool mktrtype -c "Automatically remove empty branch" -element -all -postop uncheckout -execwin "ccperl \\mw-ddiebolt\triggers\test_empty_branch.bat" REMOVE_EMPTY_BRANCH
これは、取り消しチェックアウトがバージョン 0 を残す将来のケースに適しています。
rmver は機能しません。
/home/ccadmin $ cleartool rmver -force ./VaREngine/Makefile@@/main/nz_mig/nz_relOne/0 cleartool: エラー: ブランチを削除しないとバージョン 0 を削除できません: "./VaREngine/Makefile".