Author: Mark Janssen <[email protected]>
The Tcl TIP collection shall be moved to Fossil and the process of managing TIPs shall use Fossil as much as possible. The TIP format will be changed from a TIP-specific form to Markdown.
Triggered by some people having issues with changing content on current TIP website and discussion on the #tcl chat, I have experimented with fossil as a medium to host the Tcl TIP collection.
The current TIP storage and handling requires a lot of scripts that need to be maintained by the TCT and it is less open than it could be. There are also advantages to switching to Fossil in place of CVS.
Fossil has embedded Markdown rendering.
Fossil is already used to manage the Tcl and Tk sources.
TIP discussion and CFVs can be done and tracked using fossil tickets.
Fossil events could also track CFV's and Vote results
CVS is extremely vulnerable to problems with system administration on a single host. With a fossil-based system, it is much simpler to have multiple repositories.
Besides Fossil supporting Markdown out of the box, markdown is also better option for the future than the current format. The value of making up your own plain text format in this age is debatable (especially for the TIP requirements). Markdown has widely available options to convert to other formats without any need for the community to maintain the converters, and supports key extra features such as embedded images (which are important for some Tk TIPs, and never worked particularly well with the old TIP format).
Proposed URL for the new repository will be https://core.tcl-lang.org/tips
.htmlshould still show a rendered result. This could be redirected to core.tcl-lang.org/tips/doc/main/tip/ .md
tip.tcl.tk offers several converted formats (XML, *roff, ...). The fossil option will be to use the core.tcl-lang.org/tips/file/tip/
.md?downloadURL to get the raw Markdown downloads. For getting the other options one could convert the markdown source file using something like pandoc.
E-mail address are not hidden in the source and in the rendered result. If e-mail addresses need to be hidden there are two options
- Remove mails from source.
- Hide e-mails in fossil.
- Hide e-mails in the webhost.
Option 2. doesn't help much as the mails are still online in the raw markdown files. Option 1. loses information. Suggested is to leave the addresses untouched.
The Markdown tip format has one extension to standard Markdown:
Any TIP.md file will have a mandatory preamble starting with the title (for fossil rendering) and ending with a `------` on a single line. Between these parts there is tab indented meta information about the tip. (Tab indented so it renders nicer in fossil, 4 spaces would also work)
Example from :
# TIP 0: Tcl Core Team Basic Rules
There is a proof of concept conversion (with CVS history) at https://fossil.mpcjanssen.nl/tips
The scripts for the automatic conversion are at https://fossil.mpcjanssen.nl/tip-migration
This document has been placed in the public domain.