10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
-
+
+
+
|
- **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 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.
- **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.
- **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.
- **Stash** support. First requires merge support.
- **Unversioned files** should be trivial to do.
- **Update search index for new content**. The crosslinking steps currently do not do this, pending addition of the search infrastructure. (Code grep keyword: `search_doc_touch`)
# 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()`.
|