Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Sep 2016 22:02:15 -0700
From:      Doug Hardie <doug@mail.sermon-archive.info>
To:        David Christensen <dpchrist@holgerdanske.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: cvs
Message-ID:  <17E1B6D8-4BC6-4698-8E5C-7EFF7CD7E31F@mail.sermon-archive.info>
In-Reply-To: <23c8bfcb-5112-accb-6607-3448104d5a0f@holgerdanske.com>
References:  <6470061F-3127-4CD8-BB14-EB46D46B0BF1@mail.sermon-archive.info> <23c8bfcb-5112-accb-6607-3448104d5a0f@holgerdanske.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 28 September 2016, at 20:38, David Christensen =
<dpchrist@holgerdanske.com> wrote:
>=20
> On 09/28/2016 06:06 PM, Doug Hardie wrote:
>> I am using cvs for a number of projects and have been digging through =
the documentation, but not figuring out how to do what I need.  There =
are multiple files in each project.  All are entered into cvs and are =
updated fairly often.  Some of the revision numbers are over 100.  All I =
have done is commits to the files so far. =20
>>=20
>> I need to be able to identify the files in a specific version.  For =
example on some date, I need to say all the current files belong to =
version x.  Later another version x+1 and so forth.  I also need to be =
able to pull out all the file from version x.  I suspect there is an =
easy way to do this, but it has escaped me so far.
>=20
> CVS manages revision numbers on individual files.  Some version =
control
> systems manage version numbers on sets of files (Git, Mercurial?).
> Still others number both individual files and sets of files (MKS SI).
>=20
>=20
> But, CVS provides "tags" for working with sets of files:
>=20
>    info cvs
>=20
>    cvs --help tag
>=20
>=20
> You can see the tags on a particular file with:
>=20
>    cvs log FILENAME
>=20
>=20
> When I want to create a release of one of my projects, say revision
> 1.108, I check in all the files and then run:
>=20
>    cvs tag -c r1_108
>=20
> This applies the tag "r1_108" to the current revision of the files in
> the working set.  (The -c option ensures that they are checked in, to
> reduce operator errors.)
>=20
>=20
> If I later want to check out all the files from a particular release:
>=20
>    cvs co -r r1_108
>=20
> (Note that CVS will mark the files as "sticky", which adds =
complexities
> I avoid by not editing them.)
>=20
>=20
> CVS also has the ability to check out files by date, but I have never
> tried that.  If your files don't have tags, perhaps you can check them
> out by date and then add tags.  Be sure to back up your CVS repository
> before mucking about.
>=20
>=20
> David
>=20
>=20
> p.s. I learned CVS from an earlier version of this book.  The current
> edition (3 e.) is available as a PDF download:
>=20
>    http://cvsbook.red-bean.com/

Thank you for the detailed response.  It makes sense now.  I am in the =
middle of working my way through that book.  I should have asked about =
this years ago.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?17E1B6D8-4BC6-4698-8E5C-7EFF7CD7E31F>