2

私は職場でやや複雑な分岐構造を持っています (少なくとも私にとっては)。それは次のようなものです:

主要
 | |
 1
 | |
 2
 | | \
 3 \
     Ver2
      | |
      1
      | | \
      2 \
      | | プロジェクトA
      3 |
             1

メインから離れた2つのブランチがあります。次期バージョンに向けてみんなで変更した「Ver2」と、私の作品である「ProjectA」。

私の質問は:何がマージされたかを知っている構成仕様を作成する方法はありますか?

  1. マージされていない ProjectA のすべて
  2. ProjectA の LATEST が Ver2 にマージされている場合、Ver2 ブランチから LATEST を取得します。
  3. ProjectAのブランチがない場合はVer2から取得
  4. Ver2がない場合はMAINから取得

たとえば、上記の場合、ProjectA のバージョン 1 を Ver2 ブランチのバージョン 2 にマージした場合、Ver2 でバージョン 3 を見たいと思うでしょう。ただし、これらのファイルをまだマージしていない場合は、ProjectA のバージョン 1 を表示する必要があります。

4

3 に答える 3

0

ブランチを定義する理由を覚えておく必要があります。
開発作業を分離するためです。

したがって、複雑な構成仕様をより適切に管理するには、「メイン」ブランチ、v2ブランチ、およびプロジェクトAブランチがどのような役割を果たしているかを正確に知る必要があります。

たとえば、V2とプロジェクトAは、2つの異なる理由で存在する必要があります。

プロジェクトAがプロジェクトの現在のバージョンを開発するために存在する場合、V2ブランチへのマージを実行して、現在の開発の一部をV2ブランチに後付けできるようにする必要があります。

その理由から、同じビューで「両方」を表示したくない場合があります。これらは2つの異なるファイルのセットを表し、V2には非常に異なるAPIを使用した大規模なリファクタリングが含まれる可能性があります。

ただし、そのような構成を主張する場合は、「MERGE_FROM_PA」ラベルを移動する機能を使用できます。プロジェクトAからV2ブランチにいくつかのファイルをマージするたびに、マージされたファイル/ディレクトリごとに「MERGE_FROM_PA」ラベルを再設定します。 、そのラベルを以前のV2バージョンから最新バージョンに移動します。

構成仕様は次のようになります。

element * MERGE_FROM_PA
element * .../ProjectA/LATEST
element * .../V2/LATEST
element * /main/LATEST

しかし、繰り返しになりますが、それはあまり意味がありません。

モデル化するさまざまな開発作業を定義してから、一貫性のあるワークフローを定義して、構成仕様がそれらの環境の1つだけに集中できるようにする必要があります。

于 2008-10-28T20:32:25.703 に答える
0

私はあなたがそのようにそれを行うことができるとは思わない。ただし、得られるものは ProjectA の最新のものです。ProjectA で変更されていない Ver2 のすべて。Ver2またはProjectAで変更されていないMAINのすべて。残りのトリックは、必要なすべてが Ver2 または MAIN からマージされていることを確認することです。そのために、Ver2 の構成仕様を含む参照ビューを使用できます (Ver2 が最新に保たれていない場合を除き、MAIN 用の参照ビューは必要ありません)。次に、ProjectA ビューで次の操作を行います。

cleartool findmerge . -fta view-tag-for-ver2 -merge

-fta「タグから」という意味です。もちろん、無数の追加オプションがあります。

これにより、ProjectA は Ver2 に関して完全に最新の状態になります。

于 2008-10-28T18:44:46.403 に答える
0

なぜだめですか?ブランチがどこかにマージされている場合、ブランチを使用しないことは私には理にかなっています。

構成仕様は次のとおりです。

element * {version(.../ProjectA/LATEST)&&!hltype(Merge,->)}
element * {version(.../Ver2/LATEST)&&!hltype(Merge,->)}
element * /main/LATEST

ビルドの前にすべてにラベルを付ける限り、このワークフローが一貫性のないものになるのはなぜですか?

于 2009-05-28T17:28:40.093 に答える