info-cvs
[Top][All Lists]
Advanced

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

Re: Help! Branch/attic mess


From: Mark D. Baushke
Subject: Re: Help! Branch/attic mess
Date: Thu, 03 Jun 2004 13:09:10 -0700

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

<address@hidden> writes:

> OK, but how does one get a project started without using import?  

A typical set of commands might be

  CVSROOT=/path/to/your/repository; export CVSROOT
  cvs init               # create the repository and the CVSROOT module
  cvs checkout -d top .  # checkout all of your modules
  cd top                 # go into the cvs sandbox
  mkdir new-module       # create a new directory
  cvs add new-module     # this will add the new directory to your repository
  cd new-module          # work in the new directory
  ...create file1, file2, file3, ... filen here as needed...
  cvs add file1 file2 file3 ... filen   # the files are marked for addition
  cvs commit                            # add the files to the repository
  ...
  ... in some other directory doing the command:
  ...
  cvs checkout new-module
  ...
  ... will checkout the files 'new-module/file1 new-module/file2
  ... new-module/file3 ... new-module/filen' files you previously 
  ... committed to the repository.

I hope this answers your question.

> The Cederqvist manual gives no other way to start a project besides
> using import (ch. 3). And going over all the commands listed with cvs
> --help-commands, I don't see any other command to start a project
> with.

The separate commands are given in the manual.

> BTW, what got me started looking into all this was trying to find some
> algorithm for determining the branch (if any) a given checked out
> revision belongs to, based on the info genertated by "cvs status -v".

You may find looking in the sources cvs-1.11.16/doc/RCSFILES of interest.

> As best as I can figure, this is the algorithm:
> 
>   remove the last period and everything that follows it from the
>   "Working revision"; call this the "branch revision"
> 
>   if there is a branch tag, among those listed under "Existing Tags"
>   corresponding to the branch revision, then the checked out revision
>   under consideration belongs to it.
> 
>   if not, the checked out revision belongs to no branch (i.e. it
>   belongs to the trunk).  (As far as I have seen, these cases
>   correspond to "branch revisions" with no periods in them.)
> 
> This algorithm is correct for all the cases I've checked, but I can't
> say whether it is correct in general.

The vendor branch is typically 1.1.1 there will always be an odd number
of digits in an RCS branch number.

A 'magic' cvs branch tag is of the form w.x.0.y where y is an even number.
A 'magic' cvs branch always has an even number of digits and the second to
last digit is zero and the last digit is an even number starting with 2.

The 'magic' cvs branch is 'lazy' in that it is not really going to take
any space in the RCS file other than the branch tag name until the first
commit of a version to the branch will be created with w.x.y.1 version
number.

A cvs version tag is of the form w.x or w.x.y.z (or u.v.w.x.y.z). There
will always be an even number of digits in a version number.

A verison is considered removed when the state has a 'dead' value.

        -- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQFAv4Vm3x41pRYZE/gRAgpRAJ9HmYl9x+5KLYAPIZV9XJLvnv6oLwCeO73N
GCPXrBjygr8zH62tNpiYOqY=
=W7YR
-----END PGP SIGNATURE-----




reply via email to

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