1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
-
-
|
# libfossil Notable TODOs
This page gives a high-level overview of the notable TODOs, or perceived TODOs, as well as non-TODOs (topics/APIs which are either out of scope or are way, way down the line).
# Core SCM (and closely adjacent) Features
In no particular order:
- **vfile.mhash** field: this was added sometime after the lib took a break and needs to be populated/handled by the lib code. (It seems to be only updated when merging?)
- **files_of_checkin** virtual table. This is needed for certain queries, e.g. fossil's `/finfo` page uses it.
- **annotate**, which includes blame/praise. In progress as of 2021-10-02.
- **Port over checkout/repo fingerprint**: this allows detection of when a checkout's repo has been replaced by one with different RIDs. See fossil's `vfile.c:vfile_rid_renumbering_event()`. Calculation and confirmation of the fingerprint [was added on 2021-04-16](8c9cf48702cf3d4f) but still TODO is an attempt at automatic recovery.
- **Rebuild**: this feature exercises almost every major SCM feature of the framework except for merging and synchronization. Similarly, deconstruct/reconstruct might be useful for exercising the library. With the exception of missing ticket crosslinking, we have all of the pieces needed to implement this, and the `f-parseparty` test app does much of this work already.
- **Cross-linking of tickets**: the library can read and write them but they cannot yet be crosslinked. Currently, depending on a context-dependent flag, it may error out if it tries to crosslink one or it may silently skip over it.
- **Double-check crosslinking of other types** and make sure that we are not missing newly-added features.
|