D 2020-08-12T15:02:05.130
L To\sDo\sList
N text/x-markdown
P e5dfb31d246d09852a521fd60631c0947f74bf4bfed83683621fba9b2426ca52
U drh
W 6438
Things to work on:
1. Automated self-test
2. Add a diff option similar to --tk that shows the graphical diff in
a web-browser instead of a Tk window.
3. Improvements to the "grep" command:
- Search filenames given on the command-line or all managed files if
no filesnames are supplied
- Search the check-in named on the command-line or the
current check-out if no check-in is named
- --from VERSION and --to VERSION
options to search a range of check-ins
- --timeline, --tickets, or --wiki PATTERN to search things other
than check-ins
- --before DATE and --after DATE to limit the timespan of a search.
- Always output filename and line number
- Only show matches not found in adjacent check-ins, unless --all
is used.
- --earliest shows only the first match and --latest shows only the
most recent match when grepping a range of check-ins.
- -l just lists matching files
- --diff-only only search the difference between check-ins
4. Change the PHANTOM table into a view on BLOB using a
partial index where BLOB.SIZE<0.
5. Prohibit database writes if any query parameters have been decoded
but the request is not from the same origin. This effort would benefit from
an SQLite enhancement that allows "PRAGMA query_only" to be applied to
individual database files, so that the repository can be made read-only while
still allowing TEMP writes, as TEMP writes are used to compose intermediate
results even on pages that are technically read-only.
6. Implement a "`fossil backup`" command using VACUUM INTO.
-
Destination can be a file or a directory
Check-in [aadbe015dfa56542](https://fossil-scm.org/fossil/info/aadbe015dfa56542)
- Destination can be an SCP target
-
"`fossil all backup E:/`" when a thumb-drive is mounted on E:
Check-in [aadbe015dfa56542](https://fossil-scm.org/fossil/info/aadbe015dfa56542)
7. Multiple remote repositories. Running "`fossil push`" pushes
to them all, as does autosync.
Partially implemented as of 2020-08-12: Multiple remotes remembered
but can only sync to one at a time.
8. Sync relay → On a server, when another repository pushes to
the server (or edits a wiki page on the server) the server
automatically schedules a push to peer repos.
Should be able to do this with hooks, but more testing is needed.
Also, need a way to configure relay hooks in the Admin web interface.
Consider also providing the ability to do an automatic GitHub relay
via the same mechanism.
9. Backoffice daemon → Instead of backoffice running in response
to a web request, have a separate process that monitors multiple
repositories and runs backoffice after "mtime" changes on the repository
file, or periodically (every hour? every day?) in the absence of
"mtime" changes. Implemented in 2.12
10. Update preview using XMLHttpRequest instead of reloading the entire
page. Implemented in /wikiedit and /fileedit as of 2.12 and /forum/...
is pending.
11. Allow help text to be in markup, either Fossil-Wiki or Markdown.
Implemented in 2.12
12. Search on help-text and/or on unversioned files
- The "helptext" virtual table added by check-in
[b2dacfcd735d4b1c](https://fossil-scm.org/fossil/info/b2dacfcd735d4b1c)
is a step toward providing search on built-in help text, but has not
yet been integrated into the search subsystem.
13. Documentation on sync-via-sneaker-net.
14. Macros or other mechanisms for embedding a last-update timestamp
in the middle of text for wiki pages and/or embedded documentation.
15. Add a command-line variant of the /secaudit0 page and make that command
accessible using "fossil all".
16. Improved transaction control:
- Better detection of potential SQLITE_BUSY errors when promoting from
a read to a write txn. This will require SQLite enhancements.
- On /xfer, only start a write transaction if the login has write
permissions, thus allowing parallel clones.
17. On the [wiki page list](https://fossil-scm.org/fossil/wcontent),
omit wiki pages that are associated
with check-ins and branches by default, but provide a button
to show associated wiki pages if desired.
18. Add the ability to associate a forum thread with a check-in or branch.
- Perhaps the linkage is based on the forum thread title, as is done for
wiki pages. But a fast lookup mechanism will need to be devised, as
forum thread titles are not currently stored in the TAG table as are
wiki page names.
- Perhaps also provide forum-like threading to tickets. Maybe merge
the functionality of forum-post artifacts and ticket-change artifacts
to allow both features within the same artifact.
- Consider mechanisms to identifying check-ins or branches that include
forum discussion when those check-ins/branches are displayed on the
timeline, or on other pages.
19. Provide SSL capabilities for the "fossil server" and "fossil http" commands.
- Because the website is not served from individual files on disk, standard
tools for obtaining a LetsEncrypt cert won't work. Some sort of mechanism
to do this will need to be built into Fossil. Or, a minimum, a mechanism
should be in place to redirect requests to ".well-known" to files on disk.
20. Provide a setting that determines whether HTML content files are displayed
as HTML or as plain text when browsing repository files.
See the forum thread:
21. Client/Server mode or Shallow Clones. Allow a remote repository
to be opened without having to clone all history.
Z d53982b68c3847beb9547212d82be2a5