[Buildbot-devel] multi-repo support: repo URLs

Dustin J. Mitchell dustin at zmanda.com
Mon Apr 12 16:02:18 UTC 2010

2010/4/12 Benoît Allard <benoit at aeteurope.nl>:
> I don't know what to think about that. We all agree that this information
> helps us making the SourceStamp unique. Only unique, in which context ?
> My understanding is that it should be enough to describe a Change within
> your current namespace. In a corporate environment, for instance, according
> to me, the substring is enough. However, in a public project, it might make
> sense to have the full path there, but then, what happen if you move the
> repository ?

In any context.  I don't see any good reason, short of shaving a few
bytes off some TCP packets, to omit information from the change and
rely on context to resupply it later.  It's precisely such omission
and resupply that the 0.7.12 arrangement represented (where Source
steps must supply a repository URL).

Again, if using substrings makes sense in your organization, that's
fine - but from my perspective, that's a local optimization.

>>  /home/dustin/projects/amanda/
>> is not particularly helpful on some other system.  So the issue is one
>> of recognizing "equivalent" repositories, and perhaps substituting a
>> canonical repository for its equivalents.
> In your case, in your environment (defined in our case via your buildbot
> config file), I guess "amanda" uniquely defines your repository. My advice
> would be for the ChangeSource step to only return "amanda" in you case, as
> this is the only value making sense for your master. Let the master then add
> his knowledge to this value, making it absolute within your current config.

Not quite.  The canonical git repository for Amanda is
 git at github.com:zmanda/amanda.git
so this is the name that I would want to translate all corresponding
'git' URLs into, where I could be certain that the revision in the
Change object was present in that repository.

> The doc you linked to in a previous mail has some more evolved options: you
> can give him a callable for instance, and in that case do the magic you
> want. It is still limited to the repository path though.

But that takes place at the Source step, which is, I think, too late
to make that transformation.

> If I get it correctly, you want to move the modifications we (Marcus and I)
> made lastly into an earlier stage: move them from the webstatus and the
> source step to the ChangeSource step. No objections from my part as long as
> it stays as flexible as we made it.

Yes, that's my hope.


Open Source Storage Engineer

More information about the devel mailing list