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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
* Get IPv6 working.
* WYSIWYG wiki editing.Code examples:
[https://developer.mozilla.org/en-US/docs/Rich-Text_Editing_in_Mozilla].
[http://www-archive.mozilla.org/editor/midasdemo/],
[https://developer.mozilla.org/en/Midas]. This is currently working
but it could be improved to work better.
* Web-based file editing
Things to work on:
* Display preferences stored in a cookie.<ul>
<li> Edit preferences screen
<li> sbs/unified/no-diff
<li> default timeline formats
</ul>
* Automatically adjust side-by-side diff fontsize to fit
* full text search (See also the "grep" suggestion below)
* attachment text shown beside the attachment
* Fix the "private" branch mechanism so that it is easy to convert
a private branch into a public branch.
* Automated self-test
* Include zlib in the sources and use them if not installed on the build
* Automated self-test
machine (which is often the case on windows). This is done on Windows
but is unimplemented on unix, though to be fair, most unix
systems have -lz installed. Consider also using
[http://code.google.com/p/miniz/ | miniz] instead of zlib, since it
is a single self-contained source file.
* Fix the gdiff command so that when many files are involved and an early
one is cancelled, the process stops without going through all the rest
first.
* Add a diff option similar to --tk that shows the graphical diff in
a web-browser instead of a Tk window.
* A download page holding builds. Builds are not versioned and not synced.
Special commands for syncing build products.
* Add a diff option similar to --tk that shows the graphical diff in
a web-browser instead of a Tk window.
* Improvements to the "grep" command:
* Better error message if the repo file or its directory have the wrong
permissions.
* Uncommit
* Polish our current plain diff view of file/changeset differences. Google's view of deltas looks nice. [http://code.google.com/p/tclsdl/source/detail?r=8|Example of Google]. (Colorized side-by-side view through the 'diff' link, and colorized unidiff through the (+) button).
* Partial commit of a modified file (i.e. choose which of many hunks should be committed). This needs a graphical interface (for the selection). Actually everything can be done in an interface, saving and restoring the file across the commit, with selected changes in the commit. No need to modify the core fossil app for this. (DRH is deeply skeptical of this proposal, since it
facilitates checking in untested code.)
* Implement "grep" using the built-in regexp engine. <ul>
<ul>
<li> Search filenames given on the command-line or all managed files if
no filesnames are supplied
<li> Search the check-in named on the command-line or the
current check-out if no check-in is named
<li> --from VERSION and --to VERSION
options to search a range of check-ins
<li> --timeline, --tickets, or --wiki PATTERN to search things other
than check-ins
<li> --before DATE and --after DATE to limit the timespan of a search.
<li> Always output filename and line number
<li> Only show matches not found in adjacent check-ins, unless --all
is used.
<li> --earliest shows only the first match and --latest shows only the
most recent match when grepping a range of check-ins.
<li> -l just lists matching files
<li> --diff-only only search the difference between check-ins
</ul>
* Add the ability to specify Markdown markup in the wiki editor.
The file format already accommodates this (using the N card). Just
enhance the UI to make use of the capability.
* Change the PHANTOM table into a view on BLOB using a
partial index where BLOB.SIZE<0.
* Prohibit database writes if any query parameters have been decoded
but the request is not from the same origin.
* Implement a "`fossil backup`" command using VACUUM INTO.
<ul>
<li> Destination can be a file or a directory
<li> Destination can be an SCP target
<li> "`fossil all backup E:/`" when a thumb-drive is mounted on E:
</ul>
* Multiple remote repositories. Running "`fossil push`" pushes
to them all, as does autosync.
* 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.
* 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.
* Update preview using XMLHttpRequest instead of reloading the entire
page.
* Allow help text to be in markup, either Fossil-Wiki or Markdown.
* Search on help-text and/or on unversioned files
* Documentation on sync-via-sneaker-net.
|