<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>What's a Branch?</title><link rel="stylesheet" href="styles.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><link rel="start" href="index.html" title="Version Control with Subversion" /><link rel="up" href="svn.branchmerge.html" title="Chapter 4. Branching and Merging" /><link rel="prev" href="svn.branchmerge.html" title="Chapter 4. Branching and Merging" /><link rel="next" href="svn.branchmerge.using.html" title="Using Branches" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">What's a Branch?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="svn.branchmerge.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Branching and Merging</th><td width="20%" align="right"> <a accesskey="n" href="svn.branchmerge.using.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="svn.branchmerge.whatis"></a>What's a Branch?</h2></div></div></div><p>Suppose it's your job to maintain a document for a division in your company, a handbook of some sort. One day a different division asks you for the same handbook, but with a few parts “<span class="quote">tweaked</span>” for them, since they do things slightly differently.</p><p>What do you do in this situation? You do the obvious thing: you make a second copy of your document, and begin maintaining the two copies separately. As each department asks you to make small changes, you incorporate them into one copy or the other.</p><p>You often want to make the same change to both copies. For example, if you discover a typo in the first copy, it's very likely that the same typo exists in the second copy. The two documents are almost the same, after all; they only differ in small, specific ways.</p><p>This is the basic concept of a <em class="firstterm">branch</em>—namely, a line of development that exists independently of another line, yet still shares a common history if you look far enough back in time. A branch always begins life as a copy of something, and moves on from there, generating its own history (see <a class="xref" href="svn.branchmerge.whatis.html#svn.branchmerge.whatis.dia-1" title="Figure 4.1. Branches of development">Figure 4.1, “Branches of development”</a>).</p><div class="figure"><a id="svn.branchmerge.whatis.dia-1"></a><p class="title"><b>Figure 4.1. Branches of development</b></p><div class="figure-contents"><div><img src="images/ch04dia1.png" alt="Branches of development" /></div></div></div><br class="figure-break" /><p>Subversion has commands to help you maintain parallel branches of your files and directories. It allows you to create branches by copying your data, and remembers that the copies are related to one another. It also helps you duplicate changes from one branch to another. Finally, it can make portions of your working copy reflect different branches, so that you can “<span class="quote">mix and match</span>” different lines of development in your daily work.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="svn.branchmerge.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="svn.branchmerge.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="svn.branchmerge.using.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 4. Branching and Merging </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Using Branches</td></tr></table></div></body></html>