私は以前にdocumented私の意見をソース管理システムとしてClearcaseに残しましたが、残念ながら私はまだそれを使用しています。だから私はあなたに私の欲求不満の一つを緩和するのを手伝ってくれます。Clearcaseで最も良い方法は?
私たちは、特定のファイルが変更された理由を判断する際に発生した問題のいくつかを改善するために、開発者単位の1つのシステムから1つのタスクに分岐しました。一般的に私はこのソリューションに満足していますが、大きな問題が1つあります。私たちは、開始するには、簡単なスクリプトを使用して、エンドユーザ名とタスク番号と名前の新しいブランチを作成して作業をして、次のような設定の仕様を持っているために、ローカルスナップショットビューを更新しています
element * CHECKEDOUT element * .../martin_2322/LATEST element * /main/LATEST -mkbranch martin_2322 load /Project/Application
のが私のことを言ってみましょうプロジェクトには、2つの結合ファイルA.csとB.casがあります。私の最初の仕事のために、私はブランチのAに変更を加えます。何らかの理由でタスク2322の作業をやめ、タスク2345の作業を開始する必要があります(タスク2322は終了していないので、メインに戻しません)。 私は新しいタスクブランチ2345を作成し、A.csとB.csの両方を編集し、結果をメインに戻してマージします。今私は2322の作業に戻ります。したがって、私は設定仕様を上記の定義に戻します。この時点で、タスクブランチからのA.csファイルが表示されます(以前に編集したので、そのブランチにローカルなバージョンを取得します)。最新の B.csのメインからのバージョン。私は2345ブランチでA.csに変更を加えていないので、ビルドが中断します。私が代わりに必要とするのは、私が中断したところから2322番の仕事を拾うことができるようにすることです。古いバージョンのA.cs - 支店が作られたときにメインで最新のものです。それは右の日にメインからファイルを取得するように
変更設定仕様:
私はそれを参照してください方法は、私はこの問題を解決するには、いくつかのオプションがあります。これは、私が日付を知っていて手で設定しても構わないが、タスクを切り替えるスクリプトにどのように自動化するのか把握できない場合は、十分に簡単です。ブランチの作成日を取得するにはどうしてですか?
メインの各ブランチにラベルを作成します。理論的には簡単ですが、CCのインストール時のラベルシステムはすでに数百ラベルの重さで崩壊していますので、ブランチごとに1つの開発者に対応できるかどうかは分かりません(私の例ではタスク2322で、プロジェクトの4分の1に過ぎません)
メインからタスクブランチにマージアウトします。もう一度動作するはずですが、長時間実行されているブランチは、そのタスクで変更されたファイルだけでなく、無関係なものが動作するようにマージする必要があるすべてのファイルを含みます。これにより、開発者ごとのアプローチほど複雑になります。特定のタスクを完了するためにどのファイルが変更されたかを確認したい。
私はちょうどここに何かが欠けだし、それは不格好な回避策なしメインから期待されたファイルを取得するように私の設定の仕様を設定する方法がある願っています。では、Clearcaseでどのように分岐していますか?
ブランチ間の切り替えを管理するための別のソリューション(IMO)が追加されました。 – VonC
「新しいファイル」選択ルールについてのコメントを追加しました。確かに、あなたの現在の設定仕様を続行する前に慎重に検討し理解するもの。 – VonC