Check-in [08c4cc6d16]
Not logged in
Overview

SHA1 Hash:08c4cc6d1667c7dd27d9fe0c99911a125b0f5ca0
Date: 2007-07-30 23:01:35
User: drh
Comment:Added the todo.txt list.
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[hide diffs]

Added todo.txt version [4c209ff3a1]

@@ -1,1 +1,85 @@
+Things to work on:
+
+ *  On every push, pull, or clone command, remember the URL of the
+    server using db_put().  On subsequent pushes and pulls, allow
+    the URL to be omitted and substitute the URL that was used the
+    previous time.  Display the saved URL as part of the "info"
+    command in the cli.
+
+ *  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 database because it cannot create
+    a rollback journal) then it currently fails silently on a push.
+    It needs to return a helpful error.
+
+ *  The "leaves ?UUID?" command displays all leaf versions for the
+    version UUID or for the current version if UUID is omitted.  If
+    UUID is itself a leaf, it would be more helpful to display a
+    message to that effect:  "<uuid> is itself a leaf"
+
+ *  We need a command to show other branches - leaves of the root
+    which are not leaves of the indicated node.
+
+ *  Additional information displayed for the "vinfo" page:
+
+     +  The comment and user for this version (available in
+        the event table).
+     +  All decendents of this version (together with date,
+        user, comment, and hyperlink to the vinfo page) for
+        N generations.  N to be determined.  Perhaps configurable
+        using db_get_int()/db_set_int().  Note: decendents can
+        be found using the plink table.
+     +  All leaves of this version that are not included in the
+        decendent list.  With date, user, comment, and hyperlink.
+        Leaves in the decendent table should be marked as such.
+        See the compute_leaves() function to see how to find all
+        leaves.
+     +  All ancestors of the current version with date, user,
+        comment, hyperlink.  M generations back, where M is
+        to be determined.
+     +  List of files added or modified by this version.
+        Information available in the mlink table.  Hyperlinks to
+        the finfo page for each file.
+     +  Hyperlinks to diff all files in this version against any
+        of the named decendents or ancestors.  The unified_diff()
+        function will compute a unified diff given to file blobs.
+
+ *  A new webpage: "finfo"  Information about a particular file
+    given its name.
+
+     +  All historical changes to this file with version number,
+        user, and comment, and hyperlink to the vinfo page for
+        the version.  Information available from the minfo table.
+     +  Hyperlinks for diffing consecutive versions of the file.
+
+ *  Given any version uuid, construct a ZIP archive that contains
+    the complete content for that version.  Feature should be
+    callable from the command-line or from the www interface.
+    Perhaps a hyperlink on the vinfo page to download the ZIP archive
+    for any version.
+
+ *  Timeline enhanced so that you can specify a range of dates.
+
+ *  The /xfer handler (for push, pull, and clone) does not do
+    delta compression.  This results in excess bandwidth usage.
+    There are some code in xfer.c that are sketches of ideas on
+    how to do delta compression, but nothing has been implemented.
+
+ *  Ticketing interface (expand this bullet)
+
+ *  Wiki interface (expand this bullet)
+
+ *  Full-text search against check-in comments and diffs of each
+    check-in.
+
+ *  New cli commands: "deconstruct" and "reconstruct".  The deconstruct
+    command populates an indicated directory with copies of all files
+    contained within the repository.  Files are named aaa/bbbbbbb where
+    aaa is the first 3 characters of the uuid and bbbbbb is the
+    remaining 37 characters.  reconstruct builds a new repository
+    containing all files in an indicated directory.  When reconstructing,
+    some information is lost: project-code, server-code, users.
+    Just make up a new project-code.
 
+ *  Get a build working for win32.  Perhaps use cygwin.  Or omit
+    the server component from win32 (to eliminate the need for fork()).