The revision is the hash identifier returned by hg identify. The source Step is configured with a static repourl which specifies the location of the repository.īranches are configured with the defaultBranch argument. Mercurial follows a decentralized model, and each repository can have several branches and tags. Subversion’s revision number, but the patch-reordering flexibility of Darcs makes it impossible to provide a shorter useful specification). Instead of a revision number, each build can have a context, which is a string that records all the patches that are present in a given tree (this is the output of darcs changes -context, and is considerably less concise than, e.g. If branches are being used, the source Step is instead configured with a baseURL and a defaultBranch, and the two strings are simply concatenated together to obtain the repository’s URL.Įach build then has a specific branch which replaces defaultBranch, or just uses the default one. Multiple branches are implemented by using multiple repositories (possibly living on the same server).īuilders which use Darcs therefore have a static repourl which specifies the location of the repository. The worker will then pull the latest patches from that repository and build them. In Darcs, each working directory is also a repository, and there are operations to push and pull patches from one of these repositories to another.įor the Buildbot’s purposes, all you need to do is specify the URL of a repository that you want to build from. The repoURL argument provides the location of the repository.īranches are expressed as subdirectories of the main central repository, which means that if branches are being used, the BZR step is given a baseURL and defaultBranch instead of getting the repoURL argument.ĭarcs doesn’t really have the notion of a single master repository. None of these matter to the buildbot: the repository URL just has to match the kind of server being used. Higher performance can be obtained by running a special Bazaar-specific server. The most common way to obtain read-only access to a bzr tree is via HTTP, simply by making the repository visible through a web server like Apache.īzr can also use FTP and SFTP servers, if the worker process has sufficient privileges to access them. When branches are used, the p4base and defaultBranch are concatenated together to produce the depot path.īzr (which is a descendant of Arch/Bazaar, and is frequently referred to as “Bazaar”) has the same sort of repository-vs-workspace model as Arch, but the repository data can either be stored inside the working directory or kept elsewhere (either on the same machine or on an entirely different machine).įor the purposes of Buildbot (which never commits changes), the repository is specified with a URL and a revision number. Module and branch are specified in a single depot path, and revisions are depot-wide. The server is specified through a P4PORT parameter. The baseURL and branch are simply concatenated together to derive the repourl to use for the checkout. When branches are used, the repository and module form a static baseURL, while each build has a revision number and a branch (which defaults to a statically-specified defaultBranch). Within that scope, source checkouts can be specified by a numeric revision number (a repository-wide monotonically-increasing marker, such that each transaction that changes the repository is indexed by a different revision number), or a revision timestamp. Subversion combines the repository, module, and branch into a single Subversion URL parameter. These parameters collectively specify a set of sources from which a build may be performed. In addition to those, each build uses a timestamp (or omits the timestamp to mean the latest) and branch tag (which defaults to HEAD). How Different VC Systems Specify Sources ¶įor CVS, the static specifications are repository and module. This concept does not map perfectly to every version control system.įor example, for CVS, Buildbot must guess that version updates made to multiple files within a short time represent a single change.Ĭhanges can be provided by a variety of ChangeSource types, although any given project will typically have only a single ChangeSource active.Ģ.5.3.1. This usually happens as one of the first steps in a Build. It contains just enough information needed to acquire specific version of the tree when needed. These change sources fall broadly into two categories: pollers which periodically check the repository for updates and hooks, where the repository is configured to notify Buildbot whenever an update occurs.Ī Change is an abstract way that Buildbot uses to represent changes in any of the Version Control Systems it supports. A change source is the mechanism which is used by Buildbot to get information about new changes in a repository maintained by a Version Control System.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |