Subject: Bug#1081331: /usr/share/man/man1/cvs.1.gz: some commands missing from headings?

From: Thorsten Glaser <[email-masked]>
Date: Tue, 10 Sep 2024 22:16:16 +0200 (CEST)

Hi наб,

>Quoth cvs(1):

the manpage is autogenerated from *parts* of the
texinfo source, using arcane and weird scripts.

>  suck, update, server & pserver, CVS commands
>     suck‒Download RCS ,v file raw
>          suck module/pa/th
>         [...]
>
>  update, , suck, CVS commands
>     update‒Bring work tree in sync with repository
>          update [-ACdflPpR] [-I name] [-j rev [-j rev]] [-k kflag] [-r tag[:date] | -D date] [-W spec] files...
>         [...]

Ouch!

I suppose the scripts don’t deal well with some of the
texinfo-level bugfixes I had to do.

New:

release, server & pserver, rdiff, CVS commands
   release—Indicate that a directory is no longer in use
       • release [-d] directories...

Old:

release
   Indicate that a directory is no longer in use
       • release [-d] directories...

So it’s “only” the subsection heading cleanup that needs
some love.

The corresponding texinfo part looks:

@node release, server & pserver, rdiff, CVS commands
@appendixsec release---Indicate that a directory is no longer in use

doc/mkman.pl (which also probably needs to have all those
"See node \\(aq$content\\(aq in the CVS manual" replaced with
"See node \\(aq$content\\(aq in cvs(GNU)" for the HTML-level
links to work… hmm…) does:

# Chapter headers.
$last_header = $1 if s/^\@node\s+(.*)$/.SH "$1"/;
if (/^\@appendix\w*\s+(.*)$/)
{
	[…]

I believe replacing the two (.*) with (.*?)(,.*)? or so
ought to do (most of) the trick… though… the old code had…

@node release
@appendixsec release---Indicate that a directory is no longer in use

… hmm, ah okay, the --- is converted to \(em and the Perl
code matches with ^$last_header so that’s not correct… so
it probably suffices to change the first (.*) RE for this
to work again.

However.

It’s widely known that the generation process for the manpage
is problematic, and that the result is missing some basic-ish
information. I’d rather write a small -mdoc replacement but
haven’t gotten around to actually doing so, and the Cederqvist
is basically always needed to get the full docs. You *will*
find more things like that, should you wish to dig deeper in
the manpage.

Small fixes like this one are easy enough, but I don’t have
the capacity to fix it all…

I suggest to just read the texinfo page (or its rendered
versions as per /usr/share/doc-base/cvs-doc* registrations)
and blame RMS or something. (Though the actual content of
it is an actual book, not the “usual” GNU texinfo-format
fare ☻ and there’s a PDF.)

Of course you can also just throw CVS questions into my
general direction, like you already did on Fedi.

Good luck,
//mirabilos
-- 
13:22⎜«neurodamage» mira, what's up man? I have a CVS question for you in #cvs
13:22⎜«neurodamage» since you're so good w. it │ «neurodamage:#cvs» i love you
13:28⎜«neurodamage:#cvs» you're a handy guy to have around for systems stuff ☺
16:06⎜<Draget:#cvs> Thank god I found you =)   20:03│«bioe007:#cvs» mira2k: ty
17:14⎜<ldiain:#cvs> Thanks big help you are :-)   <bioe007> mira|nwt: ty again
18:35⎜«alturiak:#cvs» mirabilos: aw, nice. thanks :o
18:36⎜«ThunderChicken:#cvs» mirabilos FTW!  23:03⎜«mithraic:#cvs» aaah. thanks
18:41⎜«alturiak:#cvs» phew. thanks a bunch, guys. you just made my weekend :-)
18:10⎜«sumit:#cvs» mirabilos: oh ok.. thanks for that
21:57⎜<bhuey:#cvs> yeah, I really appreciate help
18:50⎜«grndlvl:#cvs» thankyou            18:50⎜«grndlvl:#cvs» worked perfectly
20:50⎜<paolo:#cvs> i see. mirabilos, thnks for your support
00:36⎜«halirutan:#cvs» ok, the obvious way:-) thx
18:44⎜«arcfide:#cvs» mirabilos, I am running OpenBSD.     18:59⎜«arcfide:#cvs»
Hrm, yes, I see what you mean. 19:01⎜«arcfide:#cvs» Yeah, thanks for the help.
21:33⎜«CardinalFang:#cvs» Ugh.  Okay.  Sorry for the dumb question.  Thank you
21:34⎜<centosian:#cvs> mirabilos: whoa that's sweet
21:52⎜«garrett__:#cvs» much appreciated  «garrett__:#cvs» thanks for your time
23:39⎜<symons:#cvs> this worked, thank you very much 16:26⎜<schweizer:#cvs> ok
thx, i'll try that     20:00⎜«stableable:#cvs» Thank you.    20:50⎜«s833:#cvs»
mirabilos: thanks a lot.        19:34⎜<bobbytek:#cvs> Thanks for confirming :)
20:08⎜<tsolox:#cvs> ...works like a charm.. thanks mirabilos