Fossil

Hex Artifact Content
Login

Artifact b073eeeccd209f3e1741979b6c30857d992877ed85a1a626280ae11a523a7a13:


0000: 3c 74 69 74 6c 65 3e 46 6f 73 73 69 6c 20 43 6f  <title>Fossil Co
0010: 6e 63 65 70 74 73 3c 2f 74 69 74 6c 65 3e 0a 3c  ncepts</title>.<
0020: 68 31 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72  h1 align="center
0030: 22 3e 46 6f 73 73 69 6c 20 43 6f 6e 63 65 70 74  ">Fossil Concept
0040: 73 3c 2f 68 31 3e 0a 0a 3c 68 32 3e 31 2e 30 20  s</h1>..<h2>1.0 
0050: 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c 2f 68 32  Introduction</h2
0060: 3e 0a 0a 5b 2e 2f 69 6e 64 65 78 2e 77 69 6b 69  >..[./index.wiki
0070: 20 7c 20 46 6f 73 73 69 6c 5d 20 69 73 20 61 0a   | Fossil] is a.
0080: 5b 68 74 74 70 3a 2f 2f 65 6e 2e 77 69 6b 69 70  [http://en.wikip
0090: 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 53 6f  edia.org/wiki/So
00a0: 66 74 77 61 72 65 5f 63 6f 6e 66 69 67 75 72 61  ftware_configura
00b0: 74 69 6f 6e 5f 6d 61 6e 61 67 65 6d 65 6e 74 20  tion_management 
00c0: 7c 20 73 6f 66 74 77 61 72 65 20 63 6f 6e 66 69  | software confi
00d0: 67 75 72 61 74 69 6f 6e 20 6d 61 6e 61 67 65 6d  guration managem
00e0: 65 6e 74 5d 20 73 79 73 74 65 6d 2e 0a 46 6f 73  ent] system..Fos
00f0: 73 69 6c 20 69 73 20 73 6f 66 74 77 61 72 65 20  sil is software 
0100: 74 68 61 74 20 69 73 20 64 65 73 69 67 6e 65 64  that is designed
0110: 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 61 6e 64 20   to control and 
0120: 74 72 61 63 6b 20 74 68 65 0a 64 65 76 65 6c 6f  track the.develo
0130: 70 6d 65 6e 74 20 6f 66 20 61 20 73 6f 66 74 77  pment of a softw
0140: 61 72 65 20 70 72 6f 6a 65 63 74 20 61 6e 64 20  are project and 
0150: 74 6f 20 72 65 63 6f 72 64 20 74 68 65 20 68 69  to record the hi
0160: 73 74 6f 72 79 0a 6f 66 20 74 68 65 20 70 72 6f  story.of the pro
0170: 6a 65 63 74 2e 0a 54 68 65 72 65 20 61 72 65 20  ject..There are 
0180: 6d 61 6e 79 20 73 75 63 68 20 73 79 73 74 65 6d  many such system
0190: 73 20 69 6e 20 75 73 65 20 74 6f 64 61 79 2e 20  s in use today. 
01a0: 20 46 6f 73 73 69 6c 20 73 74 72 69 76 65 73 20   Fossil strives 
01b0: 74 6f 0a 64 69 73 74 69 6e 67 75 69 73 68 20 69  to.distinguish i
01c0: 74 73 65 6c 66 20 66 72 6f 6d 20 74 68 65 20 6f  tself from the o
01d0: 74 68 65 72 73 20 62 79 20 62 65 69 6e 67 20 65  thers by being e
01e0: 78 74 72 65 6d 65 6c 79 20 73 69 6d 70 6c 65 0a  xtremely simple.
01f0: 74 6f 20 73 65 74 75 70 20 61 6e 64 20 6f 70 65  to setup and ope
0200: 72 61 74 65 2e 0a 0a 54 68 69 73 20 64 6f 63 75  rate...This docu
0210: 6d 65 6e 74 20 69 73 20 69 6e 74 65 6e 64 65 64  ment is intended
0220: 20 61 73 20 61 20 71 75 69 63 6b 20 69 6e 74 72   as a quick intr
0230: 6f 64 75 63 74 69 6f 6e 20 74 6f 20 74 68 65 20  oduction to the 
0240: 63 6f 6e 63 65 70 74 73 0a 62 65 68 69 6e 64 20  concepts.behind 
0250: 46 6f 73 73 69 6c 2e 0a 0a 53 65 65 20 61 6c 73  Fossil...See als
0260: 6f 3a 0a 0a 20 20 2a 20 20 5b 2e 2f 77 68 79 75  o:..  *  [./whyu
0270: 73 65 66 6f 73 73 69 6c 2e 77 69 6b 69 23 64 65  sefossil.wiki#de
0280: 66 69 6e 69 74 69 6f 6e 73 7c 44 65 66 69 6e 69  finitions|Defini
0290: 74 69 6f 6e 73 5d 0a 20 20 2a 20 20 5b 2e 2f 71  tions].  *  [./q
02a0: 75 69 63 6b 73 74 61 72 74 2e 77 69 6b 69 7c 51  uickstart.wiki|Q
02b0: 75 69 63 6b 20 73 74 61 72 74 20 67 75 69 64 65  uick start guide
02c0: 5d 0a 0a 3c 68 32 3e 32 2e 30 20 43 6f 6d 70 6f  ]..<h2>2.0 Compo
02d0: 73 69 74 69 6f 6e 20 4f 66 20 41 20 50 72 6f 6a  sition Of A Proj
02e0: 65 63 74 3c 2f 68 32 3e 0a 0a 3c 76 65 72 62 61  ect</h2>..<verba
02f0: 74 69 6d 20 74 79 70 65 3d 22 70 69 6b 63 68 72  tim type="pikchr
0300: 20 66 6c 6f 61 74 2d 72 69 67 68 74 22 3e 0a 52   float-right">.R
0310: 31 3a 20 63 79 6c 69 6e 64 65 72 20 22 52 65 6d  1: cylinder "Rem
0320: 6f 74 65 22 20 22 52 65 70 6f 73 69 74 6f 72 79  ote" "Repository
0330: 22 20 66 69 6c 6c 20 30 78 61 64 64 38 65 36 20  " fill 0xadd8e6 
0340: 72 61 64 20 37 30 25 0a 52 32 3a 20 63 79 6c 69  rad 70%.R2: cyli
0350: 6e 64 65 72 20 73 61 6d 65 20 22 52 65 6d 6f 74  nder same "Remot
0360: 65 22 20 22 52 65 70 6f 73 69 74 6f 72 79 22 20  e" "Repository" 
0370: 61 74 20 32 2e 35 2a 52 31 2e 77 69 64 20 72 69  at 2.5*R1.wid ri
0380: 67 68 74 20 6f 66 20 52 31 0a 20 20 20 20 73 70  ght of R1.    sp
0390: 6c 69 6e 65 20 3c 2d 3e 20 66 72 6f 6d 20 52 31  line <-> from R1
03a0: 2e 65 20 74 6f 20 30 2e 36 3c 52 31 2e 73 65 2c  .e to 0.6<R1.se,
03b0: 52 32 2e 73 77 3e 20 74 68 65 6e 20 74 6f 20 30  R2.sw> then to 0
03c0: 2e 34 3c 52 31 2e 6e 65 2c 52 32 2e 6e 77 3e 20  .4<R1.ne,R2.nw> 
03d0: 74 68 65 6e 20 74 6f 20 52 32 2e 77 0a 20 20 20  then to R2.w.   
03e0: 20 74 65 78 74 20 22 48 54 54 50 22 20 61 74 20   text "HTTP" at 
03f0: 2e 35 3c 52 31 2e 6e 65 2c 52 32 2e 6e 77 3e 0a  .5<R1.ne,R2.nw>.
0400: 52 33 3a 20 63 79 6c 69 6e 64 65 72 20 73 61 6d  R3: cylinder sam
0410: 65 20 22 4c 6f 63 61 6c 22 20 22 52 65 70 6f 73  e "Local" "Repos
0420: 69 74 6f 72 79 22 20 66 69 6c 6c 20 30 78 39 30  itory" fill 0x90
0430: 65 65 39 30 20 5c 0a 20 20 20 20 61 74 20 64 69  ee90 \.    at di
0440: 73 74 28 52 31 2e 65 2c 52 32 2e 77 29 20 62 65  st(R1.e,R2.w) be
0450: 6c 6f 77 20 2e 35 3c 52 31 2c 52 32 3e 0a 20 20  low .5<R1,R2>.  
0460: 20 20 73 70 6c 69 6e 65 20 3c 2d 3e 20 66 72 6f    spline <-> fro
0470: 6d 20 2e 35 3c 52 31 2e 73 2c 52 31 2e 73 65 3e  m .5<R1.s,R1.se>
0480: 20 74 6f 20 30 2e 36 3c 52 31 2e 73 2c 52 33 2e   to 0.6<R1.s,R3.
0490: 77 3e 20 74 6f 20 30 2e 35 3c 52 31 2e 73 65 2c  w> to 0.5<R1.se,
04a0: 52 33 2e 6e 3e 20 74 6f 20 2e 35 3c 52 33 2e 6e  R3.n> to .5<R3.n
04b0: 77 2c 52 33 2e 6e 3e 20 22 48 54 54 50 22 20 5c  w,R3.n> "HTTP" \
04c0: 0a 20 20 20 20 20 20 62 65 68 69 6e 64 20 52 31  .      behind R1
04d0: 0a 20 20 20 20 73 70 6c 69 6e 65 20 3c 2d 3e 20  .    spline <-> 
04e0: 66 72 6f 6d 20 52 32 2e 73 77 20 74 6f 20 2e 36  from R2.sw to .6
04f0: 3c 52 32 2e 73 77 2c 52 33 2e 6e 3e 20 74 6f 20  <R2.sw,R3.n> to 
0500: 2e 35 3c 52 32 2e 73 2c 52 33 2e 65 3e 20 74 6f  .5<R2.s,R3.e> to
0510: 20 52 33 2e 6e 65 20 22 48 54 54 50 22 20 6c 6a   R3.ne "HTTP" lj
0520: 75 73 74 0a 54 31 3a 20 6c 69 6e 65 20 66 72 6f  ust.T1: line fro
0530: 6d 20 31 2e 30 63 6d 20 68 65 61 64 69 6e 67 20  m 1.0cm heading 
0540: 32 30 30 20 66 72 6f 6d 20 52 33 2e 73 77 20 67  200 from R3.sw g
0550: 6f 20 32 2e 32 63 6d 20 68 65 61 64 69 6e 67 20  o 2.2cm heading 
0560: 31 35 30 20 74 68 65 6e 20 32 2e 32 63 6d 20 77  150 then 2.2cm w
0570: 65 73 74 20 63 6c 6f 73 65 20 5c 0a 20 20 20 20  est close \.    
0580: 20 20 20 66 69 6c 6c 20 30 78 66 66 66 66 30 30     fill 0xffff00
0590: 20 22 4c 6f 63 61 6c 22 20 62 65 6c 6f 77 20 22   "Local" below "
05a0: 53 6f 75 72 63 65 20 54 72 65 65 22 20 62 65 6c  Source Tree" bel
05b0: 6f 77 0a 54 32 3a 20 6c 69 6e 65 20 66 72 6f 6d  ow.T2: line from
05c0: 20 31 2e 30 63 6d 20 68 65 61 64 69 6e 67 20 31   1.0cm heading 1
05d0: 36 30 20 66 72 6f 6d 20 52 33 2e 73 65 20 73 61  60 from R3.se sa
05e0: 6d 65 20 22 4c 6f 63 61 6c 22 20 62 65 6c 6f 77  me "Local" below
05f0: 20 22 53 6f 75 72 63 65 20 54 72 65 65 22 20 62   "Source Tree" b
0600: 65 6c 6f 77 0a 20 20 20 20 6c 69 6e 65 20 3c 2d  elow.    line <-
0610: 3e 20 66 72 6f 6d 20 52 33 2e 73 77 20 74 6f 20  > from R3.sw to 
0620: 54 31 2e 73 74 61 72 74 0a 20 20 20 20 6c 69 6e  T1.start.    lin
0630: 65 20 3c 2d 3e 20 66 72 6f 6d 20 52 33 2e 73 65  e <-> from R3.se
0640: 20 74 6f 20 54 32 2e 73 74 61 72 74 0a 3c 2f 76   to T2.start.</v
0650: 65 72 62 61 74 69 6d 3e 0a 0a 41 20 73 6f 66 74  erbatim>..A soft
0660: 77 61 72 65 20 70 72 6f 6a 65 63 74 20 6e 6f 72  ware project nor
0670: 6d 61 6c 6c 79 20 63 6f 6e 73 69 73 74 73 20 6f  mally consists o
0680: 66 20 61 20 22 73 6f 75 72 63 65 20 74 72 65 65  f a "source tree
0690: 22 2e 0a 41 20 73 6f 75 72 63 65 20 74 72 65 65  "..A source tree
06a0: 20 69 73 20 61 20 68 69 65 72 61 72 63 68 79 20   is a hierarchy 
06b0: 6f 66 20 66 69 6c 65 73 20 74 68 61 74 20 61 72  of files that ar
06c0: 65 20 75 73 65 64 20 74 6f 20 67 65 6e 65 72 61  e used to genera
06d0: 74 65 0a 74 68 65 20 65 6e 64 20 70 72 6f 64 75  te.the end produ
06e0: 63 74 2e 20 20 54 68 65 20 73 6f 75 72 63 65 20  ct.  The source 
06f0: 74 72 65 65 20 63 68 61 6e 67 65 73 20 6f 76 65  tree changes ove
0700: 72 20 74 69 6d 65 20 61 73 20 74 68 65 0a 73 6f  r time as the.so
0710: 66 74 77 61 72 65 20 67 72 6f 77 73 20 61 6e 64  ftware grows and
0720: 20 65 78 70 61 6e 64 73 20 61 6e 64 20 61 73 20   expands and as 
0730: 66 65 61 74 75 72 65 73 20 61 72 65 20 61 64 64  features are add
0740: 65 64 20 61 6e 64 20 62 75 67 73 0a 61 72 65 20  ed and bugs.are 
0750: 66 69 78 65 64 2e 20 20 41 20 73 6e 61 70 73 68  fixed.  A snapsh
0760: 6f 74 20 6f 66 20 74 68 65 20 73 6f 75 72 63 65  ot of the source
0770: 20 74 72 65 65 20 61 74 20 61 6e 79 20 70 6f 69   tree at any poi
0780: 6e 74 20 69 6e 20 74 69 6d 65 0a 69 73 20 63 61  nt in time.is ca
0790: 6c 6c 65 64 20 61 20 22 76 65 72 73 69 6f 6e 22  lled a "version"
07a0: 20 6f 72 20 22 72 65 76 69 73 69 6f 6e 22 20 6f   or "revision" o
07b0: 72 20 61 20 22 62 61 73 65 6c 69 6e 65 22 20 6f  r a "baseline" o
07c0: 66 20 74 68 65 20 70 72 6f 64 75 63 74 2e 0a 49  f the product..I
07d0: 6e 20 46 6f 73 73 69 6c 2c 20 77 65 20 75 73 65  n Fossil, we use
07e0: 20 74 68 65 20 6e 61 6d 65 20 22 63 68 65 63 6b   the name "check
07f0: 2d 69 6e 22 2e 0a 0a 41 20 22 72 65 70 6f 73 69  -in"...A "reposi
0800: 74 6f 72 79 22 20 69 73 20 61 20 64 61 74 61 62  tory" is a datab
0810: 61 73 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e  ase that contain
0820: 73 20 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20  s copies of all 
0830: 68 69 73 74 6f 72 69 63 61 6c 0a 63 68 65 63 6b  historical.check
0840: 2d 69 6e 73 20 66 6f 72 20 61 20 70 72 6f 6a 65  -ins for a proje
0850: 63 74 2e 20 20 43 68 65 63 6b 2d 69 6e 73 20 61  ct.  Check-ins a
0860: 72 65 20 6e 6f 72 6d 61 6c 6c 79 20 73 74 6f 72  re normally stor
0870: 65 64 20 69 6e 20 74 68 65 0a 72 65 70 6f 73 69  ed in the.reposi
0880: 74 6f 72 79 20 69 6e 20 61 20 68 69 67 68 6c 79  tory in a highly
0890: 20 73 70 61 63 65 2d 65 66 66 69 63 69 65 6e 74   space-efficient
08a0: 20 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d   compressed form
08b0: 61 74 20 28 64 65 6c 74 61 20 65 6e 63 6f 64 69  at (delta encodi
08c0: 6e 67 29 2e 0a 42 75 74 20 74 68 61 74 20 69 73  ng)..But that is
08d0: 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69   an implementati
08e0: 6f 6e 20 64 65 74 61 69 6c 20 74 68 61 74 20 79  on detail that y
08f0: 6f 75 20 74 68 65 20 75 73 65 72 20 6e 65 65 64  ou the user need
0900: 20 6e 6f 74 20 77 6f 72 72 79 20 6f 76 65 72 2e   not worry over.
0910: 0a 54 68 69 6e 6b 20 6f 66 20 74 68 65 20 72 65  .Think of the re
0920: 70 6f 73 69 74 6f 72 79 20 61 73 20 61 20 73 61  pository as a sa
0930: 66 65 20 70 6c 61 63 65 20 77 68 65 72 65 20 61  fe place where a
0940: 6c 6c 20 79 6f 75 72 20 6f 6c 64 20 63 68 65 63  ll your old chec
0950: 6b 2d 69 6e 73 20 61 72 65 0a 73 65 63 75 72 65  k-ins are.secure
0960: 6c 79 20 73 74 6f 72 65 64 20 61 77 61 79 20 61  ly stored away a
0970: 6e 64 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72  nd available for
0980: 20 72 65 74 72 69 65 76 61 6c 20 77 68 65 6e 65   retrieval whene
0990: 76 65 72 20 79 6f 75 20 6e 65 65 64 0a 74 68 65  ver you need.the
09a0: 6d 2e 0a 0a 41 20 72 65 70 6f 73 69 74 6f 72 79  m...A repository
09b0: 20 69 6e 20 46 6f 73 73 69 6c 20 69 73 20 61 20   in Fossil is a 
09c0: 73 69 6e 67 6c 65 20 66 69 6c 65 20 6f 6e 20 79  single file on y
09d0: 6f 75 72 20 64 69 73 6b 2e 20 20 54 68 69 73 20  our disk.  This 
09e0: 66 69 6c 65 0a 6d 69 67 68 74 20 62 65 20 72 61  file.might be ra
09f0: 74 68 65 72 20 6c 61 72 67 65 20 28 64 6f 7a 65  ther large (doze
0a00: 6e 73 20 6f 72 20 68 75 6e 64 72 65 64 73 20 6f  ns or hundreds o
0a10: 66 20 6d 65 67 61 62 79 74 65 73 20 66 6f 72 20  f megabytes for 
0a20: 61 20 6c 61 72 67 65 0a 6f 72 20 6c 6f 6e 67 20  a large.or long 
0a30: 72 75 6e 6e 69 6e 67 20 70 72 6f 6a 65 63 74 29  running project)
0a40: 20 62 75 74 20 69 74 20 69 73 20 6e 65 76 65 72   but it is never
0a50: 74 68 65 6c 65 73 73 20 6a 75 73 74 20 61 20 66  theless just a f
0a60: 69 6c 65 2e 20 20 59 6f 75 0a 63 61 6e 20 6d 6f  ile.  You.can mo
0a70: 76 65 20 69 74 20 61 72 6f 75 6e 64 2c 20 72 65  ve it around, re
0a80: 6e 61 6d 65 20 69 74 2c 20 77 72 69 74 65 20 69  name it, write i
0a90: 74 20 6f 75 74 20 74 6f 20 61 20 6d 65 6d 6f 72  t out to a memor
0aa0: 79 20 73 74 69 63 6b 2c 20 6f 72 0a 64 6f 20 61  y stick, or.do a
0ab0: 6e 79 74 68 69 6e 67 20 65 6c 73 65 20 79 6f 75  nything else you
0ac0: 20 6e 6f 72 6d 61 6c 6c 79 20 64 6f 20 77 69 74   normally do wit
0ad0: 68 20 66 69 6c 65 73 2e 0a 0a 45 61 63 68 20 73  h files...Each s
0ae0: 6f 75 72 63 65 20 74 72 65 65 20 74 68 61 74 20  ource tree that 
0af0: 69 73 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79  is controlled by
0b00: 20 46 6f 73 73 69 6c 20 69 73 20 61 73 73 6f 63   Fossil is assoc
0b10: 69 61 74 65 64 20 77 69 74 68 0a 61 20 73 69 6e  iated with.a sin
0b20: 67 6c 65 20 72 65 70 6f 73 69 74 6f 72 79 20 6f  gle repository o
0b30: 6e 20 74 68 65 20 6c 6f 63 61 6c 20 64 69 73 6b  n the local disk
0b40: 20 64 72 69 76 65 2e 20 20 59 6f 75 20 63 61 6e   drive.  You can
0b50: 20 74 69 65 20 74 77 6f 20 6f 72 20 6d 6f 72 65   tie two or more
0b60: 0a 73 6f 75 72 63 65 20 74 72 65 65 73 20 74 6f  .source trees to
0b70: 20 61 20 73 69 6e 67 6c 65 20 72 65 70 6f 73 69   a single reposi
0b80: 74 6f 72 79 20 69 66 20 79 6f 75 20 77 61 6e 74  tory if you want
0b90: 20 28 74 68 6f 75 67 68 20 6f 6e 65 0a 74 72 65   (though one.tre
0ba0: 65 20 70 65 72 20 72 65 70 6f 73 69 74 6f 72 79  e per repository
0bb0: 20 69 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d   is the most com
0bc0: 6d 6f 6e 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  mon configuratio
0bd0: 6e 2e 29 20 20 53 6f 20 61 0a 73 69 6e 67 6c 65  n.)  So a.single
0be0: 20 72 65 70 6f 73 69 74 6f 72 79 20 63 61 6e 20   repository can 
0bf0: 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69  be associated wi
0c00: 74 68 20 6d 61 6e 79 20 73 6f 75 72 63 65 20 74  th many source t
0c10: 72 65 65 73 2c 20 62 75 74 0a 65 61 63 68 20 73  rees, but.each s
0c20: 6f 75 72 63 65 20 74 72 65 65 20 69 73 20 61 73  ource tree is as
0c30: 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 6f 6e  sociated with on
0c40: 6c 79 20 6f 6e 65 20 72 65 70 6f 73 69 74 6f 72  ly one repositor
0c50: 79 2e 0a 0a 46 6f 73 73 69 6c 20 73 6f 75 72 63  y...Fossil sourc
0c60: 65 20 74 72 65 65 73 20 6d 61 79 20 6e 6f 74 20  e trees may not 
0c70: 6f 76 65 72 6c 61 70 2e 20 20 41 20 46 6f 73 73  overlap.  A Foss
0c80: 69 6c 20 73 6f 75 72 63 65 20 74 72 65 65 20 69  il source tree i
0c90: 73 20 69 64 65 6e 74 69 66 69 65 64 0a 62 79 20  s identified.by 
0ca0: 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 22 5f 46  a file named "_F
0cb0: 4f 53 53 49 4c 5f 22 20 28 6f 72 20 22 2e 66 73  OSSIL_" (or ".fs
0cc0: 6c 63 6b 6f 75 74 22 2c 20 62 75 74 20 74 68 69  lckout", but thi
0cd0: 73 20 61 72 74 69 63 6c 65 20 77 69 6c 6c 20 61  s article will a
0ce0: 6c 77 61 79 73 0a 75 73 65 20 74 68 65 20 6e 61  lways.use the na
0cf0: 6d 65 20 22 5f 46 4f 53 53 49 4c 5f 22 29 20 69  me "_FOSSIL_") i
0d00: 6e 20 74 68 65 20 72 6f 6f 74 20 64 69 72 65 63  n the root direc
0d10: 74 6f 72 79 20 6f 66 20 74 68 65 20 73 6f 75 72  tory of the sour
0d20: 63 65 20 74 72 65 65 2e 20 20 45 76 65 72 79 0a  ce tree.  Every.
0d30: 66 69 6c 65 20 74 68 61 74 20 69 73 20 61 20 73  file that is a s
0d40: 69 62 6c 69 6e 67 20 6f 66 20 5f 46 4f 53 53 49  ibling of _FOSSI
0d50: 4c 5f 20 61 6e 64 20 65 76 65 72 79 20 66 69 6c  L_ and every fil
0d60: 65 20 69 6e 20 65 76 65 72 79 20 73 75 62 66 6f  e in every subfo
0d70: 6c 64 65 72 20 69 73 0a 63 6f 6e 73 69 64 65 72  lder is.consider
0d80: 65 64 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 61  ed potentially a
0d90: 20 70 61 72 74 20 6f 66 20 74 68 65 20 73 6f 75   part of the sou
0da0: 72 63 65 20 74 72 65 65 2e 20 20 54 68 65 20 5f  rce tree.  The _
0db0: 46 4f 53 53 49 4c 5f 20 66 69 6c 65 0a 63 6f 6e  FOSSIL_ file.con
0dc0: 74 61 69 6e 73 20 28 61 6d 6f 6e 67 20 6f 74 68  tains (among oth
0dd0: 65 72 20 74 68 69 6e 67 73 29 20 74 68 65 20 70  er things) the p
0de0: 61 74 68 6e 61 6d 65 20 6f 66 20 74 68 65 20 72  athname of the r
0df0: 65 70 6f 73 69 74 6f 72 79 20 77 69 74 68 20 77  epository with w
0e00: 68 69 63 68 0a 74 68 65 20 73 6f 75 72 63 65 20  hich.the source 
0e10: 74 72 65 65 20 69 73 20 61 73 73 6f 63 69 61 74  tree is associat
0e20: 65 64 2e 20 20 4f 6e 20 74 68 65 20 6f 74 68 65  ed.  On the othe
0e30: 72 20 68 61 6e 64 2c 20 74 68 65 20 72 65 70 6f  r hand, the repo
0e40: 73 69 74 6f 72 79 20 68 61 73 0a 6e 6f 20 72 65  sitory has.no re
0e50: 63 6f 72 64 20 6f 66 20 69 74 73 20 73 6f 75 72  cord of its sour
0e60: 63 65 20 74 72 65 65 73 2e 20 20 53 6f 20 79 6f  ce trees.  So yo
0e70: 75 20 61 72 65 20 66 72 65 65 20 74 6f 20 64 65  u are free to de
0e80: 6c 65 74 65 20 61 20 73 6f 75 72 63 65 20 74 72  lete a source tr
0e90: 65 65 0a 6f 72 20 6d 6f 76 65 20 69 74 20 61 72  ee.or move it ar
0ea0: 6f 75 6e 64 20 77 69 74 68 6f 75 74 20 63 6f 6e  ound without con
0eb0: 73 65 71 75 65 6e 63 65 2e 20 20 42 75 74 20 69  sequence.  But i
0ec0: 66 20 79 6f 75 20 6d 6f 76 65 20 6f 72 20 72 65  f you move or re
0ed0: 6e 61 6d 65 20 6f 72 0a 64 65 6c 65 74 65 20 61  name or.delete a
0ee0: 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 74 68 65   repository, the
0ef0: 6e 20 61 6e 79 20 73 6f 75 72 63 65 20 74 72 65  n any source tre
0f00: 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69  es associated wi
0f10: 74 68 20 74 68 61 74 20 72 65 70 6f 73 69 74 6f  th that reposito
0f20: 72 79 0a 77 69 6c 6c 20 6e 6f 20 6c 6f 6e 67 65  ry.will no longe
0f30: 72 20 62 65 20 61 62 6c 65 20 74 6f 20 6c 6f 63  r be able to loc
0f40: 61 74 65 20 74 68 65 69 72 20 72 65 70 6f 73 69  ate their reposi
0f50: 74 6f 72 79 20 61 6e 64 20 77 69 6c 6c 20 73 74  tory and will st
0f60: 6f 70 20 77 6f 72 6b 69 6e 67 2e 0a 0a 57 68 65  op working...Whe
0f70: 6e 20 6d 75 6c 74 69 70 6c 65 20 64 65 76 65 6c  n multiple devel
0f80: 6f 70 65 72 73 20 61 72 65 20 77 6f 72 6b 69 6e  opers are workin
0f90: 67 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 70 72  g on the same pr
0fa0: 6f 6a 65 63 74 2c 20 65 61 63 68 0a 64 65 76 65  oject, each.deve
0fb0: 6c 6f 70 65 72 20 74 79 70 69 63 61 6c 6c 79 20  loper typically 
0fc0: 68 61 73 20 68 69 73 20 6f 72 20 68 65 72 20 6f  has his or her o
0fd0: 77 6e 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74  wn local reposit
0fe0: 6f 72 79 20 61 6e 64 20 61 6e 20 61 73 73 6f 63  ory and an assoc
0ff0: 69 61 74 65 64 0a 73 6f 75 72 63 65 20 74 72 65  iated.source tre
1000: 65 20 69 6e 20 77 68 69 63 68 20 74 6f 20 77 6f  e in which to wo
1010: 72 6b 2e 20 20 44 65 76 65 6c 6f 70 65 72 73 20  rk.  Developers 
1020: 73 68 61 72 65 20 74 68 65 69 72 20 77 6f 72 6b  share their work
1030: 20 62 79 0a 22 73 79 6e 63 69 6e 67 22 20 74 68   by."syncing" th
1040: 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65  e content of the
1050: 69 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74  ir local reposit
1060: 6f 72 69 65 73 20 65 69 74 68 65 72 20 64 69 72  ories either dir
1070: 65 63 74 6c 79 0a 6f 72 20 74 68 72 6f 75 67 68  ectly.or through
1080: 20 61 20 63 65 6e 74 72 61 6c 20 73 65 72 76 65   a central serve
1090: 72 2e 20 20 43 68 61 6e 67 65 73 20 63 61 6e 20  r.  Changes can 
10a0: 22 70 75 73 68 22 20 66 72 6f 6d 20 74 68 65 20  "push" from the 
10b0: 6c 6f 63 61 6c 0a 72 65 70 6f 73 69 74 6f 72 79  local.repository
10c0: 20 69 6e 74 6f 20 61 20 72 65 6d 6f 74 65 20 72   into a remote r
10d0: 65 70 6f 73 69 74 6f 72 79 2e 20 20 4f 72 20 63  epository.  Or c
10e0: 68 61 6e 67 65 73 20 63 61 6e 20 22 70 75 6c 6c  hanges can "pull
10f0: 22 20 66 72 6f 6d 20 61 0a 72 65 6d 6f 74 65 20  " from a.remote 
1100: 72 65 70 6f 73 69 74 6f 72 79 20 69 6e 74 6f 20  repository into 
1110: 61 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f  a local reposito
1120: 72 79 2e 20 20 4f 72 20 6f 6e 65 20 63 61 6e 20  ry.  Or one can 
1130: 64 6f 20 61 20 22 73 79 6e 63 22 0a 77 68 69 63  do a "sync".whic
1140: 68 20 69 73 20 61 20 73 68 6f 72 74 63 75 74 20  h is a shortcut 
1150: 66 6f 72 20 64 6f 69 6e 67 20 62 6f 74 68 20 61  for doing both a
1160: 20 70 75 73 68 20 61 6e 64 20 61 20 70 75 6c 6c   push and a pull
1170: 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d   at the same tim
1180: 65 2e 0a 46 6f 73 73 69 6c 20 61 6c 73 6f 20 68  e..Fossil also h
1190: 61 73 20 74 68 65 20 63 6f 6e 63 65 70 74 20 6f  as the concept o
11a0: 66 20 22 63 6c 6f 6e 69 6e 67 22 2e 20 20 41 20  f "cloning".  A 
11b0: 22 63 6c 6f 6e 65 22 20 69 73 20 6c 69 6b 65 20  "clone" is like 
11c0: 61 20 22 70 75 6c 6c 22 2c 0a 65 78 63 65 70 74  a "pull",.except
11d0: 20 74 68 61 74 20 69 6e 73 74 65 61 64 20 6f 66   that instead of
11e0: 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20   beginning with 
11f0: 61 6e 20 65 78 69 73 74 69 6e 67 20 6c 6f 63 61  an existing loca
1200: 6c 20 72 65 70 6f 73 69 74 6f 72 79 2c 0a 61 20  l repository,.a 
1210: 63 6c 6f 6e 65 20 62 65 67 69 6e 73 20 77 69 74  clone begins wit
1220: 68 20 6e 6f 74 68 69 6e 67 20 61 6e 64 20 63 72  h nothing and cr
1230: 65 61 74 65 73 20 61 20 6e 65 77 20 6c 6f 63 61  eates a new loca
1240: 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 74 68 61  l repository tha
1250: 74 0a 69 73 20 61 20 64 75 70 6c 69 63 61 74 65  t.is a duplicate
1260: 20 6f 66 20 61 20 72 65 6d 6f 74 65 20 72 65 70   of a remote rep
1270: 6f 73 69 74 6f 72 79 2e 0a 0a 43 6f 6d 6d 75 6e  ository...Commun
1280: 69 63 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20  ication between 
1290: 72 65 70 6f 73 69 74 6f 72 69 65 73 20 69 73 20  repositories is 
12a0: 76 69 61 20 48 54 54 50 2e 20 20 52 65 6d 6f 74  via HTTP.  Remot
12b0: 65 0a 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61  e.repositories a
12c0: 72 65 20 69 64 65 6e 74 69 66 69 65 64 20 62 79  re identified by
12d0: 20 55 52 4c 2e 20 20 59 6f 75 20 63 61 6e 20 61   URL.  You can a
12e0: 6c 73 6f 20 70 6f 69 6e 74 20 61 20 77 65 62 20  lso point a web 
12f0: 62 72 6f 77 73 65 72 0a 61 74 20 61 20 72 65 70  browser.at a rep
1300: 6f 73 69 74 6f 72 79 20 61 6e 64 20 67 65 74 20  ository and get 
1310: 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 20 73  human-readable s
1320: 74 61 74 75 73 2c 20 68 69 73 74 6f 72 79 2c 20  tatus, history, 
1330: 61 6e 64 20 74 72 61 63 6b 69 6e 67 0a 69 6e 66  and tracking.inf
1340: 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74  ormation about t
1350: 68 65 20 70 72 6f 6a 65 63 74 2e 0a 0a 3c 68 33  he project...<h3
1360: 3e 3c 61 20 69 64 3d 22 61 72 74 69 66 61 63 74  ><a id="artifact
1370: 73 22 3e 3c 2f 61 3e 32 2e 31 20 49 64 65 6e 74  s"></a>2.1 Ident
1380: 69 66 69 63 61 74 69 6f 6e 20 4f 66 20 41 72 74  ification Of Art
1390: 69 66 61 63 74 73 3c 2f 68 33 3e 0a 0a 41 20 70  ifacts</h3>..A p
13a0: 61 72 74 69 63 75 6c 61 72 20 76 65 72 73 69 6f  articular versio
13b0: 6e 20 6f 66 20 61 20 70 61 72 74 69 63 75 6c 61  n of a particula
13c0: 72 20 66 69 6c 65 20 69 73 20 63 61 6c 6c 65 64  r file is called
13d0: 20 61 6e 20 22 61 72 74 69 66 61 63 74 22 2e 20   an "artifact". 
13e0: 20 45 61 63 68 0a 61 72 74 69 66 61 63 74 20 68   Each.artifact h
13f0: 61 73 20 61 20 75 6e 69 76 65 72 73 61 6c 6c 79  as a universally
1400: 20 75 6e 69 71 75 65 20 6e 61 6d 65 20 77 68 69   unique name whi
1410: 63 68 20 69 73 20 74 68 65 20 3c 61 0a 68 72 65  ch is the <a.hre
1420: 66 3d 22 68 74 74 70 3a 2f 2f 65 6e 2e 77 69 6b  f="http://en.wik
1430: 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f  ipedia.org/wiki/
1440: 53 48 41 31 22 3e 53 48 41 31 3c 2f 61 3e 20 6f  SHA1">SHA1</a> o
1450: 72 20 3c 61 0a 68 72 65 66 3d 22 68 74 74 70 3a  r <a.href="http:
1460: 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
1470: 72 67 2f 77 69 6b 69 2f 53 48 41 33 22 3e 53 48  rg/wiki/SHA3">SH
1480: 41 33 2d 32 35 36 3c 2f 61 3e 20 68 61 73 68 20  A3-256</a> hash 
1490: 6f 66 20 74 68 65 0a 63 6f 6e 74 65 6e 74 20 6f  of the.content o
14a0: 66 20 74 68 61 74 20 66 69 6c 65 20 65 78 70 72  f that file expr
14b0: 65 73 73 65 64 20 61 73 20 65 69 74 68 65 72 20  essed as either 
14c0: 34 30 20 6f 72 20 36 34 20 63 68 61 72 61 63 74  40 or 64 charact
14d0: 65 72 73 20 6f 66 0a 6c 6f 77 65 72 2d 63 61 73  ers of.lower-cas
14e0: 65 20 68 65 78 61 64 65 63 69 6d 61 6c 2e 20 28  e hexadecimal. (
14f0: 53 65 65 20 74 68 65 20 5b 2e 2f 68 61 73 68 70  See the [./hashp
1500: 6f 6c 69 63 79 2e 77 69 6b 69 7c 68 61 73 68 20  olicy.wiki|hash 
1510: 70 6f 6c 69 63 79 0a 64 6f 63 75 6d 65 6e 74 5d  policy.document]
1520: 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e   for information
1530: 20 6f 6e 20 77 68 69 63 68 20 61 6c 67 6f 72 69   on which algori
1540: 74 68 6d 20 69 73 20 75 73 65 64 2c 20 77 68 65  thm is used, whe
1550: 6e 2e 29 20 53 75 63 68 20 61 20 68 61 73 68 0a  n.) Such a hash.
1560: 69 73 20 72 65 66 65 72 72 65 64 20 74 6f 20 61  is referred to a
1570: 73 20 74 68 65 20 41 72 74 69 66 61 63 74 20 49  s the Artifact I
1580: 44 2e 20 54 68 65 73 65 20 68 61 73 68 20 61 6c  D. These hash al
1590: 67 6f 72 69 74 68 6d 73 20 77 65 72 65 20 63 72  gorithms were cr
15a0: 65 61 74 65 64 0a 77 69 74 68 20 46 6f 73 73 69  eated.with Fossi
15b0: 6c 27 73 20 70 75 72 70 6f 73 65 20 69 6e 20 6d  l's purpose in m
15c0: 69 6e 64 3a 20 74 6f 20 70 72 6f 76 69 64 65 20  ind: to provide 
15d0: 61 20 68 69 67 68 6c 79 20 66 6f 72 67 65 72 79  a highly forgery
15e0: 2d 72 65 73 69 73 74 61 6e 74 0a 69 64 65 6e 74  -resistant.ident
15f0: 69 66 69 65 72 20 66 6f 72 20 61 20 62 6c 6f 62  ifier for a blob
1600: 20 6f 66 20 64 61 74 61 2c 20 73 75 63 68 20 61   of data, such a
1610: 73 20 61 20 66 69 6c 65 2e 20 47 69 76 65 6e 20  s a file. Given 
1620: 61 6e 79 20 66 69 6c 65 2c 20 69 74 20 69 73 0a  any file, it is.
1630: 73 69 6d 70 6c 65 20 74 6f 20 66 69 6e 64 20 74  simple to find t
1640: 68 65 20 61 72 74 69 66 61 63 74 20 49 44 20 66  he artifact ID f
1650: 6f 72 20 74 68 61 74 20 66 69 6c 65 2e 20 42 75  or that file. Bu
1660: 74 20 67 69 76 65 6e 20 61 6e 20 61 72 74 69 66  t given an artif
1670: 61 63 74 20 49 44 2c 0a 69 74 20 69 73 20 63 6f  act ID,.it is co
1680: 6d 70 75 74 61 74 69 6f 6e 61 6c 6c 79 20 69 6e  mputationally in
1690: 74 72 61 63 74 61 62 6c 65 20 74 6f 20 67 65 6e  tractable to gen
16a0: 65 72 61 74 65 20 61 20 66 69 6c 65 20 74 68 61  erate a file tha
16b0: 74 20 77 69 6c 6c 20 68 61 76 65 20 74 68 61 74  t will have that
16c0: 0a 73 61 6d 65 20 61 72 74 69 66 61 63 74 20 49  .same artifact I
16d0: 44 2e 0a 0a 41 72 74 69 66 61 63 74 20 49 44 73  D...Artifact IDs
16e0: 20 6c 6f 6f 6b 20 73 6f 6d 65 74 68 69 6e 67 20   look something 
16f0: 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 3c 62 6c 6f  like this:..<blo
1700: 63 6b 71 75 6f 74 65 3e 3c 62 3e 0a 36 30 38 39  ckquote><b>.6089
1710: 66 30 62 35 36 33 61 39 64 62 30 61 36 64 39 30  f0b563a9db0a6d90
1720: 36 38 32 66 65 34 37 66 64 37 31 36 31 66 66 38  682fe47fd7161ff8
1730: 36 37 63 38 3c 62 72 3e 0a 35 39 37 31 32 36 31  67c8<br>.5971261
1740: 34 61 31 62 33 63 63 66 64 38 34 30 37 38 61 33  4a1b3ccfd84078a3
1750: 37 66 61 35 62 36 30 36 65 32 38 34 33 34 33 32  7fa5b606e2843432
1760: 36 3c 62 72 3e 0a 31 39 64 62 66 37 33 30 37 38  6<br>.19dbf73078
1770: 62 65 39 37 37 39 65 64 64 36 61 30 31 35 36 31  be9779edd6a01561
1780: 39 35 65 36 31 30 66 38 31 63 39 34 66 39 3c 62  95e610f81c94f9<b
1790: 72 3e 0a 62 34 31 30 34 39 35 39 61 36 37 31 37  r>.b4104959a6717
17a0: 35 66 30 32 64 36 62 34 31 35 34 38 30 62 65 32  5f02d6b415480be2
17b0: 32 61 32 33 39 66 31 66 30 37 37 3c 62 72 3e 0a  2a239f1f077<br>.
17c0: 39 39 37 63 39 64 36 61 65 30 33 61 64 31 31 34  997c9d6ae03ad114
17d0: 62 32 62 35 37 66 30 34 65 39 65 65 65 66 31 37  b2b57f04e9eeef17
17e0: 64 63 62 38 32 37 38 38 0a 3c 2f 62 3e 3c 2f 62  dcb82788.</b></b
17f0: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 57 68 65 6e  lockquote>..When
1800: 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 61 6e   referring to an
1810: 20 61 72 74 69 66 61 63 74 20 75 73 69 6e 67 20   artifact using 
1820: 46 6f 73 73 69 6c 2c 20 79 6f 75 20 63 61 6e 20  Fossil, you can 
1830: 75 73 65 20 61 20 75 6e 69 71 75 65 0a 70 72 65  use a unique.pre
1840: 66 69 78 20 6f 66 20 74 68 65 20 61 72 74 69 66  fix of the artif
1850: 61 63 74 20 49 44 20 74 68 61 74 20 69 73 20 66  act ID that is f
1860: 6f 75 72 20 63 68 61 72 61 63 74 65 72 73 20 6f  our characters o
1870: 72 20 6c 6f 6e 67 65 72 2e 20 20 54 68 69 73 20  r longer.  This 
1880: 73 61 76 65 73 0a 61 20 6c 6f 74 20 6f 66 20 74  saves.a lot of t
1890: 79 70 69 6e 67 2e 20 20 57 68 65 6e 20 64 69 73  yping.  When dis
18a0: 70 6c 61 79 69 6e 67 20 61 72 74 69 66 61 63 74  playing artifact
18b0: 20 49 44 73 2c 20 46 6f 73 73 69 6c 20 77 69 6c   IDs, Fossil wil
18c0: 6c 20 75 73 75 61 6c 6c 79 20 6f 6e 6c 79 0a 73  l usually only.s
18d0: 68 6f 77 20 74 68 65 20 66 69 72 73 74 20 31 30  how the first 10
18e0: 20 64 69 67 69 74 73 20 73 69 6e 63 65 20 74 68   digits since th
18f0: 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 65  at is normally e
1900: 6e 6f 75 67 68 20 74 6f 20 75 6e 69 71 75 65 6c  nough to uniquel
1910: 79 0a 69 64 65 6e 74 69 66 79 20 61 20 66 69 6c  y.identify a fil
1920: 65 2e 0a 0a 43 68 61 6e 67 69 6e 67 20 28 6f 72  e...Changing (or
1930: 20 61 64 64 69 6e 67 20 6f 72 20 72 65 6d 6f 76   adding or remov
1940: 69 6e 67 29 20 61 20 73 69 6e 67 6c 65 20 62 79  ing) a single by
1950: 74 65 20 69 6e 20 61 20 66 69 6c 65 20 72 65 73  te in a file res
1960: 75 6c 74 73 0a 69 6e 20 61 20 63 6f 6d 70 6c 65  ults.in a comple
1970: 74 65 6c 79 20 64 69 66 66 65 72 65 6e 74 20 61  tely different a
1980: 72 74 69 66 61 63 74 20 49 44 2e 20 20 41 6e 64  rtifact ID.  And
1990: 20 73 69 6e 63 65 20 74 68 65 20 61 72 74 69 66   since the artif
19a0: 61 63 74 20 49 44 20 69 73 20 74 68 65 20 6e 61  act ID is the na
19b0: 6d 65 20 6f 66 0a 74 68 65 20 61 72 74 69 66 61  me of.the artifa
19c0: 63 74 2c 20 6d 61 6b 69 6e 67 20 61 6e 79 20 63  ct, making any c
19d0: 68 61 6e 67 65 20 74 6f 20 61 20 66 69 6c 65 20  hange to a file 
19e0: 72 65 73 75 6c 74 73 20 69 6e 20 61 20 6e 65 77  results in a new
19f0: 20 61 72 74 69 66 61 63 74 2e 0a 49 6e 20 74 68   artifact..In th
1a00: 69 73 20 77 61 79 2c 20 61 72 74 69 66 61 63 74  is way, artifact
1a10: 73 20 61 72 65 20 69 6d 6d 75 74 61 62 6c 65 2e  s are immutable.
1a20: 0a 0a 41 20 72 65 70 6f 73 69 74 6f 72 79 20 69  ..A repository i
1a30: 73 20 72 65 61 6c 6c 79 20 6a 75 73 74 20 61 6e  s really just an
1a40: 20 75 6e 6f 72 64 65 72 65 64 20 63 6f 6c 6c 65   unordered colle
1a50: 63 74 69 6f 6e 20 6f 66 0a 61 72 74 69 66 61 63  ction of.artifac
1a60: 74 73 2e 20 20 4e 65 77 20 61 72 74 69 66 61 63  ts.  New artifac
1a70: 74 73 20 63 61 6e 20 62 65 20 61 64 64 65 64 20  ts can be added 
1a80: 74 6f 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72  to the repositor
1a90: 79 2c 20 62 75 74 0a 65 78 69 73 74 69 6e 67 20  y, but.existing 
1aa0: 61 72 74 69 66 61 63 74 73 20 63 61 6e 20 6e 65  artifacts can ne
1ab0: 76 65 72 20 62 65 20 72 65 6d 6f 76 65 64 2e 20  ver be removed. 
1ac0: 20 28 57 65 6c 6c 2c 20 61 6c 6d 6f 73 74 20 6e   (Well, almost n
1ad0: 65 76 65 72 2e 20 54 68 65 72 65 0a 69 73 20 61  ever. There.is a
1ae0: 20 5b 2e 2f 73 68 75 6e 6e 69 6e 67 2e 77 69 6b   [./shunning.wik
1af0: 69 20 7c 20 22 73 68 75 6e 6e 69 6e 67 22 5d 20  i | "shunning"] 
1b00: 6d 65 63 68 61 6e 69 73 6d 20 74 68 61 74 20 61  mechanism that a
1b10: 6c 6c 6f 77 73 20 73 70 61 6d 20 6f 72 20 6f 74  llows spam or ot
1b20: 68 65 72 0a 69 6e 61 70 70 72 6f 70 72 69 61 74  her.inappropriat
1b30: 65 20 63 6f 6e 74 65 6e 74 20 74 6f 20 62 65 20  e content to be 
1b40: 72 65 6d 6f 76 65 64 20 69 66 20 61 62 73 6f 6c  removed if absol
1b50: 75 74 65 6c 79 20 6e 65 63 65 73 73 61 72 79 2c  utely necessary,
1b60: 20 62 75 74 20 73 75 63 68 0a 72 65 6d 6f 76 61   but such.remova
1b70: 6c 20 69 73 20 64 69 73 63 6f 75 72 61 67 65 64  l is discouraged
1b80: 2e 29 0a 46 6f 73 73 69 6c 20 69 73 20 64 65 73  .).Fossil is des
1b90: 69 67 6e 65 64 20 69 6e 0a 73 75 63 68 20 61 20  igned in.such a 
1ba0: 77 61 79 20 74 68 61 74 20 69 74 20 63 61 6e 20  way that it can 
1bb0: 62 65 20 68 61 6e 64 65 64 20 61 20 73 65 74 20  be handed a set 
1bc0: 6f 66 20 61 72 74 69 66 61 63 74 73 20 69 6e 20  of artifacts in 
1bd0: 61 6e 79 0a 6f 72 64 65 72 20 61 6e 64 20 69 74  any.order and it
1be0: 20 63 61 6e 20 66 69 67 75 72 65 20 6f 75 74 20   can figure out 
1bf0: 74 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70  the relationship
1c00: 20 62 65 74 77 65 65 6e 20 74 68 6f 73 65 0a 61   between those.a
1c10: 72 74 69 66 61 63 74 73 20 61 6e 64 20 72 65 63  rtifacts and rec
1c20: 6f 6e 73 74 72 75 63 74 20 74 68 65 20 63 6f 6d  onstruct the com
1c30: 70 6c 65 74 65 20 64 65 76 65 6c 6f 70 6d 65 6e  plete developmen
1c40: 74 20 68 69 73 74 6f 72 79 20 6f 66 0a 61 20 73  t history of.a s
1c50: 6f 66 74 77 61 72 65 20 70 72 6f 6a 65 63 74 2e  oftware project.
1c60: 0a 0a 3c 68 33 3e 32 2e 32 20 4d 61 6e 69 66 65  ..<h3>2.2 Manife
1c70: 73 74 73 3c 2f 68 33 3e 0a 0a 41 73 73 6f 63 69  sts</h3>..Associ
1c80: 61 74 65 64 20 77 69 74 68 20 65 76 65 72 79 20  ated with every 
1c90: 63 68 65 63 6b 2d 69 6e 20 69 73 20 61 20 73 70  check-in is a sp
1ca0: 65 63 69 61 6c 20 66 69 6c 65 20 63 61 6c 6c 65  ecial file calle
1cb0: 64 20 74 68 65 0a 5b 2e 2f 66 69 6c 65 66 6f 72  d the.[./filefor
1cc0: 6d 61 74 2e 77 69 6b 69 23 6d 61 6e 69 66 65 73  mat.wiki#manifes
1cd0: 74 7c 20 22 6d 61 6e 69 66 65 73 74 22 5d 2e 20  t| "manifest"]. 
1ce0: 20 54 68 65 20 6d 61 6e 69 66 65 73 74 20 69 73   The manifest is
1cf0: 20 61 0a 6c 69 73 74 69 6e 67 20 6f 66 20 61 6c   a.listing of al
1d00: 6c 20 6f 74 68 65 72 20 66 69 6c 65 73 20 69 6e  l other files in
1d10: 0a 74 68 61 74 20 73 6f 75 72 63 65 20 74 72 65  .that source tre
1d20: 65 2e 20 20 54 68 65 20 6d 61 6e 69 66 65 73 74  e.  The manifest
1d30: 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 28 63   contains the (c
1d40: 6f 6d 70 6c 65 74 65 29 20 61 72 74 69 66 61 63  omplete) artifac
1d50: 74 20 49 44 0a 6f 66 20 74 68 65 20 66 69 6c 65  t ID.of the file
1d60: 20 61 6e 64 20 74 68 65 20 6e 61 6d 65 20 6f 66   and the name of
1d70: 20 74 68 65 20 66 69 6c 65 20 61 73 20 69 74 20   the file as it 
1d80: 61 70 70 65 61 72 73 20 6f 6e 20 64 69 73 6b 2c  appears on disk,
1d90: 0a 61 6e 64 20 74 68 75 73 20 73 65 72 76 65 73  .and thus serves
1da0: 20 61 73 20 61 20 6d 61 70 70 69 6e 67 20 66 72   as a mapping fr
1db0: 6f 6d 20 61 72 74 69 66 61 63 74 20 49 44 20 74  om artifact ID t
1dc0: 6f 20 64 69 73 6b 20 6e 61 6d 65 2e 20 20 54 68  o disk name.  Th
1dd0: 65 20 61 72 74 69 66 61 63 74 20 49 44 0a 6f 66  e artifact ID.of
1de0: 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 69 73   the manifest is
1df0: 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20   the identifier 
1e00: 66 6f 72 20 74 68 65 20 65 6e 74 69 72 65 20 63  for the entire c
1e10: 68 65 63 6b 2d 69 6e 2e 20 20 57 68 65 6e 0a 79  heck-in.  When.y
1e20: 6f 75 20 6c 6f 6f 6b 20 61 74 20 61 20 22 74 69  ou look at a "ti
1e30: 6d 65 6c 69 6e 65 22 20 6f 66 20 63 68 61 6e 67  meline" of chang
1e40: 65 73 20 69 6e 20 46 6f 73 73 69 6c 2c 20 74 68  es in Fossil, th
1e50: 65 20 49 44 20 61 73 73 6f 63 69 61 74 65 64 0a  e ID associated.
1e60: 77 69 74 68 20 65 61 63 68 20 63 68 65 63 6b 2d  with each check-
1e70: 69 6e 20 6f 72 20 63 6f 6d 6d 69 74 20 69 73 20  in or commit is 
1e80: 72 65 61 6c 6c 79 20 6a 75 73 74 20 74 68 65 20  really just the 
1e90: 61 72 74 69 66 61 63 74 20 49 44 20 6f 66 20 74  artifact ID of t
1ea0: 68 65 0a 6d 61 6e 69 66 65 73 74 20 66 6f 72 20  he.manifest for 
1eb0: 74 68 61 74 20 63 68 65 63 6b 2d 69 6e 2e 0a 0a  that check-in...
1ec0: 3c 70 3e 54 68 65 20 6d 61 6e 69 66 65 73 74 20  <p>The manifest 
1ed0: 66 69 6c 65 20 69 73 20 6e 6f 74 20 6e 6f 72 6d  file is not norm
1ee0: 61 6c 6c 79 20 61 20 72 65 61 6c 20 66 69 6c 65  ally a real file
1ef0: 20 6f 6e 20 64 69 73 6b 2e 20 20 49 6e 73 74 65   on disk.  Inste
1f00: 61 64 2c 0a 74 68 65 20 6d 61 6e 69 66 65 73 74  ad,.the manifest
1f10: 20 69 73 20 63 6f 6d 70 75 74 65 64 20 69 6e 20   is computed in 
1f20: 6d 65 6d 6f 72 79 20 62 79 20 46 6f 73 73 69 6c  memory by Fossil
1f30: 20 77 68 65 6e 65 76 65 72 20 69 74 20 6e 65 65   whenever it nee
1f40: 64 73 20 69 74 2e 0a 48 6f 77 65 76 65 72 2c 20  ds it..However, 
1f50: 74 68 65 20 22 66 6f 73 73 69 6c 20 73 65 74 74  the "fossil sett
1f60: 69 6e 67 20 6d 61 6e 69 66 65 73 74 20 6f 6e 22  ing manifest on"
1f70: 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 63 61   command will ca
1f80: 75 73 65 20 74 68 65 0a 6d 61 6e 69 66 65 73 74  use the.manifest
1f90: 20 66 69 6c 65 20 74 6f 20 62 65 20 6d 61 74 65   file to be mate
1fa0: 72 69 61 6c 69 7a 65 64 20 74 6f 20 64 69 73 6b  rialized to disk
1fb0: 2c 20 69 66 20 64 65 73 69 72 65 64 2e 20 20 42  , if desired.  B
1fc0: 6f 74 68 20 46 6f 73 73 69 6c 0a 69 74 73 65 6c  oth Fossil.itsel
1fd0: 66 2c 20 61 6e 64 20 53 51 4c 69 74 65 20 63 61  f, and SQLite ca
1fe0: 75 73 65 20 74 68 65 20 6d 61 6e 69 66 65 73 74  use the manifest
1ff0: 20 66 69 6c 65 20 74 6f 20 62 65 20 6d 61 74 65   file to be mate
2000: 72 69 61 6c 69 7a 65 64 20 74 6f 20 64 69 73 6b  rialized to disk
2010: 0a 73 6f 20 74 68 61 74 20 74 68 65 20 6d 61 6b  .so that the mak
2020: 65 66 69 6c 65 73 20 66 6f 72 20 74 68 65 73 65  efiles for these
2030: 20 70 72 6f 6a 65 63 74 20 63 61 6e 20 72 65 61   project can rea
2040: 64 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 61  d the manifest a
2050: 6e 64 0a 65 6d 62 65 64 20 76 65 72 73 69 6f 6e  nd.embed version
2060: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20   information in 
2070: 67 65 6e 65 72 61 74 65 64 20 62 69 6e 61 72 69  generated binari
2080: 65 73 2e 0a 0a 3c 70 3e 46 6f 73 73 69 6c 20 61  es...<p>Fossil a
2090: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e  utomatically gen
20a0: 65 72 61 74 65 73 20 61 20 6d 61 6e 69 66 65 73  erates a manifes
20b0: 74 20 77 68 65 6e 65 76 65 72 20 79 6f 75 20 22  t whenever you "
20c0: 63 6f 6d 6d 69 74 22 0a 61 20 6e 65 77 20 63 68  commit".a new ch
20d0: 65 63 6b 2d 69 6e 2e 20 20 53 6f 20 74 68 69 73  eck-in.  So this
20e0: 20 69 73 20 6e 6f 74 20 73 6f 6d 65 74 68 69 6e   is not somethin
20f0: 67 20 74 68 61 74 20 79 6f 75 2c 20 74 68 65 20  g that you, the 
2100: 64 65 76 65 6c 6f 70 65 72 2c 0a 6e 65 65 64 20  developer,.need 
2110: 74 6f 20 77 6f 72 72 79 20 77 69 74 68 2e 20 20  to worry with.  
2120: 54 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 61 20  The format of a 
2130: 6d 61 6e 69 66 65 73 74 20 69 73 20 69 6e 74 65  manifest is inte
2140: 6e 74 69 6f 6e 61 6c 6c 79 0a 64 65 73 69 67 6e  ntionally.design
2150: 65 64 20 74 6f 20 62 65 20 73 69 6d 70 6c 65 20  ed to be simple 
2160: 74 6f 20 70 61 72 73 65 2c 20 73 6f 20 74 68 61  to parse, so tha
2170: 74 20 69 66 0a 79 6f 75 20 77 61 6e 74 20 74 6f  t if.you want to
2180: 20 72 65 61 64 20 61 6e 64 20 69 6e 74 65 72 70   read and interp
2190: 72 65 74 20 61 20 6d 61 6e 69 66 65 73 74 2c 20  ret a manifest, 
21a0: 65 69 74 68 65 72 20 62 79 20 68 61 6e 64 20 6f  either by hand o
21b0: 72 0a 77 69 74 68 20 61 20 73 63 72 69 70 74 2c  r.with a script,
21c0: 20 74 68 61 74 20 69 73 20 65 61 73 79 20 74 6f   that is easy to
21d0: 20 64 6f 2e 20 20 42 75 74 20 79 6f 75 20 77 69   do.  But you wi
21e0: 6c 6c 20 70 72 6f 62 61 62 6c 79 20 6e 65 76 65  ll probably neve
21f0: 72 0a 6e 65 65 64 20 74 6f 20 64 6f 20 73 6f 2e  r.need to do so.
2200: 3c 2f 70 3e 0a 0a 3c 70 3e 49 6e 20 61 64 64 69  </p>..<p>In addi
2210: 74 69 6f 6e 20 74 6f 20 69 64 65 6e 74 69 66 79  tion to identify
2220: 69 6e 67 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e  ing all files in
2230: 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 2c 20 61   the check-in, a
2240: 0a 6d 61 6e 69 66 65 73 74 20 61 6c 73 6f 20 63  .manifest also c
2250: 6f 6e 74 61 69 6e 73 20 61 20 63 68 65 63 6b 2d  ontains a check-
2260: 69 6e 20 63 6f 6d 6d 65 6e 74 2c 20 74 68 65 20  in comment, the 
2270: 64 61 74 65 20 61 6e 64 20 74 69 6d 65 0a 77 68  date and time.wh
2280: 65 6e 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 20  en the check-in 
2290: 77 61 73 20 65 73 74 61 62 6c 69 73 68 65 64 2c  was established,
22a0: 20 77 68 6f 20 63 72 65 61 74 65 64 20 74 68 65   who created the
22b0: 20 63 68 65 63 6b 2d 69 6e 2c 0a 61 6e 64 20 6c   check-in,.and l
22c0: 69 6e 6b 73 20 74 6f 20 6f 74 68 65 72 20 63 68  inks to other ch
22d0: 65 63 6b 2d 69 6e 73 20 66 72 6f 6d 20 77 68 69  eck-ins from whi
22e0: 63 68 20 74 68 65 20 63 75 72 72 65 6e 74 20 63  ch the current c
22f0: 68 65 63 6b 2d 69 6e 0a 69 73 20 64 65 72 69 76  heck-in.is deriv
2300: 65 64 2e 20 20 54 68 65 72 65 20 69 73 20 61 6c  ed.  There is al
2310: 73 6f 20 61 20 63 6f 75 70 6c 65 20 6f 66 20 63  so a couple of c
2320: 68 65 63 6b 73 75 6d 73 20 75 73 65 64 20 74 6f  hecksums used to
2330: 20 76 65 72 69 66 79 0a 74 68 65 20 69 6e 74 65   verify.the inte
2340: 67 72 69 74 79 20 6f 66 20 74 68 65 20 63 68 65  grity of the che
2350: 63 6b 2d 69 6e 2e 20 20 41 6e 64 20 74 68 65 20  ck-in.  And the 
2360: 77 68 6f 6c 65 20 6d 61 6e 69 66 65 73 74 20 6d  whole manifest m
2370: 69 67 68 74 0a 62 65 20 50 47 50 20 63 6c 65 61  ight.be PGP clea
2380: 72 73 69 67 6e 65 64 2e 3c 2f 70 3e 0a 0a 3c 61  rsigned.</p>..<a
2390: 20 6e 61 6d 65 3d 22 6b 65 79 63 6f 6e 63 22 3e   name="keyconc">
23a0: 3c 2f 61 3e 0a 3c 68 33 3e 32 2e 33 20 4b 65 79  </a>.<h3>2.3 Key
23b0: 20 63 6f 6e 63 65 70 74 73 3c 2f 68 33 3e 0a 0a   concepts</h3>..
23c0: 3c 75 6c 3e 0a 3c 6c 69 3e 41 20 3c 62 3e 63 68  <ul>.<li>A <b>ch
23d0: 65 63 6b 2d 69 6e 3c 2f 62 3e 20 69 73 20 61 20  eck-in</b> is a 
23e0: 73 65 74 20 6f 66 20 66 69 6c 65 73 20 61 72 72  set of files arr
23f0: 61 6e 67 65 64 0a 20 20 20 20 69 6e 20 61 20 68  anged.    in a h
2400: 69 65 72 61 72 63 68 79 2e 3c 2f 6c 69 3e 0a 3c  ierarchy.</li>.<
2410: 6c 69 3e 41 20 3c 62 3e 72 65 70 6f 73 69 74 6f  li>A <b>reposito
2420: 72 79 3c 2f 62 3e 20 6b 65 65 70 73 20 61 20 72  ry</b> keeps a r
2430: 65 63 6f 72 64 20 6f 66 20 68 69 73 74 6f 72 69  ecord of histori
2440: 63 61 6c 20 63 68 65 63 6b 2d 69 6e 73 2e 3c 2f  cal check-ins.</
2450: 6c 69 3e 0a 3c 6c 69 3e 52 65 70 6f 73 69 74 6f  li>.<li>Reposito
2460: 72 69 65 73 20 73 68 61 72 65 20 74 68 65 69 72  ries share their
2470: 20 63 68 61 6e 67 65 73 20 75 73 69 6e 67 20 3c   changes using <
2480: 62 3e 70 75 73 68 3c 2f 62 3e 2c 20 3c 62 3e 70  b>push</b>, <b>p
2490: 75 6c 6c 3c 2f 62 3e 2c 0a 20 20 20 20 3c 62 3e  ull</b>,.    <b>
24a0: 73 79 6e 63 3c 2f 62 3e 2c 20 61 6e 64 20 3c 62  sync</b>, and <b
24b0: 3e 63 6c 6f 6e 65 3c 2f 62 3e 2e 3c 2f 6c 69 3e  >clone</b>.</li>
24c0: 0a 3c 6c 69 3e 41 20 70 61 72 74 69 63 75 6c 61  .<li>A particula
24d0: 72 20 3c 75 3e 76 65 72 73 69 6f 6e 3c 2f 75 3e  r <u>version</u>
24e0: 20 6f 66 20 61 20 70 61 72 74 69 63 75 6c 61 72   of a particular
24f0: 20 66 69 6c 65 20 69 73 20 61 6e 20 3c 62 3e 61   file is an <b>a
2500: 72 74 69 66 61 63 74 3c 2f 62 3e 0a 20 20 20 20  rtifact</b>.    
2510: 74 68 61 74 20 69 73 20 69 64 65 6e 74 69 66 69  that is identifi
2520: 65 64 20 62 79 20 61 6e 20 3c 62 3e 61 72 74 69  ed by an <b>arti
2530: 66 61 63 74 20 49 44 3c 2f 62 3e 2e 3c 2f 6c 69  fact ID</b>.</li
2540: 3e 0a 3c 6c 69 3e 41 72 74 69 66 61 63 74 73 20  >.<li>Artifacts 
2550: 74 72 61 63 6b 65 64 20 62 79 20 46 6f 73 73 69  tracked by Fossi
2560: 6c 20 61 72 65 20 69 6e 68 65 72 65 6e 74 6c 79  l are inherently
2570: 20 69 6d 6d 75 74 61 62 6c 65 2e 3c 2f 6c 69 3e   immutable.</li>
2580: 0a 3c 6c 69 3e 46 6f 73 73 69 6c 20 61 75 74 6f  .<li>Fossil auto
2590: 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61  matically genera
25a0: 74 65 73 20 61 20 3c 62 3e 6d 61 6e 69 66 65 73  tes a <b>manifes
25b0: 74 3c 2f 62 3e 20 66 69 6c 65 20 74 68 61 74 20  t</b> file that 
25c0: 69 64 65 6e 74 69 66 69 65 73 0a 20 20 20 20 65  identifies.    e
25d0: 76 65 72 79 20 61 72 74 69 66 61 63 74 20 69 6e  very artifact in
25e0: 20 61 20 63 68 65 63 6b 2d 69 6e 2e 3c 2f 6c 69   a check-in.</li
25f0: 3e 0a 3c 6c 69 3e 54 68 65 20 61 72 74 69 66 61  >.<li>The artifa
2600: 63 74 20 49 44 20 6f 66 20 74 68 65 20 6d 61 6e  ct ID of the man
2610: 69 66 65 73 74 20 69 73 20 74 68 65 20 69 64 65  ifest is the ide
2620: 6e 74 69 66 69 65 72 20 6f 66 20 74 68 65 20 63  ntifier of the c
2630: 68 65 63 6b 2d 69 6e 2e 3c 2f 6c 69 3e 0a 3c 2f  heck-in.</li>.</
2640: 75 6c 3e 0a 0a 3c 68 32 3e 33 2e 30 20 46 6f 73  ul>..<h2>3.0 Fos
2650: 73 69 6c 20 2d 20 54 68 65 20 50 72 6f 67 72 61  sil - The Progra
2660: 6d 3c 2f 68 32 3e 0a 0a 46 6f 73 73 69 6c 20 69  m</h2>..Fossil i
2670: 73 20 73 6f 66 74 77 61 72 65 2e 20 20 54 68 65  s software.  The
2680: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20   implementation 
2690: 6f 66 20 46 6f 73 73 69 6c 20 69 73 20 69 6e 20  of Fossil is in 
26a0: 74 68 65 20 66 6f 72 6d 0a 6f 66 20 61 20 73 69  the form.of a si
26b0: 6e 67 6c 65 20 65 78 65 63 75 74 61 62 6c 65 20  ngle executable 
26c0: 6e 61 6d 65 64 20 22 66 6f 73 73 69 6c 22 20 28  named "fossil" (
26d0: 6f 72 20 22 66 6f 73 73 69 6c 2e 65 78 65 22 20  or "fossil.exe" 
26e0: 6f 6e 20 57 69 6e 64 6f 77 73 29 2e 0a 54 6f 20  on Windows)..To 
26f0: 69 6e 73 74 61 6c 6c 20 46 6f 73 73 69 6c 20 6f  install Fossil o
2700: 6e 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 0a 61  n your system,.a
2710: 6c 6c 20 79 6f 75 20 68 61 76 65 20 74 6f 20 64  ll you have to d
2720: 6f 20 69 73 20 6f 62 74 61 69 6e 20 61 20 63 6f  o is obtain a co
2730: 70 79 20 6f 66 20 74 68 69 73 20 6f 6e 65 20 65  py of this one e
2740: 78 65 63 75 74 61 62 6c 65 20 66 69 6c 65 20 28  xecutable file (
2750: 65 69 74 68 65 72 0a 62 79 20 64 6f 77 6e 6c 6f  either.by downlo
2760: 61 64 69 6e 67 20 61 0a 3c 61 20 68 72 65 66 3d  ading a.<a href=
2770: 22 68 74 74 70 73 3a 2f 2f 66 6f 73 73 69 6c 2d  "https://fossil-
2780: 73 63 6d 2e 6f 72 67 2f 68 6f 6d 65 2f 75 76 2f  scm.org/home/uv/
2790: 64 6f 77 6e 6c 6f 61 64 2e 68 74 6d 6c 22 3e 70  download.html">p
27a0: 72 65 2d 63 6f 6d 70 69 6c 65 64 20 76 65 72 73  re-compiled vers
27b0: 69 6f 6e 3c 2f 61 3e 0a 6f 72 20 5b 2e 2f 62 75  ion</a>.or [./bu
27c0: 69 6c 64 2e 77 69 6b 69 20 7c 20 63 6f 6d 70 69  ild.wiki | compi
27d0: 6c 69 6e 67 20 69 74 20 79 6f 75 72 73 65 6c 66  ling it yourself
27e0: 5d 29 20 61 6e 64 20 74 68 65 6e 0a 70 75 74 74  ]) and then.putt
27f0: 69 6e 67 20 74 68 61 74 20 66 69 6c 65 20 73 6f  ing that file so
2800: 6d 65 77 68 65 72 65 20 6f 6e 20 79 6f 75 72 20  mewhere on your 
2810: 50 41 54 48 2e 0a 0a 46 6f 73 73 69 6c 20 69 73  PATH...Fossil is
2820: 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 65 6c 66   completely self
2830: 2d 63 6f 6e 74 61 69 6e 65 64 2e 20 20 49 74 20  -contained.  It 
2840: 69 73 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 79  is not necessary
2850: 20 74 6f 0a 69 6e 73 74 61 6c 6c 20 61 6e 79 20   to.install any 
2860: 6f 74 68 65 72 20 73 6f 66 74 77 61 72 65 20 69  other software i
2870: 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20 46  n order to use F
2880: 6f 73 73 69 6c 2e 20 20 59 6f 75 20 64 6f 20 3c  ossil.  You do <
2890: 75 3e 6e 6f 74 3c 2f 75 3e 20 6e 65 65 64 0a 43  u>not</u> need.C
28a0: 56 53 2c 20 67 7a 69 70 2c 20 64 69 66 66 2c 20  VS, gzip, diff, 
28b0: 72 73 79 6e 63 2c 20 50 79 74 68 6f 6e 2c 20 50  rsync, Python, P
28c0: 65 72 6c 2c 20 54 63 6c 2c 20 4a 61 76 61 2c 20  erl, Tcl, Java, 
28d0: 41 70 61 63 68 65 2c 20 50 6f 73 74 67 72 65 53  Apache, PostgreS
28e0: 51 4c 2c 20 4d 79 53 51 4c 2c 0a 53 51 4c 69 74  QL, MySQL,.SQLit
28f0: 65 2c 20 70 61 74 63 68 2c 20 6f 72 20 61 6e 79  e, patch, or any
2900: 20 73 69 6d 69 6c 61 72 20 73 6f 66 74 77 61 72   similar softwar
2910: 65 20 6f 6e 20 79 6f 75 72 20 73 79 73 74 65 6d  e on your system
2920: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65   in order to use
2930: 0a 46 6f 73 73 69 6c 20 65 66 66 65 63 74 69 76  .Fossil effectiv
2940: 65 6c 79 2e 20 20 59 6f 75 20 77 69 6c 6c 20 77  ely.  You will w
2950: 61 6e 74 20 74 6f 20 68 61 76 65 20 73 6f 6d 65  ant to have some
2960: 20 6b 69 6e 64 20 6f 66 20 74 65 78 74 20 65 64   kind of text ed
2970: 69 74 6f 72 0a 66 6f 72 20 65 6e 74 65 72 69 6e  itor.for enterin
2980: 67 20 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65  g check-in comme
2990: 6e 74 73 2e 20 20 46 6f 73 73 69 6c 20 77 69 6c  nts.  Fossil wil
29a0: 6c 20 75 73 65 20 77 68 61 74 65 76 65 72 20 74  l use whatever t
29b0: 65 78 74 20 65 64 69 74 6f 72 0a 69 73 20 69 64  ext editor.is id
29c0: 65 6e 74 69 66 69 65 64 20 62 79 20 79 6f 75 72  entified by your
29d0: 20 56 49 53 55 41 4c 20 65 6e 76 69 72 6f 6e 6d   VISUAL environm
29e0: 65 6e 74 20 76 61 72 69 61 62 6c 65 2e 20 20 46  ent variable.  F
29f0: 6f 73 73 69 6c 20 77 69 6c 6c 20 61 6c 73 6f 0a  ossil will also.
2a00: 75 73 65 20 47 50 47 20 74 6f 20 63 6c 65 61 72  use GPG to clear
2a10: 73 69 67 6e 20 79 6f 75 72 20 6d 61 6e 69 66 65  sign your manife
2a20: 73 74 73 20 69 66 20 79 6f 75 20 68 61 70 70 65  sts if you happe
2a30: 6e 20 74 6f 20 68 61 76 65 20 69 74 20 69 6e 73  n to have it ins
2a40: 74 61 6c 6c 65 64 2c 0a 62 75 74 20 46 6f 73 73  talled,.but Foss
2a50: 69 6c 20 77 69 6c 6c 20 73 6b 69 70 20 74 68 61  il will skip tha
2a60: 74 20 73 74 65 70 20 69 66 20 47 50 47 20 6d 69  t step if GPG mi
2a70: 73 73 69 6e 67 20 66 72 6f 6d 20 79 6f 75 72 20  ssing from your 
2a80: 73 79 73 74 65 6d 2e 0a 59 6f 75 20 63 61 6e 20  system..You can 
2a90: 6f 70 74 69 6f 6e 61 6c 6c 79 20 73 65 74 20 75  optionally set u
2aa0: 70 20 46 6f 73 73 69 6c 20 74 6f 20 75 73 65 20  p Fossil to use 
2ab0: 65 78 74 65 72 6e 61 6c 20 22 64 69 66 66 22 20  external "diff" 
2ac0: 70 72 6f 67 72 61 6d 73 2c 0a 74 68 6f 75 67 68  programs,.though
2ad0: 20 46 6f 73 73 69 6c 20 68 61 73 20 61 6e 20 65   Fossil has an e
2ae0: 78 63 65 6c 6c 65 6e 74 20 62 75 69 6c 74 2d 69  xcellent built-i
2af0: 6e 20 22 64 69 66 66 22 20 61 6c 67 6f 72 69 74  n "diff" algorit
2b00: 68 6d 20 74 68 61 74 20 77 6f 72 6b 73 0a 66 69  hm that works.fi
2b10: 6e 65 20 66 6f 72 20 6d 6f 73 74 20 70 65 6f 70  ne for most peop
2b20: 6c 65 2e 20 20 49 66 20 79 6f 75 20 68 61 70 70  le.  If you happ
2b30: 65 6e 20 74 6f 20 68 61 76 65 20 54 63 6c 2f 54  en to have Tcl/T
2b40: 6b 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20 79  k installed on y
2b50: 6f 75 72 0a 73 79 73 74 65 6d 2c 20 46 6f 73 73  our.system, Foss
2b60: 69 6c 20 77 69 6c 6c 20 75 73 65 20 69 74 20 74  il will use it t
2b70: 6f 20 67 65 6e 65 72 61 74 65 20 61 20 67 72 61  o generate a gra
2b80: 70 68 69 63 61 6c 20 22 64 69 66 66 22 20 64 69  phical "diff" di
2b90: 73 70 6c 61 79 20 77 68 65 6e 0a 79 6f 75 20 75  splay when.you u
2ba0: 73 65 20 74 68 65 20 2d 2d 74 6b 20 6f 70 74 69  se the --tk opti
2bb0: 6f 6e 20 74 6f 20 74 68 65 20 22 64 69 66 66 22  on to the "diff"
2bc0: 20 63 6f 6d 6d 61 6e 64 2c 20 62 75 74 20 74 68   command, but th
2bd0: 69 73 20 74 6f 6f 20 69 73 20 65 6e 74 69 72 65  is too is entire
2be0: 6c 79 0a 6f 70 74 69 6f 6e 61 6c 2e 0a 0a 0a 54  ly.optional....T
2bf0: 6f 20 75 6e 69 6e 73 74 61 6c 6c 20 46 6f 73 73  o uninstall Foss
2c00: 69 6c 2c 20 73 69 6d 70 6c 79 20 64 65 6c 65 74  il, simply delet
2c10: 65 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65  e the executable
2c20: 2e 0a 0a 54 6f 20 75 70 67 72 61 64 65 20 61 6e  ...To upgrade an
2c30: 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 20 6f   older version o
2c40: 66 20 46 6f 73 73 69 6c 20 74 6f 20 61 20 6e 65  f Fossil to a ne
2c50: 77 65 72 20 76 65 72 73 69 6f 6e 2c 20 6a 75 73  wer version, jus
2c60: 74 0a 72 65 70 6c 61 63 65 20 74 68 65 20 6f 6c  t.replace the ol
2c70: 64 20 65 78 65 63 75 74 61 62 6c 65 20 77 69 74  d executable wit
2c80: 68 20 74 68 65 20 6e 65 77 20 6f 6e 65 2e 20 20  h the new one.  
2c90: 59 6f 75 20 6d 69 67 68 74 20 6e 65 65 64 20 74  You might need t
2ca0: 6f 0a 72 75 6e 20 22 3c 62 3e 66 6f 73 73 69 6c  o.run "<b>fossil
2cb0: 20 61 6c 6c 20 72 65 62 75 69 6c 64 3c 2f 62 3e   all rebuild</b>
2cc0: 22 20 74 6f 20 72 65 73 74 72 75 63 74 75 72 65  " to restructure
2cd0: 20 79 6f 75 72 20 72 65 70 6f 73 69 74 6f 72 69   your repositori
2ce0: 65 73 20 61 66 74 65 72 0a 61 6e 20 75 70 67 72  es after.an upgr
2cf0: 61 64 65 2e 20 20 52 75 6e 6e 69 6e 67 20 22 61  ade.  Running "a
2d00: 6c 6c 20 72 65 62 75 69 6c 64 22 20 6e 65 76 65  ll rebuild" neve
2d10: 72 20 68 75 72 74 73 2c 20 73 6f 20 77 68 65 6e  r hurts, so when
2d20: 20 75 70 67 72 61 64 69 6e 67 20 69 74 0a 69 73   upgrading it.is
2d30: 20 61 20 67 6f 6f 64 20 70 6f 6c 69 63 79 20 74   a good policy t
2d40: 6f 20 72 75 6e 20 69 74 20 65 76 65 6e 20 69 66  o run it even if
2d50: 20 69 74 20 69 73 20 6e 6f 74 20 73 74 72 69 63   it is not stric
2d60: 74 6c 79 20 6e 65 63 65 73 73 61 72 79 2e 0a 0a  tly necessary...
2d70: 54 6f 20 75 73 65 20 46 6f 73 73 69 6c 2c 20 73  To use Fossil, s
2d80: 69 6d 70 6c 79 20 74 79 70 65 20 74 68 65 20 6e  imply type the n
2d90: 61 6d 65 20 6f 66 20 74 68 65 20 65 78 65 63 75  ame of the execu
2da0: 74 61 62 6c 65 20 69 6e 20 79 6f 75 72 0a 73 68  table in your.sh
2db0: 65 6c 6c 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79  ell, followed by
2dc0: 20 6f 6e 65 20 6f 66 20 74 68 65 20 76 61 72 69   one of the vari
2dd0: 6f 75 73 20 62 75 69 6c 74 2d 69 6e 20 63 6f 6d  ous built-in com
2de0: 6d 61 6e 64 73 20 61 6e 64 0a 61 72 67 75 6d 65  mands and.argume
2df0: 6e 74 73 20 61 70 70 72 6f 70 72 69 61 74 65 20  nts appropriate 
2e00: 66 6f 72 20 74 68 61 74 20 63 6f 6d 6d 61 6e 64  for that command
2e10: 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a  .  For example:.
2e20: 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 3c 62 3e  .<blockquote><b>
2e30: 0a 66 6f 73 73 69 6c 20 68 65 6c 70 0a 3c 2f 62  .fossil help.</b
2e40: 3e 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a  ></blockquote>..
2e50: 49 6e 20 74 68 65 20 6e 65 78 74 20 73 65 63 74  In the next sect
2e60: 69 6f 6e 2c 20 77 68 65 6e 20 77 65 20 73 61 79  ion, when we say
2e70: 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 22 75 73   things like "us
2e80: 65 20 74 68 65 20 3c 62 3e 68 65 6c 70 3c 2f 62  e the <b>help</b
2e90: 3e 0a 63 6f 6d 6d 61 6e 64 22 20 77 65 20 6d 65  >.command" we me
2ea0: 61 6e 20 74 6f 20 75 73 65 20 74 68 65 20 63 6f  an to use the co
2eb0: 6d 6d 61 6e 64 20 6e 61 6d 65 20 22 68 65 6c 70  mmand name "help
2ec0: 22 20 61 73 20 74 68 65 20 66 69 72 73 74 0a 74  " as the first.t
2ed0: 6f 6b 65 6e 20 61 66 74 65 72 20 74 68 65 20 6e  oken after the n
2ee0: 61 6d 65 20 6f 66 20 74 68 65 20 46 6f 73 73 69  ame of the Fossi
2ef0: 6c 20 65 78 65 63 75 74 61 62 6c 65 2c 20 61 73  l executable, as
2f00: 20 73 68 6f 77 6e 20 61 62 6f 76 65 2e 0a 0a 3c   shown above...<
2f10: 61 20 6e 61 6d 65 3d 22 77 6f 72 6b 66 6c 6f 77  a name="workflow
2f20: 22 3e 3c 2f 61 3e 0a 3c 68 32 3e 34 2e 30 20 57  "></a>.<h2>4.0 W
2f30: 6f 72 6b 66 6c 6f 77 3c 2f 68 32 3e 0a 0a 3c 76  orkflow</h2>..<v
2f40: 65 72 62 61 74 69 6d 20 74 79 70 65 3d 22 70 69  erbatim type="pi
2f50: 6b 63 68 72 20 66 6c 6f 61 74 2d 72 69 67 68 74  kchr float-right
2f60: 22 3e 0a 20 20 20 20 64 6f 77 6e 0a 52 31 3a 20  ">.    down.R1: 
2f70: 63 79 6c 69 6e 64 65 72 20 22 52 65 6d 6f 74 65  cylinder "Remote
2f80: 22 20 22 52 65 70 6f 73 69 74 6f 72 79 22 20 66  " "Repository" f
2f90: 69 6c 6c 20 30 78 61 64 64 38 65 36 20 72 61 64  ill 0xadd8e6 rad
2fa0: 20 37 30 25 0a 20 20 20 20 6d 6f 76 65 20 31 35   70%.    move 15
2fb0: 30 25 0a 52 32 3a 20 63 79 6c 69 6e 64 65 72 20  0%.R2: cylinder 
2fc0: 73 61 6d 65 20 22 4c 6f 63 61 6c 22 20 22 52 65  same "Local" "Re
2fd0: 70 6f 73 69 74 6f 72 79 22 20 66 69 6c 6c 20 30  pository" fill 0
2fe0: 78 39 30 65 65 39 30 0a 20 20 20 20 6d 6f 76 65  x90ee90.    move
2ff0: 20 31 32 30 25 0a 54 31 3a 20 6c 69 6e 65 20 67   120%.T1: line g
3000: 6f 20 32 2e 32 63 6d 20 68 65 61 64 69 6e 67 20  o 2.2cm heading 
3010: 31 35 30 20 74 68 65 6e 20 32 2e 32 63 6d 20 77  150 then 2.2cm w
3020: 65 73 74 20 63 6c 6f 73 65 20 5c 0a 20 20 20 20  est close \.    
3030: 20 20 20 66 69 6c 6c 20 30 78 66 66 66 66 30 30     fill 0xffff00
3040: 20 22 4c 6f 63 61 6c 22 20 62 65 6c 6f 77 20 22   "Local" below "
3050: 53 6f 75 72 63 65 20 54 72 65 65 22 20 62 65 6c  Source Tree" bel
3060: 6f 77 0a 20 20 20 20 61 72 72 6f 77 20 66 72 6f  ow.    arrow fro
3070: 6d 20 52 32 2e 6e 2b 28 2d 30 2e 32 35 63 6d 2c  m R2.n+(-0.25cm,
3080: 2b 30 2e 32 35 63 6d 29 20 74 6f 20 52 31 2e 73  +0.25cm) to R1.s
3090: 2b 28 2d 30 2e 32 35 63 6d 2c 2d 30 2e 32 35 63  +(-0.25cm,-0.25c
30a0: 6d 29 20 5c 0a 20 20 20 20 20 20 20 22 70 75 73  m) \.       "pus
30b0: 68 20 22 20 72 6a 75 73 74 0a 20 20 20 20 61 72  h " rjust.    ar
30c0: 72 6f 77 20 66 72 6f 6d 20 52 31 2e 73 2b 28 2b  row from R1.s+(+
30d0: 30 2e 32 35 63 6d 2c 2d 30 2e 32 35 63 6d 29 20  0.25cm,-0.25cm) 
30e0: 74 6f 20 52 32 2e 6e 2b 28 2b 30 2e 32 35 63 6d  to R2.n+(+0.25cm
30f0: 2c 2b 30 2e 32 35 63 6d 29 20 5c 0a 20 20 20 20  ,+0.25cm) \.    
3100: 20 20 20 22 20 70 75 6c 6c 22 20 6c 6a 75 73 74     " pull" ljust
3110: 20 22 20 63 6c 6f 6e 65 22 20 6c 6a 75 73 74 0a   " clone" ljust.
3120: 20 20 20 20 61 72 72 6f 77 20 66 72 6f 6d 20 54      arrow from T
3130: 31 2e 73 74 61 72 74 2b 28 2d 30 2e 32 35 63 6d  1.start+(-0.25cm
3140: 2c 2b 30 63 6d 29 20 74 6f 20 52 32 2e 73 2b 28  ,+0cm) to R2.s+(
3150: 2d 30 2e 32 35 63 6d 2c 2d 30 2e 32 35 63 6d 29  -0.25cm,-0.25cm)
3160: 20 5c 0a 20 20 20 20 20 20 20 22 63 6f 6d 6d 69   \.       "commi
3170: 74 20 22 20 72 6a 75 73 74 0a 20 20 20 20 61 72  t " rjust.    ar
3180: 72 6f 77 20 66 72 6f 6d 20 52 32 2e 73 2b 28 2b  row from R2.s+(+
3190: 30 2e 32 35 63 6d 2c 2d 30 2e 32 35 63 6d 29 20  0.25cm,-0.25cm) 
31a0: 74 6f 20 54 31 2e 73 74 61 72 74 2b 28 2b 30 2e  to T1.start+(+0.
31b0: 32 35 63 6d 2c 2b 30 63 6d 29 20 5c 0a 20 20 20  25cm,+0cm) \.   
31c0: 20 20 20 20 22 20 6f 70 65 6e 22 20 6c 6a 75 73      " open" ljus
31d0: 74 20 22 20 75 70 64 61 74 65 22 20 6c 6a 75 73  t " update" ljus
31e0: 74 20 22 20 6d 65 72 67 65 22 20 6c 6a 75 73 74  t " merge" ljust
31f0: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0a 0a 0a 46  .</verbatim>...F
3200: 6f 73 73 69 6c 20 68 61 73 20 74 77 6f 20 6d 6f  ossil has two mo
3210: 64 65 73 20 6f 66 20 6f 70 65 72 61 74 69 6f 6e  des of operation
3220: 3a 20 3c 69 3e 22 61 75 74 6f 73 79 6e 63 22 3c  : <i>"autosync"<
3230: 2f 69 3e 20 61 6e 64 0a 3c 69 3e 22 6d 61 6e 75  /i> and.<i>"manu
3240: 61 6c 2d 6d 65 72 67 65 22 3c 2f 69 3e 0a 41 75  al-merge"</i>.Au
3250: 74 6f 73 79 6e 63 20 6d 6f 64 65 20 69 73 20 72  tosync mode is r
3260: 65 6d 69 6e 69 73 63 65 6e 74 20 6f 66 20 43 56  eminiscent of CV
3270: 53 20 6f 72 20 53 56 4e 20 69 6e 20 74 68 61 74  S or SVN in that
3280: 20 69 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c   it automaticall
3290: 79 0a 6b 65 65 70 73 20 79 6f 75 72 20 63 68 61  y.keeps your cha
32a0: 6e 67 65 73 20 69 6e 20 73 79 6e 63 68 72 6f 6e  nges in synchron
32b0: 69 7a 61 74 69 6f 6e 20 77 69 74 68 20 79 6f 75  ization with you
32c0: 72 20 63 6f 2d 77 6f 72 6b 65 72 73 20 74 68 72  r co-workers thr
32d0: 6f 75 67 68 0a 74 68 65 20 75 73 65 20 6f 66 20  ough.the use of 
32e0: 61 20 63 65 6e 74 72 61 6c 20 73 65 72 76 65 72  a central server
32f0: 2e 20 20 54 68 65 20 6d 61 6e 75 61 6c 2d 6d 65  .  The manual-me
3300: 72 67 65 20 6d 6f 64 65 20 69 73 20 74 68 65 20  rge mode is the 
3310: 73 74 61 6e 64 61 72 64 20 77 6f 72 6b 66 6c 6f  standard workflo
3320: 77 0a 66 6f 72 20 47 49 54 20 6f 72 20 4d 65 72  w.for GIT or Mer
3330: 63 75 72 69 61 6c 20 69 6e 20 74 68 61 74 20 79  curial in that y
3340: 6f 75 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69  our local reposi
3350: 74 6f 72 79 20 64 65 76 65 6c 6f 70 73 0a 69 6e  tory develops.in
3360: 64 65 70 65 6e 64 65 6e 74 6c 79 20 6f 66 20 79  dependently of y
3370: 6f 75 72 20 63 6f 77 6f 72 6b 65 72 73 20 61 6e  our coworkers an
3380: 64 20 79 6f 75 20 73 68 61 72 65 20 61 6e 64 20  d you share and 
3390: 6d 65 72 67 65 20 79 6f 75 72 20 63 68 61 6e 67  merge your chang
33a0: 65 73 20 6d 61 6e 75 61 6c 6c 79 2e 0a 41 6e 20  es manually..An 
33b0: 69 6e 74 65 72 65 73 74 69 6e 67 20 66 65 61 74  interesting feat
33c0: 75 72 65 20 6f 66 20 46 6f 73 73 69 6c 20 69 73  ure of Fossil is
33d0: 20 74 68 61 74 20 69 74 20 73 75 70 70 6f 72 74   that it support
33e0: 73 20 62 6f 74 68 20 61 75 74 6f 73 79 6e 63 0a  s both autosync.
33f0: 61 6e 64 20 6d 61 6e 75 61 6c 2d 6d 65 72 67 65  and manual-merge
3400: 20 77 6f 72 6b 20 66 6c 6f 77 73 2e 0a 0a 54 68   work flows...Th
3410: 65 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e  e default settin
3420: 67 20 66 6f 72 20 46 6f 73 73 69 6c 20 69 73 20  g for Fossil is 
3430: 74 6f 20 62 65 20 69 6e 20 61 75 74 6f 73 79 6e  to be in autosyn
3440: 63 20 6d 6f 64 65 2e 20 20 59 6f 75 0a 63 61 6e  c mode.  You.can
3450: 20 63 68 61 6e 67 65 20 74 68 65 20 61 75 74 6f   change the auto
3460: 73 79 6e 63 20 73 65 74 74 69 6e 67 20 6f 72 20  sync setting or 
3470: 63 68 65 63 6b 20 74 68 65 20 63 75 72 72 65 6e  check the curren
3480: 74 20 61 75 74 6f 73 79 6e 63 0a 73 65 74 74 69  t autosync.setti
3490: 6e 67 20 75 73 69 6e 67 20 63 6f 6d 6d 61 6e 64  ng using command
34a0: 73 20 6c 69 6b 65 3a 0a 0a 3c 62 6c 6f 63 6b 71  s like:..<blockq
34b0: 75 6f 74 65 3e 0a 3c 62 3e 66 6f 73 73 69 6c 20  uote>.<b>fossil 
34c0: 73 65 74 74 69 6e 67 20 61 75 74 6f 73 79 6e 63  setting autosync
34d0: 20 6f 6e 3c 62 72 3e 0a 66 6f 73 73 69 6c 20 73   on<br>.fossil s
34e0: 65 74 74 69 6e 67 20 61 75 74 6f 73 79 6e 63 20  etting autosync 
34f0: 6f 66 66 3c 62 72 3e 0a 3c 62 3e 66 6f 73 73 69  off<br>.<b>fossi
3500: 6c 20 73 65 74 74 69 6e 67 73 3c 2f 62 3e 0a 3c  l settings</b>.<
3510: 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 42 79  /blockquote>..By
3520: 20 64 65 66 61 75 6c 74 2c 20 46 6f 73 73 69 6c   default, Fossil
3530: 20 72 75 6e 73 20 77 69 74 68 20 61 75 74 6f 73   runs with autos
3540: 79 6e 63 20 6d 6f 64 65 20 74 75 72 6e 65 64 20  ync mode turned 
3550: 6f 6e 2e 20 20 54 68 65 0a 61 75 74 68 6f 72 73  on.  The.authors
3560: 20 66 69 6e 64 73 20 74 68 61 74 20 70 72 6f 6a   finds that proj
3570: 65 63 74 73 20 72 75 6e 20 6d 6f 72 65 20 73 6d  ects run more sm
3580: 6f 6f 74 68 6c 79 20 69 6e 20 61 75 74 6f 73 79  oothly in autosy
3590: 6e 63 20 6d 6f 64 65 20 73 69 6e 63 65 0a 61 75  nc mode since.au
35a0: 74 6f 73 79 6e 63 20 68 65 6c 70 73 20 74 6f 20  tosync helps to 
35b0: 70 72 65 76 65 6e 74 20 70 6f 69 6e 74 6c 65 73  prevent pointles
35c0: 73 20 66 6f 72 6b 69 6e 67 20 61 6e 64 20 6d 65  s forking and me
35d0: 72 67 69 6e 67 20 61 6e 64 20 68 65 6c 70 73 20  rging and helps 
35e0: 6b 65 65 70 73 0a 61 6c 6c 20 63 6f 6c 6c 61 62  keeps.all collab
35f0: 6f 72 61 74 6f 72 73 20 77 6f 72 6b 69 6e 67 20  orators working 
3600: 6f 6e 20 65 78 61 63 74 6c 79 20 74 68 65 20 73  on exactly the s
3610: 61 6d 65 20 63 6f 64 65 20 72 61 74 68 65 72 20  ame code rather 
3620: 74 68 61 6e 20 6f 6e 20 74 68 65 69 72 0a 6f 77  than on their.ow
3630: 6e 20 70 65 72 73 6f 6e 61 6c 20 66 6f 72 6b 73  n personal forks
3640: 20 6f 66 20 74 68 65 20 63 6f 64 65 2e 20 20 49   of the code.  I
3650: 6e 20 74 68 65 20 61 75 74 68 6f 72 27 73 20 76  n the author's v
3660: 69 65 77 2c 20 6d 61 6e 75 61 6c 2d 6d 65 72 67  iew, manual-merg
3670: 65 20 6d 6f 64 65 0a 73 68 6f 75 6c 64 20 62 65  e mode.should be
3680: 20 72 65 73 65 72 76 65 64 20 66 6f 72 20 64 69   reserved for di
3690: 73 63 6f 6e 6e 65 63 74 65 64 20 6f 70 65 72 61  sconnected opera
36a0: 74 69 6f 6e 2e 0a 0a 3c 68 33 3e 34 2e 31 20 41  tion...<h3>4.1 A
36b0: 75 74 6f 73 79 6e 63 20 57 6f 72 6b 66 6c 6f 77  utosync Workflow
36c0: 3c 2f 68 33 3e 0a 0a 3c 6f 6c 3e 0a 3c 6c 69 3e  </h3>..<ol>.<li>
36d0: 0a 45 73 74 61 62 6c 69 73 68 20 61 20 6c 6f 63  .Establish a loc
36e0: 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 75 73  al repository us
36f0: 69 6e 67 20 65 69 74 68 65 72 20 74 68 65 20 3c  ing either the <
3700: 62 3e 6e 65 77 3c 2f 62 3e 20 63 6f 6d 6d 61 6e  b>new</b> comman
3710: 64 0a 74 6f 20 73 74 61 72 74 20 61 20 6e 65 77  d.to start a new
3720: 20 70 72 6f 6a 65 63 74 2c 20 6f 72 20 74 68 65   project, or the
3730: 20 3c 62 3e 63 6c 6f 6e 65 3c 2f 62 3e 20 63 6f   <b>clone</b> co
3740: 6d 6d 61 6e 64 20 74 6f 20 6d 61 6b 65 20 61 20  mmand to make a 
3750: 63 6c 6f 6e 65 0a 6f 66 20 61 20 72 65 70 6f 73  clone.of a repos
3760: 69 74 6f 72 79 20 66 6f 72 20 61 6e 20 65 78 69  itory for an exi
3770: 73 74 69 6e 67 20 70 72 6f 6a 65 63 74 2e 0a 3c  sting project..<
3780: 2f 6c 69 3e 0a 0a 3c 6c 69 3e 0a 45 73 74 61 62  /li>..<li>.Estab
3790: 6c 69 73 68 20 6f 6e 65 20 6f 72 20 6d 6f 72 65  lish one or more
37a0: 20 73 6f 75 72 63 65 20 74 72 65 65 73 20 75 73   source trees us
37b0: 69 6e 67 0a 74 68 65 20 3c 62 3e 6f 70 65 6e 3c  ing.the <b>open<
37c0: 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68  /b> command with
37d0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
37e0: 20 72 65 70 6f 73 69 74 6f 72 79 20 66 69 6c 65   repository file
37f0: 20 61 73 20 69 74 73 0a 61 72 67 75 6d 65 6e 74   as its.argument
3800: 2e 0a 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 0a 54 68  ..</li>..<li>.Th
3810: 65 20 3c 62 3e 6f 70 65 6e 3c 2f 62 3e 20 63 6f  e <b>open</b> co
3820: 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 70 72 65  mmand in the pre
3830: 76 69 6f 75 73 20 73 74 65 70 20 70 6f 70 75 6c  vious step popul
3840: 61 74 65 73 20 79 6f 75 72 20 6c 6f 63 61 6c 20  ates your local 
3850: 73 6f 75 72 63 65 0a 74 72 65 65 20 77 69 74 68  source.tree with
3860: 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c   a copy of the l
3870: 61 74 65 73 74 20 63 68 65 63 6b 2d 69 6e 2e 20  atest check-in. 
3880: 20 55 73 75 61 6c 6c 79 20 74 68 69 73 20 69 73   Usually this is
3890: 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 2e 0a   what you want..
38a0: 49 6e 20 74 68 65 20 72 61 72 65 20 63 61 73 65  In the rare case
38b0: 73 20 77 68 65 72 65 20 69 74 20 69 73 20 6e 6f  s where it is no
38c0: 74 2c 20 75 73 65 20 74 68 65 20 3c 62 3e 75 70  t, use the <b>up
38d0: 64 61 74 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64  date</b> command
38e0: 20 74 6f 0a 73 77 69 74 63 68 20 74 6f 20 61 20   to.switch to a 
38f0: 64 69 66 66 65 72 65 6e 74 20 63 68 65 63 6b 2d  different check-
3900: 69 6e 2e 0a 55 73 65 20 74 68 65 20 3c 62 3e 74  in..Use the <b>t
3910: 69 6d 65 6c 69 6e 65 3c 2f 62 3e 20 6f 72 20 3c  imeline</b> or <
3920: 62 3e 6c 65 61 76 65 73 3c 2f 62 3e 20 63 6f 6d  b>leaves</b> com
3930: 6d 61 6e 64 73 0a 74 6f 20 69 64 65 6e 74 69 66  mands.to identif
3940: 79 20 61 6c 74 65 72 6e 61 74 69 76 65 20 63 68  y alternative ch
3950: 65 63 6b 2d 69 6e 73 20 74 6f 20 73 77 69 74 63  eck-ins to switc
3960: 68 20 74 6f 2e 0a 3c 2f 6c 69 3e 0a 0a 3c 6c 69  h to..</li>..<li
3970: 3e 0a 45 64 69 74 20 74 68 65 20 63 6f 64 65 2e  >.Edit the code.
3980: 20 20 41 64 64 20 6e 65 77 20 66 69 6c 65 73 20    Add new files 
3990: 74 6f 20 74 68 65 20 73 6f 75 72 63 65 20 74 72  to the source tr
39a0: 65 65 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e  ee using the <b>
39b0: 61 64 64 3c 2f 62 3e 0a 63 6f 6d 6d 61 6e 64 2e  add</b>.command.
39c0: 20 20 4f 6d 69 74 20 66 69 6c 65 73 20 66 72 6f    Omit files fro
39d0: 6d 20 66 75 74 75 72 65 20 63 68 65 63 6b 2d 69  m future check-i
39e0: 6e 73 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e  ns using the <b>
39f0: 72 6d 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 2e 0a  rm</b> command..
3a00: 28 45 76 65 6e 20 77 68 65 6e 20 79 6f 75 20 72  (Even when you r
3a10: 65 6d 6f 76 65 20 66 69 6c 65 73 20 66 72 6f 6d  emove files from
3a20: 20 66 75 74 75 72 65 20 63 68 65 63 6b 2d 69 6e   future check-in
3a30: 73 2c 20 74 68 6f 73 65 20 66 69 6c 65 73 20 63  s, those files c
3a40: 6f 6e 74 69 6e 75 65 0a 74 6f 20 65 78 69 73 74  ontinue.to exist
3a50: 20 69 6e 20 68 69 73 74 6f 72 69 63 61 6c 20 63   in historical c
3a60: 68 65 63 6b 2d 69 6e 73 2e 29 20 20 54 65 73 74  heck-ins.)  Test
3a70: 20 79 6f 75 72 20 63 68 61 6e 67 65 73 2e 0a 3c   your changes..<
3a80: 2f 6c 69 3e 0a 0a 3c 6c 69 3e 0a 43 72 65 61 74  /li>..<li>.Creat
3a90: 65 20 61 20 6e 65 77 20 63 68 65 63 6b 2d 69 6e  e a new check-in
3aa0: 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 63 6f   using the <b>co
3ab0: 6d 6d 69 74 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64  mmit</b> command
3ac0: 2e 20 20 59 6f 75 20 77 69 6c 6c 20 62 65 20 70  .  You will be p
3ad0: 72 6f 6d 70 74 65 64 0a 66 6f 72 20 61 20 63 68  rompted.for a ch
3ae0: 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 61  eck-in comment a
3af0: 6e 64 20 61 6c 73 6f 20 66 6f 72 20 79 6f 75 72  nd also for your
3b00: 20 47 50 47 20 6b 65 79 20 69 66 20 79 6f 75 20   GPG key if you 
3b10: 68 61 76 65 20 47 50 47 20 69 6e 73 74 61 6c 6c  have GPG install
3b20: 65 64 2e 0a 54 68 65 20 63 6f 6d 6d 69 74 20 63  ed..The commit c
3b30: 6f 70 69 65 73 20 74 68 65 20 65 64 69 74 73 20  opies the edits 
3b40: 79 6f 75 20 68 61 76 65 20 6d 61 64 65 20 69 6e  you have made in
3b50: 20 79 6f 75 72 20 6c 6f 63 61 6c 20 73 6f 75 72   your local sour
3b60: 63 65 0a 74 72 65 65 20 69 6e 74 6f 20 79 6f 75  ce.tree into you
3b70: 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f  r local reposito
3b80: 72 79 2e 20 20 41 66 74 65 72 20 79 6f 75 72 20  ry.  After your 
3b90: 63 6f 6d 6d 69 74 20 63 6f 6d 70 6c 65 74 65 73  commit completes
3ba0: 2c 20 46 6f 73 73 69 6c 20 77 69 6c 6c 0a 61 75  , Fossil will.au
3bb0: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 3c 62 3e 70  tomatically <b>p
3bc0: 75 73 68 3c 2f 62 3e 20 79 6f 75 72 20 63 68 61  ush</b> your cha
3bd0: 6e 67 65 73 20 62 61 63 6b 20 74 6f 20 74 68 65  nges back to the
3be0: 20 73 65 72 76 65 72 0a 79 6f 75 20 63 6c 6f 6e   server.you clon
3bf0: 65 64 20 66 72 6f 6d 20 6f 72 20 77 68 61 74 65  ed from or whate
3c00: 76 65 72 20 73 65 72 76 65 72 20 79 6f 75 20 6d  ver server you m
3c10: 6f 73 74 20 72 65 63 65 6e 74 6c 79 20 73 79 6e  ost recently syn
3c20: 63 65 64 20 77 69 74 68 2e 0a 3c 2f 6c 69 3e 0a  ced with..</li>.
3c30: 0a 3c 6c 69 3e 0a 57 68 65 6e 20 79 6f 75 72 20  .<li>.When your 
3c40: 63 6f 77 6f 72 6b 65 72 73 20 6d 61 6b 65 20 74  coworkers make t
3c50: 68 65 69 72 20 6f 77 6e 20 63 68 61 6e 67 65 73  heir own changes
3c60: 2c 20 79 6f 75 20 63 61 6e 20 6d 65 72 67 65 20  , you can merge 
3c70: 74 68 6f 73 65 20 63 68 61 6e 67 65 73 0a 69 6e  those changes.in
3c80: 74 6f 20 79 6f 75 72 20 6c 6f 63 61 6c 20 6c 6f  to your local lo
3c90: 63 61 6c 20 73 6f 75 72 63 65 20 74 72 65 65 20  cal source tree 
3ca0: 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 75 70 64  using the <b>upd
3cb0: 61 74 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 2e  ate</b> command.
3cc0: 0a 49 6e 20 61 75 74 6f 73 79 6e 63 20 6d 6f 64  .In autosync mod
3cd0: 65 2c 20 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e  e, <b>update</b>
3ce0: 20 77 69 6c 6c 20 66 69 72 73 74 20 67 6f 20 62   will first go b
3cf0: 61 63 6b 20 74 6f 20 74 68 65 20 73 65 72 76 65  ack to the serve
3d00: 72 20 79 6f 75 0a 63 6c 6f 6e 65 64 20 66 72 6f  r you.cloned fro
3d10: 6d 20 6f 72 20 77 69 74 68 20 77 68 69 63 68 20  m or with which 
3d20: 79 6f 75 20 6d 6f 73 74 20 72 65 63 65 6e 74 6c  you most recentl
3d30: 79 20 73 79 6e 63 65 64 2c 20 61 6e 64 20 70 75  y synced, and pu
3d40: 6c 6c 20 64 6f 77 6e 20 61 6c 6c 0a 72 65 63 65  ll down all.rece
3d50: 6e 74 20 63 68 61 6e 67 65 73 20 69 6e 74 6f 20  nt changes into 
3d60: 79 6f 75 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73  your local repos
3d70: 69 74 6f 72 79 2e 20 20 54 68 65 6e 20 69 74 20  itory.  Then it 
3d80: 77 69 6c 6c 20 6d 65 72 67 65 20 72 65 63 65 6e  will merge recen
3d90: 74 0a 63 68 61 6e 67 65 73 20 69 6e 74 6f 20 79  t.changes into y
3da0: 6f 75 72 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65  our local source
3db0: 20 74 72 65 65 2e 20 20 49 66 20 79 6f 75 20 64   tree.  If you d
3dc0: 6f 20 61 6e 20 3c 62 3e 75 70 64 61 74 65 3c 2f  o an <b>update</
3dd0: 62 3e 20 61 6e 64 0a 66 69 6e 64 20 74 68 61 74  b> and.find that
3de0: 20 69 74 20 6d 65 73 73 65 73 20 73 6f 6d 65 74   it messes somet
3df0: 68 69 6e 67 20 75 70 20 69 6e 20 79 6f 75 72 20  hing up in your 
3e00: 73 6f 75 72 63 65 20 74 72 65 65 20 28 70 65 72  source tree (per
3e10: 68 61 70 73 20 61 20 63 6f 2d 77 6f 72 6b 65 72  haps a co-worker
3e20: 0a 63 68 65 63 6b 65 64 20 69 6e 20 69 6e 63 6f  .checked in inco
3e30: 6d 70 61 74 69 62 6c 65 20 63 68 61 6e 67 65 73  mpatible changes
3e40: 29 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68  ) you can use th
3e50: 65 20 3c 62 3e 75 6e 64 6f 3c 2f 62 3e 20 63 6f  e <b>undo</b> co
3e60: 6d 6d 61 6e 64 0a 74 6f 20 62 61 63 6b 20 6f 75  mmand.to back ou
3e70: 74 20 74 68 65 20 63 68 61 6e 67 65 73 2e 0a 3c  t the changes..<
3e80: 2f 6c 69 3e 0a 0a 3c 6c 69 3e 0a 52 65 70 65 61  /li>..<li>.Repea
3e90: 74 20 61 6c 6c 20 6f 66 20 74 68 65 20 61 62 6f  t all of the abo
3ea0: 76 65 20 75 6e 74 69 6c 20 79 6f 75 20 68 61 76  ve until you hav
3eb0: 65 20 67 65 6e 65 72 61 74 65 64 20 67 72 65 61  e generated grea
3ec0: 74 20 73 6f 66 74 77 61 72 65 2e 0a 3c 2f 6c 69  t software..</li
3ed0: 3e 0a 3c 2f 6f 6c 3e 0a 0a 3c 68 33 3e 34 2e 32  >.</ol>..<h3>4.2
3ee0: 20 4d 61 6e 75 61 6c 2d 4d 65 72 67 65 20 57 6f   Manual-Merge Wo
3ef0: 72 6b 66 6c 6f 77 3c 2f 68 33 3e 0a 0a 57 68 65  rkflow</h3>..Whe
3f00: 6e 20 61 75 74 6f 73 79 6e 63 20 69 73 20 64 69  n autosync is di
3f10: 73 61 62 6c 65 64 2c 20 74 68 65 20 3c 62 3e 63  sabled, the <b>c
3f20: 6f 6d 6d 69 74 3c 2f 62 3e 20 63 6f 6d 6d 61 6e  ommit</b> comman
3f30: 64 20 69 73 20 64 65 63 6f 75 70 6c 65 64 20 66  d is decoupled f
3f40: 72 6f 6d 0a 3c 62 3e 70 75 73 68 3c 2f 62 3e 20  rom.<b>push</b> 
3f50: 61 6e 64 20 74 68 65 20 3c 62 3e 75 70 64 61 74  and the <b>updat
3f60: 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 69 73  e</b> command is
3f70: 20 64 65 63 6f 75 70 6c 65 64 20 66 72 6f 6d 20   decoupled from 
3f80: 3c 62 3e 70 75 6c 6c 3c 2f 62 3e 2e 0a 54 68 61  <b>pull</b>..Tha
3f90: 74 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 65  t means you have
3fa0: 20 74 6f 20 64 6f 20 61 20 66 65 77 20 65 78 74   to do a few ext
3fb0: 72 61 20 73 74 65 70 73 20 69 6e 20 6f 72 64 65  ra steps in orde
3fc0: 72 20 74 6f 20 61 63 63 6f 6d 70 6c 69 73 68 20  r to accomplish 
3fd0: 74 68 65 0a 3c 62 3e 70 75 73 68 3c 2f 62 3e 20  the.<b>push</b> 
3fe0: 61 6e 64 20 3c 62 3e 70 75 6c 6c 3c 2f 62 3e 20  and <b>pull</b> 
3ff0: 74 61 73 6b 73 20 6d 61 6e 75 61 6c 6c 79 2e 0a  tasks manually..
4000: 0a 3c 6f 6c 3e 0a 3c 6c 69 3e 0a 45 73 74 61 62  .<ol>.<li>.Estab
4010: 6c 69 73 68 20 61 20 6c 6f 63 61 6c 20 72 65 70  lish a local rep
4020: 6f 73 69 74 6f 72 79 20 75 73 69 6e 67 20 65 69  ository using ei
4030: 74 68 65 72 20 74 68 65 20 3c 62 3e 6e 65 77 3c  ther the <b>new<
4040: 2f 62 3e 20 63 6f 6d 6d 61 6e 64 0a 74 6f 20 73  /b> command.to s
4050: 74 61 72 74 20 61 20 6e 65 77 20 70 72 6f 6a 65  tart a new proje
4060: 63 74 2c 20 6f 72 20 74 68 65 20 3c 62 3e 63 6c  ct, or the <b>cl
4070: 6f 6e 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20  one</b> command 
4080: 74 6f 20 6d 61 6b 65 20 61 20 63 6c 6f 6e 65 0a  to make a clone.
4090: 6f 66 20 61 20 72 65 70 6f 73 69 74 6f 72 79 20  of a repository 
40a0: 66 6f 72 20 61 6e 20 65 78 69 73 74 69 6e 67 20  for an existing 
40b0: 70 72 6f 6a 65 63 74 2e 20 20 20 54 68 65 20 64  project.   The d
40c0: 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 20 66  efault setting f
40d0: 6f 72 0a 61 20 6e 65 77 20 72 65 70 6f 73 69 74  or.a new reposit
40e0: 6f 72 79 20 69 73 20 77 69 74 68 20 61 75 74 6f  ory is with auto
40f0: 73 79 6e 63 20 6f 6e 2c 20 73 6f 20 79 6f 75 20  sync on, so you 
4100: 77 69 6c 6c 20 6e 65 65 64 20 74 6f 20 74 75 72  will need to tur
4110: 6e 20 69 74 20 6f 66 66 0a 75 73 69 6e 67 20 74  n it off.using t
4120: 68 65 20 3c 62 3e 73 65 74 74 69 6e 67 20 61 75  he <b>setting au
4130: 74 6f 73 79 6e 63 20 6f 66 66 3c 2f 62 3e 20 63  tosync off</b> c
4140: 6f 6d 6d 61 6e 64 20 77 69 74 68 20 61 20 3c 62  ommand with a <b
4150: 3e 2d 52 3c 2f 62 3e 20 6f 70 74 69 6f 6e 0a 74  >-R</b> option.t
4160: 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 72 65  o specify the re
4170: 70 6f 73 69 74 6f 72 79 2e 0a 3c 2f 6c 69 3e 0a  pository..</li>.
4180: 0a 3c 6c 69 3e 0a 45 73 74 61 62 6c 69 73 68 20  .<li>.Establish 
4190: 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 73 6f 75 72  one or more sour
41a0: 63 65 20 74 72 65 65 73 20 62 79 20 63 68 61 6e  ce trees by chan
41b0: 67 69 6e 67 20 79 6f 75 72 20 77 6f 72 6b 69 6e  ging your workin
41c0: 67 20 64 69 72 65 63 74 6f 72 79 0a 74 6f 20 77  g directory.to w
41d0: 68 65 72 65 20 79 6f 75 20 77 61 6e 74 20 74 68  here you want th
41e0: 65 20 72 6f 6f 74 20 6f 66 20 74 68 65 20 73 6f  e root of the so
41f0: 75 72 63 65 20 74 72 65 65 20 74 6f 20 62 65 2c  urce tree to be,
4200: 20 74 68 65 6e 20 69 73 73 75 69 6e 67 0a 74 68   then issuing.th
4210: 65 20 3c 62 3e 6f 70 65 6e 3c 2f 62 3e 20 63 6f  e <b>open</b> co
4220: 6d 6d 61 6e 64 20 77 69 74 68 20 74 68 65 20 6e  mmand with the n
4230: 61 6d 65 20 6f 66 20 74 68 65 20 72 65 70 6f 73  ame of the repos
4240: 69 74 6f 72 79 20 66 69 6c 65 20 61 73 20 69 74  itory file as it
4250: 73 0a 61 72 67 75 6d 65 6e 74 2e 0a 3c 2f 6c 69  s.argument..</li
4260: 3e 0a 0a 3c 6c 69 3e 0a 54 68 65 20 3c 62 3e 6f  >..<li>.The <b>o
4270: 70 65 6e 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20  pen</b> command 
4280: 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20  in the previous 
4290: 73 74 65 70 20 70 6f 70 75 6c 61 74 65 73 20 79  step populates y
42a0: 6f 75 72 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65  our local source
42b0: 0a 74 72 65 65 20 77 69 74 68 20 61 20 63 6f 70  .tree with a cop
42c0: 79 20 6f 66 20 74 68 65 20 6c 61 74 65 73 74 20  y of the latest 
42d0: 63 68 65 63 6b 2d 69 6e 2e 20 20 55 73 75 61 6c  check-in.  Usual
42e0: 6c 79 20 74 68 69 73 20 69 73 20 77 68 61 74 20  ly this is what 
42f0: 79 6f 75 20 77 61 6e 74 2e 0a 49 6e 20 74 68 65  you want..In the
4300: 20 72 61 72 65 20 63 61 73 65 73 20 77 68 65 72   rare cases wher
4310: 65 20 69 74 20 69 73 20 6e 6f 74 2c 20 75 73 65  e it is not, use
4320: 20 74 68 65 20 3c 62 3e 75 70 64 61 74 65 3c 2f   the <b>update</
4330: 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 6f 0a 73 77  b> command to.sw
4340: 69 74 63 68 20 74 6f 20 61 20 64 69 66 66 65 72  itch to a differ
4350: 65 6e 74 20 63 68 65 63 6b 2d 69 6e 2e 0a 55 73  ent check-in..Us
4360: 65 20 74 68 65 20 3c 62 3e 74 69 6d 65 6c 69 6e  e the <b>timelin
4370: 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 6c 65 61 76  e</b> or <b>leav
4380: 65 73 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 73 0a  es</b> commands.
4390: 74 6f 20 69 64 65 6e 74 69 66 79 20 61 6c 74 65  to identify alte
43a0: 72 6e 61 74 69 76 65 20 63 68 65 63 6b 2d 69 6e  rnative check-in
43b0: 73 20 74 6f 20 73 77 69 74 63 68 20 74 6f 2e 0a  s to switch to..
43c0: 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 0a 45 64 69 74  </li>..<li>.Edit
43d0: 20 74 68 65 20 63 6f 64 65 2e 20 20 41 64 64 20   the code.  Add 
43e0: 6e 65 77 20 66 69 6c 65 73 20 74 6f 20 74 68 65  new files to the
43f0: 20 73 6f 75 72 63 65 20 74 72 65 65 20 75 73 69   source tree usi
4400: 6e 67 20 74 68 65 20 3c 62 3e 61 64 64 3c 2f 62  ng the <b>add</b
4410: 3e 0a 63 6f 6d 6d 61 6e 64 2e 20 20 4f 6d 69 74  >.command.  Omit
4420: 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 75 74 75   files from futu
4430: 72 65 20 63 68 65 63 6b 2d 69 6e 73 20 75 73 69  re check-ins usi
4440: 6e 67 20 74 68 65 20 3c 62 3e 72 6d 3c 2f 62 3e  ng the <b>rm</b>
4450: 20 63 6f 6d 6d 61 6e 64 2e 0a 28 45 76 65 6e 20   command..(Even 
4460: 77 68 65 6e 20 79 6f 75 20 72 65 6d 6f 76 65 20  when you remove 
4470: 66 69 6c 65 73 20 66 72 6f 6d 20 66 75 74 75 72  files from futur
4480: 65 20 63 68 65 63 6b 2d 69 6e 73 2c 20 74 68 6f  e check-ins, tho
4490: 73 65 20 66 69 6c 65 73 20 63 6f 6e 74 69 6e 75  se files continu
44a0: 65 0a 74 6f 20 65 78 69 73 74 20 69 6e 20 68 69  e.to exist in hi
44b0: 73 74 6f 72 69 63 61 6c 20 63 68 65 63 6b 2d 69  storical check-i
44c0: 6e 73 2e 29 20 20 54 65 73 74 20 79 6f 75 72 20  ns.)  Test your 
44d0: 63 68 61 6e 67 65 73 2e 0a 3c 2f 6c 69 3e 0a 0a  changes..</li>..
44e0: 3c 6c 69 3e 0a 43 72 65 61 74 65 20 61 20 6e 65  <li>.Create a ne
44f0: 77 20 63 68 65 63 6b 2d 69 6e 20 75 73 69 6e 67  w check-in using
4500: 20 74 68 65 20 3c 62 3e 63 6f 6d 6d 69 74 3c 2f   the <b>commit</
4510: 62 3e 20 63 6f 6d 6d 61 6e 64 2e 20 20 59 6f 75  b> command.  You
4520: 20 77 69 6c 6c 20 62 65 20 70 72 6f 6d 70 74 65   will be prompte
4530: 64 0a 66 6f 72 20 61 20 63 68 65 63 6b 2d 69 6e  d.for a check-in
4540: 20 63 6f 6d 6d 65 6e 74 20 61 6e 64 20 61 6c 73   comment and als
4550: 6f 20 66 6f 72 20 79 6f 75 72 20 47 50 47 20 6b  o for your GPG k
4560: 65 79 20 69 66 20 79 6f 75 20 68 61 76 65 20 47  ey if you have G
4570: 50 47 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 54 68  PG installed..Th
4580: 65 20 63 6f 6d 6d 69 74 20 63 6f 70 69 65 73 20  e commit copies 
4590: 74 68 65 20 65 64 69 74 73 20 79 6f 75 20 68 61  the edits you ha
45a0: 76 65 20 6d 61 64 65 20 69 6e 20 79 6f 75 72 20  ve made in your 
45b0: 6c 6f 63 61 6c 20 73 6f 75 72 63 65 0a 74 72 65  local source.tre
45c0: 65 20 69 6e 74 6f 20 79 6f 75 72 20 6c 6f 63 61  e into your loca
45d0: 6c 20 72 65 70 6f 73 69 74 6f 72 79 2e 0a 3c 2f  l repository..</
45e0: 6c 69 3e 0a 0a 3c 6c 69 3e 0a 55 73 65 20 74 68  li>..<li>.Use th
45f0: 65 20 3c 62 3e 70 75 73 68 3c 2f 62 3e 20 63 6f  e <b>push</b> co
4600: 6d 6d 61 6e 64 20 74 6f 20 70 75 73 68 20 79 6f  mmand to push yo
4610: 75 72 20 63 68 61 6e 67 65 73 20 6f 75 74 20 74  ur changes out t
4620: 6f 20 61 20 73 65 72 76 65 72 0a 77 68 65 72 65  o a server.where
4630: 20 79 6f 75 72 20 63 6f 2d 77 6f 72 6b 65 72 73   your co-workers
4640: 20 63 61 6e 20 61 63 63 65 73 73 20 74 68 65 6d   can access them
4650: 2e 0a 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 0a 57 68  ..</li>..<li>.Wh
4660: 65 6e 20 63 6f 2d 77 6f 72 6b 65 72 73 20 6d 61  en co-workers ma
4670: 6b 65 20 74 68 65 69 72 20 6f 77 6e 20 63 68 61  ke their own cha
4680: 6e 67 65 73 2c 20 75 73 65 20 74 68 65 20 3c 62  nges, use the <b
4690: 3e 70 75 6c 6c 3c 2f 62 3e 20 63 6f 6d 6d 61 6e  >pull</b> comman
46a0: 64 0a 74 6f 20 70 75 6c 6c 20 74 68 6f 73 65 20  d.to pull those 
46b0: 63 68 61 6e 67 65 73 20 69 6e 74 6f 20 79 6f 75  changes into you
46c0: 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f  r local reposito
46d0: 72 79 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 3c  ry.  Note that <
46e0: 62 3e 70 75 6c 6c 3c 2f 62 3e 0a 64 6f 65 73 20  b>pull</b>.does 
46f0: 6e 6f 74 20 6d 6f 76 65 20 74 68 65 20 63 68 61  not move the cha
4700: 6e 67 65 73 20 69 6e 74 6f 20 79 6f 75 72 20 6c  nges into your l
4710: 6f 63 61 6c 20 73 6f 75 72 63 65 20 74 72 65 65  ocal source tree
4720: 2c 20 6f 6e 6c 79 20 69 6e 74 6f 20 79 6f 75 72  , only into your
4730: 0a 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f 72  .local repositor
4740: 79 2e 0a 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 0a 4f  y..</li>..<li>.O
4750: 6e 63 65 20 63 68 61 6e 67 65 73 20 61 72 65 20  nce changes are 
4760: 69 6e 20 79 6f 75 72 20 6c 6f 63 61 6c 20 72 65  in your local re
4770: 70 6f 73 69 74 6f 72 79 2c 20 75 73 65 0a 74 68  pository, use.th
4780: 65 20 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20  e <b>update</b> 
4790: 63 6f 6d 6d 61 6e 64 20 74 6f 20 6d 65 72 67 65  command to merge
47a0: 20 74 68 65 6d 20 74 6f 20 79 6f 75 72 20 6c 6f   them to your lo
47b0: 63 61 6c 20 73 6f 75 72 63 65 20 74 72 65 65 2e  cal source tree.
47c0: 0a 49 66 20 79 6f 75 20 6d 65 72 67 65 20 69 6e  .If you merge in
47d0: 20 73 6f 6d 65 20 63 68 61 6e 67 65 73 20 61 6e   some changes an
47e0: 64 20 66 69 6e 64 20 74 68 61 74 20 74 68 65 20  d find that the 
47f0: 63 68 61 6e 67 65 73 20 64 6f 20 6e 6f 74 20 77  changes do not w
4800: 6f 72 6b 20 6f 75 74 0a 6f 72 20 61 72 65 20 6e  ork out.or are n
4810: 6f 74 20 74 6f 20 79 6f 75 72 20 6c 69 6b 69 6e  ot to your likin
4820: 67 2c 20 79 6f 75 20 63 61 6e 20 62 61 63 6b 20  g, you can back 
4830: 6f 75 74 20 74 68 65 20 63 68 61 6e 67 65 73 20  out the changes 
4840: 75 73 69 6e 67 20 74 68 65 0a 3c 62 3e 75 6e 64  using the.<b>und
4850: 6f 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 2e 0a 3c  o</b> command..<
4860: 2f 6c 69 3e 0a 0a 3c 6c 69 3e 0a 49 66 20 74 77  /li>..<li>.If tw
4870: 6f 20 6f 72 20 6d 6f 72 65 20 70 65 6f 70 6c 65  o or more people
4880: 20 72 61 6e 20 22 63 6f 6d 6d 69 74 22 20 61 67   ran "commit" ag
4890: 61 69 6e 73 74 20 74 68 65 20 73 61 6d 65 20 63  ainst the same c
48a0: 68 65 63 6b 2d 69 6e 2c 20 74 68 69 73 20 77 69  heck-in, this wi
48b0: 6c 6c 0a 72 65 73 75 6c 74 20 69 6e 20 61 20 5b  ll.result in a [
48c0: 2e 2f 62 72 61 6e 63 68 69 6e 67 2e 77 69 6b 69  ./branching.wiki
48d0: 20 7c 20 66 6f 72 6b 5d 20 77 68 69 63 68 20 79   | fork] which y
48e0: 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 72  ou may want to r
48f0: 65 73 6f 6c 76 65 20 62 79 0a 72 75 6e 6e 69 6e  esolve by.runnin
4900: 67 20 3c 62 3e 6d 65 72 67 65 3c 2f 62 3e 20 66  g <b>merge</b> f
4910: 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 6f 74 68  ollowed by anoth
4920: 65 72 20 3c 62 3e 63 6f 6d 6d 69 74 3c 2f 62 3e  er <b>commit</b>
4930: 2e 0a 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 0a 52 65  ..</li>..<li>.Re
4940: 70 65 61 74 20 61 6c 6c 20 6f 66 20 74 68 65 20  peat all of the 
4950: 61 62 6f 76 65 20 75 6e 74 69 6c 20 79 6f 75 20  above until you 
4960: 68 61 76 65 20 67 65 6e 65 72 61 74 65 64 20 67  have generated g
4970: 72 65 61 74 20 73 6f 66 74 77 61 72 65 2e 0a 3c  reat software..<
4980: 2f 6c 69 3e 0a 3c 2f 6f 6c 3e 0a 0a 3c 68 32 3e  /li>.</ol>..<h2>
4990: 35 2e 30 20 53 65 74 74 69 6e 67 20 55 70 20 41  5.0 Setting Up A
49a0: 20 46 6f 73 73 69 6c 20 53 65 72 76 65 72 3c 2f   Fossil Server</
49b0: 68 32 3e 0a 0a 57 69 74 68 20 6f 74 68 65 72 20  h2>..With other 
49c0: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6d 61  configuration ma
49d0: 6e 61 67 65 6d 65 6e 74 20 73 6f 66 74 77 61 72  nagement softwar
49e0: 65 2c 20 73 65 74 74 69 6e 67 20 75 70 20 61 20  e, setting up a 
49f0: 73 65 72 76 65 72 20 69 73 0a 61 20 6c 6f 74 20  server is.a lot 
4a00: 6f 66 20 77 6f 72 6b 20 61 6e 64 20 6e 6f 72 6d  of work and norm
4a10: 61 6c 6c 79 20 74 61 6b 65 73 20 74 69 6d 65 2c  ally takes time,
4a20: 20 70 61 74 69 65 6e 63 65 2c 20 61 6e 64 20 61   patience, and a
4a30: 20 6c 6f 74 20 6f 66 20 73 79 73 74 65 6d 0a 6b   lot of system.k
4a40: 6e 6f 77 6c 65 64 67 65 2e 20 20 46 6f 73 73 69  nowledge.  Fossi
4a50: 6c 20 69 73 20 64 65 73 69 67 6e 65 64 20 74 6f  l is designed to
4a60: 20 61 76 6f 69 64 20 74 68 69 73 20 66 72 75 73   avoid this frus
4a70: 74 72 61 74 69 6f 6e 2e 20 20 53 65 74 74 69 6e  tration.  Settin
4a80: 67 20 75 70 0a 61 20 73 65 72 76 65 72 20 77 69  g up.a server wi
4a90: 74 68 20 46 6f 73 73 69 6c 20 69 73 20 72 69 64  th Fossil is rid
4aa0: 69 63 75 6c 6f 75 73 6c 79 20 65 61 73 79 2e 20  iculously easy. 
4ab0: 20 59 6f 75 20 68 61 76 65 20 66 6f 75 72 20 6f   You have four o
4ac0: 70 74 69 6f 6e 73 3a 3c 2f 70 3e 0a 0a 3c 6f 6c  ptions:</p>..<ol
4ad0: 3e 0a 3c 6c 69 3e 3c 70 3e 3c 62 3e 53 74 61 6e  >.<li><p><b>Stan
4ae0: 64 2d 61 6c 6f 6e 65 20 73 65 72 76 65 72 2e 3c  d-alone server.<
4af0: 2f 62 3e 0a 53 69 6d 70 6c 79 20 72 75 6e 20 74  /b>.Simply run t
4b00: 68 65 20 5b 2f 68 65 6c 70 3f 63 6d 64 3d 73 65  he [/help?cmd=se
4b10: 72 76 65 72 7c 66 6f 73 73 69 6c 20 73 65 72 76  rver|fossil serv
4b20: 65 72 5d 20 6f 72 0a 5b 2f 68 65 6c 70 3f 63 6d  er] or.[/help?cm
4b30: 64 3d 75 69 7c 66 6f 73 73 69 6c 20 75 69 5d 20  d=ui|fossil ui] 
4b40: 63 6f 6d 6d 61 6e 64 20 66 72 6f 6d 20 74 68 65  command from the
4b50: 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2e 0a 0a   command-line...
4b60: 3c 6c 69 3e 3c 70 3e 3c 62 3e 43 47 49 2e 3c 2f  <li><p><b>CGI.</
4b70: 62 3e 0a 49 6e 73 74 61 6c 6c 20 61 20 32 2d 6c  b>.Install a 2-l
4b80: 69 6e 65 20 43 47 49 20 73 63 72 69 70 74 20 6f  ine CGI script o
4b90: 6e 20 61 20 43 47 49 2d 65 6e 61 62 6c 65 64 20  n a CGI-enabled 
4ba0: 77 65 62 2d 73 65 72 76 65 72 20 6c 69 6b 65 20  web-server like 
4bb0: 41 70 61 63 68 65 2e 0a 0a 3c 6c 69 3e 3c 70 3e  Apache...<li><p>
4bc0: 3c 62 3e 53 43 47 49 2e 3c 2f 62 3e 0a 53 74 61  <b>SCGI.</b>.Sta
4bd0: 72 74 20 61 6e 20 53 43 47 49 20 73 65 72 76 65  rt an SCGI serve
4be0: 72 20 75 73 69 6e 67 20 74 68 65 0a 5b 2f 68 65  r using the.[/he
4bf0: 6c 70 3f 63 6d 64 3d 73 65 72 76 65 72 7c 20 66  lp?cmd=server| f
4c00: 6f 73 73 69 6c 20 73 65 72 76 65 72 20 2d 2d 73  ossil server --s
4c10: 63 67 69 5d 20 63 6f 6d 6d 61 6e 64 20 66 6f 72  cgi] command for
4c20: 20 68 61 6e 64 6c 69 6e 67 0a 53 43 47 49 20 72   handling.SCGI r
4c30: 65 71 75 65 73 74 73 20 66 72 6f 6d 20 77 65 62  equests from web
4c40: 2d 73 65 72 76 65 72 73 20 6c 69 6b 65 20 4e 67  -servers like Ng
4c50: 69 6e 78 2e 0a 0a 3c 6c 69 3e 3c 70 3e 3c 62 3e  inx...<li><p><b>
4c60: 49 6e 65 74 64 20 6f 72 20 53 74 75 6e 6e 65 6c  Inetd or Stunnel
4c70: 2e 3c 2f 62 3e 0a 43 6f 6e 66 69 67 75 72 65 20  .</b>.Configure 
4c80: 70 72 6f 67 72 61 6d 73 20 6c 69 6b 65 20 69 6e  programs like in
4c90: 65 74 64 2c 20 78 69 6e 65 74 64 2c 20 6f 72 20  etd, xinetd, or 
4ca0: 73 74 75 6e 6e 65 6c 20 74 6f 20 68 61 6e 64 20  stunnel to hand 
4cb0: 6f 66 66 20 48 54 54 50 20 72 65 71 75 65 73 74  off HTTP request
4cc0: 73 0a 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68  s.directly to th
4cd0: 65 20 5b 2f 68 65 6c 70 3f 63 6d 64 3d 68 74 74  e [/help?cmd=htt
4ce0: 70 7c 66 6f 73 73 69 6c 20 68 74 74 70 5d 20 63  p|fossil http] c
4cf0: 6f 6d 6d 61 6e 64 2e 0a 3c 2f 6f 6c 3e 0a 0a 53  ommand..</ol>..S
4d00: 65 65 20 74 68 65 20 5b 2e 2f 73 65 72 76 65 72  ee the [./server
4d10: 2f 20 7c 20 48 6f 77 20 54 6f 20 43 6f 6e 66 69  / | How To Confi
4d20: 67 75 72 65 20 41 20 46 6f 73 73 69 6c 20 53 65  gure A Fossil Se
4d30: 72 76 65 72 5d 20 64 6f 63 75 6d 65 6e 74 0a 66  rver] document.f
4d40: 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 3c 68 32  or details...<h2
4d50: 3e 36 2e 30 20 52 65 76 69 65 77 20 4f 66 20 4b  >6.0 Review Of K
4d60: 65 79 20 43 6f 6e 63 65 70 74 73 3c 2f 68 32 3e  ey Concepts</h2>
4d70: 0a 0a 3c 75 6c 3e 0a 3c 6c 69 3e 54 68 65 20 3c  ..<ul>.<li>The <
4d80: 62 3e 66 6f 73 73 69 6c 3c 2f 62 3e 20 70 72 6f  b>fossil</b> pro
4d90: 67 72 61 6d 20 69 73 20 61 20 73 65 6c 66 2d 63  gram is a self-c
4da0: 6f 6e 74 61 69 6e 65 64 20 73 74 61 6e 64 2d 61  ontained stand-a
4db0: 6c 6f 6e 65 20 65 78 65 63 75 74 61 62 6c 65 2e  lone executable.
4dc0: 0a 20 20 20 20 4a 75 73 74 20 70 75 74 20 69 74  .    Just put it
4dd0: 20 73 6f 6d 65 77 68 65 72 65 20 6f 6e 20 79 6f   somewhere on yo
4de0: 75 72 20 50 41 54 48 20 74 6f 20 69 6e 73 74 61  ur PATH to insta
4df0: 6c 6c 20 69 74 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e  ll it.</li>.<li>
4e00: 55 73 65 20 74 68 65 20 3c 62 3e 63 6c 6f 6e 65  Use the <b>clone
4e10: 3c 2f 62 3e 20 6f 72 20 3c 62 3e 6e 65 77 3c 2f  </b> or <b>new</
4e20: 62 3e 20 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 63  b> commands to c
4e30: 72 65 61 74 65 20 61 20 6e 65 77 20 72 65 70 6f  reate a new repo
4e40: 73 69 74 6f 72 79 2e 3c 2f 6c 69 3e 0a 3c 6c 69  sitory.</li>.<li
4e50: 3e 55 73 65 20 74 68 65 20 3c 62 3e 6f 70 65 6e  >Use the <b>open
4e60: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 6f 20  </b> command to 
4e70: 63 72 65 61 74 65 20 61 20 6e 65 77 20 73 6f 75  create a new sou
4e80: 72 63 65 20 74 72 65 65 2e 3c 2f 6c 69 3e 0a 3c  rce tree.</li>.<
4e90: 6c 69 3e 55 73 65 20 74 68 65 20 3c 62 3e 61 64  li>Use the <b>ad
4ea0: 64 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 72 6d 3c  d</b> and <b>rm<
4eb0: 2f 62 3e 20 6f 72 20 3c 62 3e 64 65 6c 65 74 65  /b> or <b>delete
4ec0: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 73 20 74 6f  </b> commands to
4ed0: 20 61 64 64 20 61 6e 64 0a 20 20 20 20 72 65 6d   add and.    rem
4ee0: 6f 76 65 20 66 69 6c 65 73 20 66 72 6f 6d 20 74  ove files from t
4ef0: 68 65 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65 20  he local source 
4f00: 74 72 65 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 55  tree.</li>.<li>U
4f10: 73 65 20 74 68 65 20 3c 62 3e 63 6f 6d 6d 69 74  se the <b>commit
4f20: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 6f 20  </b> command to 
4f30: 63 72 65 61 74 65 20 61 20 6e 65 77 20 63 68 65  create a new che
4f40: 63 6b 2d 69 6e 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e  ck-in.</li>.<li>
4f50: 55 73 65 20 74 68 65 20 3c 62 3e 75 70 64 61 74  Use the <b>updat
4f60: 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 6f  e</b> command to
4f70: 20 6d 65 72 67 65 20 69 6e 20 63 68 61 6e 67 65   merge in change
4f80: 73 20 66 72 6f 6d 20 6f 74 68 65 72 73 2e 3c 2f  s from others.</
4f90: 6c 69 3e 0a 3c 6c 69 3e 54 68 65 20 3c 62 3e 70  li>.<li>The <b>p
4fa0: 75 73 68 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 70  ush</b> and <b>p
4fb0: 75 6c 6c 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 73  ull</b> commands
4fc0: 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20   can be used to 
4fd0: 73 68 61 72 65 20 63 68 61 6e 67 65 73 0a 20 20  share changes.  
4fe0: 20 20 6d 61 6e 75 61 6c 6c 79 2c 20 62 75 74 20    manually, but 
4ff0: 74 68 65 73 65 20 74 68 69 6e 67 73 20 68 61 70  these things hap
5000: 70 65 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  pen automaticall
5010: 79 20 69 6e 20 74 68 65 20 64 65 66 61 75 6c 74  y in the default
5020: 0a 20 20 20 20 61 75 74 6f 73 79 6e 63 20 6d 6f  .    autosync mo
5030: 64 65 2e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a     de.</li>.</ul>.