Some questions on internals

Frits Jalvingh jal at etc.to
Fri Feb 19 02:25:28 GMT 2010


Hello list,

I am investigating to build a code review system that works with bazaar
with some special characteristics. The most important one is that it has
to be able to track a single merge before it merges into /several/
master branches; each master branch represents a "version" of a product.

So a change will be prepared as a branch off for instance the "3.1"
master branch. It will then be pushed to the code review system which
will merge it onto copies (') of the 3.1-master; that result will be
merged upwards to 3.2-master' and on up to the latest version.

FIX --> 3.1' (review copy)
        |
        v
        3.2' (review copy)

These n master branches should (mostly) see all the same comments, and
the change itself is treated as a single change (impacting n branches).

Tracking multiple versions of a merge request (because the developer
fixes the source) is easy, and the changed location of comments can
easily be tracked (by applying the delta's line number ranges to the
line numbers stored on the comments), so that is not a problem.

But I run into trouble when I want to relate the comments made on that
initial branch (3.1) with the same code merge on 3.2 or later. So I have
a few questions:

1. It is important to track renames. Is it possible to get the diff
command to output the file ID of the files it shows in the output? This
would allow me to easily find a renamed file in another branch. If not-
is there a way to translate file id -> filename and vice versa?

2. I am afraid the answer is no- but.... Is there any way to relate the
chunks of the delta caused in 3.2 with the related chunks in the delta
to 3.1 (the initial fix merge)? Especially considering the possibility
that merge conflicts on 3.2 would cause (small) changes in the merge
there?

Thanks for your time,

Frits Jalvingh





More information about the bazaar mailing list