Fossil Forum

Show all files in open leaves?
Login

Show all files in open leaves?

Show all files in open leaves?

(1) By patmaddox on 2024-02-16 06:34:40 [link] [source]

The code page has an "all" link which shows all files from any check-ins. I would like a similar view, but only for open leaves. i.e. for my "mistake" branch that I've shunted off and closed, those files should not appear. But any open branches would. Does the code page have a filter for that?

(2) By Stephan Beal (stephan) on 2024-02-16 12:16:40 in reply to 1 [source]

Does the code page have a filter for that?

It does not.

Generating the full list of all files across all checkins is trivial because fossil keeps a record of all filenames in the filename table (currently 1386 entries in fossil's own repo). What it doesn't keep in a convenient form in the db is a list of each file associated with each checkin, as retaining that list in the db would be tremendously expensive in terms of db records: one record per file per checkin, so more than 60M records for the sqlite repo and at least 17M records for fossil's own repo.

In order to fetch the list of files associated with a given checkin, fossil has to load and traverse that checkin's manifest. That's a relatively expensive operation for any moderately-sized repo (like fossil's own or sqlite's), and doing that for all open leaves would multiply that cost by the number of leaves: approximately 46 of them in fossil's own repo and approximately 350 in sqlite's repo(!!!1).

That's not to say that such a filter is impossible, or necessarily even difficult, but it would be slow and memory-heavy compared to most other fossil pages.


  1. ^ Reminder to self: look into what of that can be closed.