Hex Artifact Content
Not logged in

Artifact 5e00e8293a76175ff435937e71c0ba5e5a6ec371:

File todo.txt part of check-in [b8cc22ebdf] - Merged dhr's todo and ideas update by jnc on 2007-09-24 23:56:25. Also file todo.txt part of check-in [d0305b305a] - Merged mainline into my branch to get the newest application. by aku on 2007-12-05 08:07:46.

0000: 42 75 67 73 3a 0a 0a 20 2a 20 20 57 68 65 6e 20  Bugs:.. *  When 
0010: 64 6f 69 6e 67 20 61 6e 20 75 70 64 61 74 65 2c  doing an update,
0020: 20 69 66 20 61 20 66 69 6c 65 20 69 73 20 6e 6f   if a file is no
0030: 74 20 66 6f 75 6e 64 20 74 68 61 74 20 73 68 6f  t found that sho
0040: 75 6c 64 20 62 65 20 74 68 65 72 65 0a 20 20 20  uld be there.   
0050: 20 74 68 65 6e 20 74 68 65 20 75 70 64 61 74 65   then the update
0060: 20 61 62 6f 72 74 73 2c 20 6f 6e 6c 79 20 61 66   aborts, only af
0070: 74 65 72 20 69 74 20 68 61 73 20 77 72 69 74 74  ter it has writt
0080: 65 6e 20 73 65 76 65 72 61 6c 20 66 69 6c 65 73  en several files
0090: 2e 20 49 74 0a 20 20 20 20 64 6f 65 73 20 6e 6f  . It.    does no
00a0: 74 20 75 70 64 61 74 65 20 79 6f 75 72 20 63 68  t update your ch
00b0: 65 63 6b 65 64 20 6f 75 74 20 76 65 72 73 69 6f  ecked out versio
00c0: 6e 2c 20 74 68 75 73 20 77 68 65 6e 20 64 6f 69  n, thus when doi
00d0: 6e 67 20 61 20 66 6f 73 73 69 6c 0a 20 20 20 20  ng a fossil.    
00e0: 63 68 61 6e 67 65 73 2c 20 79 6f 75 20 73 65 65  changes, you see
00f0: 20 65 76 65 72 79 74 68 69 6e 67 20 74 68 61 74   everything that
0100: 20 68 61 73 20 63 6f 6d 65 20 6f 76 65 72 20 66   has come over f
0110: 72 6f 6d 20 79 6f 75 72 20 75 70 64 61 74 65 0a  rom your update.
0120: 20 20 20 20 63 6f 6d 6d 61 6e 64 2e 20 53 74 65      command. Ste
0130: 70 73 20 74 6f 20 72 65 70 72 6f 64 75 63 65 3a  ps to reproduce:
0140: 0a 20 20 20 20 0a 20 20 20 20 24 20 72 6d 20 73  .    .    $ rm s
0150: 72 63 2f 6d 61 69 6e 2e 63 0a 20 20 20 20 24 20  rc/main.c.    $ 
0160: 66 6f 73 73 69 6c 20 75 70 64 61 74 65 20 39 62  fossil update 9b
0170: 33 30 0a 20 20 20 20 55 50 44 41 54 45 20 2e 2e  30.    UPDATE ..
0180: 2e 20 65 74 63 20 2e 2e 2e 0a 20 20 20 20 66 6f  . etc ....    fo
0190: 73 73 69 6c 3a 20 6e 6f 20 73 75 63 68 20 66 69  ssil: no such fi
01a0: 6c 65 3a 20 73 72 63 2f 6d 61 69 6e 2e 63 0a 20  le: src/main.c. 
01b0: 20 20 20 24 20 66 6f 73 73 69 6c 20 69 6e 66 6f     $ fossil info
01c0: 0a 20 20 20 20 28 73 68 6f 77 73 20 76 65 72 73  .    (shows vers
01d0: 69 6f 6e 20 79 6f 75 20 77 65 72 65 20 6f 6e 20  ion you were on 
01e0: 70 72 69 6f 72 20 74 6f 20 75 70 64 61 74 65 29  prior to update)
01f0: 0a 20 20 20 20 24 20 66 6f 73 73 69 6c 20 63 68  .    $ fossil ch
0200: 61 6e 67 65 73 0a 20 20 20 20 45 44 49 54 45 44  anges.    EDITED
0210: 20 2e 2e 2e 20 6d 61 6e 79 20 2e 2e 2e 0a 20 20   ... many ....  
0220: 20 20 0a 20 2a 20 20 42 75 67 3a 20 49 66 20 74    . *  Bug: If t
0230: 68 65 20 73 65 72 76 65 72 20 63 6c 6f 73 65 73  he server closes
0240: 20 74 68 65 20 73 6f 63 6b 65 74 20 75 6e 65 78   the socket unex
0250: 70 65 63 74 65 64 6c 79 2c 20 74 68 65 0a 20 20  pectedly, the.  
0260: 20 20 66 77 72 69 74 65 28 29 20 69 6e 20 68 74    fwrite() in ht
0270: 74 70 2e 63 3a 31 30 33 20 74 68 72 6f 77 73 20  tp.c:103 throws 
0280: 61 20 73 69 67 6e 61 6c 20 61 6e 64 20 6b 69 6c  a signal and kil
0290: 6c 73 20 74 68 65 20 63 68 69 6c 64 0a 20 20 20  ls the child.   
02a0: 20 70 72 6f 63 65 73 73 2e 20 20 66 77 72 69 74   process.  fwrit
02b0: 65 28 29 20 69 73 20 6e 6f 74 20 73 75 70 70 6f  e() is not suppo
02c0: 73 65 20 74 6f 20 64 6f 20 74 68 69 73 2e 20 20  se to do this.  
02d0: 4e 65 65 64 20 74 6f 20 66 69 67 75 72 65 0a 20  Need to figure. 
02e0: 20 20 20 6f 75 74 20 77 68 61 74 20 69 73 20 67     out what is g
02f0: 6f 69 6e 67 20 77 72 6f 6e 67 2e 0a 0a 20 2a 20  oing wrong... * 
0300: 20 42 75 67 3a 20 4d 61 6b 65 20 73 75 72 65 20   Bug: Make sure 
0310: 6d 65 72 67 65 20 61 6e 64 20 6f 74 68 65 72 20  merge and other 
0320: 63 6f 6d 6d 61 6e 64 73 20 28 63 68 65 63 6b 2d  commands (check-
0330: 6f 75 74 29 20 64 6f 20 6e 6f 74 20 74 72 79 0a  out) do not try.
0340: 20 20 20 20 74 6f 20 75 73 65 20 61 20 70 68 61      to use a pha
0350: 6e 74 6f 6d 2e 0a 0a 20 2a 20 20 42 75 67 3a 20  ntom... *  Bug: 
0360: 57 68 65 6e 20 63 6c 6f 6e 65 20 75 73 65 20 69  When clone use i
0370: 6e 63 6f 72 72 65 63 74 20 68 74 74 70 20 55 52  ncorrect http UR
0380: 4c 2c 20 6c 6f 63 61 6c 20 72 65 70 6f 20 66 69  L, local repo fi
0390: 6c 65 20 69 73 20 73 74 69 6c 6c 20 63 72 65 61  le is still crea
03a0: 74 65 64 2e 0a 0a 54 68 69 6e 67 73 20 74 6f 20  ted...Things to 
03b0: 77 6f 72 6b 20 6f 6e 3a 0a 0a 20 2a 20 20 55 73  work on:.. *  Us
03c0: 65 20 74 68 65 20 77 69 6b 69 5f 63 6f 6e 76 65  e the wiki_conve
03d0: 72 74 28 29 20 72 6f 75 74 69 6e 65 20 74 6f 20  rt() routine to 
03e0: 72 65 6e 64 65 72 20 63 6f 6d 6d 65 6e 74 73 20  render comments 
03f0: 61 6e 64 20 6f 74 68 65 72 20 74 65 78 74 0a 20  and other text. 
0400: 20 20 20 6f 6e 20 77 65 62 20 70 61 67 65 73 2e     on web pages.
0410: 0a 0a 20 2a 20 20 49 66 20 74 68 65 20 73 65 72  .. *  If the ser
0420: 76 65 72 20 64 6f 65 73 20 6e 6f 74 20 68 61 76  ver does not hav
0430: 65 20 77 72 69 74 65 20 70 65 72 6d 69 73 73 69  e write permissi
0440: 6f 6e 20 6f 6e 20 74 68 65 20 64 61 74 61 62 61  on on the databa
0450: 73 65 0a 20 20 20 20 66 69 6c 65 2c 20 6f 72 20  se.    file, or 
0460: 6f 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79  on the directory
0470: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20   containing the 
0480: 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 28 61  database file (a
0490: 6e 64 20 0a 20 20 20 20 69 74 20 69 73 20 74 68  nd .    it is th
04a0: 75 73 20 75 6e 61 62 6c 65 20 74 6f 20 75 70 64  us unable to upd
04b0: 61 74 65 20 74 68 65 20 64 61 74 61 62 61 73 65  ate the database
04c0: 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 6e   because it cann
04d0: 6f 74 20 63 72 65 61 74 65 0a 20 20 20 20 61 20  ot create.    a 
04e0: 72 6f 6c 6c 62 61 63 6b 20 6a 6f 75 72 6e 61 6c  rollback journal
04f0: 29 20 74 68 65 6e 20 69 74 20 63 75 72 72 65 6e  ) then it curren
0500: 74 6c 79 20 66 61 69 6c 73 20 73 69 6c 65 6e 74  tly fails silent
0510: 6c 79 20 6f 6e 20 61 20 70 75 73 68 2e 0a 20 20  ly on a push..  
0520: 20 20 49 74 20 6e 65 65 64 73 20 74 6f 20 72 65    It needs to re
0530: 74 75 72 6e 20 61 20 68 65 6c 70 66 75 6c 20 65  turn a helpful e
0540: 72 72 6f 72 2e 0a 0a 20 2a 20 20 49 66 20 74 68  rror... *  If th
0550: 65 20 73 65 72 76 65 72 20 72 65 74 75 72 6e 73  e server returns
0560: 20 61 6e 20 65 72 72 6f 72 20 28 66 6f 72 20 65   an error (for e
0570: 78 61 6d 70 6c 65 20 69 66 20 74 68 65 20 6f 75  xample if the ou
0580: 74 62 6f 75 6e 64 20 2f 78 66 65 72 0a 20 20 20  tbound /xfer.   
0590: 20 6d 65 73 73 61 67 65 20 65 78 63 65 65 64 73   message exceeds
05a0: 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 50 4f 53   the maximum POS
05b0: 54 20 73 69 7a 65 20 6f 66 20 74 68 65 20 73 65  T size of the se
05c0: 72 76 65 72 29 20 74 68 65 20 63 6c 69 65 6e 74  rver) the client
05d0: 0a 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 72 65  .    does not re
05e0: 70 6f 72 74 20 74 68 69 73 20 65 72 72 6f 72 20  port this error 
05f0: 62 61 63 6b 20 74 6f 20 74 68 65 20 75 73 65 72  back to the user
0600: 20 61 73 20 69 74 20 73 68 6f 75 6c 64 2e 0a 0a   as it should...
0610: 20 2a 20 20 54 68 65 20 69 70 61 64 64 72 20 66   *  The ipaddr f
0620: 69 65 6c 64 20 6f 66 20 74 68 65 20 72 63 76 66  ield of the rcvf
0630: 72 6f 6d 20 74 61 62 6c 65 20 69 73 20 6e 6f 74  rom table is not
0640: 20 62 65 69 6e 67 20 73 65 74 2e 20 20 54 68 69   being set.  Thi
0650: 73 0a 20 20 20 20 66 69 65 6c 64 20 73 68 6f 75  s.    field shou
0660: 6c 64 20 62 65 20 74 68 65 20 49 50 20 61 64 64  ld be the IP add
0670: 72 65 73 73 20 66 72 6f 6d 20 77 68 69 63 68 20  ress from which 
0680: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 72  information is r
0690: 65 63 65 69 76 65 64 0a 20 20 20 20 66 6f 72 20  eceived.    for 
06a0: 74 68 65 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69  the local reposi
06b0: 74 6f 72 79 2e 20 20 53 6f 20 77 68 65 6e 20 73  tory.  So when s
06c0: 6f 6d 65 62 6f 64 79 20 64 6f 65 73 20 61 20 70  omebody does a p
06d0: 75 73 68 20 6f 66 20 6e 65 77 0a 20 20 20 20 66  ush of new.    f
06e0: 69 6c 65 73 20 77 65 20 72 65 63 6f 72 64 20 74  iles we record t
06f0: 68 65 20 69 70 61 64 64 72 2e 20 20 4f 72 20 77  he ipaddr.  Or w
0700: 68 65 6e 20 77 65 20 64 6f 20 61 20 70 75 6c 6c  hen we do a pull
0710: 2c 20 77 65 20 72 65 63 6f 72 64 0a 20 20 20 20  , we record.    
0720: 74 68 65 20 69 70 61 64 64 72 2e 20 20 28 49 20  the ipaddr.  (I 
0730: 74 68 69 6e 6b 20 74 68 69 73 20 68 61 73 20 62  think this has b
0740: 65 65 6e 20 66 69 78 65 64 2e 20 20 4e 65 65 64  een fixed.  Need
0750: 20 74 6f 20 74 65 73 74 2e 29 0a 0a 20 2a 20 20   to test.).. *  
0760: 41 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f 72  Additional infor
0770: 6d 61 74 69 6f 6e 20 64 69 73 70 6c 61 79 65 64  mation displayed
0780: 20 66 6f 72 20 74 68 65 20 22 76 69 6e 66 6f 22   for the "vinfo"
0790: 20 70 61 67 65 3a 0a 0a 20 20 20 20 20 2b 20 20   page:..     +  
07a0: 41 6c 6c 20 6c 65 61 76 65 73 20 6f 66 20 74 68  All leaves of th
07b0: 69 73 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20  is version that 
07c0: 61 72 65 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64  are not included
07d0: 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20   in the.        
07e0: 64 65 73 63 65 6e 64 61 6e 74 20 6c 69 73 74 2e  descendant list.
07f0: 20 20 57 69 74 68 20 64 61 74 65 2c 20 75 73 65    With date, use
0800: 72 2c 20 63 6f 6d 6d 65 6e 74 2c 20 61 6e 64 20  r, comment, and 
0810: 68 79 70 65 72 6c 69 6e 6b 2e 0a 20 20 20 20 20  hyperlink..     
0820: 20 20 20 4c 65 61 76 65 73 20 69 6e 20 74 68 65     Leaves in the
0830: 20 64 65 73 63 65 6e 64 61 6e 74 20 74 61 62 6c   descendant tabl
0840: 65 20 73 68 6f 75 6c 64 20 62 65 20 6d 61 72 6b  e should be mark
0850: 65 64 20 61 73 20 73 75 63 68 2e 0a 20 20 20 20  ed as such..    
0860: 20 20 20 20 53 65 65 20 74 68 65 20 63 6f 6d 70      See the comp
0870: 75 74 65 5f 6c 65 61 76 65 73 28 29 20 66 75 6e  ute_leaves() fun
0880: 63 74 69 6f 6e 20 74 6f 20 73 65 65 20 68 6f 77  ction to see how
0890: 20 74 6f 20 66 69 6e 64 20 61 6c 6c 0a 20 20 20   to find all.   
08a0: 20 20 20 20 20 6c 65 61 76 65 73 2e 0a 20 20 20       leaves..   
08b0: 20 20 2b 20 20 41 64 64 20 66 69 6c 65 20 64 69    +  Add file di
08c0: 66 66 20 6c 69 6e 6b 73 20 74 6f 20 74 68 65 20  ff links to the 
08d0: 66 69 6c 65 20 63 68 61 6e 67 65 20 6c 69 73 74  file change list
08e0: 2e 0a 0a 20 2a 20 20 45 6e 68 61 6e 63 65 6d 65  ... *  Enhanceme
08f0: 6e 74 73 20 74 6f 20 74 68 65 20 64 69 66 66 20  nts to the diff 
0900: 61 6e 64 20 74 6b 64 69 66 66 20 63 6f 6d 6d 61  and tkdiff comma
0910: 6e 64 73 20 69 6e 20 74 68 65 20 63 6c 69 2e 0a  nds in the cli..
0920: 20 20 20 20 41 6c 6c 6f 77 20 74 68 65 20 65 6e      Allow the en
0930: 74 69 72 65 20 74 72 65 65 20 6f 72 20 61 20 73  tire tree or a s
0940: 75 62 74 72 65 65 20 74 6f 20 62 65 20 64 69 66  ubtree to be dif
0950: 66 65 64 2c 20 6e 6f 74 20 6a 75 73 74 20 61 20  fed, not just a 
0960: 0a 20 20 20 20 73 69 6e 67 6c 65 20 66 69 6c 65  .    single file
0970: 2e 20 20 41 6c 6c 6f 77 20 64 69 66 66 73 20 61  .  Allow diffs a
0980: 67 61 69 6e 73 74 20 61 6e 79 20 74 77 6f 20 61  gainst any two a
0990: 72 62 69 74 72 61 72 79 20 76 65 72 73 69 6f 6e  rbitrary version
09a0: 73 2c 0a 20 20 20 20 6e 6f 74 20 6a 75 73 74 20  s,.    not just 
09b0: 64 69 66 66 73 20 61 67 61 69 6e 73 74 20 74 68  diffs against th
09c0: 65 20 63 75 72 72 65 6e 74 20 63 68 65 63 6b 2d  e current check-
09d0: 6f 75 74 2e 0a 0a 20 2a 20 20 54 69 63 6b 65 74  out... *  Ticket
09e0: 69 6e 67 20 69 6e 74 65 72 66 61 63 65 20 28 65  ing interface (e
09f0: 78 70 61 6e 64 20 74 68 69 73 20 62 75 6c 6c 65  xpand this bulle
0a00: 74 29 0a 0a 20 20 20 20 20 2b 20 20 43 72 65 61  t)..     +  Crea
0a10: 74 65 20 6e 65 77 20 74 69 63 6b 65 74 73 20 61  te new tickets a
0a20: 73 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 66  s files in the f
0a30: 69 6c 65 20 68 69 65 72 61 72 63 68 79 0a 20 20  ile hierarchy.  
0a40: 20 20 20 2b 20 20 41 70 70 65 6e 64 20 72 65 6d     +  Append rem
0a50: 61 72 6b 73 20 74 6f 20 61 20 74 69 63 6b 65 74  arks to a ticket
0a60: 0a 20 20 20 20 20 2b 20 20 41 64 64 20 61 74 74  .     +  Add att
0a70: 61 63 68 6d 65 6e 74 73 20 74 6f 20 61 20 74 69  achments to a ti
0a80: 63 6b 65 74 0a 20 20 20 20 20 2b 20 20 43 68 61  cket.     +  Cha
0a90: 6e 67 65 20 61 74 74 72 69 62 75 74 65 73 20 6f  nge attributes o
0aa0: 66 20 61 20 74 69 63 6b 65 74 0a 20 20 20 20 20  f a ticket.     
0ab0: 2b 20 20 44 65 6c 65 74 65 20 74 69 63 6b 65 74  +  Delete ticket
0ac0: 73 20 74 68 61 74 20 61 72 65 20 6e 6f 20 6c 6f  s that are no lo
0ad0: 6e 67 65 72 20 63 75 72 72 65 6e 74 2e 20 20 28  nger current.  (
0ae0: 54 68 65 20 6f 6c 64 0a 20 20 20 20 20 20 20 20  The old.        
0af0: 63 6f 6e 74 65 6e 74 20 69 73 20 73 74 69 6c 6c  content is still
0b00: 20 61 63 63 65 73 73 69 62 6c 65 2c 20 74 68 65   accessible, the
0b10: 20 74 69 63 6b 65 74 20 69 73 20 6a 75 73 74 20   ticket is just 
0b20: 6e 6f 74 20 69 6e 0a 20 20 20 20 20 20 20 20 74  not in.        t
0b30: 68 65 20 63 75 72 72 65 6e 74 20 63 68 65 63 6b  he current check
0b40: 2d 6f 75 74 2e 29 0a 20 20 20 20 20 2b 20 20 53  -out.).     +  S
0b50: 65 72 76 65 72 20 73 65 74 75 70 20 74 6f 20 64  erver setup to d
0b60: 65 66 69 6e 65 20 74 68 65 20 61 6c 6c 6f 77 65  efine the allowe
0b70: 64 20 61 74 74 72 69 62 75 74 65 73 20 61 6e 64  d attributes and
0b80: 0a 20 20 20 20 20 20 20 20 61 74 74 72 69 62 75  .        attribu
0b90: 74 65 20 76 61 6c 75 65 73 20 66 6f 72 20 74 69  te values for ti
0ba0: 63 6b 65 74 73 0a 20 20 20 20 20 2b 20 20 50 65  ckets.     +  Pe
0bb0: 72 6d 61 6e 65 6e 74 6c 79 20 72 65 6d 6f 76 65  rmanently remove
0bc0: 20 6d 61 6c 69 63 69 6f 75 73 20 65 64 69 74 73   malicious edits
0bd0: 20 61 6e 64 2f 6f 72 20 61 74 74 61 63 68 6d 65   and/or attachme
0be0: 6e 74 73 0a 20 20 20 20 20 20 20 20 73 75 63 68  nts.        such
0bf0: 20 61 73 20 77 69 6b 69 2d 73 70 61 6d 20 6f 72   as wiki-spam or
0c00: 20 77 61 72 65 7a 2e 20 20 28 43 6f 6e 74 65 6e   warez.  (Conten
0c10: 74 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61  t is no longer a
0c20: 63 63 65 73 73 69 62 6c 65 2e 29 0a 20 20 20 20  ccessible.).    
0c30: 20 2b 20 20 56 69 65 77 20 61 20 68 69 73 74 6f   +  View a histo
0c40: 72 79 20 6f 66 20 61 6c 6c 20 63 68 61 6e 67 65  ry of all change
0c50: 73 20 74 6f 20 61 20 74 69 63 6b 65 74 0a 20 20  s to a ticket.  
0c60: 20 20 20 2b 20 20 47 65 6e 65 72 61 74 65 20 72     +  Generate r
0c70: 65 70 6f 72 74 73 20 6f 76 65 72 20 61 6c 6c 20  eports over all 
0c80: 74 69 63 6b 65 74 73 0a 20 20 20 20 20 2b 20 20  tickets.     +  
0c90: 47 65 6e 65 72 61 74 65 20 72 65 70 6f 72 74 73  Generate reports
0ca0: 20 6f 76 65 72 20 61 6c 6c 20 74 69 63 6b 65 74   over all ticket
0cb0: 73 20 61 73 20 74 68 65 79 20 65 78 69 73 74 65  s as they existe
0cc0: 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20 61 20  d for.        a 
0cd0: 63 68 6f 73 65 6e 20 70 6f 69 6e 74 20 69 6e 20  chosen point in 
0ce0: 74 69 6d 65 20 61 6e 64 20 73 70 61 63 65 2e 0a  time and space..
0cf0: 20 20 20 20 20 2b 20 20 44 6f 20 66 75 6c 6c 20       +  Do full 
0d00: 74 65 78 74 20 73 65 61 72 63 68 20 61 67 61 69  text search agai
0d10: 6e 73 74 20 74 68 65 20 74 65 78 74 20 69 6e 20  nst the text in 
0d20: 61 6e 79 20 73 69 6e 67 6c 65 20 74 69 63 6b 65  any single ticke
0d30: 74 20 6f 72 0a 20 20 20 20 20 20 20 20 61 63 72  t or.        acr
0d40: 6f 73 73 20 74 68 65 20 63 75 72 72 65 6e 74 20  oss the current 
0d50: 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 6c 6c 20  versions of all 
0d60: 74 69 63 6b 65 74 73 2c 20 6f 72 20 61 63 72 6f  tickets, or acro
0d70: 73 73 20 61 6c 6c 20 63 75 72 72 65 6e 74 0a 20  ss all current. 
0d80: 20 20 20 20 20 20 20 61 6e 64 20 68 69 73 74 6f         and histo
0d90: 72 69 63 61 6c 20 76 65 72 73 69 6f 6e 73 20 6f  rical versions o
0da0: 66 20 61 6c 6c 20 74 69 63 6b 65 74 73 2e 0a 0a  f all tickets...
0db0: 20 2a 20 20 57 69 6b 69 20 69 6e 74 65 72 66 61   *  Wiki interfa
0dc0: 63 65 20 28 65 78 70 61 6e 64 20 74 68 69 73 20  ce (expand this 
0dd0: 62 75 6c 6c 65 74 29 0a 0a 20 20 20 20 20 2b 20  bullet)..     + 
0de0: 20 43 72 65 61 74 65 20 6e 65 77 20 77 69 6b 69   Create new wiki
0df0: 20 70 61 67 65 73 0a 20 20 20 20 20 2b 20 20 44   pages.     +  D
0e00: 65 73 69 67 6e 61 74 65 20 61 20 73 69 6e 67 6c  esignate a singl
0e10: 65 20 77 69 6b 69 20 70 61 67 65 20 61 73 20 74  e wiki page as t
0e20: 68 65 20 68 6f 6d 65 20 70 61 67 65 20 66 6f 72  he home page for
0e30: 20 74 68 65 20 77 77 77 20 69 6e 74 65 72 66 61   the www interfa
0e40: 63 65 0a 20 20 20 20 20 2b 20 20 44 65 73 69 67  ce.     +  Desig
0e50: 6e 61 74 65 20 77 69 6b 69 20 70 61 67 65 73 20  nate wiki pages 
0e60: 61 73 20 72 65 61 64 2d 6f 6e 6c 79 2c 20 61 70  as read-only, ap
0e70: 70 65 6e 64 2d 6f 6e 6c 79 2c 20 6f 72 20 72 65  pend-only, or re
0e80: 61 64 2f 77 72 69 74 65 2e 0a 20 20 20 20 20 2b  ad/write..     +
0e90: 20 20 41 70 70 65 6e 64 20 63 6f 6d 6d 65 6e 74    Append comment
0ea0: 73 20 74 6f 20 61 20 77 69 6b 69 20 70 61 67 65  s to a wiki page
0eb0: 0a 20 20 20 20 20 2b 20 20 41 64 64 20 61 74 74  .     +  Add att
0ec0: 61 63 68 6d 65 6e 74 73 20 28 73 75 63 68 20 61  achments (such a
0ed0: 73 20 47 49 46 20 69 6d 61 67 65 73 29 20 74 6f  s GIF images) to
0ee0: 20 61 20 77 69 6b 69 20 70 61 67 65 0a 20 20 20   a wiki page.   
0ef0: 20 20 2b 20 20 43 68 61 6e 67 65 20 74 68 65 20    +  Change the 
0f00: 63 6f 6e 74 65 6e 74 20 6f 66 20 61 20 77 69 6b  content of a wik
0f10: 69 20 70 61 67 65 0a 20 20 20 20 20 2b 20 20 44  i page.     +  D
0f20: 65 6c 65 74 65 20 6f 62 73 6f 6c 65 74 65 20 77  elete obsolete w
0f30: 69 6b 69 20 70 61 67 65 73 2e 20 20 28 4f 6c 64  iki pages.  (Old
0f40: 20 63 6f 6e 74 65 6e 74 20 69 73 20 73 74 69 6c   content is stil
0f50: 6c 20 61 63 63 65 73 73 69 62 6c 65 2c 0a 20 20  l accessible,.  
0f60: 20 20 20 20 20 20 74 68 65 20 70 61 67 65 20 69        the page i
0f70: 73 20 6a 75 73 74 20 6e 6f 74 20 6f 6e 20 74 68  s just not on th
0f80: 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 6f  e current list o
0f90: 66 20 70 61 67 65 73 2e 29 0a 20 20 20 20 20 2b  f pages.).     +
0fa0: 20 20 50 65 72 6d 61 6e 65 6e 74 6c 79 20 72 65    Permanently re
0fb0: 6d 6f 76 65 20 6d 61 6c 69 63 69 6f 75 73 20 65  move malicious e
0fc0: 64 69 74 73 20 61 6e 64 2f 6f 72 20 61 74 74 61  dits and/or atta
0fd0: 63 68 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20  chments.        
0fe0: 73 75 63 68 20 61 73 20 77 69 6b 69 2d 73 70 61  such as wiki-spa
0ff0: 6d 20 6f 72 20 77 61 72 65 7a 2e 20 20 28 4f 6c  m or warez.  (Ol
1000: 64 20 63 6f 6e 74 65 6e 74 20 69 73 20 6e 6f 20  d content is no 
1010: 6c 6f 6e 67 65 72 20 61 63 63 65 73 73 69 62 6c  longer accessibl
1020: 65 2e 29 0a 20 20 20 20 20 2b 20 20 41 64 64 20  e.).     +  Add 
1030: 6e 6f 66 6f 6c 6c 6f 77 20 6f 6e 20 65 78 74 65  nofollow on exte
1040: 72 6e 61 6c 20 6c 69 6e 6b 73 20 61 64 64 65 64  rnal links added
1050: 20 62 79 20 75 6e 70 72 69 76 69 6c 65 67 65 64   by unprivileged
1060: 0a 20 20 20 20 20 20 20 20 75 73 65 72 73 20 77  .        users w
1070: 68 65 6e 20 74 68 65 20 6c 69 6e 6b 20 69 73 20  hen the link is 
1080: 6c 65 73 73 20 74 68 61 6e 20 4e 20 68 6f 75 72  less than N hour
1090: 73 20 6f 6c 64 2e 0a 20 20 20 20 20 2b 20 20 53  s old..     +  S
10a0: 68 6f 77 20 74 68 65 20 63 6f 6d 70 6c 65 74 65  how the complete
10b0: 20 68 69 73 74 6f 72 79 20 6f 66 20 61 20 73 69   history of a si
10c0: 6e 67 6c 65 20 77 69 6b 69 20 70 61 67 65 0a 20  ngle wiki page. 
10d0: 20 20 20 20 2b 20 20 50 72 6f 76 69 64 65 20 74      +  Provide t
10e0: 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 64 69  he ability to di
10f0: 66 66 20 74 77 6f 20 76 65 72 73 69 6f 6e 73 20  ff two versions 
1100: 6f 66 20 61 20 77 69 6b 69 20 70 61 67 65 0a 20  of a wiki page. 
1110: 20 20 20 20 2b 20 20 53 68 6f 77 20 61 20 6c 69      +  Show a li
1120: 73 74 69 6e 67 20 6f 66 20 61 6c 6c 20 77 69 6b  sting of all wik
1130: 69 20 70 61 67 65 73 2c 20 62 6f 74 68 20 63 75  i pages, both cu
1140: 72 72 65 6e 74 20 61 6e 64 20 64 65 6c 65 74 65  rrent and delete
1150: 64 0a 20 20 20 20 20 2b 20 20 44 6f 20 61 20 66  d.     +  Do a f
1160: 75 6c 6c 2d 74 65 78 74 20 73 65 61 72 63 68 20  ull-text search 
1170: 61 67 61 69 6e 73 74 20 63 75 72 72 65 6e 74 20  against current 
1180: 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 6c 6c 20  versions of all 
1190: 77 69 6b 69 20 70 61 67 65 73 0a 20 20 20 20 20  wiki pages.     
11a0: 2b 20 20 44 6f 20 61 20 66 75 6c 6c 2d 74 65 78  +  Do a full-tex
11b0: 74 20 73 65 61 72 63 68 20 61 67 61 69 6e 73 74  t search against
11c0: 20 61 6c 6c 20 68 69 73 74 6f 72 69 63 61 6c 20   all historical 
11d0: 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 73 69  versions of a si
11e0: 6e 67 6c 65 0a 20 20 20 20 20 20 20 20 77 69 6b  ngle.        wik
11f0: 69 20 70 61 67 65 0a 20 20 20 20 20 2b 20 20 44  i page.     +  D
1200: 6f 20 61 20 66 75 6c 6c 2d 74 65 78 74 20 73 65  o a full-text se
1210: 61 72 63 68 20 61 67 61 69 6e 73 74 20 61 6c 6c  arch against all
1220: 20 68 69 73 74 6f 72 69 63 61 6c 20 76 65 72 73   historical vers
1230: 69 6f 6e 73 20 6f 66 20 61 6c 6c 0a 20 20 20 20  ions of all.    
1240: 20 20 20 20 77 69 6b 69 20 70 61 67 65 73 0a 0a      wiki pages..
1250: 20 2a 20 20 46 75 6c 6c 2d 74 65 78 74 20 73 65   *  Full-text se
1260: 61 72 63 68 20 61 67 61 69 6e 73 74 20 63 68 65  arch against che
1270: 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 73 20 61  ck-in comments a
1280: 6e 64 20 64 69 66 66 73 20 6f 66 20 65 61 63 68  nd diffs of each
1290: 0a 20 20 20 20 63 68 65 63 6b 2d 69 6e 2e 0a 0a  .    check-in...
12a0: 20 2a 20 20 41 64 64 20 61 20 22 72 65 76 65 72   *  Add a "rever
12b0: 74 22 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20  t" command that 
12c0: 77 69 6c 6c 20 75 6e 64 6f 20 61 6c 6c 20 63 68  will undo all ch
12d0: 61 6e 67 65 73 20 74 6f 20 61 20 66 69 6c 65 0a  anges to a file.
12e0: 20 20 20 20 6f 72 20 66 69 6c 65 73 20 69 6e 20      or files in 
12f0: 74 68 65 20 63 75 72 72 65 6e 74 20 63 68 65 63  the current chec
1300: 6b 2d 6f 75 74 20 2d 20 72 65 73 74 6f 72 69 6e  k-out - restorin
1310: 67 20 74 68 65 20 66 69 6c 65 73 20 62 61 63 6b  g the files back
1320: 0a 20 20 20 20 74 6f 20 74 68 65 69 72 20 6f 72  .    to their or
1330: 69 67 69 6e 61 6c 20 63 68 65 63 6b 2d 6f 75 74  iginal check-out
1340: 20 73 74 61 74 65 2e 0a 0a 20 2a 20 20 41 64 64   state... *  Add
1350: 20 61 6e 20 22 61 6e 6e 6f 74 61 74 65 22 20 63   an "annotate" c
1360: 6f 6d 6d 61 6e 64 20 69 6e 20 62 6f 74 68 20 74  ommand in both t
1370: 68 65 20 63 6c 69 20 61 6e 64 20 74 68 65 20 77  he cli and the w
1380: 77 77 20 69 6e 74 65 72 66 61 63 65 0a 20 20 20  ww interface.   
1390: 20 74 68 61 74 20 77 69 6c 6c 20 73 68 6f 77 20   that will show 
13a0: 6c 69 6e 65 2d 62 79 2d 6c 69 6e 65 20 74 68 65  line-by-line the
13b0: 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 63 68 61   most recent cha
13c0: 6e 67 65 73 20 74 6f 20 65 76 65 72 79 20 6c 69  nges to every li
13d0: 6e 65 0a 20 20 20 20 69 6e 20 74 68 65 20 66 69  ne.    in the fi
13e0: 6c 65 2e 0a 0a 20 2a 20 20 42 72 6f 77 73 65 20  le... *  Browse 
13f0: 74 68 65 20 66 69 6c 65 20 68 69 65 72 61 72 63  the file hierarc
1400: 68 79 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 74  hy, similar to t
1410: 68 65 20 22 42 72 6f 77 73 65 22 20 66 65 61 74  he "Browse" feat
1420: 75 72 65 20 69 6e 0a 20 20 20 20 43 56 53 54 72  ure in.    CVSTr
1430: 61 63 2e 0a 0a 20 2a 20 20 41 64 64 20 74 68 65  ac... *  Add the
1440: 20 61 62 69 6c 69 74 79 20 74 6f 20 6f 76 65 72   ability to over
1450: 72 69 64 65 20 63 68 65 63 6b 2d 69 6e 20 63 6f  ride check-in co
1460: 6d 6d 65 6e 74 73 2e 20 20 49 74 20 69 73 20 6e  mments.  It is n
1470: 6f 74 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20  ot possible.    
1480: 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 63 6f  to change the co
1490: 6d 6d 65 6e 74 20 69 6e 20 74 68 65 20 63 68 65  mment in the che
14a0: 63 6b 2d 69 6e 20 69 74 73 65 6c 66 20 64 75 65  ck-in itself due
14b0: 20 74 6f 20 74 68 65 20 63 72 79 70 74 6f 67 72   to the cryptogr
14c0: 61 70 68 69 63 0a 20 20 20 20 68 61 73 68 2e 20  aphic.    hash. 
14d0: 20 42 75 74 20 79 6f 75 20 63 61 6e 20 61 64 64   But you can add
14e0: 20 61 20 6e 65 77 20 72 65 63 6f 72 64 20 74 6f   a new record to
14f0: 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20   the repository 
1500: 74 68 61 74 20 6f 76 65 72 6c 6f 61 64 73 0a 20  that overloads. 
1510: 20 20 20 61 20 63 68 65 63 6b 2d 69 6e 20 63 6f     a check-in co
1520: 6d 6d 65 6e 74 20 77 69 74 68 20 61 20 6e 65 77  mment with a new
1530: 20 63 6f 6d 6d 65 6e 74 2e 20 20 43 6f 6d 6d 65   comment.  Comme
1540: 6e 74 20 63 68 61 6e 67 65 73 20 73 68 6f 75 6c  nt changes shoul
1550: 64 20 62 65 0a 20 20 20 20 47 50 47 20 63 6c 65  d be.    GPG cle
1560: 61 72 73 69 67 6e 65 64 20 61 74 20 74 68 65 20  arsigned at the 
1570: 76 65 72 79 20 6c 65 61 73 74 2e 20 20 43 6f 6d  very least.  Com
1580: 6d 65 6e 74 20 63 68 61 6e 67 65 73 20 6f 6e 6c  ment changes onl
1590: 79 20 61 70 70 6c 79 20 69 66 0a 20 20 20 20 74  y apply if.    t
15a0: 68 65 20 75 73 65 72 20 77 68 6f 20 6d 61 64 65  he user who made
15b0: 20 74 68 65 20 63 68 61 6e 67 65 20 68 61 73 20   the change has 
15c0: 74 68 65 20 72 69 67 68 74 20 70 65 72 6d 69 73  the right permis
15d0: 73 69 6f 6e 73 2e 0a 0a 20 2a 20 20 4d 61 6b 65  sions... *  Make
15e0: 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 74   the interface t
15f0: 6f 20 66 6f 73 73 69 6c 20 6c 6f 6f 6b 20 70 72  o fossil look pr
1600: 65 74 74 79 20 61 6e 64 20 62 65 20 63 75 73 74  etty and be cust
1610: 6f 6d 69 7a 61 62 6c 65 20 73 6f 0a 20 20 20 20  omizable so.    
1620: 74 68 61 74 20 6f 74 68 65 72 20 70 65 6f 70 6c  that other peopl
1630: 65 20 77 69 6c 6c 20 62 65 20 61 74 74 72 61 63  e will be attrac
1640: 74 65 64 20 74 6f 20 69 74 2c 20 77 69 6c 6c 20  ted to it, will 
1650: 74 61 6b 65 20 6f 76 65 72 20 6d 61 69 6e 74 65  take over mainte
1660: 6e 61 6e 63 65 0a 20 20 20 20 6f 66 20 69 74 2c  nance.    of it,
1670: 20 61 6e 64 20 77 65 20 63 61 6e 20 65 76 65 6e   and we can even
1680: 74 75 61 6c 6c 79 20 6d 6f 76 65 20 6f 6e 20 74  tually move on t
1690: 6f 20 6f 74 68 65 72 20 74 68 69 6e 67 73 2e 0a  o other things..
16a0: 20 20 20 20 0a 20 20 20 20 54 68 69 73 20 68 61      .    This ha
16b0: 73 20 62 65 67 75 6e 2c 20 62 75 74 20 49 20 77  s begun, but I w
16c0: 6f 6e 64 65 72 20 69 66 20 77 65 20 6e 65 65 64  onder if we need
16d0: 20 74 6f 20 75 73 65 20 61 20 74 65 6d 70 6c 61   to use a templa
16e0: 74 69 6e 67 20 73 79 73 74 65 6d 20 66 6f 72 0a  ting system for.
16f0: 20 20 20 20 66 75 6c 6c 20 63 75 73 74 6f 6d 69      full customi
1700: 7a 61 74 69 6f 6e 2e 20 49 66 20 74 68 65 20 43  zation. If the C
1710: 53 53 20 69 73 20 64 6f 6e 65 20 63 6f 72 72 65  SS is done corre
1720: 63 74 6c 79 2c 20 79 6f 75 20 63 61 6e 20 63 68  ctly, you can ch
1730: 61 6e 67 65 20 39 39 2e 39 25 0a 20 20 20 20 6f  ange 99.9%.    o
1740: 66 20 65 76 65 72 79 74 68 69 6e 67 2e 20 53 65  f everything. Se
1750: 65 3a 20 68 74 74 70 3a 2f 2f 77 77 77 2e 63 73  e: http://www.cs
1760: 73 7a 65 6e 67 61 72 64 65 6e 2e 63 6f 6d 2f 0a  szengarden.com/.