blob: ab763da09bf1857267d7858a688c40e4003fc20e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<title>Branches</title>
<meta name="keyword" content="team">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>Branches</H1>
<p>In CVS, teams share and integrate their ongoing work in <i>branches</i>. Think
of a branch as a shared work area that can be updated at any time by team members.
In this way, individuals can work on a team project, share their work with others
on the team, and access the work of others during all stages of the project.
The branch effectively represents the current shared state of the project.
</p>
<p>Resources can be changed in the Workbench without affecting the branch.
Individuals must explicitly provide their changed resources to the branch.
</p>
<p>Every CVS repository has at least one branch, referred to as HEAD. Under
certain conditions, more than one branch may exist in a repository. For
example, one branch may be for ongoing work, and another branch may be for maintenance
work.&nbsp; </p>
<p>As you make changes locally in your Workbench, you are working alone. When you are ready to make your local resource changes
available to other team members, you'll need to <i>commit</i> your work to
the branch. All such changes are classified as outgoing changes when you do a synchronization.
</p>
<p>Ideally, you should update your local workspace with any changes others have
made in a branch before committing to it. This ensures that you have the very
latest work from the other team members. After you have updated from the branch,
merged any conflicting changes in your local Workbench, and tested your changes
locally, you can more easily commit your Workbench's changes to the branch.</p>
<p>When you commit changes to the branch, your changes are copied from your local
Workbench to the branch. As a result, these changes are then seen as incoming
changes when other developers update from the branch later.</p>
<p><img border="0" src="../images/ngrelc.png" alt="Related concepts"><br>
<a href="concepts-26.htm">Team programming with CVS</a><br>
<a href="concepts-27c.htm">CVS Repositories</a><br>
<a href="concepts-30.htm">Synchronizing with a CVS repository</a>
</p>
<p><img border="0" src="../images/ngrelt.png" alt="Related tasks" ><br>
<a href="../tasks/tasks-92.htm">Creating a CVS repository location</a><br>
<a href="../tasks/tasks-96.htm"> Checking out a project from a CVS repository</a><br>
<a href="../tasks/tasks-117.htm">Sharing a new project using CVS</a><br>
<a href="../tasks/tasks-100a.htm">Branching</a><br>
<a href="../tasks/tasks-115.htm">Synchronizing with the repository</a><br>
<a href="../tasks/tasks-113.htm">Updating</a><br>
<a href="../tasks/tasks-114.htm">Committing</a><br>
<a href="../tasks/tasks-113b.htm">Resolving conflicts </a>
</p>
<p><img border="0" src="../images/ngrelr.png" alt="Related reference" ><br>
<a href="../reference/ref-47.htm">CVS</a><br>
<a href="../reference/ref-32.htm">CVS Repositories view</a>
</p>
</BODY>
</HTML>