Definitions

Ancestor branch

Branch a baseline, snapshot, or workspace branch is created from.

Baseline branch

Public branch that all users can access. Changes made to the baseline branch affect everyone who accesses that branch.

Branches

A branch uses an existing repository, and the files in that repository, as a starting point to enable concurrent development. When a repository is branched, the files in both branches are initially identical. As file contents change, the branched files become dissimilar. Use branches when you need to make changes to source files without affecting the existing repository.

Branch security

You can override the server security and enable/disable file commands for a specific branch in a repository. The security you set only affects one branch in the selected repository.

Diff

The diff command opens a utility that lets you quickly see if there are differences between server files and files in your working directory.

Email triggers

Triggers that use a standard email template, which can be customized, to inform users when an event occurs to a file or a set of files. Each email template is stored with the trigger on the server.

File types

You can add text, binary, and Mac binary files to Surround SCM.

Keywords

Case sensitive placeholders that can be inserted into text files and expanded upon check in. Keywords cannot be expanded for binary files. The following keywords are supported:

$Author$ - Name of the user who checked in the last revision

$Date$ - Date and time of the last revision

$Header$ - File, Revision, Date, Author

$File$ - Unqualified name of the file

$Revision$ - Revision number

$Log$ - File history in RCS-style format

Labels

Used to mark a specific version of a file or repository. Assigning labels allows for easy identification of all components with the same label.

Mainline branch

The highest-level branch that contains all source files, labels, other branches, and repositories. All files saved to a specific Surround SCM server are stored in a corresponding mainline branch.

Merge

The merge command opens a utility that lets you easily merge changes between server files and files in your working directory. You can merge changes into a new file.

Pre-event triggers

Triggers that are run after a client requests a command but before the event is complete. These trigger types let a server script perform additional checks on a file before the event completes. Pre-event triggers are for validation and custom text entry.

Post-event triggers

Triggers that run after a command is successfully completed on the server. These triggers can either run a script or send email. Post-event triggers are for logging and synchronization.

Triggers can only be fired from events on files, no triggers exist for branch-level or repository-level events. Files can be specified with a wildcard or a regular expression search so one trigger can affect a group of files. Each trigger is run once per file that it is associated with. Triggers can attach to the following file events:

Promote

Updates the ancestor branch with changes made in the selected branch, repository, or file.

Rebase

Updates the selected branch, repository, or file with changes made in the ancestor branch.

Recursive

If this option is selected, the command is applied to a repository and all files and subrepositories of that repository. For example, recursive check in simultaneously checks in all files and subrepositories of the selected repository.

Repository

A collection of files and/or subrepositories that helps you organize Surround SCM. Repositories are generally mapped to a directory on your hard drive.

Repository security

You can override the server security and enable/disable file commands for a selected repository. The security you set affects all branches in the selected repository.

Server security

Server security applies to all repositories in the mainline branch. Many companies will only set this type of security.

Shadow folder

Contains a “reference copy” of the current files in a branch. Files are automatically updated when changes are checked in to Surround. Shadow folders can provide read-only access to non-Surround users or provide a central location to build releases from.

Snapshot branch

A static branch of a baseline or workspace branch that generally corresponds to a project milestone, such as a QA build or final release build. Most Surround SCM commands are disabled in snapshot branches.

Timestamp

The recorded date and time of an event.

Triggers

Enhance and expand Surround by letting you run a script or send an email before, or after, a specific event. Triggers can be used for notifications, validation, custom text entry, logging, and synchronization.

Working directory

The local path where Surround SCM files are stored and changes are made to them.

Workspace branch

A private branch that is created by an individual user. Other users are not affected by changes made because the work is being done in a private branch. When a user finishes making changes, changes can be promoted from the workspace branch to the baseline, or ancestor, branch. Changes can also be rebased from the baseline branch to a workspace branch.