update, freeze : dangers with bzr revno
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenERP buildout recipe |
Fix Released
|
High
|
Unassigned |
Bug Description
I was previously of the opinion that freezing on the revno was good enough, because that is unique per remote branch.
But this opinion neglected the fact that during a prokect's lifetime, the remote location may change. People at c2c where right to be over-cautious about this (they used bzr more that we do).
We've been bitten recently with a buildbot release builder issuing a bad tarball because of this
Problematic scenario:
* an addon has a fixed revision
* we rerun the build in place with change of remote branch
* buildout tries and update to the wanted revision without pulling (that's a worthwile feature in itself). In our case, it found an existing revision with specified revno and stopped there. If it had pulled, an error may have occurred (diverging branches, e.g.), which would have alerted the releaser, or actually triggered the clear-retry option to reconstruct the local branch from scratch.
Therefore :
* in case of change of remote location together with a revision specified by revno, the recipe should always pull.
* the freeze system must issue revids
Related branches
summary: |
- update, freeze : dangers with bzr revid + update, freeze : dangers with bzr revno |
Changed in anybox.recipe.openerp: | |
status: | Fix Committed → Fix Released |
Done ! This is a not-so-small change for a stable branch, but it's necessary to tackle such inconsistencies.
Please, people, test it a bit !