0

他の Accurev の質問について満足のいく答えがあるかどうかはわかりませんが、Accurev の差分で見られる問題を理解し始めていると思います。

流れは次のようなものです。

  1. 開発者 Aは、バグ 1、プロモートに対していくつかの変更を行います。
  2. 開発者 Aは、バグ 2、プロモートのためにいくつかの変更を行います。
  3. 開発者 Bは、バグ 1 に対する開発者 Aの変更をレビューし、さらなる変更のために送り返します。
  4. 開発者 Cはバグ 2 に対する開発者 Aの変更をレビューして承認し、追加のプロモーションを行います。
  5. 開発者 Aは、バグ 1、プロモートに対してさらに変更を加えます。
  6. 開発者 Cは、バグ 1 に対する開発者 Aの変更をレビューします。

最後のステップは、私が破損を認識する場所です。開発者 C は、すべてのトランザクション/バージョン (Accurev がそれらを呼び出すものは何でも) がその課題 ID に関連付けられているにもかかわらず、バグ 1 に関連するすべての変更を合理的な方法で確認することはできません。

base に対して diff を実行すると、バグ 2 のすべての変更と、昇格された他のすべての変更が取得されます。それに 30 人の開発者を掛けると、それは悪夢です。

オーバーラップとマージ解決があった場合は非常に面倒ですが、当面は、その場合を除いて帰属が間違っていないと仮定しましょう...別の方法で見たとしても、それは単なる誤解かもしれません.

とにかく、すべてのプロモートが「クリーン」であり、(私が理解しているように) 新しいトランザクションは各開発者の「エイリアス」トランザクションであり、トランザクションを「保持」すると仮定します。

2 つのトランザクションの結合差分を表示するにはどうすればよいですか?

具体的には、上記のステップ 1 とステップ 5 のトランザクションです。2 つのトランザクションがあり、それらのトランザクションで行われた変更とそれらのトランザクションのみが必要です。理想的には、適切にフォーマットされた、または再帰的に機能する GUI ツール diff (個々のファイルではなく、全体) です。

有効な回答は「あなたは間違っています」かもしれませんが、「開発者のワークスペースでレビューを行ってください」など、何を変更するかについての建設的な提案を含める必要があります。使い方が間違っているのではないかと思います。

4

2 に答える 2

1

あなたのやり方が間違っているとは言いませんが、ここで必ずいくつかの仮定を立てる必要があります。私の側では、あなたの説明から、例では明らかに単一のファイルを使用していて(とにかく単純化するために)、変更が連続して行われているようです。

AccuRev では、変更パッケージには、「バグ」に関連付けられたすべてのファイルのコンテキストが基本から先頭まで含まれています。そのため、開発者がバグ 1 を修正したとき、ファイルの「開始」および「終了」バージョンはバグ 1 に帰属します。この時点で他の 30 人の開発者が何をしていても、いつでもバグ 1 の変更パッケージを表示できます。 、変更タブを見て、そのバグに関連するファイルのみを比較します。たとえ、そのストリームに何千もの追加の変更が昇格されたとしてもです。

問題が発生するのは、開発者が自分が完了したと想定し、バグ 1 の一部であったファイルにその後の変更を加え、それをバグ 2 にリンクし、先に進んだという事実です。レビューが完了し、バグ 1 に追加の変更を加える必要がある場合、それらはバグ 2 の変更の上に構築されます。

まず、AccuRev では、「パッケージの変更」を選択しない限り、そのファイルをバグ 1 にプロモートしてリンクすることはできません。これは、リンクしたい特定のバグ、特にバグ 2 への変更に対するバージョンの帰属にギャップがあることを意味します。修理。ですから、偶然にそれが起こることはありません。ただし、Bug 2 の変更を Bug 1 のコンテンツに含めたくない場合は、パッチを適用する必要があります。これは、あなたが説明したワークフローではより複雑になりますが、間違いなく可能です。要するに、提示されたシナリオは、さまざまなバグに関連する一連の変更があるため、どのツールも自動的に処理できないというものです。良い、それを修正して、「コメントのチェックイン」などの外部で機能し、ファイルレベルではなく課題レベルで自動化された方法を提供するツールはありません。AccuRev Change Package は非常に強力であり、コントロールを手に入れることができるため、開発プロセス全体を通して CP をオブジェクトとして操作できます。

このフォーラムで、これがあなたの質問に可能な限り完全に答えることを願っています。追加の質問がある場合や、さらに詳しく話したい場合は、それも手配できます。

乾杯、
~ジェームス

于 2011-01-14T14:58:16.653 に答える
0

そのファイルに複数の変更セットがある場合、それらの変更が昇格された後、特定の開発者によるファイルへの変更を表示する方法はないと思います。

backed に対する diff は、親の非ワークスペース ストリームでは意味がありません。

基礎に対する差分には、全員の変更があります。

What is the difference between base and backing in Accurevの受け入れられた回答に関するコメントを参照してください。

于 2011-01-21T16:11:33.810 に答える