doctools::cvs(n)
π 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 asyear/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 π
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
- fedora 43: tcllib 2.0-3.fc43 Β· TCL
- fedora 44: tcllib 2.0-4.fc44 Β· TCL
- nixos 26.05: tcllib 2.0
- nixpkgs unstable: tcllib 2.0
- Copyright (c) 2003-2008 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms