2017-02-22 9 views
1

私は数日前にhow to commit an arbitrary directory tree in ClearCaseと尋ねました。私が受け取った答えはclearfsimportツールを使用することでした。これは、これまで完璧に働いているとClearCaseにできる「インポート」(一部の外部ファイルシステムディレクトリから)(ダイナミックビューへの)任意のディレクトリツリー:任意のディレクトリツリーで更新を実行する方法

clearfsimport -recu -nset /some/external/directory/foo . 

私のワークフローは、私は私の仕事のすべてを行うことで、その外部ディレクトリ(foo)でテストし、上記のようにclearfsimportツールを使用してClearCaseに自分のソースをコミットすることができたらうれしいです。これは最初のコミットでこれまでのところうまくいきましたが、変更されたソースをインポートしたいと思っています。効果的には、既存のfooディレクトリの場所に新しいディレクトリツリーをインポートする必要があります。変更は、ファイル/ディレクトリの追加、削除、名前の変更、ディレクトリやシンボリックリンクの変更(またはその逆)など、広範囲に及ぶ可能性があります。効果的には、非常に冗長なdiff -r出力を持つ2つの非常に異なるディレクトリツリーについて話している可能性があります。

私は、次のワークフローを使用する計画:

ct co . 
ct rm foo            // remove existing dir from view 
ct ci . 
clearfsimport -recu -nset /some/external/directory/foo . // import the new dir version 

あなたはなど、歴史の面で上記の手法に問題を参照していますか?完全な情報開示のために

私はgitのを使用して(/some/external/directoryで)私のプロジェクトを維持し、私は(.git.gitignoreなどのようにgit-特定のファイルを削除する)clearfsimportを実行する前に、私のプロジェクトの「クリーン」なコピーを作成します。私は通常、gitでより詳細な履歴を持っていますが、私は、ClearCaseの特筆すべき「マイルストーン」の履歴を、他のチームメンバーのために維持することに興味があります。つまり、私はClearCaseにgitを橋渡しするためのツールを使用したいとは思っていません。

私が確立しようとしているワークフローは一方向(ClearCaseの外部ディレクトリ)であり、動的なビューにインポートしていることを明確にしています。私はせず、すなわち、ちょうど既存ディレクトリ構造であるターゲットとclearfsimportを実行することが可能であることを私のものにする「2つのパス」言及されていると-rmnameのようなオプションのようなものを(参照clearfsimportのmanページを見てみると

最初にct rmにする必要があります)。しかし、私はどのような命題を正確に使うべきか、そして、これは、与えられた名前が様々な方法で(例えば、ファイルからディレクトリへ、またはディレクトリからシンボリックリンクへ、またはシンボリックリンクからファイルへ)変更された場合や、歴史。

答えて

1

歴史などの点で上記のアプローチに問題がありますか?

はい:clearfsimportを使用している場合は、rmとは限りません。
同じビュー/宛先フォルダにインポートするだけで、ClearCaseは新しいファイル、変更されたファイル、または削除されたファイルを検出し、それに応じてチェックアウト、更新、または削除します。

-rmname optionあなた clearfsimportに追加します、とClearCaseは は、保存先のフォルダに削除されますソースフォルダで削除されたファイルを意味し、確かに「ミラー」あなたのインポートを行います。

「使用の呪文」は、これまでのものと同じで、追加の-rmnameパラメータとまったく同じです。

+0

は、私はそれがそのタイプ(変更された名前に来るとき 'clearfsimport'が正しいことを行うということだけで少し不安に思います例えばファイルからシンボリックリンクやシンボリックリンクからディレクトリへ)、そのため私は 'ct rm'がきれいな状態になると思ったのです。しかし、私は正しいことをするために 'clearfsimport'を信頼すると言っているあなたの答えを理解しています... –

+0

@MarcusJuniusBrutusこれは、この場合にネストする必要がありますが、一般的に' clearfsimport'はこのユースケースに対して行われます。 – VonC

+0

@MarcusJuniusBrutus rmの問題は、変更されたすべての共通ファイルの履歴を完全に失うことです。 ClearCaseはそれらを歴史のない新しい要素として見ます。 – VonC

0

は、スナップショットビューを使用して検討し、ClearCaseの中で直接作業していないが、これは単にあなたのアプローチ

関連する問題