This is a long overdue announcement for a project I have been developing for a while.
fnc is an opinionated text-based user interface (TUI) for
Fossil. It is heavily inspired by tog, which I missed
after moving from git repositories for personal source control (via
got–a saner and much simpler Git-compatible VCS) to Fossil. If
tog, or even
tig (Git's TUI browser),
fnc is the Fossil
The goal is to provide a terminal alternative to
Complete coverage is not the objective–only the essential version control
ingredients–all the forum, wiki, and ticket bells and whistles are not in
scope. There was early consideration for a builtin Fossil chat interface, but
that should instead be a standalone program. Although still in alpha
fnc is more than suitable for daily use, and most existing
commands are likely stable. In addition,
fnc provides a couple features
considered essential by the author that are not available in Fossil (e.g.,
interactive stash and scope data in diff hunk headers).
fnc uses ncurses and
third party Fossil project–and is developed in close concert with the latter.
libfossil author, Stephan Beal, is one of Fossil's core developers, and
the library has been developed with the endorsement of Fossil's author–D.
Richard Hipp. It is very well documented, and makes developing third party
Fossil applications a breeze. Stephan is an excellent developer, but also
approachable and receptive to suggestions or feedback. Although
also still in alpha, the library has reached feature parity with Fossil's core
version control features. Notable omissions involve the ticket and wiki
subsystems, as well as support for stash and unversioned content. Nonetheless,
libfossil more than facilitates development of useful
Fossil applications. I highly recommend getting in touch with Stephan if you
have any ideas or plans to develop Fossil-related projects.
The target platform is OpenBSD, where
fnc is both
unveil(2)ed, and can be installed with
pkg_add fnc. macOS
is also supported, where
fnc is available via MacPorts with
port install fnc. In addition, Linux packages with Landlock support are
available; see the project site for the various package managers.
If interested, please visit the canonical site or read the documentation for further information!