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>