Subject: pkgsrc-base as point tag when importing considered harmful
To: None <tech-pkg@NetBSD.org>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-pkg
Date: 11/18/2005 11:04:14
The guide currently says:
$ cd .../pkgsrc/category/pkgname
$ cvs import pkgsrc/category/pkgname TNF pkgsrc-base
Recently I imported gqview-devel, not thinking to check that there
might have previously been a package of this name. I got a conflict
which confused me, but makes sense since there have been changes on
the head since the previous import. After wiz explained what was
going on, I:
checked out pkgsrc/graphics/gqview-devel, which was empty
did 'cvs log Makefile' to make sure I understood the situation
did 'cvs up -j pkgsrc-base:yesterday -j pkgsrc-base' to "merge" the
newly imported version.
did cvs commit
This is intrinsically awkward -- we're more or less misusing import.
There is no upstream distribution against which we're maintaining
local changes.
When I use cvs for tracking "third-party" software, I always use the
version or date as the point tag (pkgsrc-base in this case) for the
particular import. Using the date would have allowed using actual
tags rather than the imprecise and semantically fleeting
pkgsrc-base:yesterday, which is far safer in general and works even if
one doesn't merge for a few days.
So, I propose to change the guide to say
$ cvs import pkgsrc/category/pkgname TNF pkgsrc-yyyymmdd
This will make no difference in the vast majority of the cases, but
make merges like I did easier, and also avoid giving the incorrect
impression that there is some logical relationship among all the
imports that have been done.