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