Artifact 880f1290f03cce385824593d3051dc431919b6d6:
File
ideas.txt
part of check-in
[f73c0e792b]
- More work on tags and properties. Getting late. Need to check-in
changes before stopping for the day...
by
drh on
2007-09-22 02:22:06.
0000: 50 72 6f 70 65 72 74 69 65 73 3a 0a 0a 20 20 20 Properties:..
0010: 2a 20 53 74 61 72 74 65 64 20 6f 75 74 20 61 73 * Started out as
0020: 20 74 61 67 73 2e 20 20 41 4b 55 20 73 75 67 67 tags. AKU sugg
0030: 65 73 74 73 20 61 64 64 69 6e 67 20 61 20 76 61 ests adding a va
0040: 6c 75 65 2e 20 20 54 68 61 74 0a 20 20 20 20 20 lue. That.
0050: 73 65 65 6d 73 20 74 6f 20 77 6f 72 6b 20 77 65 seems to work we
0060: 6c 6c 2e 0a 20 20 20 2a 20 49 66 20 74 68 65 20 ll.. * If the
0070: 6e 61 6d 65 20 62 65 67 69 6e 73 20 77 69 74 68 name begins with
0080: 20 22 62 72 22 20 74 68 65 6e 20 69 74 20 70 72 "br" then it pr
0090: 6f 70 61 67 61 74 65 73 20 74 6f 20 6e 6f 6e 2d opagates to non-
00a0: 6d 65 72 67 65 0a 20 20 20 20 20 63 68 69 6c 64 merge. child
00b0: 72 65 6e 2e 0a 20 20 20 2a 20 53 70 65 63 69 61 ren.. * Specia
00c0: 6c 20 74 61 67 73 20 61 6e 64 20 70 72 6f 70 65 l tags and prope
00d0: 72 74 69 65 73 3a 0a 20 20 20 20 20 20 2b 20 20 rties:. +
00e0: 62 72 2d 62 67 2d 63 6f 6c 6f 72 3d 43 4f 4c 4f br-bg-color=COLO
00f0: 52 20 61 6e 64 20 62 67 2d 63 6f 6c 6f 72 3d 43 R and bg-color=C
0100: 4f 4c 4f 52 20 20 2d 2d 20 53 65 74 20 74 69 6d OLOR -- Set tim
0110: 65 6c 69 6e 65 20 42 47 20 63 6f 6c 6f 72 0a 20 eline BG color.
0120: 20 20 20 20 20 2b 20 20 63 6f 6d 6d 65 6e 74 3d + comment=
0130: 54 45 58 54 20 20 20 20 20 20 20 20 20 2d 2d 20 TEXT --
0140: 52 65 76 69 73 65 20 74 68 65 20 63 68 65 63 6b Revise the check
0150: 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 74 65 78 74 -in comment text
0160: 0a 20 20 20 20 20 20 2b 20 20 75 73 65 72 3d 54 . + user=T
0170: 45 58 54 20 20 20 20 20 20 20 20 20 20 20 20 2d EXT -
0180: 2d 20 52 65 76 69 73 65 20 74 68 65 20 63 68 65 - Revise the che
0190: 63 6b 2d 69 6e 20 75 73 65 72 6e 61 6d 65 0a 20 ck-in username.
01a0: 20 20 20 20 20 2b 20 20 63 6c 6f 73 65 64 20 20 + closed
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 20 --
01c0: 44 6f 20 6e 6f 74 20 64 69 73 70 6c 61 79 20 61 Do not display a
01d0: 73 20 61 20 6c 65 61 66 0a 20 20 20 2a 20 54 61 s a leaf. * Ta
01e0: 67 73 20 61 6e 64 20 70 72 6f 70 65 72 74 69 65 gs and propertie
01f0: 73 20 69 6e 69 74 69 61 6c 6c 79 20 6c 69 76 65 s initially live
0200: 20 69 6e 20 74 68 65 20 74 61 67 78 72 65 66 20 in the tagxref
0210: 74 61 62 6c 65 2e 0a 20 20 20 2a 20 53 65 70 61 table.. * Sepa
0220: 72 61 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 63 rate operation c
0230: 61 70 74 75 72 65 64 20 74 61 67 73 20 61 6e 64 aptured tags and
0240: 20 70 72 6f 70 65 72 69 74 65 73 20 61 73 20 61 properites as a
0250: 72 74 69 66 61 63 74 73 20 0a 20 20 20 20 20 73 rtifacts . s
0260: 6f 20 74 68 61 74 20 74 68 65 79 20 63 61 6e 20 o that they can
0270: 62 65 20 73 79 6e 63 65 64 2e 0a 0a 0a 50 6f 73 be synced....Pos
0280: 73 69 62 6c 65 20 74 69 63 6b 65 74 20 66 69 6c sible ticket fil
0290: 65 20 66 6f 72 6d 61 74 3a 0a 0a 20 20 20 22 54 e format:.. "T
02a0: 69 63 6b 65 74 22 0a 20 20 20 74 69 74 6c 65 3a icket". title:
02b0: 20 54 45 58 54 0a 20 20 20 74 69 63 6b 65 74 69 TEXT. ticketi
02c0: 64 3a 20 54 45 58 54 0a 20 20 20 65 78 69 73 74 d: TEXT. exist
02d0: 73 2d 69 6e 3a 20 42 41 53 45 4c 49 4e 45 20 20 s-in: BASELINE
02e0: 20 2d 2d 20 30 20 6f 72 20 6d 6f 72 65 0a 20 20 -- 0 or more.
02f0: 20 66 69 78 65 64 2d 69 6e 3a 20 42 41 53 45 4c fixed-in: BASEL
0300: 49 4e 45 20 20 20 20 2d 2d 20 30 20 6f 72 20 6d INE -- 0 or m
0310: 6f 72 65 0a 20 20 20 74 61 67 3a 20 54 41 47 20 ore. tag: TAG
0320: 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 20 --
0330: 30 20 6f 72 20 6d 6f 72 65 0a 20 20 20 63 72 65 0 or more. cre
0340: 61 74 65 64 3a 20 44 41 54 45 54 49 4d 45 0a 20 ated: DATETIME.
0350: 20 20 61 74 74 61 63 68 6d 65 6e 74 3a 20 46 49 attachment: FI
0360: 4c 45 4e 41 4d 45 20 44 45 53 43 52 49 50 54 49 LENAME DESCRIPTI
0370: 4f 4e 0a 20 20 20 70 61 72 65 6e 74 3a 20 55 55 ON. parent: UU
0380: 49 44 2a 0a 20 20 20 64 65 72 69 76 65 64 2d 66 ID*. derived-f
0390: 72 6f 6d 3a 20 54 49 43 4b 45 54 2d 46 49 4c 45 rom: TICKET-FILE
03a0: 4e 41 4d 45 0a 20 20 20 64 65 73 63 72 69 70 74 NAME. descript
03b0: 69 6f 6e 3a 20 4d 55 4c 54 49 4c 49 4e 45 2d 54 ion: MULTILINE-T
03c0: 45 58 54 0a 20 20 20 72 65 6d 61 72 6b 73 3a 20 EXT. remarks:
03d0: 4d 55 4c 54 49 4c 49 4e 45 2d 54 45 58 54 0a 0a MULTILINE-TEXT..
03e0: 20 20 20 2a 20 54 68 69 6e 67 73 20 68 61 6e 64 * Things hand
03f0: 6c 65 73 20 77 69 74 68 20 74 61 67 73 3a 0a 20 les with tags:.
0400: 20 20 20 20 63 72 65 61 74 65 64 2d 62 79 0a 20 created-by.
0410: 20 20 20 20 61 73 73 69 67 6e 65 64 2d 74 6f 0a assigned-to.
0420: 20 20 20 20 20 70 72 69 6f 72 69 74 79 0a 20 20 priority.
0430: 20 20 20 73 65 76 65 72 69 74 79 0a 20 20 20 20 severity.
0440: 20 74 61 72 67 65 74 2d 72 65 6c 65 61 73 65 0a target-release.
0450: 20 20 20 20 20 73 74 61 74 75 73 0a 20 20 20 20 status.
0460: 20 72 65 73 6f 6c 75 74 69 6f 6e 0a 20 20 20 20 resolution.
0470: 20 74 79 70 65 0a 20 20 20 20 20 73 75 62 73 79 type. subsy
0480: 73 74 65 6d 0a 0a 57 69 6b 69 20 68 65 61 64 65 stem..Wiki heade
0490: 72 20 66 6f 72 6d 61 74 3a 0a 20 20 20 22 57 69 r format:. "Wi
04a0: 6b 69 50 61 67 65 22 0a 20 20 20 70 61 72 65 6e kiPage". paren
04b0: 74 3a 20 55 55 49 44 2a 0a 20 20 20 74 69 74 6c t: UUID*. titl
04c0: 65 3a 20 54 45 58 54 0a 20 20 20 70 61 67 65 6e e: TEXT. pagen
04d0: 61 6d 65 3a 20 54 45 58 54 0a 20 20 20 6d 6f 64 ame: TEXT. mod
04e0: 65 3a 20 28 72 65 61 64 6f 6e 6c 79 7c 61 70 70 e: (readonly|app
04f0: 65 6e 64 6f 6e 6c 79 7c 72 65 61 64 77 72 69 74 endonly|readwrit
0500: 65 29 0a 20 20 20 61 74 74 61 63 68 6d 65 6e 74 e). attachment
0510: 3a 20 55 55 49 44 20 6e 61 6d 65 20 64 65 73 63 : UUID name desc
0520: 72 69 70 74 69 6f 6e 0a 0a 20 20 20 2a 20 48 65 ription.. * He
0530: 61 64 65 72 20 65 6e 64 73 20 77 69 74 68 20 61 ader ends with a
0540: 20 62 6c 61 6e 6b 20 6c 69 6e 65 2e 20 20 77 69 blank line. wi
0550: 6b 69 20 63 6f 6e 74 65 6e 74 20 66 6f 6c 6c 6f ki content follo
0560: 77 73 2e 0a 0a 43 6c 75 73 74 65 72 20 66 6f 72 ws...Cluster for
0570: 6d 61 74 3a 0a 0a 20 20 20 20 20 20 20 4d 2b 20 mat:.. M+
0580: 75 75 69 64 0a 20 20 20 20 20 20 20 5a 20 6d 61 uuid. Z ma
0590: 6e 69 66 65 73 74 2d 63 6b 73 75 6d 0a 0a 20 20 nifest-cksum..
05a0: 20 2a 20 43 6c 75 73 74 65 72 20 67 65 6e 65 72 * Cluster gener
05b0: 61 74 65 64 20 69 6e 20 73 65 72 76 65 72 20 6d ated in server m
05c0: 6f 64 65 20 6f 6e 6c 79 2e 0a 20 20 20 2a 20 45 ode only.. * E
05d0: 6d 62 61 72 67 6f 20 63 6c 75 73 74 65 72 20 74 mbargo cluster t
05e0: 68 61 74 20 72 65 66 65 72 65 6e 63 65 20 70 68 hat reference ph
05f0: 61 6e 74 6f 6d 73 20 6f 72 20 6f 74 68 65 72 20 antoms or other
0600: 65 6d 62 61 72 67 6f 65 64 20 63 6c 75 73 74 65 embargoed cluste
0610: 72 73 2e 0a 20 20 20 2a 20 4e 65 76 65 72 20 73 rs.. * Never s
0620: 65 6e 64 20 6f 72 20 69 68 61 76 65 20 61 6e 20 end or ihave an
0630: 65 6d 62 61 72 67 6f 65 64 20 63 6c 75 73 74 65 embargoed cluste
0640: 72 0a 0a 4e 65 77 20 73 79 6e 63 20 61 6c 67 6f r..New sync algo
0650: 72 69 74 68 6d 20 62 61 73 65 64 20 6f 6e 20 63 rithm based on c
0660: 6c 75 73 74 65 72 73 3a 0a 0a 20 20 20 2a 20 4b lusters:.. * K
0670: 65 65 70 20 61 20 74 61 62 6c 65 20 6f 66 20 75 eep a table of u
0680: 6e 63 6c 75 73 74 65 72 65 64 20 61 72 74 69 66 nclustered artif
0690: 61 63 74 73 2e 20 20 53 74 72 69 76 65 20 74 6f acts. Strive to
06a0: 20 6b 65 65 70 20 74 68 69 73 20 74 61 62 6c 65 keep this table
06b0: 0a 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 . less than
06c0: 31 30 30 20 65 6e 74 72 69 65 73 2e 0a 20 20 20 100 entries..
06d0: 2a 20 43 6c 69 65 6e 74 20 73 65 6e 64 73 20 63 * Client sends c
06e0: 6f 6e 74 65 6e 74 20 6f 66 20 75 6e 63 6c 75 73 ontent of unclus
06f0: 74 65 72 65 64 20 74 61 62 6c 65 20 61 73 20 69 tered table as i
0700: 68 61 76 65 73 20 74 6f 20 73 65 72 76 65 72 0a haves to server.
0710: 20 20 20 2a 20 53 65 72 76 65 72 20 62 75 69 6c * Server buil
0720: 64 73 20 61 20 6e 65 77 20 63 6c 75 73 74 65 72 ds a new cluster
0730: 20 69 66 20 73 69 7a 65 20 6f 66 20 63 6c 75 73 if size of clus
0740: 74 65 72 20 74 61 62 6c 65 20 3e 31 30 30 2e 0a ter table >100..
0750: 20 20 20 2a 20 53 65 72 76 65 72 20 73 65 6e 64 * Server send
0760: 73 20 75 6e 63 6c 75 73 74 65 72 65 64 20 74 61 s unclustered ta
0770: 62 6c 65 20 74 6f 20 63 6c 69 65 6e 74 0a 20 20 ble to client.
0780: 20 2a 20 53 65 72 76 65 72 20 73 65 6e 64 73 20 * Server sends
0790: 67 69 6d 6d 65 20 66 6f 72 20 61 6c 6c 20 75 6e gimme for all un
07a0: 6b 6e 6f 77 6e 20 69 68 61 76 65 20 72 65 63 65 known ihave rece
07b0: 69 76 65 64 20 66 72 6f 6d 20 63 6c 69 65 6e 74 ived from client
07c0: 0a 20 20 20 2a 20 43 6c 69 65 6e 74 20 73 65 6e . * Client sen
07d0: 64 73 20 67 69 6d 6d 65 20 66 6f 72 20 61 6c 6c ds gimme for all
07e0: 20 75 6e 6b 6e 6f 77 6e 20 69 68 61 76 65 20 72 unknown ihave r
07f0: 65 63 65 69 76 65 64 20 66 72 6f 6d 20 73 65 72 eceived from ser
0800: 76 65 72 0a 20 20 20 2a 20 50 72 65 76 69 6f 75 ver. * Previou
0810: 73 20 74 77 6f 20 73 74 65 70 73 20 72 65 70 65 s two steps repe
0820: 61 74 20 75 6e 74 69 6c 20 6e 6f 20 6d 6f 72 65 at until no more
0830: 20 67 69 6d 6d 65 73 0a 0a 44 65 74 61 69 6c 73 gimmes..Details
0840: 20 6f 66 20 6e 65 77 20 70 75 73 68 20 61 6c 67 of new push alg
0850: 6f 72 69 74 68 6d 3a 0a 0a 20 20 20 2a 20 54 61 orithm:.. * Ta
0860: 62 6c 65 20 22 75 6e 73 65 6e 74 22 20 63 6f 6e ble "unsent" con
0870: 74 61 69 6e 73 20 61 6c 6c 20 66 69 6c 65 73 20 tains all files
0880: 6e 65 76 65 72 20 70 75 73 68 65 64 0a 20 20 20 never pushed.
0890: 2a 20 54 45 4d 50 20 74 61 62 6c 65 20 22 77 61 * TEMP table "wa
08a0: 6e 74 65 64 22 20 63 6f 6e 74 61 69 6e 73 20 66 nted" contains f
08b0: 69 6c 65 73 20 74 68 65 20 73 65 72 76 65 72 20 iles the server
08c0: 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 0a 20 20 does not have.
08d0: 20 4c 6f 6f 70 3a 0a 20 20 20 20 20 2a 20 43 6c Loop:. * Cl
08e0: 69 65 6e 74 20 73 65 6e 64 73 20 6c 6f 67 69 6e ient sends login
08f0: 20 61 6e 64 20 22 70 75 73 68 22 20 72 65 63 6f and "push" reco
0900: 72 64 0a 20 20 20 20 20 2a 20 43 6c 69 65 6e 74 rd. * Client
0910: 20 73 65 6e 64 73 20 66 69 6c 65 20 6d 65 73 73 sends file mess
0920: 61 67 65 20 66 6f 72 20 61 6c 6c 20 66 69 6c 65 age for all file
0930: 73 20 69 6e 20 75 6e 73 65 6e 74 20 61 6e 64 20 s in unsent and
0940: 72 65 6d 6f 76 65 73 0a 20 20 20 20 20 20 20 74 removes. t
0950: 68 6f 73 65 20 66 69 6c 65 73 20 66 72 6f 6d 20 hose files from
0960: 74 68 65 20 74 61 62 6c 65 2e 0a 20 20 20 20 20 the table..
0970: 2a 20 43 6c 69 65 6e 74 20 73 65 6e 64 73 20 66 * Client sends f
0980: 69 6c 65 20 6d 65 73 73 61 67 65 20 66 6f 72 20 ile message for
0990: 61 6c 6c 20 66 69 6c 65 73 20 69 6e 20 77 61 6e all files in wan
09a0: 74 65 64 2e 0a 20 20 20 20 20 2a 20 43 6c 69 65 ted.. * Clie
09b0: 6e 74 20 73 65 6e 64 73 20 69 68 61 76 65 20 6d nt sends ihave m
09c0: 65 73 73 61 67 65 73 20 66 6f 72 20 65 61 63 68 essages for each
09d0: 20 65 6e 74 72 79 20 69 6e 20 75 6e 63 6c 75 73 entry in unclus
09e0: 74 65 72 65 64 0a 20 20 20 20 20 2d 2d 2d 2d 2d tered. -----
09f0: 2d 0a 20 20 20 20 20 2a 20 53 65 72 76 65 72 20 -. * Server
0a00: 72 65 63 65 69 76 65 73 20 66 69 6c 65 20 6d 65 receives file me
0a10: 73 73 61 67 65 0a 20 20 20 20 20 2a 20 53 65 72 ssage. * Ser
0a20: 76 65 72 20 63 72 65 61 74 65 73 20 70 68 61 6e ver creates phan
0a30: 74 6f 6d 73 20 66 6f 72 20 75 6e 6b 6e 6f 77 6e toms for unknown
0a40: 20 69 68 61 76 65 73 0a 20 20 20 20 20 2a 20 53 ihaves. * S
0a50: 65 72 76 65 72 20 73 65 6e 64 73 20 67 69 6d 6d erver sends gimm
0a60: 65 20 6d 65 73 73 61 67 65 73 20 66 6f 72 20 61 e messages for a
0a70: 6c 6c 20 70 68 61 6e 74 6f 6d 73 0a 20 20 20 20 ll phantoms.
0a80: 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 20 2a 20 43 ------. * C
0a90: 6c 69 65 6e 74 20 63 6c 65 61 72 73 20 69 74 73 lient clears its
0aa0: 20 75 6e 73 65 6e 74 20 74 61 62 6c 65 0a 20 20 unsent table.
0ab0: 20 20 20 2a 20 46 6f 72 20 65 61 63 68 20 67 69 * For each gi
0ac0: 6d 6d 65 20 6d 65 73 73 61 67 65 20 61 64 64 20 mme message add
0ad0: 61 6e 20 65 6e 74 72 79 20 74 6f 20 77 61 6e 74 an entry to want
0ae0: 65 64 0a 20 20 20 20 20 2a 20 48 61 6c 74 20 69 ed. * Halt i
0af0: 66 20 74 68 65 20 77 61 6e 74 65 64 20 74 61 62 f the wanted tab
0b00: 6c 65 20 69 73 20 65 6d 70 74 79 0a 0a 44 65 74 le is empty..Det
0b10: 61 69 6c 73 20 6f 6e 20 6e 65 77 20 70 75 6c 6c ails on new pull
0b20: 20 61 6c 67 6f 72 69 74 68 6d 3a 0a 0a 20 20 20 algorithm:..
0b30: 4c 6f 6f 70 3a 0a 20 20 20 20 20 2a 20 43 6c 69 Loop:. * Cli
0b40: 65 6e 74 20 73 65 6e 64 73 20 6c 6f 67 69 6e 20 ent sends login
0b50: 61 6e 64 20 22 70 75 6c 6c 22 20 72 65 63 6f 72 and "pull" recor
0b60: 64 0a 20 20 20 20 20 2a 20 43 6c 69 65 6e 74 20 d. * Client
0b70: 73 65 6e 64 73 20 22 70 72 69 6f 72 22 20 6d 65 sends "prior" me
0b80: 73 73 61 67 65 20 77 69 74 68 20 72 65 70 6f 73 ssage with repos
0b90: 69 74 6f 72 79 20 69 64 20 61 6e 64 20 6d 61 78 itory id and max
0ba0: 20 72 65 63 6f 72 64 20 6e 75 6d 62 65 72 0a 20 record number.
0bb0: 20 20 20 20 2a 20 43 6c 69 65 6e 74 20 73 65 6e * Client sen
0bc0: 64 73 20 22 67 69 6d 6d 65 22 20 66 6f 72 20 65 ds "gimme" for e
0bd0: 61 63 68 20 70 68 61 6e 74 6f 6d 0a 20 20 20 20 ach phantom.
0be0: 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 20 2a --------. *
0bf0: 20 53 65 72 76 65 72 20 63 72 65 61 74 65 73 20 Server creates
0c00: 6e 65 77 20 63 6c 75 73 74 65 72 73 20 74 6f 20 new clusters to
0c10: 67 65 74 20 75 6e 63 6c 75 73 74 65 72 65 64 20 get unclustered
0c20: 73 69 7a 65 20 62 65 6c 6f 77 20 31 30 30 0a 20 size below 100.
0c30: 20 20 20 20 2a 20 49 66 20 74 68 65 72 65 20 69 * If there i
0c40: 73 20 22 70 72 69 6f 72 22 20 6d 65 73 73 61 67 s "prior" messag
0c50: 65 20 77 69 74 68 20 72 65 70 6f 73 69 74 6f 72 e with repositor
0c60: 79 20 69 64 20 74 68 61 74 20 6d 61 74 63 68 65 y id that matche
0c70: 73 20 74 68 69 73 0a 20 20 20 20 20 20 20 73 65 s this. se
0c80: 72 76 65 72 2c 20 74 68 65 6e 20 73 65 6e 64 20 rver, then send
0c90: 66 69 6c 65 20 6d 65 73 73 61 67 65 73 20 66 6f file messages fo
0ca0: 72 20 61 6c 6c 20 72 65 63 6f 72 64 20 69 64 73 r all record ids
0cb0: 20 67 72 65 61 74 65 72 20 74 68 61 6e 0a 20 20 greater than.
0cc0: 20 20 20 20 20 70 72 69 6f 72 0a 20 20 20 20 20 prior.
0cd0: 2a 20 53 65 72 76 65 72 20 73 65 6e 64 73 20 69 * Server sends i
0ce0: 68 61 76 65 20 6d 65 73 73 61 67 65 73 20 66 6f have messages fo
0cf0: 72 20 65 61 63 68 20 65 6e 74 72 79 20 69 6e 20 r each entry in
0d00: 75 6e 63 6c 75 73 74 65 72 65 64 0a 20 20 20 20 unclustered.
0d10: 20 2a 20 53 65 72 76 65 72 20 73 65 6e 64 73 20 * Server sends
0d20: 6d 61 78 72 69 64 20 6d 65 73 73 61 67 65 0a 20 maxrid message.
0d30: 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 --------.
0d40: 20 20 2a 20 43 6c 69 65 6e 74 20 72 65 63 65 69 * Client recei
0d50: 76 65 73 20 66 69 6c 65 20 72 65 63 6f 72 64 73 ves file records
0d60: 0a 20 20 20 20 20 2a 20 43 6c 69 65 6e 74 20 63 . * Client c
0d70: 72 65 61 74 65 73 20 70 68 61 6e 74 6f 6d 73 20 reates phantoms
0d80: 66 6f 72 20 75 6e 6b 6e 6f 77 6e 20 69 68 61 76 for unknown ihav
0d90: 65 73 0a 20 20 20 20 20 2a 20 49 66 20 6e 6f 20 es. * If no
0da0: 70 68 61 6e 74 6f 6d 73 20 65 78 69 73 74 2c 20 phantoms exist,
0db0: 72 65 63 6f 72 64 20 6d 61 78 72 69 64 20 66 6f record maxrid fo
0dc0: 72 20 74 68 65 20 73 65 72 76 65 72 20 61 6e 64 r the server and
0dd0: 20 68 61 6c 74 0a 0a 4e 65 65 64 20 61 20 64 65 halt..Need a de
0de0: 70 68 61 6e 74 6f 6d 69 7a 65 20 61 6c 67 6f 72 phantomize algor
0df0: 69 74 68 6d 0a 0a 0a 41 75 78 69 6c 69 61 72 79 ithm...Auxiliary
0e00: 20 74 61 62 6c 65 73 20 6e 65 65 64 65 64 20 66 tables needed f
0e10: 6f 72 20 6e 65 77 20 73 79 6e 63 20 61 6c 67 6f or new sync algo
0e20: 72 69 74 68 6d 3a 0a 0a 20 20 20 2a 20 75 6e 73 rithm:.. * uns
0e30: 65 6e 74 3a 20 20 66 69 6c 65 73 20 74 68 61 74 ent: files that
0e40: 20 68 61 76 65 20 6e 65 76 65 72 20 62 65 65 6e have never been
0e50: 20 73 65 6e 74 20 74 6f 20 61 6e 6f 74 68 65 72 sent to another
0e60: 20 72 65 70 6f 73 69 74 6f 72 79 0a 20 20 20 2a repository. *
0e70: 20 75 6e 63 6c 75 73 74 65 72 65 64 3a 20 6e 6f unclustered: no
0e80: 6e 2d 70 68 61 6e 74 6f 6d 20 66 69 6c 65 73 20 n-phantom files
0e90: 6e 6f 74 20 6d 65 6e 74 69 6f 6e 65 64 20 62 79 not mentioned by
0ea0: 20 61 20 63 6c 75 73 74 65 72 0a 0a 52 61 6e 64 a cluster..Rand
0eb0: 6f 6d 20 74 68 6f 75 67 68 74 73 3a 0a 0a 20 20 om thoughts:..
0ec0: 2a 20 20 43 68 61 6e 67 65 73 20 74 6f 20 6d 61 * Changes to ma
0ed0: 6e 69 66 65 73 74 20 74 6f 20 73 75 70 70 6f 72 nifest to suppor
0ee0: 74 3a 0a 20 20 20 20 20 2b 20 20 54 72 65 65 73 t:. + Trees
0ef0: 20 6f 66 20 77 69 6b 69 20 70 61 67 65 73 20 61 of wiki pages a
0f00: 6e 64 20 74 69 63 6b 65 74 73 0a 20 20 20 20 20 nd tickets.
0f10: 2b 20 20 54 68 65 20 61 62 69 6c 69 74 79 20 74 + The ability t
0f20: 6f 20 63 61 70 20 6f 72 20 63 6c 6f 73 65 20 61 o cap or close a
0f30: 20 62 72 61 6e 63 68 0a 20 20 20 20 20 2b 20 20 branch. +
0f40: 53 65 65 20 22 45 78 74 65 6e 64 65 64 20 4d 61 See "Extended Ma
0f50: 6e 69 66 65 73 74 73 22 20 62 65 6c 6f 77 0a 0a nifests" below..
0f60: 20 20 2a 20 20 41 64 64 20 74 68 65 20 63 6f 6e * Add the con
0f70: 63 65 70 74 20 6f 66 20 22 63 6c 75 73 74 65 72 cept of "cluster
0f80: 73 22 20 74 6f 20 73 70 65 65 64 20 74 68 65 20 s" to speed the
0f90: 74 72 61 6e 73 66 65 72 20 6f 66 20 22 74 69 70 transfer of "tip
0fa0: 73 22 0a 20 20 20 20 20 6f 6e 20 61 20 73 79 6e s". on a syn
0fb0: 63 2e 0a 0a 20 20 2a 20 20 41 75 78 69 6c 69 61 c... * Auxilia
0fc0: 72 79 20 74 61 62 6c 65 73 3a 0a 20 20 20 20 20 ry tables:.
0fd0: 2b 20 20 74 69 70 0a 20 20 20 20 20 2b 20 20 70 + tip. + p
0fe0: 68 61 6e 74 6f 6d 0a 20 20 20 20 20 2b 20 20 6d hantom. + m
0ff0: 6c 69 6e 6b 0a 20 20 20 20 20 2b 20 20 70 6c 69 link. + pli
1000: 6e 6b 0a 20 20 20 20 20 2b 20 20 62 72 61 6e 63 nk. + branc
1010: 68 0a 20 20 20 20 20 2b 20 20 74 72 65 65 0a 0a h. + tree..
1020: 20 20 2a 20 50 6c 69 6e 6b 2e 69 73 70 72 69 6d * Plink.isprim
1030: 20 63 68 61 6e 67 65 64 20 74 6f 20 72 65 63 6f changed to reco
1040: 72 64 3a 0a 20 20 20 20 20 2b 20 20 63 68 69 6c rd:. + chil
1050: 64 20 69 73 20 74 68 65 20 70 72 69 6e 63 69 70 d is the princip
1060: 61 6c 20 64 65 73 63 65 6e 64 65 6e 74 20 6f 66 al descendent of
1070: 20 70 61 72 65 6e 74 2e 20 28 31 29 0a 20 20 20 parent. (1).
1080: 20 20 2b 20 20 63 68 69 6c 64 20 69 73 20 61 20 + child is a
1090: 62 72 61 6e 63 68 20 66 72 6f 6d 20 70 61 72 65 branch from pare
10a0: 6e 74 20 28 32 29 0a 20 20 20 20 20 2b 20 20 63 nt (2). + c
10b0: 68 69 6c 64 20 75 73 65 73 20 70 61 72 65 6e 74 hild uses parent
10c0: 20 61 73 20 61 20 6d 65 72 67 65 20 28 30 29 0a as a merge (0).
10d0: 0a 20 20 2a 20 74 72 65 65 20 72 65 63 6f 72 64 . * tree record
10e0: 73 0a 20 20 20 20 20 2b 20 74 79 70 65 20 20 28 s. + type (
10f0: 63 6f 64 65 2c 20 77 69 6b 69 2c 20 74 69 63 6b code, wiki, tick
1100: 65 74 29 0a 20 20 20 20 20 2b 20 6e 61 6d 65 20 et). + name
1110: 20 28 66 6f 72 20 77 69 6b 69 20 61 6e 64 20 74 (for wiki and t
1120: 69 63 6b 65 74 20 6f 6e 6c 79 29 0a 20 20 20 20 icket only).
1130: 20 2b 20 74 72 65 65 69 64 0a 0a 20 20 2a 20 62 + treeid.. * b
1140: 72 61 6e 63 68 20 72 65 63 6f 72 64 73 0a 20 20 ranch records.
1150: 20 20 20 2b 20 74 72 65 65 69 64 0a 20 20 20 20 + treeid.
1160: 20 2b 20 6f 72 69 67 69 6e 5f 72 69 64 0a 20 20 + origin_rid.
1170: 20 20 20 2b 20 6f 72 69 67 69 6e 5f 74 69 6d 65 + origin_time
1180: 0a 20 20 20 20 20 2b 20 74 69 70 5f 72 69 64 0a . + tip_rid.
1190: 20 20 20 20 20 2b 20 74 69 70 5f 74 69 6d 65 0a + tip_time.
11a0: 20 20 20 20 20 2b 20 63 6f 6c 6f 72 0a 0a 20 20 + color..
11b0: 2a 20 77 65 62 73 69 74 65 20 63 61 6e 20 74 6f * website can to
11c0: 67 67 6c 65 20 69 73 70 72 69 6d 20 62 65 74 77 ggle isprim betw
11d0: 65 65 6e 20 70 72 69 6e 63 69 70 61 6c 20 61 6e een principal an
11e0: 64 20 62 72 61 6e 63 68 2e 0a 20 20 20 20 20 2b d branch.. +
11f0: 20 48 6f 77 20 74 6f 20 70 72 65 73 65 72 76 65 How to preserve
1200: 20 61 63 72 6f 73 73 20 72 65 62 75 69 6c 64 2e across rebuild.
1210: 20 20 41 20 6e 65 77 20 72 65 63 6f 72 64 20 74 A new record t
1220: 79 70 65 3f 0a 20 20 20 20 20 2b 20 48 6f 77 20 ype?. + How
1230: 74 6f 20 73 68 61 72 65 20 77 69 74 68 20 6f 74 to share with ot
1240: 68 65 72 20 72 65 70 6f 73 69 74 6f 72 69 65 73 her repositories
1250: 0a 20 20 2a 20 69 73 70 72 69 6d 20 67 75 65 73 . * isprim gues
1260: 73 65 64 20 75 73 69 6e 67 20 75 73 65 72 69 64 sed using userid
1270: 20 6f 66 20 70 61 72 65 6e 74 20 61 6e 64 20 63 of parent and c
1280: 68 69 6c 64 2e 20 20 43 68 61 6e 67 65 0a 20 20 hild. Change.
1290: 20 20 69 6e 20 69 64 20 73 75 67 67 65 73 74 73 in id suggests
12a0: 20 61 20 62 72 61 6e 63 68 2e 20 20 53 61 6d 65 a branch. Same
12b0: 20 69 64 20 73 75 67 67 65 73 74 73 20 70 72 69 id suggests pri
12c0: 6e 63 69 70 61 6c 2e 0a 20 20 20 20 46 6f 72 20 ncipal.. For
12d0: 61 20 74 69 65 2c 20 67 6f 20 77 69 74 68 20 74 a tie, go with t
12e0: 68 65 20 65 61 72 6c 69 65 73 74 20 63 68 65 63 he earliest chec
12f0: 6b 2d 69 6e 20 61 73 20 74 68 65 20 70 72 69 6e k-in as the prin
1300: 63 69 70 61 6c 27 0a 0a 20 20 2a 20 41 75 74 6f cipal'.. * Auto
1310: 73 79 6e 63 20 6d 6f 64 65 0a 20 20 20 20 20 2b sync mode. +
1320: 20 53 65 74 20 61 20 70 72 65 66 65 72 72 65 64 Set a preferred
1330: 20 72 65 6d 6f 74 65 20 72 65 70 6f 73 69 74 6f remote reposito
1340: 72 79 20 74 6f 20 75 73 65 20 61 73 20 61 20 73 ry to use as a s
1350: 65 72 76 65 72 0a 20 20 20 20 20 20 20 20 3d 20 erver. =
1360: 20 43 6c 6f 6e 65 20 72 65 70 6f 73 69 74 6f 72 Clone repositor
1370: 79 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 y is the default
1380: 0a 20 20 20 20 20 2b 20 4f 6e 20 63 6f 6d 6d 69 . + On commi
1390: 74 2c 20 66 69 72 73 74 20 70 75 6c 6c 2e 20 20 t, first pull.
13a0: 49 66 20 63 6f 6d 6d 69 74 20 62 61 73 65 6c 69 If commit baseli
13b0: 6e 65 20 69 73 20 6e 6f 74 20 61 20 74 69 70 0a ne is not a tip.
13c0: 20 20 20 20 20 20 20 70 72 6f 6d 70 74 20 75 73 prompt us
13d0: 65 72 20 74 6f 20 63 61 6e 63 65 6c 20 6f 72 20 er to cancel or
13e0: 62 72 61 6e 63 68 2e 20 20 44 65 66 61 75 6c 74 branch. Default
13f0: 20 69 73 20 63 61 6e 63 65 6c 2e 0a 20 20 20 20 is cancel..
1400: 20 2b 20 50 75 73 68 20 61 66 74 65 72 20 63 6f + Push after co
1410: 6d 6d 69 74 0a 20 20 20 20 20 2b 20 41 75 74 6f mmit. + Auto
1420: 6d 61 74 69 63 61 6c 6c 79 20 70 75 6c 6c 20 70 matically pull p
1430: 72 69 6f 72 20 74 6f 20 75 70 64 61 74 65 2e 0a rior to update..
1440: 20 20 20 20 20 2b 20 4e 65 65 64 20 61 6e 20 22 + Need an "
1450: 75 6e 64 6f 22 20 63 61 70 61 62 69 6c 69 74 79 undo" capability
1460: 0a 20 20 20 20 20 2b 20 44 65 73 69 67 6e 65 64 . + Designed
1470: 20 74 6f 20 61 76 6f 69 64 20 62 72 61 6e 63 68 to avoid branch
1480: 69 6e 67 20 69 6e 20 68 69 67 68 6c 79 20 63 6f ing in highly co
1490: 6c 6c 61 62 6f 72 61 74 69 76 65 20 0a 20 20 20 llaborative .
14a0: 20 20 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 environments
14b0: 2e 0a 0a 20 20 2a 20 41 72 63 68 65 6f 6c 6f 67 ... * Archeolog
14c0: 69 63 61 6c 20 77 65 62 70 61 67 65 20 69 6d 70 ical webpage imp
14d0: 72 6f 76 65 6d 65 6e 74 73 3a 0a 20 20 20 20 20 rovements:.
14e0: 2b 20 55 73 65 20 61 20 73 6d 61 6c 6c 20 61 6d + Use a small am
14f0: 6f 75 6e 74 20 6f 66 20 43 53 53 2b 6a 61 76 61 ount of CSS+java
1500: 73 63 72 69 70 74 20 6f 6e 20 74 69 6d 65 6c 69 script on timeli
1510: 6e 65 73 20 73 6f 20 74 68 61 74 0a 20 20 20 20 nes so that.
1520: 20 20 20 62 72 61 6e 63 68 69 6e 67 20 73 74 72 branching str
1530: 75 63 74 75 72 65 20 69 73 20 64 69 73 70 6c 61 ucture is displa
1540: 79 65 64 20 6f 6e 20 6d 6f 75 73 65 6f 76 65 72 yed on mouseover
1550: 2e 20 20 4f 6e 20 6d 6f 75 73 65 6f 76 65 72 0a . On mouseover.
1560: 20 20 20 20 20 20 20 6f 66 20 61 20 63 68 65 63 of a chec
1570: 6b 69 6e 2c 20 68 69 67 68 6c 69 67 68 74 20 6f kin, highlight o
1580: 74 68 65 72 20 63 68 65 63 6b 69 6e 73 20 74 68 ther checkins th
1590: 61 74 20 61 72 65 20 64 69 72 65 63 74 20 28 6e at are direct (n
15a0: 6f 6e 2d 6d 65 72 67 65 29 0a 20 20 20 20 20 20 on-merge).
15b0: 20 64 65 73 63 65 6e 64 65 6e 74 73 20 61 6e 64 descendents and
15c0: 20 61 6e 63 65 73 74 6f 72 73 20 6f 66 20 74 68 ancestors of th
15d0: 65 20 6d 6f 75 73 65 6f 76 65 72 20 63 68 65 63 e mouseover chec
15e0: 6b 69 6e 2e 0a 20 20 20 20 20 2b 20 54 69 6d 65 kin.. + Time
15f0: 6c 69 6e 65 20 73 68 6f 77 69 6e 67 20 69 6e 64 line showing ind
1600: 69 76 69 64 75 61 6c 20 62 72 61 6e 63 68 65 73 ividual branches
1610: 0a 20 20 20 20 20 2b 20 54 69 6d 65 6c 69 6e 65 . + Timeline
1620: 20 73 68 6f 77 73 20 66 6f 72 6b 73 20 61 6e 64 shows forks and
1630: 20 6d 65 72 67 65 73 0a 20 20 20 20 20 2b 20 54 merges. + T
1640: 61 67 73 20 73 68 6f 77 6e 20 6f 6e 20 74 69 6d ags shown on tim
1650: 65 6c 69 6e 65 20 28 6d 61 79 62 65 29 20 61 6e eline (maybe) an
1660: 64 20 69 6e 20 76 69 6e 66 6f 20 28 73 75 72 65 d in vinfo (sure
1670: 6c 79 29 2e 0a 0a 46 65 61 74 75 72 65 73 20 6e ly)...Features n
1680: 65 65 64 65 64 3a 0a 20 20 2a 20 4d 65 61 6e 73 eeded:. * Means
1690: 20 74 6f 20 73 75 70 70 72 65 73 73 20 61 72 74 to suppress art
16a0: 69 66 61 63 74 73 0a 20 20 2a 20 4d 65 61 6e 73 ifacts. * Means
16b0: 20 74 6f 20 63 61 70 20 61 20 62 72 61 6e 63 68 to cap a branch
16c0: 0a 20 20 2a 20 54 69 63 6b 65 74 69 6e 67 0a 20 . * Ticketing.
16d0: 20 20 20 20 2b 20 20 50 72 6f 62 6c 65 6d 20 69 + Problem i
16e0: 73 2f 69 73 2d 6e 6f 74 20 65 78 70 72 65 73 73 s/is-not express
16f0: 65 64 20 69 6e 20 62 61 73 65 6c 69 6e 65 20 58 ed in baseline X
1700: 2e 0a 20 20 20 20 20 2b 20 20 41 70 70 65 6e 64 .. + Append
1710: 20 63 6f 6d 6d 65 6e 74 20 61 6e 64 20 7a 65 72 comment and zer
1720: 6f 20 6f 72 20 6d 6f 72 65 20 61 74 74 61 63 68 o or more attach
1730: 6d 65 6e 74 73 0a 20 20 2a 20 4d 6f 64 69 66 79 ments. * Modify
1740: 20 63 6f 6d 6d 65 6e 74 73 20 6f 6e 20 62 61 73 comments on bas
1750: 65 6c 69 6e 65 73 0a 20 20 2a 20 41 70 70 65 6e elines. * Appen
1760: 64 20 63 6f 6d 6d 65 6e 74 73 20 74 6f 20 61 6e d comments to an
1770: 79 20 61 72 74 69 66 61 63 74 0a 20 20 2a 20 57 y artifact. * W
1780: 69 6b 69 3f 0a 0a 20 20 0a 0a 45 78 74 65 6e 64 iki?.. ..Extend
1790: 65 64 20 6d 61 6e 69 66 65 73 74 73 2e 0a 20 20 ed manifests..
17a0: 2a 20 6e 6f 72 6d 61 6c 20 6d 61 6e 69 66 65 73 * normal manifes
17b0: 74 20 68 61 73 3a 0a 20 20 20 20 20 20 20 43 20 t has:. C
17c0: 63 6f 6d 6d 65 6e 74 0a 20 20 20 20 20 20 20 44 comment. D
17d0: 20 64 61 74 65 2d 74 69 6d 65 0a 20 20 20 20 20 date-time.
17e0: 20 20 46 2a 20 66 69 6c 65 6e 61 6d 65 20 75 75 F* filename uu
17f0: 69 64 0a 20 20 20 20 20 20 20 50 20 75 75 69 64 id. P uuid
1800: 20 2e 2e 2e 20 20 20 20 20 20 20 20 20 20 20 2d ... -
1810: 2d 20 6f 6d 69 74 74 65 64 20 66 6f 72 20 66 69 - omitted for fi
1820: 72 73 74 20 6d 61 6e 69 66 65 73 74 0a 20 20 20 rst manifest.
1830: 20 20 20 20 52 20 72 65 70 6f 73 69 74 6f 72 79 R repository
1840: 2d 6d 64 35 73 75 6d 0a 20 20 20 20 20 20 20 55 -md5sum. U
1850: 20 75 73 65 72 2d 6c 6f 67 69 6e 0a 20 20 20 20 user-login.
1860: 20 20 20 5a 20 6d 61 6e 69 66 65 73 74 2d 63 68 Z manifest-ch
1870: 65 63 6b 73 75 6d 0a 0a 20 20 2a 20 41 63 63 65 ecksum.. * Acce
1880: 73 73 6f 72 79 3a 0a 20 20 20 20 20 20 20 41 20 ssory:. A
1890: 75 75 69 64 7c 2a 20 61 74 74 61 63 68 6d 65 6e uuid|* attachmen
18a0: 74 2d 75 75 69 64 20 64 65 73 63 72 69 70 74 69 t-uuid descripti
18b0: 6f 6e 0a 20 20 20 20 20 20 20 44 20 64 61 74 65 on. D date
18c0: 2d 74 69 6d 65 0a 20 20 20 20 20 20 20 45 20 75 -time. E u
18d0: 75 69 64 20 6e 65 77 2d 63 6f 6d 6d 65 6e 74 0a uid new-comment.
18e0: 20 20 20 20 20 20 20 47 20 75 75 69 64 20 61 70 G uuid ap
18f0: 70 65 6e 64 65 64 2d 72 65 6d 61 72 6b 0a 20 20 pended-remark.
1900: 20 20 20 20 20 53 20 72 65 70 6f 73 69 74 6f 72 S repositor
1910: 79 69 64 20 73 65 72 69 61 6c 2d 6e 75 6d 62 65 yid serial-numbe
1920: 72 0a 20 20 20 20 20 20 20 54 20 28 2b 7c 2d 29 r. T (+|-)
1930: 74 61 67 20 75 75 69 64 0a 20 20 20 20 20 20 20 tag uuid.
1940: 55 20 75 73 65 72 69 64 0a 20 20 20 20 20 20 20 U userid.
1950: 58 20 75 75 69 64 2d 74 6f 2d 73 75 72 70 72 65 X uuid-to-surpre
1960: 73 73 0a 20 20 20 20 20 20 20 5a 20 74 68 69 73 ss. Z this
1970: 2d 66 69 6c 65 2d 63 68 65 63 6b 73 75 6d 0a 0a -file-checksum..
1980: 20 20 2a 20 43 68 61 6e 67 65 20 74 68 65 20 63 * Change the c
1990: 6f 6d 6d 65 6e 74 20 6f 6e 20 61 20 76 65 72 73 omment on a vers
19a0: 69 6f 6e 3a 20 20 20 2d 2d 20 61 6c 77 61 79 73 ion: -- always
19b0: 20 61 20 6c 65 61 66 20 65 78 63 65 70 74 20 69 a leaf except i
19c0: 6e 20 63 6c 75 73 74 65 72 0a 20 20 20 20 20 20 n cluster.
19d0: 20 44 20 64 61 74 65 2d 74 69 6d 65 0a 20 20 20 D date-time.
19e0: 20 20 20 20 45 20 6e 65 77 2d 63 6f 6d 6d 65 6e E new-commen
19f0: 74 0a 20 20 20 20 20 20 20 50 20 75 75 69 64 20 t. P uuid
1a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 20 --
1a10: 62 61 73 65 6c 69 6e 65 20 77 68 6f 73 65 20 63 baseline whose c
1a20: 6f 6d 6d 65 6e 74 20 69 73 20 63 68 61 6e 67 65 omment is change
1a30: 64 0a 20 20 20 20 20 20 20 55 20 75 73 65 72 2d d. U user-
1a40: 6c 6f 67 69 6e 0a 20 20 20 20 20 20 20 5a 20 63 login. Z c
1a50: 68 65 63 6b 73 75 6d 0a 20 20 20 20 20 20 20 2d hecksum. -
1a60: 2d 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 77 69 - most recent wi
1a70: 6e 73 0a 20 20 2a 20 57 69 6b 69 20 65 64 69 74 ns. * Wiki edit
1a80: 0a 20 20 20 20 20 20 20 41 2a 20 6e 61 6d 65 20 . A* name
1a90: 75 75 69 64 20 20 20 2d 2d 20 7a 65 72 6f 20 6f uuid -- zero o
1aa0: 72 20 6d 6f 72 65 20 61 74 74 61 63 68 6d 65 6e r more attachmen
1ab0: 74 73 0a 20 20 20 20 20 20 20 43 3f 20 63 6f 6d ts. C? com
1ac0: 6d 65 6e 74 0a 20 20 20 20 20 20 20 44 20 64 61 ment. D da
1ad0: 74 65 2d 74 69 6d 65 0a 20 20 20 20 20 20 20 4e te-time. N
1ae0: 20 6e 61 6d 65 20 20 20 20 20 20 20 20 20 2d 2d name --
1af0: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 6b name of the wik
1b00: 69 20 70 61 67 65 0a 20 20 20 20 20 20 20 50 20 i page. P
1b10: 75 75 69 64 20 2e 2e 2e 20 20 20 20 20 2d 2d 20 uuid ... --
1b20: 6f 6d 69 74 20 66 6f 72 20 6e 65 77 20 77 69 6b omit for new wik
1b30: 69 0a 20 20 20 20 20 20 20 55 20 75 73 65 72 2d i. U user-
1b40: 6c 6f 67 69 6e 0a 20 20 20 20 20 20 20 57 20 75 login. W u
1b50: 75 69 64 20 20 20 20 20 20 20 20 20 2d 2d 20 54 uid -- T
1b60: 68 65 20 63 6f 6e 74 65 6e 74 20 66 69 6c 65 0a he content file.
1b70: 20 20 20 20 20 20 20 5a 20 6d 61 6e 69 66 65 73 Z manifes
1b80: 74 2d 63 6b 73 75 6d 0a 20 20 2a 20 54 69 63 6b t-cksum. * Tick
1b90: 65 74 20 65 64 69 74 0a 20 20 20 20 20 20 20 41 et edit. A
1ba0: 2a 20 6e 61 6d 65 20 75 75 69 64 20 20 20 2d 2d * name uuid --
1bb0: 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 61 74 zero or more at
1bc0: 74 61 63 68 6d 65 6e 74 73 0a 20 20 20 20 20 20 tachments.
1bd0: 20 44 20 64 61 74 65 2d 74 69 6d 65 0a 20 20 20 D date-time.
1be0: 20 20 20 20 4e 20 6e 61 6d 65 20 20 20 20 20 20 N name
1bf0: 20 20 20 2d 2d 20 6e 61 6d 65 20 6f 66 20 74 68 -- name of th
1c00: 65 20 74 69 63 6b 65 74 0a 20 20 20 20 20 20 20 e ticket.
1c10: 50 20 75 75 69 64 20 20 20 20 20 20 20 20 20 2d P uuid -
1c20: 2d 20 6f 6d 69 74 20 66 6f 72 20 6e 65 77 20 74 - omit for new t
1c30: 69 63 6b 65 74 0a 20 20 20 20 20 20 20 54 20 75 icket. T u
1c40: 75 69 64 20 20 20 20 20 20 20 20 20 2d 2d 20 63 uid -- c
1c50: 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 74 69 ontent of the ti
1c60: 63 6b 65 74 0a 20 20 20 20 20 20 20 55 20 75 73 cket. U us
1c70: 65 72 2d 6c 6f 67 69 6e 0a 20 20 20 20 20 20 20 er-login.
1c80: 5a 20 6d 61 6e 69 66 65 73 74 2d 63 6b 73 75 6d Z manifest-cksum
1c90: 0a 20 20 2a 20 53 65 74 20 6f 72 20 65 72 61 73 . * Set or eras
1ca0: 65 20 61 20 74 61 67 20 20 20 20 2d 2d 20 6d 6f e a tag -- mo
1cb0: 73 74 20 72 65 63 65 6e 74 20 64 61 74 65 20 77 st recent date w
1cc0: 69 6e 73 0a 20 20 20 20 20 20 20 42 2a 20 28 2b ins. B* (+
1cd0: 7c 2d 29 74 61 67 20 75 75 69 64 0a 20 20 20 20 |-)tag uuid.
1ce0: 20 20 20 43 3f 20 63 6f 6d 6d 65 6e 74 0a 20 20 C? comment.
1cf0: 20 20 20 20 20 44 20 64 61 74 65 2d 74 69 6d 65 D date-time
1d00: 0a 20 20 20 20 20 20 20 56 2a 20 28 2b 7c 2d 29 . V* (+|-)
1d10: 20 74 61 67 20 75 75 69 64 20 20 20 20 2d 2d 20 tag uuid --
1d20: 2b 20 74 6f 20 73 65 74 2c 20 2d 20 74 6f 20 63 + to set, - to c
1d30: 6c 65 61 72 2e 20 20 0a 20 20 20 20 20 20 20 5a lear. . Z
1d40: 20 6d 61 6e 69 66 65 73 74 2d 63 6b 73 75 6d 0a manifest-cksum.
1d50: 20 20 20 20 20 20 20 2d 2d 20 4d 75 73 74 20 68 -- Must h
1d60: 61 76 65 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 ave at least one
1d70: 20 42 20 6f 72 20 56 2e 0a 20 20 20 20 20 20 20 B or V..
1d80: 2d 2d 20 42 72 61 6e 63 68 20 74 61 67 20 22 68 -- Branch tag "h
1d90: 69 64 64 65 6e 22 20 6d 65 61 6e 73 20 64 6f 20 idden" means do
1da0: 6e 6f 74 20 73 79 6e 63 0a 20 20 20 20 20 20 20 not sync.
1db0: 2d 2d 20 56 65 72 73 69 6f 6e 20 74 61 67 20 22 -- Version tag "
1dc0: 63 6c 6f 73 65 64 22 20 6d 65 61 6e 73 20 64 6f closed" means do
1dd0: 20 6e 6f 74 20 64 69 73 70 6c 61 79 20 61 73 20 not display as
1de0: 61 20 6c 65 61 66 0a 20 20 2a 20 41 20 63 6c 75 a leaf. * A clu
1df0: 73 74 65 72 0a 20 20 20 20 20 20 20 4d 2b 20 75 ster. M+ u
1e00: 75 69 64 0a 20 20 20 20 20 20 20 5a 20 6d 61 6e uid. Z man
1e10: 69 66 65 73 74 2d 63 6b 73 75 6d 0a 0a 20 20 2a ifest-cksum.. *
1e20: 20 43 6f 6d 70 6c 65 74 65 20 73 65 74 20 6f 66 Complete set of
1e30: 20 63 61 72 64 73 20 69 6e 20 61 20 63 6f 6e 74 cards in a cont
1e40: 72 6f 6c 20 66 69 6c 65 3a 0a 20 20 20 20 20 20 rol file:.
1e50: 20 41 20 66 69 6c 65 6e 61 6d 65 20 75 75 69 64 A filename uuid
1e60: 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 .
1e70: 20 20 20 20 20 42 20 28 2b 7c 2d 29 62 72 61 6e B (+|-)bran
1e80: 63 68 2d 74 61 67 20 75 75 69 64 20 20 20 20 20 ch-tag uuid
1e90: 20 0a 20 20 20 20 20 20 20 43 20 63 6f 6d 6d 65 . C comme
1ea0: 6e 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt
1eb0: 20 20 20 20 20 0a 20 20 20 20 20 20 20 44 20 64 . D d
1ec0: 61 74 65 2d 74 69 6d 65 20 20 20 20 20 20 20 20 ate-time
1ed0: 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 .
1ee0: 20 45 20 75 75 69 64 20 65 64 69 74 65 64 2d 63 E uuid edited-c
1ef0: 6f 6d 6d 65 6e 74 20 20 20 20 20 20 20 0a 20 20 omment .
1f00: 20 20 20 20 20 46 20 66 69 6c 65 6e 61 6d 65 20 F filename
1f10: 75 75 69 64 20 20 20 20 20 20 20 20 20 20 20 20 uuid
1f20: 20 0a 20 20 20 20 20 20 20 4d 20 75 75 69 64 20 . M uuid
1f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f40: 20 20 20 20 20 0a 20 20 20 20 20 20 20 4e 20 6e . N n
1f50: 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 20 ame
1f60: 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 .
1f70: 20 50 20 75 75 69 64 20 2e 2e 2e 20 20 20 20 20 P uuid ...
1f80: 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 .
1f90: 20 20 20 20 20 52 20 72 65 70 6f 73 69 74 6f 72 R repositor
1fa0: 79 2d 6d 64 35 73 75 6d 20 20 20 20 20 20 20 20 y-md5sum
1fb0: 20 0a 20 20 20 20 20 20 20 54 20 75 75 69 64 20 . T uuid
1fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd0: 20 20 20 20 20 0a 20 20 20 20 20 20 20 55 20 75 . U u
1fe0: 73 65 72 2d 6c 6f 67 69 6e 20 20 20 20 20 20 20 ser-login
1ff0: 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 .
2000: 20 56 20 28 2b 7c 2d 29 76 65 72 73 69 6f 6e 2d V (+|-)version-
2010: 74 61 67 20 75 75 69 64 20 20 20 20 20 0a 20 20 tag uuid .
2020: 20 20 20 20 20 57 20 75 75 69 64 20 20 20 20 20 W uuid
2030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2040: 20 0a 20 20 20 20 20 20 20 5a 20 6d 61 6e 69 66 . Z manif
2050: 65 73 74 2d 63 68 65 63 6b 73 75 6d 0a est-checksum.