3

たとえば、次のように書く代わりに:

element * .../my_branch_01/LATEST
element * .../base_branch/LATEST -mkbranch my_branch_01

私はこのようなものを書きたいと思います:

MY_BRANCH=my_branch_01
element * .../%MY_BRANCH%/LATEST
element * .../base_branch/LATEST -mkbranch %MY_BRANCH%

これは可能ですか?正しい構文は何ですか?

4

2 に答える 2

3

ClearCase でこれを行う唯一のネイティブな方法は、 config-spec内で属性を使用することです。

バージョン セレクタールールに従って、たとえば属性に基づいて、「クエリによる選択」ルールを作成できます。

element * ...{MY_ATTRIBUTE_NAME=="aValue"}

' ' を含む属性 ' ' を持つLATEST任意のブランチのバージョンを選択します。MY_ATTRIBUTE_NAMEaValue

つまり、古いブランチの属性値を変更し、それを新しいブランチに配置して ' cleartool setcs' ビューを再度表示すると、新しいバージョンの選択に基づいて新しいコンテンツが作成されるはずです。

それほど単純ではありませんが、mkbranch 部分(固定名が必要)を除いて、機能する可能性があります。


GeekCyclist's answerに関して、いくつかのコメント:

共通の構成仕様を含めるソリューションは、Base ClearCase ソリューションで機能しますが、次の点に注意してください。

  • 関係するすべての開発者が利用できる共有にある必要があります
  • setcsは、view_server を呼び出してキャッシュをフラッシュし、現在の構成仕様を再評価するために必要です。現在の構成仕様は、ビュー ストレージ ディレクトリのファイル config_spec に格納されています。これも:
    • 非絶対指定 (たとえば、今、火曜日) を使用した時間ルールの評価
    • –config ルールを再評価し、以前とは異なる派生オブジェクトを選択する可能性があります
    • include ルールで指定されたファイルの再読み込み
  • 含まれている共通の構成仕様ファイルが変更された場合、他のすべての開発者に通知する必要があります (ClearCase にはネイティブ通知は含まれていません)。

1 つの「環境」(つまり、1 つの「ビュー」またはワークスペース) が (異なるブランチに応じて) 可変コンテンツを持つ必要がある場合は、異なるビューを指すシンボリック リンク (または Windows サブスト) を定義する必要があります (それぞれ独自の構成仕様)

そうすれば、特定の固定パスに関連付けられた構成仕様を変更するために、リンク (または置換されたパス) を変更するだけで済みます。

于 2009-03-25T05:01:42.427 に答える
1

ClearCase で作業してからしばらく経ちますが (Subversion に切り替えました)、私の記憶が正しければ、これを ClearCase ネイティブで行う方法はありません。

スペック ファイルを作成し、それを実際のスペックに含めるスクリプト ジェネレーターを使用または作成できます。

element * CHECKEDOUT
include scripted_file_output

次に実行します

cleartool setcs -current

このアプローチの問題は、インクルード仕様を再生成する必要があり、MY_BRANCH の値を変更するたびに cleartool setcs を実行する必要があると私が信じていることです。

于 2009-03-25T04:31:08.553 に答える