3

現在、clearcase ビューを更新するときにシンボリック リンク エラーが発生するのを待つ必要があります。次に、壊れたシンボリック リンクの名前を取得し、具体的に検索します。

必ずしも名前を知らなくても、すべての壊れたシンボリックリンクを見つける方法はありますか?

一度に 1 つずつ見つける方法:

  • クリアツール>cd C:\cc_view\view_name\source_app
  • クリアツール>find -all -type l -name "missing.link.name" -nxname -print
4

1 に答える 1

2

検索クエリに -all は必要ありません。
スナップショット ビューの更新で壊れたシンボリック リンクは、表示される要素です。

cleartool find . -type l -name "missing.link.name" -nxname -print

このコマンドは DOS セッション ( cleartool findcleartool の代わりに " cleartool> find") で実行できます。これにより、結果をテキスト ファイルにリダイレクトし、結果を解析することができます。

IBM の記事「壊れた (孤立した) シンボリックリンクを見つける方法」も役立ちます。

原因

ユーザーがターゲットの名前を変更したため、シンボリック リンクが存在しないターゲットを指しています。

バージョン管理されたターゲット ファイルの名前を変更した後 ( 、ClearCase エクスプローラーで実行)、が存在しないa.doc -> a.docxという更新エラーが表示されます。symlink a.doc

シンボリック リンク "filename.doc" を解決できません。symlink ターゲットはロードされません。

  • リンク自体はどこにありますか (どのフォルダーにありますか?)
  • シンボリックリンクの名前変更 (?) を解決するにはどうすればよいですか?

答え

シンボリックリンクを見つけて削除するには:

  • 動的ビューを使用します (スナップショット ビューでは不足しているリンクを読み込めません)
  • 走るM:\viewtag\vobtag>cleartool find . -kind slink -print
  • 上記のコマンドの出力にあるシンボリック リンクを削除する方法については、次のテクニカル ノートを参照してください: " Unable to resolve VOB symlink ":

コマンド プロンプトから cleartool ls を実行すると、次のように表示されます。

virt.46e5e94ff9024144ab0fe9ed432ce6e6 --> ../virt
virt.5043bcc7c8f44439938d634bd5ba9ac2 --> ..virt [not loaded]

上記のシンボリック リンクは、ClearCase の外部のリソースへのリンクであり、UCM での使用に対してハイパーリンクが無効になります。

問題の解決

コマンドを使用して、壊れた (ぶら下がっている) リンクを VOB から削除して、エラーをクリアしますcleartool rmname

例:

cleartool rmname virt.46e5e94ff9024144ab0fe9ed432ce6e6

を使用cleartool rmnameすると、シンボリック リンクを保持できますが、将来のディレクトリ バージョンからはシンボリック リンクへの参照を削除できます。
シンボリック リンクは、 を使用して完全に削除できます。詳細については、技術情報 1148781cleartool rmelemを参照してください。

于 2013-04-08T15:39:49.613 に答える