From owner-freebsd-questions@freebsd.org Thu Sep 29 05:02:17 2016 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA9A5C00D9D for ; Thu, 29 Sep 2016 05:02:17 +0000 (UTC) (envelope-from doug@mail.sermon-archive.info) Received: from zoom.lafn.org (zoom.lafn.org [108.92.93.123]) by mx1.freebsd.org (Postfix) with ESMTP id A529E89D for ; Thu, 29 Sep 2016 05:02:17 +0000 (UTC) (envelope-from doug@mail.sermon-archive.info) Received: from [10.0.1.4] (unknown [71.177.216.148]) by zoom.lafn.org (Postfix) with ESMTPSA id 391DF34AE0A; Wed, 28 Sep 2016 22:02:16 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.0 \(3226\)) Subject: Re: cvs From: Doug Hardie In-Reply-To: <23c8bfcb-5112-accb-6607-3448104d5a0f@holgerdanske.com> Date: Wed, 28 Sep 2016 22:02:15 -0700 Cc: freebsd-questions@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <17E1B6D8-4BC6-4698-8E5C-7EFF7CD7E31F@mail.sermon-archive.info> References: <6470061F-3127-4CD8-BB14-EB46D46B0BF1@mail.sermon-archive.info> <23c8bfcb-5112-accb-6607-3448104d5a0f@holgerdanske.com> To: David Christensen X-Mailer: Apple Mail (2.3226) X-Virus-Scanned: clamav-milter 0.98 at zoom.lafn.org X-Virus-Status: Clean X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Sep 2016 05:02:17 -0000 > On 28 September 2016, at 20:38, David Christensen = 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.