[RFC] managing push locations?

Aaron Bentley aaron.bentley at utoronto.ca
Mon Jul 9 14:24:37 BST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Robert Collins wrote:
> On Thu, 2007-07-05 at 15:05 +1000, Robert Collins wrote:
>> I'm really confused now.
>>
>> How do I setup the following:
>> 1) By default all branches in ~/source/bzr/ get pushed to
>> sftp://bazaar.launchpad.net/~lifeless/bzr/
>> 2) Selected other branches get pushed elsewhere.
>>
>> It used to be that I setup a root in locations.conf, and achieved (2) by
>> doing 'bzr push --remember ELSEWHERE', but that appears to be broken
>> with tag supporting branches?!
> 
> No comments on this? It seems pretty harsh to teach people that 'bzr
> push --remember' is useful and have it suddenly stop working completely
> when they do bzr upgrade :(.

It does, but I think it's a net win.

On the plus side
- - it's consistent with the way all other locations behave
- - it makes the maximum amount of data available to all branch users

On the minus side
- - it's overridden by subtree-wide configs.

A mitigating factor is that you are now warned when --remember is
ineffective:
$ bzr push sftp://panoramicfeedback.com/~/silly --remember
Value "sftp://panoramicfeedback.com/~/silly/" is masked by
"sftp://panoramicfeedback.com/~/silly/" from locations.conf

As I see it, it's a problem of overloaded meanings: sticking a value in
locations.conf can mean "I want this default behavior", or "I want to
override the value in branch.conf"

Ideally, those two intents would be reflected by bazaar.

We could have another level of cascading-- there are at least three ways:
1. Treat only exact matches as overrides.  Only values with policy
   "norecurse" would override branch.conf
2. Change the locations.conf default behavior to avoid overriding
   branch.conf and introduce another flag, e.g. "important", to allow
   locations.conf to override branch.conf
3. Leave the default locations.conf behavior alone, but introduce
   another flag, e.g. "unimportant", to allow a value to be overridden
   by branch.conf.

The problem with all of these solutions is that they introduce another
level of cascading.  I don't want to make people's heads explode.  It's
notoriously difficult to clean brains out of the carpet.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGkjcV0F+nu1YWqI0RAlDwAJ4+8jNlx15XdeFlCJpS0MfPlEEOSACeN/XZ
LBhACfXpZAFAARQsHe1Q24k=
=QYOp
-----END PGP SIGNATURE-----



More information about the bazaar mailing list