doctools::cvs(n)

πŸ“¦
version 2.0 Β· 2 versions
, in fedora 43, fedora 44, nixos 26.05, nixpkgs unstable

πŸ’– doctools::cvs β€” the manual, but make it cute πŸ’–

okay so bestie, welcome to doctools::cvs(n), which lives under Documentation tools in the tcllib family. she processes text in cvs log format. that's the whole vibe. let's get into it πŸŽ€


✨ NAME ✨

doctools::cvs β€” Processing text in 'cvs log' format πŸ¦‹


🌸 SYNOPSIS 🌸

package require Tcl 8.5 9

package require textutil

package require doctools::cvs ?1.1?

::doctools::cvs::scanLog text evar cvar fvar

::doctools::cvs::toChangeLog evar cvar fvar

πŸ’… DESCRIPTION πŸ’…

so this package hands you Tcl commands for processing and reformatting text in the format that the cvs log command generates. that's it, that's the job. πŸ‘‘

and ngl, the commands ::doctools::cvs::scanLog and ::doctools::cvs::toChangeLog are derived from code found on the Tcl'ers Wiki at http://wiki.tcl.tk. check the references at the end of the page, iykyk. 🫢


⭐ API ⭐

🧚 ::doctools::cvs::scanLog text evar cvar fvar

this one takes text and parses it, assuming it's holding a CVS log as generated by cvs log. the resulting info gets stashed in the variables whose names you passed in through evar, cvar, and fvar. πŸ“

here's the cute part: any info already existing in the referenced variables is preserved, so you (the caller) can merge data from multiple logs into one database. iconic behaviour, honestly.

  • varname evar (in) β€” this one has to refer to a scalar variable. after the call, this variable will contain a list of all the entries found in the log file. an entry is identified through the combination of date and author, and can be split over multiple physical entries β€” one per touched file. heads up bestie: the entries are listed in the same order as they were found in the text. this is not necessarily sorted by date or author, so don't come for me. each item in the list is a list with two elements: the date of the entry, and its author, in this order. the date is formatted as year/month/day. πŸ’œ
  • varname cvar (in) β€” this one has to refer to an array variable. the keys are strings containing the date and author of log entries, in this order, separated by a comma. the values are lists of comments made for the entry. πŸŽ€
  • varname fvar (in) β€” this one has to refer to an array variable. the keys are strings containing date, author of a log entry, and a comment for that entry, in this order, separated by commas. the values are lists of the files the entry is touching. 🌈

πŸ”₯ ::doctools::cvs::toChangeLog evar cvar fvar

the three arguments here are the same as the last three arguments of ::doctools::cvs::scanLog. plot twist though: this command expects them to be filled with information about one or more logs. it takes that info and converts it into a text in the format of a ChangeLog as accepted and generated by emacs. πŸ“ and the constructed text is returned as the result of the command. slay.


😭 BUGS, IDEAS, FEEDBACK 😭

not me having to say this, but: this document, and the package it describes, will undoubtedly contain bugs and other problems. πŸ’€

please report such in the category doctools of the Tcllib Trackers at http://core.tcl.tk/tcllib/reportlist. and please also report any ideas for enhancements you may have for either the package and/or the documentation. we want them fr fr. πŸ™ˆ

when proposing code changes, please provide unified diffs, i.e. the output of diff -u. no cap.

also note further that attachments are strongly preferred over inlined patches. attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar. 🫑

πŸ‘‘ SEE ALSO πŸ‘‘


πŸ¦‹ KEYWORDS πŸ¦‹

changelog, cvs, cvs log, emacs, log


🌸 CATEGORY 🌸

Documentation tools


Copyright (c) 2003-2008 Andreas Kupries <andreas_kupries@users.sourceforge.net>


okay that's the whole page bestie, you ate that. this was tcllib, version 1.1, and the page itself is doctools::cvs(n) β€” go forth and parse those logs, main character. πŸ’…βœ¨

πŸ“¦ where this page comes from