Handling foreign metadata for bzr revisions

Jelmer Vernooij jelmer at vernstok.nl
Wed Aug 18 09:16:01 BST 2010


On Wed, 2010-08-18 at 16:57 +1200, John Barstow wrote:
> Looking through LogFormatter._foreign_info_properties, I seem to have an issue.
> 
> If a revision originates in a foreign repository, we use
> mapping.vcs.show_foreign_revid and I understand what's going on here.
> 
> If, however, a revision originates in bzr and is pushed to a foreign
> repository, then when fetching the revision from the foreign
> repository we get a bzr-native revision id, so LogFormatter never
> picks up the foreign properties.
> 
> This is important to me (particularly now, with edge cases to
> test/debug) because that means I lose the foreign changeset
> information that shows up for all other revisions pulled from that
> repository (which makes it harder to compare what pull produced to
> what is actually in the repository).
> 
> So I guess the question is: if I author a revision in Bazaar and
> commit it to the foreign repository, is there anyway of associating
> the foreign repository properties (such as the changeset number) with
> the bzr-authored revision? Has the Subversion plugin solved this? Is
> this an issue in practice?
This has come up a couple of times for bzr-svn, but it's something that
can't be fixed without a way to store extra metadata about Bazaar
revisions that is not part of those revisions themselves. 

Bazaar revisions are immutable and revision ids are unique per revision.
We can't add information about the foreign revision id to the original
revision if we push data into a foreign repository and when we pull from
the foreign repository we should always create the same revision.

We have discussed a mechanism to store extra metadata on revisions in
the past that is modifiable after the revision has been created (and
local to the user). Such a mechanism could be used here, but it has not
been implemented yet.

Cheers,

Jelmer



More information about the bazaar mailing list