Artifact 5e00e8293a76175ff435937e71c0ba5e5a6ec371
File
todo.txt
part of check-in
[b8cc22ebdf]
- Merged dhr's todo and ideas update
by
jnc on
2007-09-24 23:56:25.
Also file
todo.txt
part of check-in
[d0305b305a]
- Merged mainline into my branch to get the newest application.
by
aku on
2007-12-05 08:07:46.
Bugs:
* When doing an update, if a file is not found that should be there
then the update aborts, only after it has written several files. It
does not update your checked out version, thus when doing a fossil
changes, you see everything that has come over from your update
command. Steps to reproduce:
$ rm src/main.c
$ fossil update 9b30
UPDATE ... etc ...
fossil: no such file: src/main.c
$ fossil info
(shows version you were on prior to update)
$ fossil changes
EDITED ... many ...
* Bug: If the server closes the socket unexpectedly, the
fwrite() in http.c:103 throws a signal and kills the child
process. fwrite() is not suppose to do this. Need to figure
out what is going wrong.
* Bug: Make sure merge and other commands (check-out) do not try
to use a phantom.
* Bug: When clone use incorrect http URL, local repo file is still created.
Things to work on:
* Use the wiki_convert() routine to render comments and other text
on web pages.
* If the server does not have write permission on the database
file, or on the directory containing the database file (and
it is thus unable to update the database because it cannot create
a rollback journal) then it currently fails silently on a push.
It needs to return a helpful error.
* If the server returns an error (for example if the outbound /xfer
message exceeds the maximum POST size of the server) the client
does not report this error back to the user as it should.
* The ipaddr field of the rcvfrom table is not being set. This
field should be the IP address from which information is received
for the local repository. So when somebody does a push of new
files we record the ipaddr. Or when we do a pull, we record
the ipaddr. (I think this has been fixed. Need to test.)
* Additional information displayed for the "vinfo" page:
+ All leaves of this version that are not included in the
descendant list. With date, user, comment, and hyperlink.
Leaves in the descendant table should be marked as such.
See the compute_leaves() function to see how to find all
leaves.
+ Add file diff links to the file change list.
* Enhancements to the diff and tkdiff commands in the cli.
Allow the entire tree or a subtree to be diffed, not just a
single file. Allow diffs against any two arbitrary versions,
not just diffs against the current check-out.
* Ticketing interface (expand this bullet)
+ Create new tickets as files in the file hierarchy
+ Append remarks to a ticket
+ Add attachments to a ticket
+ Change attributes of a ticket
+ Delete tickets that are no longer current. (The old
content is still accessible, the ticket is just not in
the current check-out.)
+ Server setup to define the allowed attributes and
attribute values for tickets
+ Permanently remove malicious edits and/or attachments
such as wiki-spam or warez. (Content is no longer accessible.)
+ View a history of all changes to a ticket
+ Generate reports over all tickets
+ Generate reports over all tickets as they existed for
a chosen point in time and space.
+ Do full text search against the text in any single ticket or
across the current versions of all tickets, or across all current
and historical versions of all tickets.
* Wiki interface (expand this bullet)
+ Create new wiki pages
+ Designate a single wiki page as the home page for the www interface
+ Designate wiki pages as read-only, append-only, or read/write.
+ Append comments to a wiki page
+ Add attachments (such as GIF images) to a wiki page
+ Change the content of a wiki page
+ Delete obsolete wiki pages. (Old content is still accessible,
the page is just not on the current list of pages.)
+ Permanently remove malicious edits and/or attachments
such as wiki-spam or warez. (Old content is no longer accessible.)
+ Add nofollow on external links added by unprivileged
users when the link is less than N hours old.
+ Show the complete history of a single wiki page
+ Provide the ability to diff two versions of a wiki page
+ Show a listing of all wiki pages, both current and deleted
+ Do a full-text search against current versions of all wiki pages
+ Do a full-text search against all historical versions of a single
wiki page
+ Do a full-text search against all historical versions of all
wiki pages
* Full-text search against check-in comments and diffs of each
check-in.
* Add a "revert" command that will undo all changes to a file
or files in the current check-out - restoring the files back
to their original check-out state.
* Add an "annotate" command in both the cli and the www interface
that will show line-by-line the most recent changes to every line
in the file.
* Browse the file hierarchy, similar to the "Browse" feature in
CVSTrac.
* Add the ability to override check-in comments. It is not possible
to change the comment in the check-in itself due to the cryptographic
hash. But you can add a new record to the repository that overloads
a check-in comment with a new comment. Comment changes should be
GPG clearsigned at the very least. Comment changes only apply if
the user who made the change has the right permissions.
* Make the interface to fossil look pretty and be customizable so
that other people will be attracted to it, will take over maintenance
of it, and we can eventually move on to other things.
This has begun, but I wonder if we need to use a templating system for
full customization. If the CSS is done correctly, you can change 99.9%
of everything. See: http://www.csszengarden.com/