[python-committers] PQM?

Barry Warsaw barry at python.org
Thu Aug 14 01:03:26 CEST 2008


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

On Aug 13, 2008, at 6:41 PM, Antoine Pitrou wrote:

> Le mercredi 13 août 2008 à 18:33 -0400, Barry Warsaw a écrit :
>> Or to adopt tools that help improve reliability.  I'm not convinced
>> that the buildbots really do that.  A PQM-style approach, while more
>> of a pain for developers because of the serialized landings, would
>> definitely improve things, and there's not nearly as much
>> infrastructure involved to keep humming for old releases.  PQM isn't
>> perfect, but I do believe it would help.
>
> What is a "PQM-style approach"?

PQM = Patch Queue Manager

Basically, it's a robot that controls commits to the trunk.  Nothing  
lands in the trunk without getting through PQM first.  PQM serializes  
changesets so that they must apply cleanly with no conflicts, and pass  
the entire test suite.  There could be other conditions, e.g. that it  
lints cleanly, has no whitespace issues, etc.

If any of the set of conditions fail, the changeset does not land.   
This means that the trunk is always in a releasable state, and we  
avoid the problems I run into all the time now, where we have red  
buildbots on or near release date.  I would dearly love to be able to  
spin a release at any time and have a high degree of confidence that  
what I'm releasing is stable.

There's a specific implementation of PQM based on the Bazaar revision  
control system, available here: https://edge.launchpad.net/pqm

PQM is not perfect, nor is it a perfect fit for us.  For example, we  
have buildbots that run on multiple platforms, while PQM runs on a  
single platform.  So a vanilla PQM could still miss changes that break  
only on a specific operating system.  It also doesn't help at all for  
bugs not covered by the test suite (well, buildbots don't help there  
either ;).

PQM also introduces delays on trunk landing because it serializes  
commits.  So when things get backed up, it might take a while for your  
branch to land on the trunk.

PQM wouldn't replace the buildbots, but it would greatly improve the  
quality of the development branches, IMO.  The buildbots would still  
be useful to ensure cross-platform quality.

- -Barry

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSKNoP3EjvBPtnXfVAQIrdwP+I9Cj7uBl+Ux9ioDd+Xc2KXCcF0hXRqpj
z4XfUdZeWlUQdUoNspj/mzl9Q/zVz4wyTUmmDV3nH9a5qd6vGAnFvOZHLwpipDE2
NYISJYVWlYp71ljANJ/sWoywAc8Lj/AaD2l532S8RC4JPf53MNlIyB3CtIpDq315
ZMqS3RSRP10=
=5qLh
-----END PGP SIGNATURE-----


More information about the python-committers mailing list