5

Clearcase で、変更されていないエレメントのブランチを削除するコマンドは何ですか (そのブランチのエレメントのバージョンは「0」です)。

4

2 に答える 2

7

その要素のバージョン 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 を残す将来のケースに適しています。

于 2013-08-12T09:43:28.727 に答える
2

rmver は機能しません。

/home/ccadmin $ cleartool rmver -force ./VaREngine/Makefile@@/main/nz_mig/nz_relOne/0 cleartool: エラー: ブランチを削除しないとバージョン 0 を削除できません: "./VaREngine/Makefile".

于 2013-10-15T17:57:30.493 に答える