info-cvs
[Top][All Lists]
Advanced

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

Re: Help with tagging


From: Sergei Organov
Subject: Re: Help with tagging
Date: 19 Jul 2005 13:20:35 +0400
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)

"S I" <address@hidden> writes:

> Hi
> 
> I'm not sure what approach to take on this: I labeled or tagged the
> mainline on Friday for our release. Today I branched off successfully.
> However I found out that a file on Friday between my tagging and
> releasing had missed few revisions. i.e. the specific file on the
> mainline was at revision 1.368 when I tagged the tree but apparently
> there were couple of more checkins between my tagging and today's
> branching and the file on the mainline now is at revision 1.375. I
> need to bring revision 1.375 from mainline to the branch which
> currently has 1.368.

I'd suggest you to just create another (correct) branch from the tagged
revision and then forget your first branch has been ever created.

Suppose the name of your tag is "my-tag" and the the module is called
"my-module". Then, create new branch "my-new-branch" like this:

cvs rtag -r my-tag -b my-new-branch my-module

and use it for release patches instead.

In general, when I create a branch, I do it like this:

cvs tag -F ver-XX-branch-point
cvs tag -F -b ver-XX-branch
cvs tag -F ver-XX-merge-main-last
cvs tag -F ver-XX-merge-main-tmp

where all the commands are invoked in turn from the working directory
containing revision I want to branch from that has no local changes
w.r.t. repository.

The first tag is useful if I later wish to refer to the revision that
is the base of the branch.

The last two tags are used for merging. Merging is performed like this:

... change to a directory that contains ver-XX-branch ...
cvs tag -F ver-XX-merge-main-tmp
... change to a directory that contains working copy for main-line ...
cvs update -d -P -A
... if there are any local changes, either commit or undo them ...
cvs update -j ver-XX-merge-main-last -j ver-XX-merge-main-tmp
... resolve conflicts, compile, test, etc. ...
... commit the changes ...
cvs rtag -r ver-XX-merge-main-tmp -F ver-XX-merge-main-last module-name

This way the merge is correct every time even if others are committing to
the branch when I do merging.

-- 
Sergei.





reply via email to

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