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.