FW: [cvsnt] Re: Regresssion and branches in the current sand box?
Siegfried Heintze
siegfried at heintze.com
Fri Oct 1 06:11:01 BST 2004
Oh -- I'm trying to answer my own question based on this old posting from
Glen I fished out of my mail folder.
I started with "cvs import -C -d -n -m initial test_and_examples". There was
no initial branch name. Is that my problem?
I edit, save changes, and commit with emacs.
So then I create the trunk by typing
"cvs tag trunk"
I made some changes and created a branch with the following command
"cvs tag -r trunk -b branch2"
I edit, save changes and commit.
Now I want to add revisions to the trunk. So I do (as per Glen's suggestion)
"cvs update -j HEAD -j trunk"
I make some changes and commit them.
Now I switch back to the branch
"cvs update -j HEAD -j branch2"
I get the message "Merging differences between 1.6 and 1.4 into
PseudoListBoxTest.cpp"
I don't want a merge! I want to switch!
I tried using "update -j HEAD -r trunk" but that does a merge too.
OK, now I see Bo's response to my other posting on this same subject.
So I try "cvs update -r branch2" but the comments in my source code indicate
I'm still in the trunk. What happened to branch2?
What is the difference between the "-j" and the "-r" in the update command?
I tried "cvs update -j HEAD -j 1.4.0.2" and that did a merge. Not what I
wanted.
Below is the result of "cvs log PseudoListBoxTest.cpp"
Thanks,
Siegfried
RCS file:
/CVSTest/tests_and_examples/PseudoListBoxTest/PseudoListBoxTest.cpp,v
Working file: PseudoListBoxTest.cpp
head: 1.7
branch:
locks: strict
access list:
symbolic names:
branch2: 1.4.0.2
trunk: 1.4
branch: 1.2.0.2
main: 1.2
keyword substitution: kv
total revisions: 7; selected revisions: 7
description:
----------------------------
revision 1.7
date: 2004/10/01 04:46:09; author: siegfried; state: Exp; lines: +3 -3;
kopt: kv; commitid: d4c415ce1110b0b; mergepoint: 1.4; filename:
PseudoListBoxTest.cpp;
modify the branch2
----------------------------
revision 1.6
date: 2004/10/01 04:34:50; author: siegfried; state: Exp; lines: +3 -3;
kopt: kv; commitid: 8c8415cde69025e; mergepoint: 1.4; filename:
PseudoListBoxTest.cpp;
Modify the trunk!
----------------------------
revision 1.5
date: 2004/10/01 04:29:56; author: siegfried; state: Exp; lines: +4 -4;
kopt: kv; commitid: 920415cdd447ea2; filename: PseudoListBoxTest.cpp;
define branch2
----------------------------
revision 1.4
date: 2004/10/01 04:26:42; author: siegfried; state: Exp; lines: +3 -3;
kopt: kv; commitid: 670415cdc817c25; filename: PseudoListBoxTest.cpp;
define trunk
----------------------------
revision 1.3
date: 2004/09/30 19:37:01; author: siegfried; state: Exp; lines: +5 -3;
kopt: kv; commitid: c10415c605d66c1; filename: PseudoListBoxTest.cpp;
Test branch?
----------------------------
revision 1.2
date: 2004/09/30 19:24:05; author: siegfried; state: Exp; lines: +4 -0;
kopt: kv; commitid: e98415c5d555cdb; filename: PseudoListBoxTest.cpp;
Test keywords
----------------------------
revision 1.1
date: 2004/09/23 04:50:08; author: siegfried; state: Exp;
initial
============================================================================
=
>
>
>-----Original Message-----
>From: cvsnt-bounces at cvsnt.org [mailto:cvsnt-bounces at cvsnt.org] On Behalf Of
Glen Starrett
>Sent: Monday, August 23, 2004 9:36 PM
>To: cvsnt at cvsnt.org
>Subject: [cvsnt] Re: Regresssion and branches in the current sand box?
>
>Siegfried Heintze wrote:
>
>> I get confused when I use
>>
>> cvs update -r <branch or revision>
>>
>> I get the files I want but when I try to edit and commit my changes, I
get
>> strange messages.
>>
>> I found I can recover with "cvs update -A", but then I get the most
recent
>> stuff again.
>>
>> What happens if
>> (1) my current revision of a certain file is 1.6 and I want to abandon
1.6
>> and 1.5 and start editing with 1.4 to create 1.7? What are the commands
for
>> this? Do I have to create a new sandbox?
>
>To revert the current version back to an older state:
>cvs up -j HEAD -j 1.4
>(the order of the -j's is important)
>
>>
>> I suppose I could use "cvs update -r 1.4", load this into the editor,
then
>> do "cvs update -A", then finish editing and write the contents of the
editor
>> buffer to disk and "cvs commit". Hmmm... It seems there should be a
better
>> way.
>
>Or just rename the old one:
>cvs up -r 1.4 foo.c
>mv foo.c foo.c.1.4
>cvs up -A
>cp foo.c.1.4 foo.c
>
>...or check it out to stdout and redirect it back onto the real file:
>cvs co -p foo.c > foo.c
>(I think that works, never tried it)
>
>>
>> (2) I have created a new branch and want to switch back and forth between
>> branches. After reading "Essential CVS", it looks like I have to check
out a
>> new sand box for each branch I want to edit. Is this correct?
>
>No, unless you want to edit them at the same time.
>cvs up -CAdP -r mybranch
>
>>
>> I was hoping it would just write the current branch to the current
>> directory.
>>
>> Incidentally, does "cvs update -r " accept a revision number or a branch?
It
>> looks like it does from the documentation.
>
>Both. Also a commit id, if you want to use one of those. Straight from
>"cvs -H up":
>
> -r rev Update using specified revision/tag (is sticky).
>
>
>>
>> I suppose I could always release the current sandbox, check out the other
>> sandbox in the same directory, edit it, commit, release and checkout the
>> first branch again. Hmm.....
>> Thanks,
>> Siegfried
>>
>
>
>--
>Glen Starrett
>_______________________________________________
>cvsnt mailing list
>cvsnt at cvsnt.org
>http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt
More information about the cvsnt
mailing list