Subversion Terminology
Last modified by Microchip on 2024/06/24 06:35
The following is a list of commonly used terminology used when working with Subversion. Please refer to the Subversion Book (svn-book.pdf) for more terminology.
Term | Definition |
---|---|
Subversion Client | Software run by a user to access a Subversion repository locally or on a Subversion server. |
Subversion Repository | Location where project files are stored. Contains the most recent version as well as past versions of the project. |
Project Tree | A single project tree contains folders for project management and version control. Typical folders are trunk, branches, tags. These folders are used to keep the working copy, development copy, and code releases or snapshots. |
Trunk | Contains the main project source for team development. Consists of code that can compile, even if it contains stubs for an undeveloped code. |
Branch | Split from the main trunk to allow for development. Branches allow development without disrupting the trunk. Branches can remain a separate development path or can be merged back to the trunk later in time. |
Tag | Snapshot of the project at an important point in time. Typically a software release version. |
Revision | Stored change in a file's state. Revisions are incremented during the commit process where changes are saved. |
Head | Latest revision of all project files in the project trunk, branch, or tag. |
Working Copy | Local copy of a project's source code checked out from the repository. |
Check-out | Creates a local working copy for development, testing, or release. Can be the project head, a specific revision, or a tag of the project. |
Update | Merges any changes that have been made in the repository into the local working copy. |
Commit | Checking in or writing any project changes from the local copy to the repository. |
Revert | Process of changing a file back to a previous version of itself. Can be used to resolve conflicts. |
Merge | Process of combining the changes made in a working copy of a file in a project to the repository that contains a more recent revision of the same file than what was checked out before modifying it. Typically used in when multiple developers are working on the same file to avoid losing other developers' changes. |
Conflict | Occurs when changes are made by different developers to the same file and the repository system is unable to reconcile the changes. Typically requires the files to be merged manually to resolve the conflict. |