Opened 7 years ago

Closed 7 years ago

#2365 closed defect (fixed)

got_revision isn't properly set to a dictionary when codebases are used.

Reported by: tom.prince Owned by:
Priority: blocker Milestone: 0.8.7
Version: 0.8.6p1 Keywords: master-side-source-steps


Various pieces of code assume got_revision is set to a dictionary if codebases aren't used. But nowhere actually sets it properly.

Incidentally, commandComplete in base.Source should be moved to oldsource.

Change History (8)

comment:1 Changed 7 years ago by dustin

Looks like the docs need some updates, too. Notes about got_revision:

comment:2 Changed 7 years ago by dustin

To update the description - pieces assume got_revision is a dictionary if codebases *are* used. But it's only ever set absolutely to a single revision.

comment:3 Changed 7 years ago by pepsiman

I don't think things are as broken as your notes suggest.

getAbsoluteSourceStamp on SourceStamp? sets cloned.revision to got_revision, which won't work if it's a dictionary

getSourceStamps on BuildStatus doesn't call getAbsoluteSourceStamp with a dictionary.

Adding an assert should be sufficient.

fix source steps to read-modify-write

setProperty on Source does read-modify-write when codebases are in use.

comment:4 Changed 7 years ago by dustin

Two good points that I hadn't seen in my investigation - thanks!

I think I'll rename that setProperty to setSourceProperty, so it's clear what's going on.

comment:5 Changed 7 years ago by pepsiman


comment:6 Changed 7 years ago by dustin

Even better :)

comment:8 Changed 7 years ago by dustin

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.