Diff
Not logged in

Differences From:

File ideas.txt part of check-in [634fd117b1] - Jot down some notes for how to move forward. by drh on 2007-08-25 21:01:17. [view]

To:

File ideas.txt part of check-in [8c828207a2] - Give an error if an attempt is made to merge, update, or checkout against an incomplete baseline - one that contains phantoms. Update the xfer protocol to converge on a stable synchronization faster and (hopeful) not quit until the sync is complete. by drh on 2007-08-27 00:04:32. Also file ideas.txt part of check-in [15652ff081] - Merged drh's fixes new features (xfer, timeline handling, javascript based timeline highlighting) into my branch. by aku on 2007-08-29 02:55:33. [view]

@@ -1,16 +1,15 @@
 Random thoughts:
 
   *  Changes to manifest to support:
-
      +  Trees of wiki pages and tickets
      +  The ability to cap or close a branch
+     +  See "Extended Manifests" below
 
   *  Add the concept of "clusters" to speed the transfer of "tips"
      on a sync.
 
   *  Auxiliary tables:
-
      +  tip
      +  phantom
      +  mlink
      +  plink
@@ -17,11 +16,11 @@
      +  branch
      +  tree
 
   * Plink.isprim changed to record:
-     +  child is the principal descendent of parent.
-     +  child is a branch from parent
-     +  child uses parent as a merge
+     +  child is the principal descendent of parent. (1)
+     +  child is a branch from parent (2)
+     +  child uses parent as a merge (0)
 
   * tree records
      + type  (code, wiki, ticket)
      + name  (for wiki and ticket only)
@@ -39,5 +38,86 @@
      + How to preserve across rebuild.  A new record type?
      + How to share with other repositories
   * isprim guessed using userid of parent and child.  Change
     in id suggests a branch.  Same id suggests principal.
-    For a tie, go with the earliest check-in as the principal
+    For a tie, go with the earliest check-in as the principal'
+
+  * Autosync mode
+     + Set a preferred remote repository to use as a server
+        =  Clone repository is the default
+     + On commit, first pull.  If commit baseline is not a tip
+       prompt user to cancel or branch.  Default is cancel.
+     + Push after commit
+     + Automatically pull prior to update.
+     + Need an "undo" capability
+     + Designed to avoid branching in highly collaborative
+       environments.
+
+  * Archeological webpage improvements:
+     + Use a small amount of CSS+javascript on timelines so that
+       branching structure is displayed on mouseover.  On mouseover
+       of a checkin, highlight other checkins that are direct (non-merge)
+       descendents and ancestors of the mouseover checkin.
+     + Timeline showing individual branches
+     + Timeline shows forks and merges
+     + Tags shown on timeline (maybe) and in vinfo (surely).
+
+Extended manifests.
+  * normal manifest has:
+       C comment
+       D date-time
+       F* filename uuid
+       P uuid ...           -- omitted for first manifest
+       R repository-md5sum
+       U user-login
+       Z manifest-checksum
+  * Change the comment on a version:   -- always a leaf except in cluster
+       D date-time
+       E new-comment
+       P uuid              -- baseline whose comment is changed
+       U user-login
+       Z checksum
+       -- most recent wins
+  * Wiki edit
+       A* name uuid   -- zero or more attachments
+       C? comment
+       D date-time
+       N name         -- name of the wiki page
+       P uuid ...     -- omit for new wiki
+       U user-login
+       W uuid         -- The content file
+       Z manifest-cksum
+  * Ticket edit
+       A* name uuid   -- zero or more attachments
+       D date-time
+       N name         -- name of the ticket
+       P uuid         -- omit for new ticket
+       T uuid         -- content of the ticket
+       U user-login
+       Z manifest-cksum
+  * Set or erase a tag    -- most recent date wins
+       B* (+|-)tag uuid
+       C? comment
+       D date-time
+       V* (+|-) tag uuid    -- + to set, - to clear.
+       Z manifest-cksum
+       -- Must have at least one B or V.
+       -- Tag "hidden" means do not sync
+       -- Tag "closed" means do not display as a leaf
+  * A cluster
+       M+ uuid
+       Z manifest-cksum
+  * Complete set of cards in a manifest files:
+       A filename uuid
+       B (+|-)branch-tag uuid
+       C comment
+       D date-time
+       E edited-comment
+       F filename uuid
+       N name
+       P uuid ...
+       R repository-md5sum
+       T uuid
+       U user-login
+       V (+|-)version-tag uuid
+       W uuid
+       Z manifest-checksum