info-cvs
[Top][All Lists]
Advanced

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

Re: Documentation suggested to clearer state restrictions to merging r


From: Derek R. Price
Subject: Re: Documentation suggested to clearer state restrictions to merging removed files
Date: Thu, 30 Nov 2000 12:19:02 -0500

Assuming you put the fix in to interpret the symtag after CVS had already
obtained a list of files, it shouldn't.  The problem mentioned below stems from
the fact that a file removed before a tagging doesn't contain the new static
tag as follows:

    touch file1 file2
    cvs add file1 file2
    cvs ci -madd
    cvs tag -b br
    cvs up -rbr
    cvs rm -f file2
    cvs ci -mrm
    cvs tag br_static

Now file1 will contain the br_static tag and not file2.

What happens when an 'update -jtag' is attempted is that CVS finds all of the
files containing tag, finds their origin, and merges the changes.  Since file2
only contains the branch tag and not the static tag, it will be removed for an
'cvs update -A -jbr' and not for an 'cvs update -A -jbr_static'.

Anyway, what I'm getting at is that the tag command uses the list of files in
the workspace to determine what to tag so the static tag is missing in this
case even though the branch tag is present and this is correct behavior.  I
think that since your code probably isn't going to do anything to a file that
CVS didn't already find and which contains the branch tag which isn't missing,
there shouldn't be any problems.

???

Derek

--
Derek Price                      CVS Solutions Architect ( http://CVSHome.org )
mailto:address@hidden     OpenAvenue ( http://OpenAvenue.com )
--
I cannot live without books.

                        - Thomas Jefferson

"Cameron, Steve" wrote:

> Hmm, this might have implcations for my ".origin" patch that I'll have to
> look into,
> if I didn't already consider it...
>
> http://www.geocities.com/dotslashstar/branch_patch.html
>
> -- steve
>
> Derek R. Price wrote:
>
>          [...]
> > Hmm.  You're right, and the culprit seems to be that 'cvs tag
> > tag_on_branch'
> > run on the branch skips dead files (intentionally), so when a merge is
> > attempted from a single static tag, only changes in files containing the
> > tag
> > are noticed and merged.
> >
> > Comments on the following addition to the "update options" node?
> >
> >  revision which the working directory is based on, and
> >  the revision specified in the @samp{-j} option.
> >
> > +Note that using a single @samp{-j TAGNAME} option rather than
> > address@hidden BRANCHNAME} to merge changes from a branch will
> > +often not remove files which were removed on the branch since the dead
> > +revisions do not contain the static tag.  Use the branch tag to merge all
> > +changes on the branch or use two static tags as merge endpoints to be
> > sure
> > +all intended changes are propagated in the merge.
> >
> >  In addition, each @samp{-j} option can contain an optional
> >  date specification which, when used with branches, can
> >
> > Derek
>         [...]




reply via email to

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