Caution
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 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 install, they will only ever have one ID.An instance of this class is available at
master.db.sourcestamps.ssidbranch(branch, orNonefor default branch)revision(revision, orNoneto indicate the latest revision, in which case this is a relative source stamp)patchid(ID of the patch)patch_body(body of the patch, orNone)patch_level(directory stripping level of the patch, orNone)patch_subdir(subdirectory in which to apply the patch, orNone)patch_author(author of the patch, orNone)patch_comment(comment for the patch, orNone)repository(repository containing the source; neverNone)project(project this source is for; neverNone)codebase(codebase this stamp is in; neverNone)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): - Parameters
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 (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
- Returns
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.
-
getSourceStamp(ssid)¶ - Parameters
ssid – sourcestamp to get
no_cache (boolean) – bypass cache and always fetch from database
- Returns
ssdict, or
None, via Deferred
Get an ssdict representing the given source stamp, or
Noneif no such source stamp exists.
-
getSourceStamps()¶ - Returns
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.
-
getSourceStampsForBuild(buildid)¶ - Parameters
buildid – build ID
- Returns
list of ssdict, via Deferred
Get sourcestamps related to a build.