br07.html #1

  • //
  • guest/
  • michael_roach/
  • perforce/
  • faq/
  • br07.html
  • View
  • Commits
  • Open Download .zip Download (2 KB)
<html>
<head>
<title>The Branching Papers -- Perforce FAQs</title>
<head>
<body bgcolor=#ffffff>
<font size=-2><b><a href="branching.html#br07">[INDEX]</a></b></font>
<p>
<b>
Why use branch views?
</b>
<blockquote>
The relationship of a branch view to a set of branched files
is a loose one. A branch
view basically serves as a mapping specification which
can be used for any <b>p4 integrate</b>
command that names that view. 
However, while branch views are ephemeral, actual integration
history is preserved forever.
<p>
Say I create a branch view called 'titan':
<pre>
    Branch: titan
    View:
	//depot/main/...  //depot/project_titan/...
</pre>
The branch view has no effect on any of the files in the depot. Whether
or not I even use the branch view is a matter of choice. This particular
view has such a simple mapping that I can skip the view and specify the
mapping directly on the <b>p4 integrate</b> command:
<pre>
    p4 integrate //depot/main/... //depot/project_titan/...
</pre>
which does exactly the same thing as
<pre>
    p4 integrate -b titan
</pre>
Where branch views really prove useful is when mappings get complex.
E.g., consider:
<pre>
    Branch: neptune
    View:
	 //depot/main/server/...  //depot/project_neptune/server/...
	 //depot/rel2.0/tools/...  //depot/project_neptune/tools/...
	 //depot/rel3.1/qa/...  //depot/project_neptune/qa/...
</pre>
This sets up a handy mapping for the 'neptune' development project.
Using this branch view, you can merge all the changes you need into
project_neptune using one command instead of three. That is, you can
do:
<pre>
    p4 integrate -b neptune
</pre>
instead of:
<pre>
    p4 integrate //depot/main/server/...  //depot/project_neptune/server/...
    p4 integrate //depot/rel2.0/tools/...  //depot/project_neptune/tools/...
    p4 integrate //depot/rel3.1/qa/...  //depot/project_neptune/qa/...
</pre>
When you delete a branch view, you lose none of data about what changes
got integrated from which file to which. What you lose is the shorthand
for specifying that info. For example, if I do:
<pre>
    p4 branch -d neptune
</pre>
The 'neptune' branch view disappears from the Perforce database, but all the
//depot/project_neptune files remain. 

</blockquote>

<p>
<i>(April 1998)</i>
</p>
<font size=-2><b><a href="branching.html#br07">[INDEX]</a></b></font>

<hr>
<h6>This is file $Id: //guest/michael_roach/perforce/faq/br07.html#1 $ in the 
<a href="http://public.perforce.com/public/index.html">Perforce Public Depot</a></h6>
</body>
</html>
# Change User Description Committed
#1 1424 Michael Roach Creating initial guest branch of perforce\faq\...
//public/perforce/faq/br07.html
#1 112 Laura Wingerd Publish "Branching FAQ"
(pull in changes from //guest/laura_wingerd/perforce/faq/... )
//guest/laura_wingerd/perforce/faq/br07.html
#1 83 Laura Wingerd The Branching Papers.