Buildbot no longer supports Python 2.7 on the Buildbot master.
3.8.11. Source stamps connector
- class buildbot.db.sourcestamps.SourceStampsConnectorComponent
This class manages source stamps, as stored in the database. A source stamp uniquely identifies a particular version of a single codebase. Source stamps are identified by their ID. It is safe to use sourcestamp ID equality as a proxy for source stamp equality. For example, all builds of a particular version of a codebase will share the same sourcestamp ID. This equality does not extend to patches: two sourcestamps generated with exactly the same patch will have different IDs.
Relative source stamps have a
revisionof None, meaning “whatever the latest is when this sourcestamp is interpreted”. While such source stamps may correspond to a wide array of revisions over the lifetime of a Buildbot installation, they will only ever have one ID.
An instance of this class is available at
Sourcestamps are represented by dictionaries with the following keys:
Nonefor default branch)
Noneto indicate the latest revision, in which case this is a relative source stamp)
patchid(ID of the patch)
patch_body(body of the patch, or
patch_level(directory stripping level of the patch, or
patch_subdir(subdirectory in which to apply the patch, or
patch_author(author of the patch, or
patch_comment(comment for the patch, or
repository(repository containing the source; never
project(project this source is for; never
codebase(codebase this stamp is in; never
created_at(timestamp when this stamp was first created)
Note that the patch body is a bytestring, not a unicode string.
- findSourceStampId(branch=None, revision=Node, repository=None, project=None, patch_body=None, patch_level=None, patch_author=None, patch_comment=None, patch_subdir=None)
branch (unicode string or None) –
revision (unicode string or None) –
repository (unicode string or None) –
project (unicode string or None) –
codebase (unicode string (required)) –
patch_body (bytes or unicode string or None) – patch body
patch_level (integer or None) – patch level
patch_author (unicode string or None) – patch author
patch_comment (unicode string or None) – patch comment
patch_subdir (unicode string or None) – patch subdir
ssid, via Deferred
Create a new SourceStamp instance with the given attributes, or find an existing one. In either case, return its ssid. The arguments all have the same meaning as in an ssdict.
If a new SourceStamp is created, its
created_atis set to the current time.
ssid – sourcestamp to get
no_cache (boolean) – bypass cache and always fetch from database
None, via Deferred
Get an ssdict representing the given source stamp, or
Noneif no such source stamp exists.
list of ssdict, via Deferred
Get all sourcestamps in the database. You probably don’t want to do this! This method will be extended to allow appropriate filtering.
buildid – build ID
list of ssdict, via Deferred
Get sourcestamps related to a build.