Artifact 3180d9f1a4435bfd28915a298c877ef840ef1aa5
File
ideas.txt
part of check-in
[6847e9b22a]
- Ran an old fossil, did not auto-push... Updated ideas.txt to reflect that work has begun on this task and what has already been done. Hopefully this one will auto-push...
by
jnc on
2007-09-25 07:15:02.
Properties:
* Started out as tags. AKU suggests adding a value. That
seems to work well.
* If the name begins with "br" then it propagates to non-merge
children.
* Special tags and properties:
+ br-bg-color=COLOR and bg-color=COLOR -- Set timeline BG color
+ comment=TEXT -- Revise the check-in comment text
+ user=TEXT -- Revise the check-in username
+ closed -- Do not display as a leaf
* Tags and properties initially live in the tagxref table.
* Separate operation captured tags and properites as artifacts
so that they can be synced.
Possible ticket file format:
"Ticket"
title: TEXT
ticketid: TEXT
exists-in: BASELINE -- 0 or more
fixed-in: BASELINE -- 0 or more
tag: TAG -- 0 or more
created: DATETIME
attachment: FILENAME DESCRIPTION
parent: UUID*
derived-from: TICKET-FILENAME
description: MULTILINE-TEXT
remarks: MULTILINE-TEXT
* Things handles with tags:
created-by
assigned-to
priority
severity
target-release
status
resolution
type
subsystem
Wiki header format:
"WikiPage"
parent: UUID*
title: TEXT
pagename: TEXT
mode: (readonly|appendonly|readwrite)
attachment: UUID name description
* Header ends with a blank line. wiki content follows.
Need a dephantomize algorithm
Random thoughts:
* Plink.isprim changed to record:
+ child is the principal descendent of parent. (1)
+ child is a branch from parent (2)
+ child uses parent as a merge (0)
* website can toggle isprim between principal and branch.
+ 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'
* Autosync mode
* Notes:
+ Designed to avoid branching in highly collaborative
environments.
* Outstanding:
+ On commit, first pull. If commit baseline is not a tip
prompt user to cancel or branch. Default is cancel.
+ Need an "undo" capability
* Done:
* Set a preferred remote repository to use as a server
= Clone repository is the default
* Push after commit
* Automatically pull prior to update.
* 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).
Features needed:
* Means to suppress artifacts
* Means to cap a branch
* Ticketing
+ Problem is/is-not expressed in baseline X.
+ Append comment and zero or more attachments
* Modify comments on baselines
* Append comments to any artifact
* Wiki?
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
* Accessory:
A uuid|* attachment-uuid description
D date-time
E uuid new-comment
G uuid appended-remark
S repositoryid serial-number
T (+|-)tag uuid
U userid
X uuid-to-surpress
Z this-file-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.
-- Branch tag "hidden" means do not sync
-- Version tag "closed" means do not display as a leaf
* A cluster
M+ uuid
Z manifest-cksum
* Complete set of cards in a control file:
A filename uuid
B (+|-)branch-tag uuid
C comment
D date-time
E uuid edited-comment
F filename uuid
M uuid
N name
P uuid ...
R repository-md5sum
T uuid
U user-login
V (+|-)version-tag uuid
W uuid
Z manifest-checksum