Login
Changes To TODOs
Login

Changes to "TODOs" between 2021-02-09 09:06:25 and 2021-02-09 09:12:15

1
2
3
4
5

6
7
8
9
10
11
12
13
14
15
16
17

18
19
20
21



22
23
24
25
26
27
28
1
2
3
4

5
6
7
8
9
10
11
12
13
14
15
16

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31




-
+











-
+




+
+
+







# 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 Features
# 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.

- **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()`.

- **Merging**: to port from fossil.

- **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.

- **Cross-linking of forum posts**: the library can read and write them but they cannot yet be crosslinked. Related: add a context-specific flag which tells crosslinking to simply skip these, rather than fail.
- **Cross-linking of forum posts and tickets**: the library can read and write them but they cannot yet be crosslinked. Related: add a context-specific flag which tells crosslinking to simply skip these, rather than fail.

- **Double-check crosslinking of other types** and make sure that we are not missing newly-added features.

- **Bring the configuration-related state up to date.** The infrastructure is there but the exact list of fossil-supported properties is lagging behind by several years.

- Application/honoring of certain config settings. e.g. **ignore-glob and friends** are currently not honored, and **case-insensitivity** support is completely untested.


# Security-relevant

But not otherwise SCM-relevant...

- **Port over `db_unprotect()` and `db_protect_pop()`** APIs, which allow a db to effectively be made read-only except for limited windows where specific sections of it needs to be writable. Related: `db.c:db_top_autorizer()`.