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
revision
of 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
.ssid
branch
(branch, orNone
for default branch)revision
(revision, orNone
to 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_at
is 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
None
if 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.