私は、特定のブランチとラベル上のすべてのファイルを検索し、それらのファイルを別のブランチに簡単にマージしてから、新しくマージしたファイルにラベルを付けるBase ClearCaseのスクリプトを作成しようとしています。別のラベル。例えばcleartool findmergeとラベル
は、ブランチ\main\Proj\Proj_INT1
上のファイルを指定したとVer4
をラベルされた、私は\main\Proj
枝にファイルをマージし、Ver4X
(彼らは合併を必要としているIFF)にラベルを付けたいです。
私は-fver "\main\Proj\Proj_INT1\Ver4"
を使用して、マージしたいファイルのバージョンを知ることができますが、マージをどのように組み合わせて、ラベルを適用するかはわかりません。
ドキュメントからは、cleartool findmerge ... -merge -exec "cleartool mklabel ..."
を実行することができないため、現在はに試行しています。結果のログを解析してすべてのファイルバージョンを取得します。しかし、findmerge
コマンドがディレクトリで停止していることを考えると、すべてのディレクトリとファイルがマージされるまで、この操作を何度も繰り返す必要があります(スクリプトを作成してcleartoolの出力を解析するための頭痛です)。
マージを実行してファイルにラベルを付ける慣用的または簡単な方法はありますか?おそらく、私はマージを実行し、cleartoolがマージされたファイルのバージョンを表示するログを生成するようにすることができます。
また、cleartool findmerge ... -merge
の操作を実行すると、どうやって非自明なマージを処理しますか?私は些細なマージは期待していませんが、私はエラーでスキップしたい、または単純ではないマージに遭遇した場合にマージを完全に停止したいと思います。
実際の質問は、ファイルにラベルを付けることです。あなたは私が '-exec" cleartoolマージを行うことを示唆していますか?&& cleartool mklabel ... "'、またはfindmergeコマンドから何らかの形で新しいバージョンを取得して解析し、ループ内で 'cleartool mklabel'を使うことはできますか? ? – Darthfett
@Darthfettマージされたバージョンは最終バージョンで、現在のバージョンがデスティネーションビューになるため、最初のアプローチが有効です。 – VonC
私はドキュメントを見ていますが、マージする前にファイルをチェックアウトする必要がありますか? '-exec" cleartool checkout ... && cleartool merge ... && cleartool checkin ... && cleartool mklabel "'のように見えることに同意しますか? – Darthfett