Login
Changes To home
Login

Changes to "home" between 2022-01-02 00:50:01 and 2022-02-21 13:41:10

22
23
24
25
26
27
28

29


30
31
32
33
34
35

36
37
38
39
40
41
42
22
23
24
25
26
27
28
29

30
31
32
33
34
35
36

37
38
39
40
41
42
43
44







+
-
+
+





-
+








[home-sgb]: https://wanderinghorse.net/home/stephan/
[home-fossil]: https://fossil-scm.org
[f-apps]: /doc/ckout/f-apps/

## Status, [](TODOs), and Whatnot

This library can currently be considered to be of beta quality. _What's there works_ (and is used for driving libfossil's own development) but is subject to change as experience reveals what those changes need to be. In other words: the library currently provides no API stability guarantees. libfossil has the same "safety-net" features as Fossil itself in order to avoid repository corruption and we are unaware of any cases where libfossil has been responsible for any repository-level damage.
All of this code is an <em>experiment</em>, and it does not represent a commitment by anyone. It is alpha quality. What's there works but is subject to change and there is still a great deal of the higher-level SCM bits left to port in and refactor to make them usable via library-style interfaces. Anyone looking for a project roadmap/timeline is asked respectfully to look elsewhere - there is no timebox on nor schedule for this project/experiment. That said: the [f-apps][] demonstrate what functionality is working.

**All of Fossil's core-most SCM features have been ported** over to libfossil, but several "nice-to-have" features, such as the stash and undo support, are pending (waiting only on someone to be interested enough in their lack to do the port/reimplementation). Anyone looking for a project roadmap/timeline is asked respectfully to look elsewhere - there is no timebox on nor schedule for this project/experiment. That said: the [f-apps][] demonstrate what functionality is working.

The code changes can be followed via [the timeline](/timeline).

The current public (and documented) API can be found in [the header files](/dir?name=include/fossil-scm), and occasionally that gets [exported to doxygen][doxygen-docs].

As of this writing (2021-11-01), libfossil is known to build and work on a variety of compilers on Intel-like (32- and 64-bit), ARM (32- and 64-bit), and SPARC64 platforms. The primary development systems are Linux on x86/64 and ARM (32- and 64-bit), but it also gets a good deal of BSD and Mac test exposure via [the fnc project][fnc].
As of this writing (2022-02-21), libfossil is known to build and work on a variety of compilers on Intel-like (32- and 64-bit), ARM (32- and 64-bit), and even SPARC64 platforms. The primary development systems are Linux on x86/64 and ARM (32- and 64-bit), but it also gets a good deal of BSD and Mac test exposure via [the fnc project][fnc].

As of December 2021, the library is far enough along that the [the library's provided client applications][f-apps] can be used for the majority of CLI-based "daily driver" fossil operations, e.g. merging, diffing, and checking in/out. The most significant outlier is that fossil is still required for network synchronization. (Note, however, that this project does not aim to replace the fossil web UI, and that interface provides many app-level features (as opposed to library-level ones) which will never be duplicated here.)


# "Rules" for Code Contributors

   *  When working on bits which themselves write to the repository, e.g. creating checkins, please be *exceedingly careful* not to corrupt the db :-D. The library has several layers of defense against the injection of problematic control artifacts, but still... be careful.