info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help With Branch Management


From: Eric Siegerman
Subject: Re: Help With Branch Management
Date: Thu, 26 Jul 2001 14:48:52 -0400
User-agent: Mutt/1.2.5i

On Thu, Jul 26, 2001 at 09:23:52AM -0400, Jake Colman wrote:
> 1) How do I prediodically merge from the HEAD down to the branch so that my
>    branch is current with whatever else is happening?

> 2) How do I prediodically merge from the branch up to to the HEAD so that the
>    HEAD can see what I have been doing?

These are really the same question.  The answer is at
http://www.cvshome.org/docs/manual/cvs_5.html .  See especially the
sections:
        5.6 Merging an entire branch
        5.7 Merging from a branch several times

Be very liberal with your use of release tags (invent a
naming scheme to keep yourself from going nuts with all the
resulting tag names).  For a merge from a branch to the trunk, I
typically tag at least:
  - The branch, ie. for each file, the latest revision that will
    be brought across by the current merge (this is the tag
    referred to at the end of "Merging from a branch several
    times").
  - The trunk, *before* beginning the merge
  - The trunk, after the merge has been done, any conflicts
    resolved, and the results committed

The two trunk tags (more generally, tags on the destination
branch) are practically useful because they let you do
        cvs diff -rbefore -rafter
to see what the merge actually did.

A more important reason to religiously make these tags is that
CVS keeps no record of which which source-branch revisions
contributed to a given merge, or which destination-branch
revisions were the result of that merge (that is, in the diagrams
in the manual sections I've referred you to, the "***" lines are
purely conceptual; CVS does NOT keep track of them
automatically).  Your manually-created tags are your only record
of this crucial information.

(Sure, you can glean that info from a well-written commit-log
message, but doing so project-wide is a *lot* of mind-numbing
work for more than a few files.)

--

|  | /\
|-_|/  >   Eric Siegerman, Toronto, Ont.        address@hidden
|  |  /
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea.
        - RFC 1925 (quoting an unnamed source)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]