At Wed, 14 Jan 2026 17:10:36 -0800, Elliott Mitchell <ehem+netbsd%m5p.com@localhost> wrote:
Subject: Re: does CVS officially support renames?
>
> > Of course fixing these bugs will no doubt perturb the hashes once more.
>
> Fixing this sort of issue is almost certainly a bad idea.
Not if it is done sooner rather than at the last minute!
> This would
> involve effort towards CVS. CVS's last official update was a decade ago.
> CVS is likely security swiss cheese at this point. Better to convert to
> anything else sooner than put effort towards CVS.
These bugs are not really in CVS as they can be avoided without changing
CVS. There's already a CVS config feature, "KeywordExpand" to control
whether specific keywords are expanded or not. In theory this probably
should have been set to just "KeywordExpand=iNetBSD" a long, long time
ago, i.e. immediately upon its appearance in the CVS used by NetBSD.
The bugs, and yes they are _BUGS_, are in the conversion process (I
don't think CVS is being used directly as part of the process).
Expecting stable output when expanding CVS' poison keywords in their
default manner is insane and yet we should/must expect the conversion
process to remain stable even as CVS continues to be used. The excuse
of needing the match the output of CVS is valid but there are several
other ways (e.g. a test export with '-ko', or careful use of
"KeywordExpand") to confirm all the really relevant output matches.
What I have called "poison keywords" should not _EVER_ be expanded
during the conversion process regardless of the use of KeywordExpand, at
least not to the same value CVS will (errantly) show.
Including the "/Attic" part of the pathname in the expansion was never a
good idea right from the beginning of its use (its existence is purely
an optimisation to the way CVS handles deleted files) and it should
_never_ have been exposed to the world in any way -- but I don't think
anybody at the time even conceived of something like Git or Mercurial or
Monotone, and so without any obvious reason to change it, it remained
the way of CVS.
That part of CVS is not worth fixing and it is definitely better to
convert to _anything_ else ASAP (not later)!
--
Greg A. Woods <gwoods%acm.org@localhost>
Kelowna, BC +1 250 762-7675 RoboHack <woods%robohack.ca@localhost>
Planix, Inc. <woods%planix.com@localhost> Avoncote Farms <woods%avoncote.ca@localhost>