fslt

Timeline
Login

Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

19 check-ins

2026-05-06
23:19
Add flag to specify repository file

Add the repository flag (--repository, -R) to specify a repository file
instead of attempting to use an open checkout. The usage mimics what
fossil accepts for the same command.

This seems like as good a time as any to introduce a Fossil type with
most repo-related functions becoming members to it. The main difficulty
is passing a Fossil object around during flag value validation and
command execution. Fortunately, it is possible to store the object as
metadata to the command with the necessary values (repository file and
branch) already parsed yet prior to validation of the values. This is
good because the branch cannot be validated without the repository file,
if there is one.

Change the validation of an open checkout from using the fossil
test-urlparser command to fossil sqlite3. The advantage is that the
sqlite3 command can verify if the repository file is valid or not along
with testing for an open checkout.

Add this flag to the Zsh script too. leaf check-in: c0cd654f65 user: sean tags: trunk

16:46
Restructure the project layout

Place the Go and Zsh applications into their own directories. Separate
the Go application into a cmd plus internal library structure. check-in: be39cb3b4d user: sean tags: trunk

02:35
Add a license (BSD-2-Clause) check-in: 652d2932d3 user: sean tags: trunk
2026-05-05
20:20
Fix grammar in README check-in: cac0848d38 user: sean tags: trunk
18:57
Remove example of git log in comment

The comment was only there for writing the Git style and not meant to
remain. check-in: 67c8038952 user: sean tags: trunk

18:55
Rename style functions to start with "style" check-in: 775b688390 user: sean tags: trunk
02:04
Fix default style to output with phases with space

Commit 7c63d5443b1c73c60eeef45ce99c0120e424b7cb0ca71d3cb54111863d9172f0
removed the spaced needed prior to outputting phases in the header. check-in: 403c111dfe user: sean tags: trunk

01:58
Use the standard escape sequence for Backspace

Instead of using the direct ASCII code (\x08), use the escape sequence
(\b) for Backspace. check-in: b3b38dffbb user: sean tags: trunk

01:57
Add git style

git style is not an exact match, but it looks pretty close to the
original. Unlike with subversion, the UUID will look correct. For git,
the UUID is shortened to 40 characters to match Git. Although
shortened, they are still much longer than the 10 characters for the
fossil timeline.

Differences:
- Phases
- Tags instead of branches check-in: 7c63d5443b user: sean tags: trunk

2026-05-04
23:22
Generate subversion line divider once

Generate at the start of the program instead of every iteration of the
timeline generation. check-in: 3dbf6ed18a user: sean tags: trunk

23:13
Add subversion style

Add style handling as command-line option: --style, -s
There are two styles now: default and subversion
The default style can be specified with "default" or if style is not
specified. The subversion style can be specified with "subversion" or
"svn".

It is not an exact match, but it looks pretty close to the original.
Switch to using a timestamp from the SQL query instead of have it be
converted. Go can perform a lot of magic with formatting using just a
UNIX timestamp.

Differences:
- Checkin UUID instead of revision number
- Phases
- Tags
- No commit message line count at end of header check-in: d10f85ec13 user: sean tags: trunk

20:10
Separate timeline presentation logic from main

Separate the logic used in presenting the timeline into its own function
that is called in a loop. This will allow for the user to change how
the timeline is presented from *forthcoming* named styles.

Switch to having the program shorten the queried UUID of a checkin to
allow the styles to decide on the length.

Redesign queryFossil() to be a function to solely make an SQL query to
Fossil. This is then called by a new function to query the timeline
records specifically as it did prior to the change. Now, additional
queries, like the call to get the full UUID of the checkout, can make
use of it.

Query to full UUID of the checkout to be able to match the checkout
against the timeline, which now contains the full UUID values. check-in: 46f29bf9cd user: sean tags: trunk

14:33
Change default number of entries to zero

It is difficult to guess how many entries a user would want, so default
to unlimited and let the user decide if a specific limit should be set
using -n. check-in: beeefc658a user: sean tags: trunk

2026-05-02
01:48
Add/update argument handling

Add argument handling to the Go client to specify the branch and limit
using the github.com/urfave/cli package.

The Zsh client already handled the limit, so just add the branch
argument. check-in: 009c0e2d1c user: sean tags: trunk

2026-04-30
23:19
Display newline after every checkin in timeline check-in: a0bfb7feeb user: sean tags: trunk
23:05
List differences between this tool and fossil

Explain a few differences between this tool and fossil timeline when it
comes to how the timeline appears. check-in: 0649b4d0f9 user: sean tags: trunk

16:55
Add a Go client modeled from the Zsh client

Update the README about the Go client and the reason why (speed). check-in: 59dac399ee user: sean tags: trunk

16:46
Commit first "Improved" Fossil Timeline client

This is a client that generates a timeline from Fossil yet preserves
separation between paragraphs that Fossil removes. check-in: c40a800b2b user: sean tags: trunk

16:41
initial empty check-in check-in: 2e03e7475b user: sean tags: trunk