Search code examples
accurev

How do I get a diff of an issue in Accurev without any inherited changes?


While I'm not sure I have a satisfactory answer on my other Accurev question, I believe I'm starting to understand the issue I'm seeing with Accurev diffs.

The flow is something like this:

  1. Developer A makes some changes for bug 1, promote.
  2. Developer A makes some changes for bug 2, promote.
  3. Developer B reviews Developer A's changes for bug 1 and sends it back for further changes.
  4. Developer C reviews Developer A's changes for bug 2 and approves it, additional promotion.
  5. Developer A makes more changes for bug 1, promote.
  6. Developer C reviews Developer A's changes for bug 1.

The last step is where I perceive the breakage. Developer C cannot, in any rational way, see all the changes related to bug 1, even though every transaction/version (whatever Accurev calls them) is associated with that issue id.

If I do diff against basis I get all of the bug 2 changes as well as everything else that's been promoted. Multiply that times 30 developers and it's a nightmare.

It gets real messy if there were overlaps and merge resolution, but lets assume, for the moment, that attribution doesn't get wrong except in that case... even if I have seen it do otherwise, it might just be a misunderstanding.

Anyway, assuming that all promotes were "clean" and (as I understand them) new transactions are "alias" transactions of each developers "keep" transactions.

How do I view combined diffs of the two transactions?

Specifically the transactions in step 1 and step 5 above. There will be two transactions, and I want only the changes made in those transactions and only those transactions. Ideally, a nicely formatted or GUI tool diff that works recursively (not on individual files, the whole thing).

Note, valid answers may be "You're doing it wrong," but should include constructive suggestions of what to change such as "Do your reviews in the developer's workspace," or similar. I suspect we might just be using it wrong.


Solution

  • I believe that there's no way to view a given developer's changes to a file, after those changes have been promoted when there are multiple sets of changes for that file.

    Diff against backed has no meaning in a parent, non-workspace stream.

    Diff against basis has everyone's changes.

    See the comments on the accepted answer of What is the difference between basis and backing in Accurev.