[qbzr] Re: [RFC] push and --no-strict and QBzr

Guilhem Bichot guilhem at mysql.com
Mon Jul 27 09:44:00 BST 2009


Hello Martin,

Martin Pool a écrit, Le 24.07.2009 01:48:
> 2009/7/24 Alexander Belchenko <bialix at ukr.net>:
>>> The general idea was that people would be more confused when "bzr push"
>>> didn't push what they thought they were pushing (I forgot to commit,
>>> etc), rather than having to supply a new argument when they really did
>>> want to push something out of the ordinary.
>>>
>>> There was also a strong push from MySQL. I don't know if they wanted it
>>> to be the default, they *definitely* wanted to be able to have it as the
>>> default for some people. (push_strict=True). As one of the reoccurring
>>> issues for MySQL was people pushing and not realizing that they had not
>>> committed. (I think some of this stemmed from using BK which
>>> automatically commits when you 'merge', while we require it as a
>>> separate step.)
>> I went to the similar conclusion about this option, but I still think this
>> change has introduced too much penalty to existing experienced bzr users,
>> and we have to pay this price for the sake of newbies safety.
>> I'm not agreed with such price somewhere deep inside me.
> 
> I too thought it was a good idea, but I'd be prepared to change it
> now.  Robert posted before that this is probably a case where we
> should notify people and make it easy to fix their mistake (by
> committing and pushing again), rather than blocking it.  So I'd like a
> patch that makes it just warn unless --strict is given, and no warning
> at all if --quiet is given.  I cc'd GuilhemB in case he wants to
> comment.

Thanks for letting me know.
 From the MySQL side, I confirm I definitely wanted a way (by default or 
not) to prevent pushes if there are uncommitted changes.
It's not only about newbies; the problem can catch experienced users as 
well, for example this, at late night:
- change code
- run tests
- tests ok, commit
- ahah, should also run an extra test suite
- extra test suite fails
- fix code
- extra test suite passes, finally
- push
and then we have pushed some broken code, because forgot to commit the 
final code change. A push triggers automated tests on multiple machines 
(kind of buildbot), so a broken code push is annoying.
I'm happy that --strict is on by default, but as other users seem to 
have different opinions, which may be very valid, I'll defer to 
Canonical folks :-) If it's made non-default then I'll advise my 
colleagues to put it in their bazaar.conf.




More information about the bazaar mailing list