maphew

Fossil notes

February 25, 2023

Entering commit messages with an editor

Notepad++ doesn't work as it doesn't know how to have fossil wait until the file is saved and closed. However Visual Studio Code does:

fossil setting editor "code -n -w"

-n = new window
-w = wait

From < https://fossil-scm.org/forum/forumpost/a8417745312e5a174079dbbdfeace96b95c63353078b01d56712f16b3c40f4f9>

 

Wiki vs Embedded Docs vs Technotes

Sort Fossil HQ wiki pages by date, and compare with www files (embedded docs) by date.

From the rate of recent edits in each it's clear that for the Fossil development team docs are more useful or at least more convenient than wiki pages. Consequently over time we can reasonably expect to see that doc features will be improved more and more relative to wiki. Therefore a user who wishes to swim downstream with the most current at their back should choose embedded docs.

 

Requirements for a blog:

  1. A way to browse posts in a fixed (chronological) order and read posts by clicking somewhere obvious;

  2. an RSS feed that contains links to the blog posts, if not the full text of the posts themselves.

Two big problems with using the forum as a blog: 1) there's no RSS feed for new posts, 2) the listing of forum posts gets reordered with every new comment. I like the idea of using the forum as the discussion vehicle for actual blog posts though.

But with tech notes, Fossil is already close to being a great blogging option. It would need only two changes:

  1. There is an RSS feed, but the links given by /timeline.rss?y=e are links to raw artifacts (/info/<artifact-hash>) which have no formatting. An RSS feed for a blog served as Fossil tech notes should use /technote/<artifact-hash> instead. (Ideally in addition to several other minor changes in presentation...)

  2. The only way to browse through posts is the timeline, and in the timeline you can’t click on the titles of the tech notes to read them. The user would have to instead know to click on the small, shortened hash. This is unfriendly enough that I think it would drive away many typical readers, even those that are otherwise pretty savvy. I understand that the historical reason for this is that the "timeline comment" for tech notes might contain links to check-ins etc. Ideally there would be a separate (simple, style-able) view for tech notes where the entire "timeline comment" is just hyperlinked to the tech note itself.

With these changes, you could have a blog in your repo that anyone who found it would recognize as a blog and intuitively use as a blog. The blog would get all the benefits of Fossil: being stored in an open format in a single file with no RDBMS needed, served by a single fat binary. Many developers, myself included, enjoy writing about their work as they go. Like docs and tickets and forums, I think this writing should be part of the SCM system and it should be useable as a blog by anyone who has ever read a blog.

I started work on #1 a year ago but haven't gotten very far.

You could work around #2 by creating a manual listing of tech notes on, say, a wiki page, but this would be drudge work.

Finally you could get discussion functionality right now by just creating tech notes and forum posts in pairs and adding links at each one to the other. But some automation of this would be fun to have as well.

From < https://fossil-scm.org/forum/forumpost/d4f7acc0b300cfa8311dffb56210706468a59f376a2ae7a6b86881e0827bba57>

A further problem with Technotes is that the naming is automatic and creates a hash like 'Technote_2328ac5', not like 'New wiki page' which has an interstitial prompt for the name.

...

I just discovered that /forumnew makes for a convenient user comments facility, as it can take two parameters to prefill content: title and content (example), making it really easy to ask for input from readers with minimal fuss.

From < https://fossil-scm.org/forum/info/18bb13de73c53fbd>

To reply to a post: /forumedit/?fpid=POST_HASH - example

From < https://fossil-scm.org/forum/info/18bb13de73c53fbd>

 

Size and Performance

periodically run:

fossil all repack

This will do lots of compression on all of your repositories. You could perhaps set up a cron job to do that once a week or something.

From <https://fossil-scm.org/forum/forumpost/fad9e3389a>