info-cvs
[Top][All Lists]
Advanced

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

Starting New Repository - Vendor Branch - Bug/Feature? (was: CVS IMPORT


From: Spencer L. Swift
Subject: Starting New Repository - Vendor Branch - Bug/Feature? (was: CVS IMPORT Help)
Date: Mon, 30 Oct 2000 22:12:31 GMT

The following message is a courtesy copy of an article
that has been posted to gnu.cvs.help as well.

"Fred W." <address@hidden> writes:

> Prior to making changes I want to tag the current version as 'REL_1_0 '
> . Assume I only have one file 'test.txt'. When I look at the log it
> shows the tag on 1.1.1.1 of the file. How can I tag version 1.1?


I have a related question that I think will answer and clarify the
above.

I am a fairly experienced CVS user, but only recently understood the
basic concept behind the Vendor Tag/Branch and the main trunk when you
first import an existing set of source files.  In effect, the initial
Vendor Tag specifies a branch with revision number 1.1.1 containing
files all of revision 1.1.1.1.  These are IDENTICAL to the initial
files (all at revision 1.1) on the main trunk.

My question concerns the information returned by "status" after the
first checkout of a newly created repository.

In another directory and shell, I created a new reposity with:

lonestar(349)$ cvs -d address@hidden:/Repository import -m "Import of the Gent 
Cane Ocean Model" Applications/Gent_Cane code970 GentCane_v1.  

I then checked out the first copy of the new repository (against which
no changes have made yet).  The files should be on the main trunk and
there should be one branch and tag for the vendor branch.  If I do a
"status" on any of the files, I see output like this:


lonestar(11)$ cvs status -v wdrivn.f 
===================================================================
File: wdrivn.f          Status: Up-to-date

   Working revision:    1.1.1.1
   Repository revision: 1.1.1.1 
/Repository/Applications/Gent_Cane/src/wdrivn.f,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)

   Existing Tags:
        GentCane_v1                     (revision: 1.1.1.1)
        code970                         (branch: 1.1.1)


Why does CVS report that my working revision is 1.1.1.1?  Is that a
bug or a feature?  Shouldn't it say 1.1?  I understand (I believe
correctly) that there is no text difference between the files at
revision 1.1 and 1.1.1.1, but it would seem more clear and accurate to
report that my working files are on the trunk, since that appears to
be where any modifications I make will be placed.

My CVS version is 1.10 under IRIX 6.5.7f.  A quick check with CVS 1.11
on the same system shows the same behavior.  The repository was
created with CVS 1.10.

Now if I modify a file and check it in, I see behavior like I expect:

lonestar(12)$ cvs update
cvs server: Updating .
M wdrivn.f

lonestar(13)$ cvs ci -m "Test of vendor branching function" wdrivn.f 
Checking in wdrivn.f;
/Repository/Applications/Gent_Cane/src/wdrivn.f,v  <--  wdrivn.f
new revision: 1.2; previous revision: 1.1
done
lonestar(15)$ cvs status -v wdrivn.f 
===================================================================
File: wdrivn.f          Status: Up-to-date

   Working revision:    1.2
   Repository revision: 1.2     
/Repository/Applications/Gent_Cane/src/wdrivn.f,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)

   Existing Tags:
        GentCane_v1                     (revision: 1.1.1.1)
        code970                         (branch: 1.1.1)





The new revision is 1.2 (on the main trunk) as I expect and want.
However, note that the output says the previous revision was 1.1!
There were no intervening commands issued here, so why does the
"status" report and the "check in" not report the same version
information?  That seems like a small bug to me.  But it did make me
pause and investigate for a day because I thought the repository had a
problem. 

Perusing the FAQ included in v. 1.11, I found this comment discussing
the differences between RCS and CVS branches:

"Only CVS moves the RCS default branch on first commit."

If this means the above situation is a feature, I think it is worth
noting in the Info file discussion of branches and importing to avoid
confusing users.



I believe this suggests the answer to the original post is that if he
makes a tag on the working version of his files, it will be applied to
the trunk and not the vendor branch.  I did not test this, it is just
an hypothesis.


Any comments would be appreciated.


Spencer

--------------------------------          ______                      
Spencer Swift (address@hidden)            /  ___/\                         
Silicon Graphics, Inc.                  /___  /\/______               
NASA/GSFC, Building 28, Rm. S230       /_____/ //  ___/\                     
Code 931                               \_____\//  /  /\/______               
Greenbelt, MD 20771                           /_____/ //_  __/\              
                                              \_____\/_\/ /__\/              
WK: (301) 286-2829                                   /_____/\                
FAX (301) 286-1634                                   \_____\/                
--------------------------------



reply via email to

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