Keeping man pages up-to-date between Go releases ================================================ A new Go release naturally comes with updated (and new) documentation, and it is important to keep at least existing man pages up-to-date so as not to present outdated or even incorrect information to the end users. To get an overview of the changes with Git: git diff upstream/1.18..upstream/1.19 src/cmd/go/alldocs.go (optionally, add "-w" flag to ignore whitespaces when necessary.) I also use something like the following quick-and-dirty commands to manually check for changes in existing man pages (non-comprehensive): oldver=1.18 newver=1.19 for manpage in man/go-*.?; do topic=$(echo $manpage | sed 's/^man\/go-//; s/\.[1-8]$//') echo -e "\n$manpage ======================================\n" for ver in $oldver $newver; do /usr/lib/go-$ver/bin/go help $topic &> /tmp/$ver-go-$topic done colordiff -u /tmp/$oldver-go-$topic /tmp/$newver-go-$topic done | less -R I then inspect the output, copy-and-paste the changes, and replace single quotes to \(oq or \(cq, prepend a backslash before a hyphen, etc. where necessary. Note that many "go help" commands and topics were added over the years and are missing man pages, such as: * go help generate * go help mod download * go help buildconstraints * ... However, given how labour-intensive this process is, and not knowing how to automate such man page updates, I am personally avoiding the creation of any more new man pages due to lack of time and energy. That said, if you are interested, please feel free to contribute! :-) Thank you! -- Anthony Fok Sat, 06 Aug 2022 12:50:00 -0600