Ticket #864 (closed defect: fixed)
Error on CVS repository update : None passed as revision
| Reported by: | GillesGagniard | Owned by: | catlee |
|---|---|---|---|
| Priority: | critical | Milestone: | 0.8.2 |
| Version: | 0.8.0 | Keywords: | cvs |
| Cc: |
Description
Upgrading from buildbot 0.7.12 to 0.8.0, a new issue appears with CVS support.
With a custom change source, I add changes to the task master this way :
for p in patches:
c = Change(who = pwho?, files = files, comments = pcommitlog?, branch = pbranch?) self.parent.addChange(c)
Changes appear on waterfall as expected (with a correct "Changed at" date), but when a scheduler starts a build, the revision passed to CVS is 'None' :
starting cvs operation /usr/bin/cvs -z3 update -dP -r HEAD -D None
in dir /data2/ngidelde/tools/build/buildbot/slave_97/apl_daily_project_full/ngi_1 (timeout 3600 secs) watching logfiles {} argv: ['/usr/bin/cvs', '-z3', 'update', '-dP', '-r', u'HEAD', '-D', 'None']
which obviously causes CVS to fail. In buildbot 0.7.12, the date used to be computed from the timestamps in changes. Did this behaviour changes in buildbot 0.8.0 ? How to tell the CVS build step which revision to use for update ?
Change History
comment:2 Changed 20 months ago by dustin
- Priority changed from major to critical
- Milestone changed from undecided to 0.8.1
comment:3 Changed 20 months ago by dustin
- Milestone changed from 0.8.2 to 0.8.1
This should get fixed in 0.8.1.
comment:4 Changed 20 months ago by bhearsum
- Milestone changed from 0.8.1 to 0.8.2
We ended up bumping up 0.8.1, this will get pushed to 0.8.2.
![[Buildbot Logo]](/chrome/site/header-text-transparent.png)
The problem lies in the constructor of SourceStamp? :
However, for changes coming from CVS, the revision attribute for changes is None, and thus
self.revision = str(changes[-1].revision)
is 'None', and not None. Since it is not None, the computeSourceRevision() method in the CVS buildstep is never called.