I wrote:

> Chris Deever wrote:
> 
> > Is there a way to check out a branch such that CVS retrieves the branch
> as
> > it was before any new changes were committed to it?  
        [...]

>  I have a patch to CVS that might help do what you want.
> 
> It's at http://www.geocities.com/dotslashstar/branch_patch.html
> 
        [...]
>  There might be one hitch though, I can't remember for sure.
> (I have to try this tonight to find out for sure).
> 
> The patch works by trying to find the first revision of each file on the
> branch.
> So if a branch is created, then files are added to the branch, those added
> files
> are counted as being part of the "origin" of the branch regardless of
> _when_ 
> they were added.  However, I do seem to remember that when adding files to
> a branch,
> a dead revision is added to the branch first, in which case this would
> work
> correctly, and my fears are unfounded. 
        [smc]  
        If I would read my own patch, I would see this:

        + 
        + Note: @samp{.trunk.origin} behaves slightly 
        + differently than @same{branchtag.origin} in that, for the trunk,
there
        + is no definitely tagged starting point.  Strictly speaking, one
might
        + consider the trunk to be "created" at the time the repository is 
        + initialized, and thus logically @samp{.trunk.origin} should refer
to the
        + empty set.  As it stands @samp{.trunk.origin} simply refers to the
earliest
        + revisions found on the trunk.  This means that, as time
progresses, 
        + @samp{.trunk.origin} will generally include more and more files,
as such
        + files are added to the trunk.  Note, this does NOT include files
which
        + are added to the trunk via a merge, since a merge will first
create
        + a dead revision on the trunk.  It does however include files which
are
        + simply "cvs added" to the trunk.  For branches, since there is a
definite
        + tagged starting point for the branch, files which are "cvs added"
to the
        + branch are not referenced by @samp{branchtag.origin}.
        + 

        which makes me beleive I already thought of this and that it does
        in fact behave correctly. 


Reply via email to