Hex Artifact Content
Not logged in

Artifact 5c8eb11ca89f16708c4a74c65f5db8af22570cc4:

File www/concepts.wiki part of check-in [9eb6ea75c1] - doc changes -- spelling corrections and embedded ref pages. by kejoki on 2008-11-11 03:50:39.

0000: 3c 6e 6f 77 69 6b 69 3e 0a 3c 68 31 20 61 6c 69  <nowiki>.<h1 ali
0010: 67 6e 3d 22 63 65 6e 74 65 72 22 3e 0a 46 6f 73  gn="center">.Fos
0020: 73 69 6c 20 43 6f 6e 63 65 70 74 73 0a 3c 2f 68  sil Concepts.</h
0030: 31 3e 0a 0a 3c 68 32 3e 31 2e 30 20 49 6e 74 72  1>..<h2>1.0 Intr
0040: 6f 64 75 63 74 69 6f 6e 3c 2f 68 32 3e 0a 3c 70  oduction</h2>.<p
0050: 3e 0a 3c 61 20 68 72 65 66 3d 22 69 6e 64 65 78  >.<a href="index
0060: 2e 68 74 6d 6c 22 3e 46 6f 73 73 69 6c 3c 2f 61  .html">Fossil</a
0070: 3e 20 69 73 20 61 0a 3c 61 20 68 72 65 66 3d 22  > is a.<a href="
0080: 68 74 74 70 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65  http://en.wikipe
0090: 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 53 6f 66  dia.org/wiki/Sof
00a0: 74 77 61 72 65 5f 63 6f 6e 66 69 67 75 72 61 74  tware_configurat
00b0: 69 6f 6e 5f 6d 61 6e 61 67 65 6d 65 6e 74 22 3e  ion_management">
00c0: 0a 73 6f 66 74 77 61 72 65 20 63 6f 6e 66 69 67  .software config
00d0: 75 72 61 74 69 6f 6e 20 6d 61 6e 61 67 65 6d 65  uration manageme
00e0: 6e 74 3c 2f 61 3e 20 73 79 73 74 65 6d 2e 0a 46  nt</a> system..F
00f0: 6f 73 73 69 6c 20 69 73 20 73 6f 66 74 77 61 72  ossil is softwar
0100: 65 20 74 68 61 74 20 69 73 20 64 65 73 69 67 6e  e that is design
0110: 65 64 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 61 6e  ed to control an
0120: 64 20 74 72 61 63 6b 20 74 68 65 0a 64 65 76 65  d track the.deve
0130: 6c 6f 70 6d 65 6e 74 20 6f 66 20 61 20 73 6f 66  lopment of a sof
0140: 74 77 61 72 65 20 70 72 6f 6a 65 63 74 20 61 6e  tware project an
0150: 64 20 74 6f 20 72 65 63 6f 72 64 20 74 68 65 20  d to record the 
0160: 68 69 73 74 6f 72 79 0a 6f 66 20 74 68 65 20 70  history.of the p
0170: 72 6f 6a 65 63 74 2e 0a 54 68 65 72 65 20 61 72  roject..There ar
0180: 65 20 6d 61 6e 79 20 73 75 63 68 20 73 79 73 74  e many such syst
0190: 65 6d 73 20 69 6e 20 75 73 65 20 74 6f 64 61 79  ems in use today
01a0: 2e 20 20 46 6f 73 73 69 6c 20 73 74 72 69 76 65  .  Fossil strive
01b0: 73 20 74 6f 0a 64 69 73 74 69 6e 67 75 69 73 68  s to.distinguish
01c0: 20 69 74 73 65 6c 66 20 66 72 6f 6d 20 74 68 65   itself from the
01d0: 20 6f 74 68 65 72 73 20 62 79 20 62 65 69 6e 67   others by being
01e0: 20 65 78 74 72 65 6d 65 6c 79 20 73 69 6d 70 6c   extremely simpl
01f0: 65 0a 74 6f 20 73 65 74 75 70 20 61 6e 64 20 6f  e.to setup and o
0200: 70 65 72 61 74 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e  perate.</p>..<p>
0210: 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 69 73  This document is
0220: 20 69 6e 74 65 6e 64 65 64 20 61 73 20 61 20 71   intended as a q
0230: 75 69 63 6b 20 69 6e 74 72 6f 64 75 63 74 69 6f  uick introductio
0240: 6e 20 74 6f 20 74 68 65 20 63 6f 6e 63 65 70 74  n to the concept
0250: 73 0a 62 65 68 69 6e 64 20 66 6f 73 73 69 6c 2e  s.behind fossil.
0260: 3c 2f 70 3e 0a 0a 3c 68 32 3e 32 2e 30 20 43 6f  </p>..<h2>2.0 Co
0270: 6d 70 6f 73 69 74 69 6f 6e 20 4f 66 20 41 20 50  mposition Of A P
0280: 72 6f 6a 65 63 74 3c 2f 68 32 3e 0a 3c 69 6d 67  roject</h2>.<img
0290: 20 73 72 63 3d 22 63 6f 6e 63 65 70 74 31 2e 67   src="concept1.g
02a0: 69 66 22 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  if" align="right
02b0: 22 20 68 73 70 61 63 65 3d 22 31 30 22 3e 0a 0a  " hspace="10">..
02c0: 3c 70 3e 41 20 73 6f 66 74 77 61 72 65 20 70 72  <p>A software pr
02d0: 6f 6a 65 63 74 20 6e 6f 72 6d 61 6c 6c 79 20 63  oject normally c
02e0: 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 22 73 6f  onsists of a "so
02f0: 75 72 63 65 20 74 72 65 65 22 2e 0a 41 20 73 6f  urce tree"..A so
0300: 75 72 63 65 20 74 72 65 65 20 69 73 20 61 20 68  urce tree is a h
0310: 69 65 72 61 72 63 68 79 20 6f 66 20 66 69 6c 65  ierarchy of file
0320: 73 20 74 68 61 74 20 61 72 65 20 75 73 65 64 20  s that are used 
0330: 74 6f 20 67 65 6e 65 72 61 74 65 0a 74 68 65 20  to generate.the 
0340: 65 6e 64 20 70 72 6f 64 75 63 74 2e 20 20 54 68  end product.  Th
0350: 65 20 73 6f 75 72 63 65 20 74 72 65 65 20 63 68  e source tree ch
0360: 61 6e 67 65 73 20 6f 76 65 72 20 74 69 6d 65 20  anges over time 
0370: 61 73 20 74 68 65 0a 73 6f 66 74 77 61 72 65 20  as the.software 
0380: 67 72 6f 77 73 20 61 6e 64 20 65 78 70 61 6e 64  grows and expand
0390: 73 20 61 6e 64 20 61 73 20 66 65 61 74 75 72 65  s and as feature
03a0: 73 20 61 72 65 20 61 64 64 65 64 20 61 6e 64 20  s are added and 
03b0: 62 75 67 73 0a 61 72 65 20 66 69 78 65 64 2e 20  bugs.are fixed. 
03c0: 20 41 20 73 6e 61 70 73 68 6f 74 20 6f 66 20 74   A snapshot of t
03d0: 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 20 61  he source tree a
03e0: 74 20 61 6e 79 20 70 6f 69 6e 74 20 69 6e 20 74  t any point in t
03f0: 69 6d 65 0a 69 73 20 63 61 6c 6c 65 64 20 61 20  ime.is called a 
0400: 22 76 65 72 73 69 6f 6e 22 20 6f 72 20 22 72 65  "version" or "re
0410: 76 69 73 69 6f 6e 22 20 6f 72 20 61 20 22 62 61  vision" or a "ba
0420: 73 65 6c 69 6e 65 22 20 6f 66 20 74 68 65 20 70  seline" of the p
0430: 72 6f 64 75 63 74 2e 0a 49 6e 20 66 6f 73 73 69  roduct..In fossi
0440: 6c 2c 20 77 65 20 75 73 65 20 74 68 65 20 6e 61  l, we use the na
0450: 6d 65 20 22 62 61 73 65 6c 69 6e 65 22 2e 3c 2f  me "baseline".</
0460: 70 3e 0a 0a 3c 70 3e 41 20 22 72 65 70 6f 73 69  p>..<p>A "reposi
0470: 74 6f 72 79 22 20 69 73 20 61 20 64 61 74 61 62  tory" is a datab
0480: 61 73 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e  ase that contain
0490: 73 20 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20  s copies of all 
04a0: 68 69 73 74 6f 72 69 63 61 6c 0a 76 65 72 73 69  historical.versi
04b0: 6f 6e 73 20 6f 72 20 62 61 73 65 6c 69 6e 65 73  ons or baselines
04c0: 20 66 6f 72 20 61 20 70 72 6f 6a 65 63 74 2e 20   for a project. 
04d0: 20 42 61 73 65 6c 69 6e 65 73 20 61 72 65 20 6e   Baselines are n
04e0: 6f 72 6d 61 6c 6c 79 20 73 74 6f 72 65 64 20 69  ormally stored i
04f0: 6e 20 74 68 65 0a 72 65 70 6f 73 69 74 6f 72 79  n the.repository
0500: 20 69 6e 20 61 20 68 69 67 68 6c 79 20 73 70 61   in a highly spa
0510: 63 65 2d 65 66 66 69 63 69 65 6e 74 20 63 6f 6d  ce-efficient com
0520: 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 28  pressed format (
0530: 64 65 6c 74 61 20 65 6e 63 6f 64 69 6e 67 29 2e  delta encoding).
0540: 0a 42 75 74 20 74 68 61 74 20 69 73 20 61 6e 20  .But that is an 
0550: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64  implementation d
0560: 65 74 61 69 6c 20 74 68 61 74 20 79 6f 75 20 74  etail that you t
0570: 68 65 20 75 73 65 72 20 6e 65 65 64 20 6e 6f 74  he user need not
0580: 20 77 6f 72 72 79 20 6f 76 65 72 2e 0a 54 68 69   worry over..Thi
0590: 6e 6b 20 6f 66 20 74 68 65 20 72 65 70 6f 73 69  nk of the reposi
05a0: 74 6f 72 79 20 61 73 20 61 20 73 61 66 65 20 70  tory as a safe p
05b0: 6c 61 63 65 20 77 68 65 72 65 20 61 6c 6c 20 79  lace where all y
05c0: 6f 75 72 20 6f 6c 64 20 62 61 73 65 6c 69 6e 65  our old baseline
05d0: 73 20 61 72 65 0a 73 65 63 75 72 65 6c 79 20 73  s are.securely s
05e0: 74 6f 72 65 64 20 61 77 61 79 20 61 6e 64 20 61  tored away and a
05f0: 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 72 65 74  vailable for ret
0600: 72 69 65 76 61 6c 20 77 68 65 6e 65 76 65 72 20  rieval whenever 
0610: 79 6f 75 20 6e 65 65 64 0a 74 68 65 6d 2e 3c 2f  you need.them.</
0620: 70 3e 0a 0a 3c 70 3e 41 20 72 65 70 6f 73 69 74  p>..<p>A reposit
0630: 6f 72 79 20 69 6e 20 66 6f 73 73 69 6c 20 69 73  ory in fossil is
0640: 20 61 20 73 69 6e 67 6c 65 20 66 69 6c 65 20 6f   a single file o
0650: 6e 20 79 6f 75 72 20 64 69 73 6b 2e 20 20 54 68  n your disk.  Th
0660: 69 73 20 66 69 6c 65 0a 6d 69 67 68 74 20 62 65  is file.might be
0670: 20 72 61 74 68 65 72 20 6c 61 72 67 65 20 28 64   rather large (d
0680: 6f 7a 65 6e 73 20 6f 72 20 68 75 6e 64 72 65 64  ozens or hundred
0690: 73 20 6f 66 20 6d 65 67 61 62 79 74 65 73 20 66  s of megabytes f
06a0: 6f 72 20 61 20 6c 61 72 67 65 0a 6f 72 20 6c 6f  or a large.or lo
06b0: 6e 67 20 72 75 6e 6e 69 6e 67 20 70 72 6f 6a 65  ng running proje
06c0: 63 74 29 20 62 75 74 20 69 74 20 69 73 20 6e 65  ct) but it is ne
06d0: 76 65 72 74 68 65 6c 65 73 73 20 6a 75 73 74 20  vertheless just 
06e0: 61 20 66 69 6c 65 2e 20 20 59 6f 75 0a 63 61 6e  a file.  You.can
06f0: 20 6d 6f 76 65 20 69 74 20 61 72 6f 75 6e 64 2c   move it around,
0700: 20 72 65 6e 61 6d 65 20 69 74 2c 20 77 72 69 74   rename it, writ
0710: 65 20 69 74 20 6f 75 74 20 74 6f 20 61 20 6d 65  e it out to a me
0720: 6d 6f 72 79 20 73 74 69 63 6b 2c 20 6f 72 0a 64  mory stick, or.d
0730: 6f 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 20  o anything else 
0740: 79 6f 75 20 6e 6f 72 6d 61 6c 6c 79 20 64 6f 20  you normally do 
0750: 77 69 74 68 20 66 69 6c 65 73 2e 3c 2f 70 3e 0a  with files.</p>.
0760: 0a 3c 70 3e 45 61 63 68 20 73 6f 75 72 63 65 20  .<p>Each source 
0770: 74 72 65 65 20 74 68 61 74 20 69 73 20 63 6f 6e  tree that is con
0780: 74 72 6f 6c 6c 65 64 20 62 79 20 66 6f 73 73 69  trolled by fossi
0790: 6c 20 69 73 20 61 73 73 6f 63 69 61 74 65 64 20  l is associated 
07a0: 77 69 74 68 0a 61 20 73 69 6e 67 6c 65 20 72 65  with.a single re
07b0: 70 6f 73 69 74 6f 72 79 20 6f 6e 20 74 68 65 20  pository on the 
07c0: 6c 6f 63 61 6c 20 64 69 73 6b 20 64 72 69 76 65  local disk drive
07d0: 2e 20 20 59 6f 75 20 63 61 6e 20 74 69 65 20 74  .  You can tie t
07e0: 77 6f 20 6f 72 20 6d 6f 72 65 0a 73 6f 75 72 63  wo or more.sourc
07f0: 65 20 74 72 65 65 73 20 74 6f 20 61 20 73 69 6e  e trees to a sin
0800: 67 6c 65 20 72 65 70 6f 73 69 74 6f 72 79 20 69  gle repository i
0810: 66 20 79 6f 75 20 77 61 6e 74 20 28 74 68 6f 75  f you want (thou
0820: 67 68 20 6f 6e 65 0a 74 72 65 65 20 70 65 72 20  gh one.tree per 
0830: 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 74 68  repository is th
0840: 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 63 6f  e most common co
0850: 6e 66 69 67 75 72 61 74 69 6f 6e 2e 29 20 20 53  nfiguration.)  S
0860: 6f 20 61 0a 73 69 6e 67 6c 65 20 72 65 70 6f 73  o a.single repos
0870: 69 74 6f 72 79 20 63 61 6e 20 62 65 20 61 73 73  itory can be ass
0880: 6f 63 69 61 74 65 64 20 77 69 74 68 20 6d 61 6e  ociated with man
0890: 79 20 73 6f 75 72 63 65 20 74 72 65 65 73 2c 20  y source trees, 
08a0: 62 75 74 0a 65 61 63 68 20 73 6f 75 72 63 65 20  but.each source 
08b0: 74 72 65 65 20 69 73 20 61 73 73 6f 63 69 61 74  tree is associat
08c0: 65 64 20 77 69 74 68 20 6f 6e 6c 79 20 6f 6e 65  ed with only one
08d0: 20 72 65 70 6f 73 69 74 6f 72 79 2e 3c 2f 70 3e   repository.</p>
08e0: 0a 0a 3c 70 3e 46 6f 73 73 69 6c 20 73 6f 75 72  ..<p>Fossil sour
08f0: 63 65 20 74 72 65 65 73 20 6d 61 79 20 6e 6f 74  ce trees may not
0900: 20 6f 76 65 72 6c 61 70 2e 20 20 41 20 66 6f 73   overlap.  A fos
0910: 73 69 6c 20 73 6f 75 72 63 65 20 74 72 65 65 20  sil source tree 
0920: 69 73 20 69 64 65 6e 74 69 66 69 65 64 0a 62 79  is identified.by
0930: 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 22 5f   a file named "_
0940: 46 4f 53 53 49 4c 5f 22 20 69 6e 20 74 68 65 20  FOSSIL_" in the 
0950: 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 20 6f  root directory o
0960: 66 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 65  f the source tre
0970: 65 2e 20 20 45 76 65 72 79 0a 66 69 6c 65 20 74  e.  Every.file t
0980: 68 61 74 20 69 73 20 61 20 73 69 62 6c 69 6e 67  hat is a sibling
0990: 20 6f 66 20 5f 46 4f 53 53 49 4c 5f 20 61 6e 64   of _FOSSIL_ and
09a0: 20 65 76 65 72 79 20 66 69 6c 65 20 69 6e 20 65   every file in e
09b0: 76 65 72 79 20 73 75 62 66 6f 6c 64 65 72 20 69  very subfolder i
09c0: 73 0a 63 6f 6e 73 69 64 65 72 65 64 20 70 6f 74  s.considered pot
09d0: 65 6e 74 69 61 6c 6c 79 20 61 20 70 61 72 74 20  entially a part 
09e0: 6f 66 20 74 68 65 20 73 6f 75 72 63 65 20 74 72  of the source tr
09f0: 65 65 2e 20 20 54 68 65 20 5f 46 4f 53 53 49 4c  ee.  The _FOSSIL
0a00: 5f 20 66 69 6c 65 0a 63 6f 6e 74 61 69 6e 73 20  _ file.contains 
0a10: 28 61 6d 6f 6e 67 20 6f 74 68 65 72 20 74 68 69  (among other thi
0a20: 6e 67 73 29 20 74 68 65 20 70 61 74 68 6e 61 6d  ngs) the pathnam
0a30: 65 20 6f 66 20 74 68 65 20 72 65 70 6f 73 69 74  e of the reposit
0a40: 6f 72 79 20 77 69 74 68 20 77 68 69 63 68 0a 74  ory with which.t
0a50: 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 20 69  he source tree i
0a60: 73 20 61 73 73 6f 63 69 61 74 65 64 2e 20 20 4f  s associated.  O
0a70: 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64  n the other hand
0a80: 2c 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79  , the repository
0a90: 20 68 61 73 0a 6e 6f 20 72 65 63 6f 72 64 20 6f   has.no record o
0aa0: 66 20 69 74 73 20 73 6f 75 72 63 65 20 74 72 65  f its source tre
0ab0: 65 73 2e 20 20 53 6f 20 79 6f 75 20 61 72 65 20  es.  So you are 
0ac0: 66 72 65 65 20 74 6f 20 64 65 6c 65 74 65 20 61  free to delete a
0ad0: 20 73 6f 75 72 63 65 20 74 72 65 65 0a 6f 72 20   source tree.or 
0ae0: 6d 6f 76 65 20 69 74 20 61 72 6f 75 6e 64 20 77  move it around w
0af0: 69 74 68 6f 75 74 20 63 6f 6e 73 65 71 75 65 6e  ithout consequen
0b00: 63 65 2e 20 20 42 75 74 20 69 66 20 79 6f 75 20  ce.  But if you 
0b10: 6d 6f 76 65 20 6f 72 20 72 65 6e 61 6d 65 20 6f  move or rename o
0b20: 72 0a 64 65 6c 65 74 65 20 61 20 72 65 70 6f 73  r.delete a repos
0b30: 69 74 6f 72 79 2c 20 74 68 65 6e 20 61 6e 79 20  itory, then any 
0b40: 73 6f 75 72 63 65 20 74 72 65 65 73 20 61 73 73  source trees ass
0b50: 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 61  ociated with tha
0b60: 74 20 72 65 70 6f 73 69 74 6f 72 79 0a 77 69 6c  t repository.wil
0b70: 6c 20 6e 6f 20 6c 6f 6e 67 65 72 20 62 65 20 61  l no longer be a
0b80: 62 6c 65 20 74 6f 20 6c 6f 63 61 74 65 20 74 68  ble to locate th
0b90: 65 69 72 20 72 65 70 6f 73 69 74 6f 72 79 20 61  eir repository a
0ba0: 6e 64 20 77 69 6c 6c 20 73 74 6f 70 20 77 6f 72  nd will stop wor
0bb0: 6b 69 6e 67 2e 3c 2f 70 3e 0a 0a 3c 70 3e 57 68  king.</p>..<p>Wh
0bc0: 65 6e 20 6d 75 6c 74 69 70 6c 65 20 64 65 76 65  en multiple deve
0bd0: 6c 6f 70 65 72 73 20 61 72 65 20 77 6f 72 6b 69  lopers are worki
0be0: 6e 67 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 70  ng on the same p
0bf0: 72 6f 6a 65 63 74 2c 20 65 61 63 68 0a 64 65 76  roject, each.dev
0c00: 65 6c 6f 70 65 72 20 74 79 70 69 63 61 6c 6c 79  eloper typically
0c10: 20 68 61 73 20 68 69 73 20 6f 72 20 68 65 72 20   has his or her 
0c20: 6f 77 6e 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69  own local reposi
0c30: 74 6f 72 79 20 61 6e 64 20 61 6e 20 61 73 73 6f  tory and an asso
0c40: 63 69 61 74 65 64 0a 73 6f 75 72 63 65 20 74 72  ciated.source tr
0c50: 65 65 20 69 6e 20 77 68 69 63 68 20 74 6f 20 77  ee in which to w
0c60: 6f 72 6b 2e 20 20 44 65 76 65 6c 6f 70 65 72 73  ork.  Developers
0c70: 20 73 68 61 72 65 20 74 68 65 69 72 20 77 6f 72   share their wor
0c80: 6b 20 62 79 0a 22 73 79 6e 63 69 6e 67 22 20 74  k by."syncing" t
0c90: 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68  he content of th
0ca0: 65 69 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69  eir local reposi
0cb0: 74 6f 72 69 65 73 20 65 69 74 68 65 72 20 64 69  tories either di
0cc0: 72 65 63 74 6c 79 0a 6f 72 20 74 68 72 6f 75 67  rectly.or throug
0cd0: 68 20 61 20 63 65 6e 74 72 61 6c 20 73 65 72 76  h a central serv
0ce0: 65 72 2e 20 20 43 68 61 6e 67 65 73 20 63 61 6e  er.  Changes can
0cf0: 20 22 70 75 73 68 22 20 66 72 6f 6d 20 74 68 65   "push" from the
0d00: 20 6c 6f 63 61 6c 0a 72 65 70 6f 73 69 74 6f 72   local.repositor
0d10: 79 20 69 6e 74 6f 20 61 20 72 65 6d 6f 74 65 20  y into a remote 
0d20: 72 65 70 6f 73 69 74 6f 72 79 2e 20 20 4f 72 20  repository.  Or 
0d30: 63 68 61 6e 67 65 73 20 63 61 6e 20 22 70 75 6c  changes can "pul
0d40: 6c 22 20 66 72 6f 6d 20 61 0a 72 65 6d 6f 74 65  l" from a.remote
0d50: 20 72 65 70 6f 73 69 74 6f 72 79 20 69 6e 74 6f   repository into
0d60: 20 61 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74   a local reposit
0d70: 6f 72 79 2e 20 20 4f 72 20 6f 6e 65 20 63 61 6e  ory.  Or one can
0d80: 20 64 6f 20 61 20 22 73 79 6e 63 22 0a 77 68 69   do a "sync".whi
0d90: 63 68 20 69 73 20 61 20 73 68 6f 72 74 63 75 74  ch is a shortcut
0da0: 20 66 6f 72 20 64 6f 69 6e 67 20 62 6f 74 68 20   for doing both 
0db0: 61 20 70 75 73 68 20 61 6e 64 20 61 20 70 75 6c  a push and a pul
0dc0: 6c 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69  l at the same ti
0dd0: 6d 65 2e 0a 46 6f 73 73 69 6c 20 61 6c 73 6f 20  me..Fossil also 
0de0: 68 61 73 20 74 68 65 20 63 6f 6e 63 65 70 74 20  has the concept 
0df0: 6f 66 20 22 63 6c 6f 6e 69 6e 67 22 2e 20 20 41  of "cloning".  A
0e00: 20 22 63 6c 6f 6e 65 22 20 69 73 20 6c 69 6b 65   "clone" is like
0e10: 20 61 20 22 70 75 6c 6c 22 2c 0a 65 78 63 65 70   a "pull",.excep
0e20: 74 20 74 68 61 74 20 69 6e 73 74 65 61 64 20 6f  t that instead o
0e30: 66 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68  f beginning with
0e40: 20 61 6e 20 65 78 69 73 74 69 6e 67 20 6c 6f 63   an existing loc
0e50: 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 2c 0a 61  al repository,.a
0e60: 20 63 6c 6f 6e 65 20 62 65 67 69 6e 73 20 77 69   clone begins wi
0e70: 74 68 20 6e 6f 74 68 69 6e 67 20 61 6e 64 20 63  th nothing and c
0e80: 72 65 61 74 65 73 20 61 20 6e 65 77 20 6c 6f 63  reates a new loc
0e90: 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 74 68  al repository th
0ea0: 61 74 0a 69 73 20 61 20 64 75 70 6c 69 63 61 74  at.is a duplicat
0eb0: 65 20 6f 66 20 61 20 72 65 6d 6f 74 65 20 72 65  e of a remote re
0ec0: 70 6f 73 69 74 6f 72 79 2e 3c 2f 70 3e 0a 0a 3c  pository.</p>..<
0ed0: 70 3e 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20  p>Communication 
0ee0: 62 65 74 77 65 65 6e 20 72 65 70 6f 73 69 74 6f  between reposito
0ef0: 72 69 65 73 20 69 73 20 76 69 61 20 48 54 54 50  ries is via HTTP
0f00: 2e 20 20 52 65 6d 6f 74 65 0a 72 65 70 6f 73 69  .  Remote.reposi
0f10: 74 6f 72 69 65 73 20 61 72 65 20 69 64 65 6e 74  tories are ident
0f20: 69 66 69 65 64 20 62 79 20 55 52 4c 2e 20 20 59  ified by URL.  Y
0f30: 6f 75 20 63 61 6e 20 61 6c 73 6f 20 70 6f 69 6e  ou can also poin
0f40: 74 20 61 20 77 65 62 20 62 72 6f 77 73 65 72 0a  t a web browser.
0f50: 61 74 20 61 20 72 65 70 6f 73 69 74 6f 72 79 20  at a repository 
0f60: 61 6e 64 20 67 65 74 20 68 75 6d 61 6e 2d 72 65  and get human-re
0f70: 61 64 61 62 6c 65 20 73 74 61 74 75 73 2c 20 68  adable status, h
0f80: 69 73 74 6f 72 79 2c 20 61 6e 64 20 74 72 61 63  istory, and trac
0f90: 6b 69 6e 67 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e  king.information
0fa0: 20 61 62 6f 75 74 20 74 68 65 20 70 72 6f 6a 65   about the proje
0fb0: 63 74 2e 3c 2f 70 3e 0a 0a 3c 68 33 3e 32 2e 31  ct.</p>..<h3>2.1
0fc0: 20 49 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 20   Identification 
0fd0: 4f 66 20 41 72 74 69 66 61 63 74 73 3c 2f 68 33  Of Artifacts</h3
0fe0: 3e 0a 0a 3c 70 3e 41 20 70 61 72 74 69 63 75 6c  >..<p>A particul
0ff0: 61 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 61 20  ar version of a 
1000: 70 61 72 74 69 63 75 6c 61 72 20 66 69 6c 65 20  particular file 
1010: 69 73 20 63 61 6c 6c 65 64 20 61 6e 20 22 61 72  is called an "ar
1020: 74 69 66 61 63 74 22 2e 0a 45 61 63 68 20 61 72  tifact"..Each ar
1030: 74 69 66 61 63 74 20 68 61 73 20 61 20 75 6e 69  tifact has a uni
1040: 76 65 72 73 61 6c 6c 79 20 75 6e 69 71 75 65 20  versally unique 
1050: 6e 61 6d 65 20 77 68 69 63 68 20 69 73 20 74 68  name which is th
1060: 65 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a  e.<a href="http:
1070: 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
1080: 72 67 2f 77 69 6b 69 2f 53 48 41 22 3e 53 48 41  rg/wiki/SHA">SHA
1090: 31 3c 2f 61 3e 20 68 61 73 68 20 6f 66 20 74 68  1</a> hash of th
10a0: 65 20 63 6f 6e 74 65 6e 74 0a 6f 66 20 74 68 61  e content.of tha
10b0: 74 20 66 69 6c 65 20 65 78 70 72 65 73 73 65 64  t file expressed
10c0: 20 61 73 20 34 30 20 63 68 61 72 61 63 74 65 72   as 40 character
10d0: 73 20 6f 66 20 6c 6f 77 65 72 2d 63 61 73 65 20  s of lower-case 
10e0: 68 65 78 61 64 65 63 69 6d 61 6c 2e 20 20 53 75  hexadecimal.  Su
10f0: 63 68 0a 61 20 68 61 73 68 20 69 73 20 72 65 66  ch.a hash is ref
1100: 65 72 72 65 64 20 74 6f 20 61 73 20 74 68 65 20  erred to as the 
1110: 41 72 74 69 66 61 63 74 20 49 64 65 6e 74 69 66  Artifact Identif
1120: 69 65 72 20 6f 72 20 41 72 74 69 66 61 63 74 20  ier or Artifact 
1130: 49 44 0a 66 6f 72 20 74 68 65 20 61 72 74 69 66  ID.for the artif
1140: 61 63 74 2e 20 20 54 68 65 20 53 48 41 31 20 61  act.  The SHA1 a
1150: 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 72 65 61  lgorithm is crea
1160: 74 65 64 20 77 69 74 68 20 74 68 65 20 70 75 72  ted with the pur
1170: 70 6f 73 65 20 6f 66 0a 70 72 6f 76 69 64 69 6e  pose of.providin
1180: 67 20 61 20 68 69 67 68 6c 79 20 66 6f 72 67 65  g a highly forge
1190: 72 79 2d 72 65 73 69 73 74 61 6e 74 20 69 64 65  ry-resistant ide
11a0: 6e 74 69 66 69 65 72 20 66 6f 72 20 61 20 66 69  ntifier for a fi
11b0: 6c 65 2e 20 20 47 69 76 65 6e 20 61 6e 79 0a 66  le.  Given any.f
11c0: 69 6c 65 20 69 74 20 69 73 20 73 69 6d 70 6c 65  ile it is simple
11d0: 20 74 6f 20 66 69 6e 64 20 74 68 65 20 61 72 74   to find the art
11e0: 69 66 61 63 74 20 49 44 20 66 6f 72 20 74 68 61  ifact ID for tha
11f0: 74 20 66 69 6c 65 2e 20 20 42 75 74 20 67 69 76  t file.  But giv
1200: 65 6e 20 61 0a 61 72 74 69 66 61 63 74 20 49 44  en a.artifact ID
1210: 20 69 74 20 69 73 20 63 6f 6d 70 75 74 61 74 69   it is computati
1220: 6f 6e 61 6c 6c 79 20 69 6e 74 72 61 63 74 61 62  onally intractab
1230: 6c 65 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61  le to generate a
1240: 20 66 69 6c 65 20 74 68 61 74 20 77 69 6c 6c 0a   file that will.
1250: 68 61 76 65 20 74 68 61 74 20 41 72 74 69 66 61  have that Artifa
1260: 63 74 20 49 44 2e 3c 2f 70 3e 0a 0a 0a 3c 70 3e  ct ID.</p>...<p>
1270: 41 72 74 69 66 61 63 74 20 49 44 73 20 6c 6f 6f  Artifact IDs loo
1280: 6b 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65  k something like
1290: 20 74 68 69 73 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f   this:</p>..<blo
12a0: 63 6b 71 75 6f 74 65 3e 3c 62 3e 0a 36 30 38 39  ckquote><b>.6089
12b0: 66 30 62 35 36 33 61 39 64 62 30 61 36 64 39 30  f0b563a9db0a6d90
12c0: 36 38 32 66 65 34 37 66 64 37 31 36 31 66 66 38  682fe47fd7161ff8
12d0: 36 37 63 38 3c 62 72 3e 0a 35 39 37 31 32 36 31  67c8<br>.5971261
12e0: 34 61 31 62 33 63 63 66 64 38 34 30 37 38 61 33  4a1b3ccfd84078a3
12f0: 37 66 61 35 62 36 30 36 65 32 38 34 33 34 33 32  7fa5b606e2843432
1300: 36 3c 62 72 3e 0a 31 39 64 62 66 37 33 30 37 38  6<br>.19dbf73078
1310: 62 65 39 37 37 39 65 64 64 36 61 30 31 35 36 31  be9779edd6a01561
1320: 39 35 65 36 31 30 66 38 31 63 39 34 66 39 3c 62  95e610f81c94f9<b
1330: 72 3e 0a 62 34 31 30 34 39 35 39 61 36 37 31 37  r>.b4104959a6717
1340: 35 66 30 32 64 36 62 34 31 35 34 38 30 62 65 32  5f02d6b415480be2
1350: 32 61 32 33 39 66 31 66 30 37 37 3c 62 72 3e 0a  2a239f1f077<br>.
1360: 39 39 37 63 39 64 36 61 65 30 33 61 64 31 31 34  997c9d6ae03ad114
1370: 62 32 62 35 37 66 30 34 65 39 65 65 65 66 31 37  b2b57f04e9eeef17
1380: 64 63 62 38 32 37 38 38 0a 3c 2f 62 3e 3c 2f 62  dcb82788.</b></b
1390: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e 57  lockquote>..<p>W
13a0: 68 65 6e 20 72 65 66 65 72 72 69 6e 67 20 74 6f  hen referring to
13b0: 20 61 6e 20 61 72 74 69 66 61 63 74 20 75 73 69   an artifact usi
13c0: 6e 67 20 66 6f 73 73 69 6c 2c 20 79 6f 75 20 63  ng fossil, you c
13d0: 61 6e 20 75 73 65 20 61 20 75 6e 69 71 75 65 0a  an use a unique.
13e0: 70 72 65 66 69 78 20 6f 66 20 74 68 65 20 61 72  prefix of the ar
13f0: 74 69 66 61 63 74 20 49 44 20 74 68 61 74 20 69  tifact ID that i
1400: 73 20 66 6f 75 72 20 63 68 61 72 61 63 74 65 72  s four character
1410: 73 20 6f 72 20 6c 6f 6e 67 65 72 2e 20 20 54 68  s or longer.  Th
1420: 69 73 20 73 61 76 65 73 0a 61 20 6c 6f 74 20 6f  is saves.a lot o
1430: 66 20 74 79 70 69 6e 67 2e 20 20 57 68 65 6e 20  f typing.  When 
1440: 64 69 73 70 6c 61 79 69 6e 67 20 61 72 74 69 66  displaying artif
1450: 61 63 74 20 49 44 73 2c 20 66 6f 73 73 69 6c 20  act IDs, fossil 
1460: 77 69 6c 6c 20 75 73 75 61 6c 6c 79 20 6f 6e 6c  will usually onl
1470: 79 0a 73 68 6f 77 20 74 68 65 20 66 69 72 73 74  y.show the first
1480: 20 31 30 20 64 69 67 69 74 73 20 73 69 6e 63 65   10 digits since
1490: 20 74 68 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c   that is normall
14a0: 79 20 65 6e 6f 75 67 68 20 74 6f 20 75 6e 69 71  y enough to uniq
14b0: 75 65 6c 79 0a 69 64 65 6e 74 69 66 79 20 61 20  uely.identify a 
14c0: 66 69 6c 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 43 68  file.</p>..<p>Ch
14d0: 61 6e 67 69 6e 67 20 28 6f 72 20 61 64 64 69 6e  anging (or addin
14e0: 67 20 6f 72 20 72 65 6d 6f 76 69 6e 67 29 20 61  g or removing) a
14f0: 20 73 69 6e 67 6c 65 20 62 79 74 65 20 69 6e 20   single byte in 
1500: 61 20 66 69 6c 65 20 72 65 73 75 6c 74 73 0a 69  a file results.i
1510: 6e 20 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64  n a completely d
1520: 69 66 66 65 72 65 6e 74 20 61 72 74 69 66 61 63  ifferent artifac
1530: 74 20 49 44 2e 20 20 41 6e 64 20 73 69 6e 63 65  t ID.  And since
1540: 20 74 68 65 20 61 72 74 69 66 61 63 74 20 49 44   the artifact ID
1550: 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 0a   is the name of.
1560: 74 68 65 20 61 72 74 69 66 61 63 74 2c 20 6d 61  the artifact, ma
1570: 6b 69 6e 67 20 61 6e 79 20 63 68 61 6e 67 65 20  king any change 
1580: 74 6f 20 61 20 66 69 6c 65 20 72 65 73 75 6c 74  to a file result
1590: 73 20 69 6e 20 61 20 6e 65 77 20 61 72 74 69 66  s in a new artif
15a0: 61 63 74 2e 0a 49 6e 20 74 68 69 73 20 77 61 79  act..In this way
15b0: 2c 20 61 72 74 69 66 61 63 74 73 20 61 72 65 20  , artifacts are 
15c0: 69 6d 6d 75 74 61 62 6c 65 2e 3c 2f 70 3e 0a 0a  immutable.</p>..
15d0: 3c 70 3e 41 20 72 65 70 6f 73 69 74 6f 72 79 20  <p>A repository 
15e0: 69 73 20 72 65 61 6c 6c 79 20 6a 75 73 74 20 61  is really just a
15f0: 6e 20 75 6e 6f 72 64 65 72 65 64 20 63 6f 6c 6c  n unordered coll
1600: 65 63 74 69 6f 6e 20 6f 66 0a 61 72 74 69 66 61  ection of.artifa
1610: 63 74 73 2e 20 20 4e 65 77 20 61 72 74 69 66 61  cts.  New artifa
1620: 63 74 73 20 63 61 6e 20 62 65 20 61 64 64 65 64  cts can be added
1630: 20 74 6f 20 74 68 65 20 72 65 70 6f 73 69 74 6f   to the reposito
1640: 72 79 2c 20 62 75 74 0a 65 78 69 73 74 69 6e 67  ry, but.existing
1650: 20 61 72 74 69 66 61 63 74 73 20 63 61 6e 20 6e   artifacts can n
1660: 65 76 65 72 20 62 65 20 72 65 6d 6f 76 65 64 2e  ever be removed.
1670: 20 20 46 6f 73 73 69 6c 20 69 73 20 64 65 73 69    Fossil is desi
1680: 67 6e 65 64 20 69 6e 0a 73 75 63 68 20 61 20 77  gned in.such a w
1690: 61 79 20 74 68 61 74 20 69 74 20 63 61 6e 20 62  ay that it can b
16a0: 65 20 68 61 6e 64 65 64 20 61 20 73 65 74 20 6f  e handed a set o
16b0: 66 20 61 72 74 69 66 61 63 74 73 20 69 6e 20 61  f artifacts in a
16c0: 6e 79 0a 6f 72 64 65 72 20 61 6e 64 20 69 74 20  ny.order and it 
16d0: 63 61 6e 20 66 69 67 75 72 65 20 6f 75 74 20 74  can figure out t
16e0: 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20  he relationship 
16f0: 62 65 74 77 65 65 6e 20 74 68 6f 73 65 0a 61 72  between those.ar
1700: 74 69 66 61 63 74 73 20 61 6e 64 20 72 65 63 6f  tifacts and reco
1710: 6e 73 74 72 75 63 74 20 74 68 65 20 63 6f 6d 70  nstruct the comp
1720: 6c 65 74 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74  lete development
1730: 20 68 69 73 74 6f 72 79 20 6f 66 0a 61 20 73 6f   history of.a so
1740: 66 74 77 61 72 65 20 70 72 6f 6a 65 63 74 2e 3c  ftware project.<
1750: 2f 70 3e 0a 0a 3c 68 33 3e 32 2e 32 20 4d 61 6e  /p>..<h3>2.2 Man
1760: 69 66 65 73 74 73 3c 2f 68 33 3e 0a 0a 3c 70 3e  ifests</h3>..<p>
1770: 41 74 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 61  At the root of a
1780: 20 73 6f 75 72 63 65 20 74 72 65 65 20 69 73 20   source tree is 
1790: 61 20 73 70 65 63 69 61 6c 20 66 69 6c 65 20 63  a special file c
17a0: 61 6c 6c 65 64 20 74 68 65 0a 22 6d 61 6e 69 66  alled the."manif
17b0: 65 73 74 22 2e 20 20 54 68 65 20 6d 61 6e 69 66  est".  The manif
17c0: 65 73 74 20 69 73 20 61 20 6c 69 73 74 69 6e 67  est is a listing
17d0: 20 6f 66 20 61 6c 6c 20 6f 74 68 65 72 20 66 69   of all other fi
17e0: 6c 65 73 20 69 6e 0a 74 68 61 74 20 73 6f 75 72  les in.that sour
17f0: 63 65 20 74 72 65 65 2e 20 20 54 68 65 20 6d 61  ce tree.  The ma
1800: 6e 69 66 65 73 74 20 63 6f 6e 74 61 69 6e 73 20  nifest contains 
1810: 74 68 65 20 28 63 6f 6d 70 6c 65 74 65 29 20 61  the (complete) a
1820: 72 74 69 66 61 63 74 20 49 44 20 0a 6f 66 20 74  rtifact ID .of t
1830: 68 65 20 66 69 6c 65 20 61 6e 64 20 74 68 65 20  he file and the 
1840: 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65  name of the file
1850: 20 61 73 20 69 74 20 61 70 70 65 61 72 73 20 6f   as it appears o
1860: 6e 20 64 69 73 6b 2c 0a 61 6e 64 20 74 68 75 73  n disk,.and thus
1870: 20 73 65 72 76 65 73 20 61 73 20 61 20 6d 61 70   serves as a map
1880: 70 69 6e 67 20 66 72 6f 6d 20 61 72 74 69 66 61  ping from artifa
1890: 63 74 20 49 44 20 74 6f 20 64 69 73 6b 20 6e 61  ct ID to disk na
18a0: 6d 65 2e 20 20 54 68 65 20 61 72 74 69 66 61 63  me.  The artifac
18b0: 74 20 49 44 0a 6f 66 20 74 68 65 20 6d 61 6e 69  t ID.of the mani
18c0: 66 65 73 74 20 69 73 20 74 68 65 20 69 64 65 6e  fest is the iden
18d0: 74 69 66 69 65 72 20 66 6f 72 20 74 68 65 20 65  tifier for the e
18e0: 6e 74 69 72 65 20 62 61 73 65 6c 69 6e 65 2e 20  ntire baseline. 
18f0: 20 57 68 65 6e 0a 79 6f 75 20 6c 6f 6f 6b 20 61   When.you look a
1900: 74 20 61 20 22 74 69 6d 65 6c 69 6e 65 22 20 6f  t a "timeline" o
1910: 66 20 63 68 61 6e 67 65 73 20 69 6e 20 66 6f 73  f changes in fos
1920: 73 69 6c 2c 20 74 68 65 20 49 44 20 61 73 73 6f  sil, the ID asso
1930: 63 69 61 74 65 64 0a 77 69 74 68 20 65 61 63 68  ciated.with each
1940: 20 63 68 65 63 6b 2d 69 6e 20 6f 72 20 63 6f 6d   check-in or com
1950: 6d 69 74 20 69 73 20 72 65 61 6c 6c 79 20 6a 75  mit is really ju
1960: 73 74 20 74 68 65 20 61 72 74 69 66 61 63 74 20  st the artifact 
1970: 49 44 20 6f 66 20 74 68 65 0a 6d 61 6e 69 66 65  ID of the.manife
1980: 73 74 20 66 6f 72 20 74 68 61 74 20 62 61 73 65  st for that base
1990: 6c 69 6e 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 46 6f  line.</p>..<p>Fo
19a0: 73 73 69 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c  ssil automatical
19b0: 6c 79 20 67 65 6e 65 72 61 74 65 73 20 61 20 6d  ly generates a m
19c0: 61 6e 69 66 65 73 74 20 77 68 65 6e 65 76 65 72  anifest whenever
19d0: 20 79 6f 75 20 22 63 6f 6d 6d 69 74 22 20 0a 61   you "commit" .a
19e0: 20 6e 65 77 20 62 61 73 65 6c 69 6e 65 2e 20 20   new baseline.  
19f0: 53 6f 20 74 68 69 73 20 69 73 20 6e 6f 74 20 73  So this is not s
1a00: 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 79 6f  omething that yo
1a10: 75 2c 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72  u, the developer
1a20: 2c 0a 6e 65 65 64 20 74 6f 20 77 6f 72 72 79 20  ,.need to worry 
1a30: 77 69 74 68 2e 20 20 54 68 65 20 66 6f 72 6d 61  with.  The forma
1a40: 74 20 6f 66 20 61 20 6d 61 6e 69 66 65 73 74 20  t of a manifest 
1a50: 69 73 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79  is intentionally
1a60: 0a 64 65 73 69 67 6e 65 64 20 74 6f 20 62 65 20  .designed to be 
1a70: 73 69 6d 70 6c 65 20 74 6f 20 70 61 72 73 65 2c  simple to parse,
1a80: 20 73 6f 20 74 68 61 74 20 69 66 0a 79 6f 75 20   so that if.you 
1a90: 77 61 6e 74 20 74 6f 20 72 65 61 64 20 61 6e 64  want to read and
1aa0: 20 69 6e 74 65 72 70 72 65 74 20 61 20 6d 61 6e   interpret a man
1ab0: 69 66 65 73 74 2c 20 65 69 74 68 65 72 20 62 79  ifest, either by
1ac0: 20 68 61 6e 64 20 6f 72 0a 77 69 74 68 20 61 20   hand or.with a 
1ad0: 73 63 72 69 70 74 2c 20 74 68 61 74 20 69 73 20  script, that is 
1ae0: 65 61 73 79 20 74 6f 20 64 6f 2e 20 20 42 75 74  easy to do.  But
1af0: 20 79 6f 75 20 77 69 6c 6c 20 70 72 6f 62 61 62   you will probab
1b00: 6c 79 20 6e 65 76 65 72 0a 6e 65 65 64 20 74 6f  ly never.need to
1b10: 20 64 6f 20 73 6f 2e 3c 2f 70 3e 0a 0a 3c 70 3e   do so.</p>..<p>
1b20: 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 69  In addition to i
1b30: 64 65 6e 74 69 66 79 69 6e 67 20 61 6c 6c 20 66  dentifying all f
1b40: 69 6c 65 73 20 69 6e 20 74 68 65 20 62 61 73 65  iles in the base
1b50: 6c 69 6e 65 2c 20 61 0a 6d 61 6e 69 66 65 73 74  line, a.manifest
1b60: 20 61 6c 73 6f 20 63 6f 6e 74 61 69 6e 73 20 61   also contains a
1b70: 20 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e   check-in commen
1b80: 74 2c 20 74 68 65 20 64 61 74 65 20 61 6e 64 20  t, the date and 
1b90: 74 69 6d 65 0a 77 68 65 6e 20 74 68 65 20 62 61  time.when the ba
1ba0: 73 65 6c 69 6e 65 20 77 61 73 20 65 73 74 61 62  seline was estab
1bb0: 6c 69 73 68 65 64 2c 20 77 68 6f 20 63 72 65 61  lished, who crea
1bc0: 74 65 64 20 74 68 65 20 62 61 73 65 6c 69 6e 65  ted the baseline
1bd0: 2c 0a 61 6e 64 20 6c 69 6e 6b 73 20 74 6f 20 6f  ,.and links to o
1be0: 74 68 65 72 20 62 61 73 65 6c 69 6e 65 73 20 66  ther baselines f
1bf0: 72 6f 6d 20 77 68 69 63 68 20 74 68 65 20 63 75  rom which the cu
1c00: 72 72 65 6e 74 20 62 61 73 65 6c 69 6e 65 0a 69  rrent baseline.i
1c10: 73 20 64 65 72 69 76 65 64 2e 20 20 54 68 65 72  s derived.  Ther
1c20: 65 20 69 73 20 61 6c 73 6f 20 61 20 63 6f 75 70  e is also a coup
1c30: 6c 65 20 6f 66 20 63 68 65 63 6b 73 75 6d 73 20  le of checksums 
1c40: 75 73 65 64 20 74 6f 20 76 65 72 69 66 79 0a 74  used to verify.t
1c50: 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20  he integrity of 
1c60: 74 68 65 20 62 61 73 65 6c 69 6e 65 2e 20 20 41  the baseline.  A
1c70: 6e 64 20 74 68 65 20 77 68 6f 6c 65 20 6d 61 6e  nd the whole man
1c80: 69 66 65 73 74 20 6d 69 67 68 74 0a 62 65 20 50  ifest might.be P
1c90: 47 50 20 63 6c 65 61 72 73 69 67 6e 65 64 2e 3c  GP clearsigned.<
1ca0: 2f 70 3e 0a 0a 3c 68 33 3e 32 2e 33 20 4b 65 79  /p>..<h3>2.3 Key
1cb0: 20 63 6f 6e 63 65 70 74 73 3c 2f 68 33 3e 0a 0a   concepts</h3>..
1cc0: 3c 75 6c 3e 0a 3c 6c 69 3e 41 20 3c 62 3e 62 61  <ul>.<li>A <b>ba
1cd0: 73 65 6c 69 6e 65 3c 2f 62 3e 20 69 73 20 61 20  seline</b> is a 
1ce0: 73 65 74 20 6f 66 20 66 69 6c 65 73 20 61 72 72  set of files arr
1cf0: 61 6e 67 65 64 0a 20 20 20 20 69 6e 20 61 20 68  anged.    in a h
1d00: 69 65 72 61 72 63 68 79 2e 3c 2f 6c 69 3e 0a 3c  ierarchy.</li>.<
1d10: 6c 69 3e 41 20 3c 62 3e 72 65 70 6f 73 69 74 6f  li>A <b>reposito
1d20: 72 79 3c 2f 62 3e 20 6b 65 65 70 73 20 61 20 72  ry</b> keeps a r
1d30: 65 63 6f 72 64 20 6f 66 20 68 69 73 74 6f 72 69  ecord of histori
1d40: 63 61 6c 20 62 61 73 65 6c 69 6e 65 73 2e 3c 2f  cal baselines.</
1d50: 6c 69 3e 0a 3c 6c 69 3e 52 65 70 6f 73 69 74 6f  li>.<li>Reposito
1d60: 72 69 65 73 20 73 68 61 72 65 20 74 68 65 69 72  ries share their
1d70: 20 63 68 61 6e 67 65 73 20 75 73 69 6e 67 20 3c   changes using <
1d80: 62 3e 70 75 73 68 3c 2f 62 3e 2c 20 3c 62 3e 70  b>push</b>, <b>p
1d90: 75 6c 6c 3c 2f 62 3e 2c 0a 20 20 20 20 3c 62 3e  ull</b>,.    <b>
1da0: 73 79 6e 63 3c 2f 62 3e 2c 20 61 6e 64 20 3c 62  sync</b>, and <b
1db0: 3e 63 6c 6f 6e 65 3c 2f 62 3e 2e 3c 2f 6c 69 3e  >clone</b>.</li>
1dc0: 0a 3c 6c 69 3e 41 20 70 61 72 74 69 63 75 6c 61  .<li>A particula
1dd0: 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 61 20 70  r version of a p
1de0: 61 72 74 69 63 75 6c 61 72 20 66 69 6c 65 20 69  articular file i
1df0: 73 20 61 6e 20 3c 62 3e 61 72 74 69 66 61 63 74  s an <b>artifact
1e00: 3c 2f 62 3e 0a 20 20 20 20 74 68 61 74 20 69 73  </b>.    that is
1e10: 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 61   identified by a
1e20: 6e 20 3c 62 3e 61 72 74 69 66 61 63 74 20 49 44  n <b>artifact ID
1e30: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41  </b>.</li>.<li>A
1e40: 72 74 69 66 61 63 74 73 20 74 72 61 63 6b 65 64  rtifacts tracked
1e50: 20 62 79 20 66 6f 73 73 69 6c 20 61 72 65 20 69   by fossil are i
1e60: 6e 68 65 72 65 6e 74 6c 79 20 69 6d 6d 75 74 61  nherently immuta
1e70: 62 6c 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46 6f  ble.</li>.<li>Fo
1e80: 73 73 69 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c  ssil automatical
1e90: 6c 79 20 67 65 6e 65 72 61 74 65 73 20 61 20 3c  ly generates a <
1ea0: 62 3e 6d 61 6e 69 66 65 73 74 3c 2f 62 3e 20 66  b>manifest</b> f
1eb0: 69 6c 65 20 74 68 61 74 20 69 64 65 6e 74 69 66  ile that identif
1ec0: 69 65 73 0a 20 20 20 20 65 76 65 72 79 20 61 72  ies.    every ar
1ed0: 74 69 66 61 63 74 20 69 6e 20 61 20 62 61 73 65  tifact in a base
1ee0: 6c 69 6e 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54  line.</li>.<li>T
1ef0: 68 65 20 61 72 74 69 66 61 63 74 20 49 44 20 6f  he artifact ID o
1f00: 66 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 69  f the manifest i
1f10: 73 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72  s the identifier
1f20: 20 6f 66 20 74 68 65 20 62 61 73 65 6c 69 6e 65   of the baseline
1f30: 2e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 3c 68  .</li>.</ul>..<h
1f40: 32 3e 33 2e 30 20 46 6f 73 73 69 6c 20 2d 20 54  2>3.0 Fossil - T
1f50: 68 65 20 50 72 6f 67 72 61 6d 3c 2f 68 32 3e 0a  he Program</h2>.
1f60: 0a 3c 70 3e 46 6f 73 73 69 6c 20 69 73 20 73 6f  .<p>Fossil is so
1f70: 66 74 77 61 72 65 2e 20 20 54 68 65 20 69 6d 70  ftware.  The imp
1f80: 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 66  lementation of f
1f90: 6f 73 73 69 6c 20 69 73 20 69 6e 20 74 68 65 20  ossil is in the 
1fa0: 66 6f 72 6d 0a 6f 66 20 61 20 73 69 6e 67 6c 65  form.of a single
1fb0: 20 65 78 65 63 75 74 61 62 6c 65 20 6e 61 6d 65   executable name
1fc0: 64 20 22 66 6f 73 73 69 6c 22 2e 20 20 54 6f 20  d "fossil".  To 
1fd0: 69 6e 73 74 61 6c 6c 20 66 6f 73 73 69 6c 20 6f  install fossil o
1fe0: 6e 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 0a 61  n your system,.a
1ff0: 6c 6c 20 79 6f 75 20 68 61 76 65 20 74 6f 20 64  ll you have to d
2000: 6f 20 69 73 20 6f 62 74 61 69 6e 20 61 20 63 6f  o is obtain a co
2010: 70 79 20 6f 66 20 74 68 69 73 20 6f 6e 65 20 65  py of this one e
2020: 78 65 63 75 74 61 62 6c 65 20 66 69 6c 65 20 28  xecutable file (
2030: 65 69 74 68 65 72 0a 62 79 20 64 6f 77 6e 6c 6f  either.by downlo
2040: 61 64 69 6e 67 20 61 20 70 72 65 2d 63 6f 6d 70  ading a pre-comp
2050: 69 6c 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 20  iled version or 
2060: 63 6f 6d 70 69 6c 69 6e 67 20 69 74 20 79 6f 75  compiling it you
2070: 72 73 65 6c 66 29 20 61 6e 64 20 74 68 65 6e 0a  rself) and then.
2080: 70 75 74 74 69 6e 67 20 74 68 61 74 20 66 69 6c  putting that fil
2090: 65 20 73 6f 6d 65 77 68 65 72 65 20 6f 6e 20 79  e somewhere on y
20a0: 6f 75 72 20 50 41 54 48 2e 3c 2f 70 3e 0a 0a 3c  our PATH.</p>..<
20b0: 70 3e 46 6f 73 73 69 6c 20 69 73 20 63 6f 6d 70  p>Fossil is comp
20c0: 6c 65 74 65 6c 79 20 73 65 6c 66 2d 63 6f 6e 74  letely self-cont
20d0: 61 69 6e 65 64 2e 20 20 49 74 20 69 73 20 6e 6f  ained.  It is no
20e0: 74 20 6e 65 63 65 73 73 61 72 79 20 74 6f 0a 69  t necessary to.i
20f0: 6e 73 74 61 6c 6c 20 61 6e 79 20 6f 74 68 65 72  nstall any other
2100: 20 73 6f 66 74 77 61 72 65 20 69 6e 20 6f 72 64   software in ord
2110: 65 72 20 74 6f 20 75 73 65 20 66 6f 73 73 69 6c  er to use fossil
2120: 2e 20 20 59 6f 75 20 64 6f 20 3c 75 3e 6e 6f 74  .  You do <u>not
2130: 3c 2f 75 3e 20 6e 65 65 64 0a 43 56 53 2c 20 67  </u> need.CVS, g
2140: 7a 69 70 2c 20 64 69 66 66 2c 20 72 73 79 6e 63  zip, diff, rsync
2150: 2c 20 50 79 74 68 6f 6e 2c 20 50 65 72 6c 2c 20  , Python, Perl, 
2160: 54 63 6c 2c 20 4a 61 76 61 2c 20 61 70 61 63 68  Tcl, Java, apach
2170: 65 2c 20 50 6f 73 74 67 72 65 53 51 4c 2c 20 4d  e, PostgreSQL, M
2180: 79 53 51 4c 2c 0a 53 51 4c 69 74 65 2c 20 70 61  ySQL,.SQLite, pa
2190: 74 63 68 2c 20 6f 72 20 61 6e 79 20 73 69 6d 69  tch, or any simi
21a0: 6c 61 72 20 73 6f 66 74 77 61 72 65 20 6f 6e 20  lar software on 
21b0: 79 6f 75 72 20 73 79 73 74 65 6d 20 69 6e 20 6f  your system in o
21c0: 72 64 65 72 20 74 6f 20 75 73 65 0a 66 6f 73 73  rder to use.foss
21d0: 69 6c 20 65 66 66 65 63 74 69 76 65 6c 79 2e 20  il effectively. 
21e0: 20 59 6f 75 20 77 69 6c 6c 20 77 61 6e 74 20 74   You will want t
21f0: 6f 20 68 61 76 65 20 73 6f 6d 65 20 6b 69 6e 64  o have some kind
2200: 20 6f 66 20 74 65 78 74 20 65 64 69 74 6f 72 0a   of text editor.
2210: 66 6f 72 20 65 6e 74 65 72 69 6e 67 20 63 68 65  for entering che
2220: 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 73 2e 20  ck-in comments. 
2230: 20 46 6f 73 73 69 6c 20 77 69 6c 6c 20 75 73 65   Fossil will use
2240: 20 77 68 61 74 65 76 65 72 20 74 65 78 74 20 65   whatever text e
2250: 64 69 74 6f 72 0a 69 73 20 69 64 65 6e 74 69 66  ditor.is identif
2260: 69 65 64 20 62 79 20 79 6f 75 72 20 56 49 53 55  ied by your VISU
2270: 41 4c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76  AL environment v
2280: 61 72 69 61 62 6c 65 2e 20 20 46 6f 73 73 69 6c  ariable.  Fossil
2290: 20 77 69 6c 6c 20 61 6c 73 6f 0a 75 73 65 20 47   will also.use G
22a0: 50 47 20 74 6f 20 63 6c 65 61 72 73 69 67 6e 20  PG to clearsign 
22b0: 79 6f 75 72 20 6d 61 6e 69 66 65 73 74 73 20 69  your manifests i
22c0: 66 20 79 6f 75 20 68 61 70 70 65 6e 20 74 6f 20  f you happen to 
22d0: 68 61 76 65 20 69 74 20 69 6e 73 74 61 6c 6c 65  have it installe
22e0: 64 2c 0a 62 75 74 20 66 6f 73 73 69 6c 20 77 69  d,.but fossil wi
22f0: 6c 6c 20 73 6b 69 70 20 74 68 61 74 20 73 74 65  ll skip that ste
2300: 70 20 69 66 20 47 50 47 20 6d 69 73 73 69 6e 67  p if GPG missing
2310: 20 66 72 6f 6d 20 79 6f 75 72 20 73 79 73 74 65   from your syste
2320: 6d 2e 0a 59 6f 75 20 63 61 6e 20 6f 70 74 69 6f  m..You can optio
2330: 6e 61 6c 6c 79 20 73 65 74 20 75 70 20 66 6f 73  nally set up fos
2340: 73 69 6c 20 74 6f 20 75 73 65 20 65 78 74 65 72  sil to use exter
2350: 6e 61 6c 20 22 64 69 66 66 22 20 70 72 6f 67 72  nal "diff" progr
2360: 61 6d 73 2c 20 0a 74 68 6f 75 67 68 20 66 6f 73  ams, .though fos
2370: 73 69 6c 20 68 61 73 20 61 6e 20 65 78 63 65 6c  sil has an excel
2380: 6c 65 6e 74 20 62 75 69 6c 74 2d 69 6e 20 22 64  lent built-in "d
2390: 69 66 66 22 20 61 6c 67 6f 72 69 74 68 6d 20 74  iff" algorithm t
23a0: 68 61 74 20 77 6f 72 6b 73 0a 66 69 6e 65 20 66  hat works.fine f
23b0: 6f 72 20 6d 6f 73 74 20 70 65 6f 70 6c 65 2e 3c  or most people.<
23c0: 2f 70 3e 0a 0a 3c 70 3e 54 6f 20 75 6e 69 6e 73  /p>..<p>To unins
23d0: 74 61 6c 6c 20 66 6f 73 73 69 6c 2c 20 73 69 6d  tall fossil, sim
23e0: 70 6c 79 20 64 65 6c 65 74 65 20 74 68 65 20 65  ply delete the e
23f0: 78 65 63 75 74 61 62 6c 65 2e 3c 2f 70 3e 0a 0a  xecutable.</p>..
2400: 3c 70 3e 54 6f 20 75 70 67 72 61 64 65 20 61 6e  <p>To upgrade an
2410: 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 20 6f   older version o
2420: 66 20 66 6f 73 73 69 6c 20 74 6f 20 61 20 6e 65  f fossil to a ne
2430: 77 65 72 20 76 65 72 73 69 6f 6e 2c 20 6a 75 73  wer version, jus
2440: 74 0a 72 65 70 6c 61 63 65 20 74 68 65 20 6f 6c  t.replace the ol
2450: 64 20 65 78 65 63 75 74 61 62 6c 65 20 77 69 74  d executable wit
2460: 68 20 74 68 65 20 6e 65 77 20 6f 6e 65 2e 20 20  h the new one.  
2470: 59 6f 75 20 6d 69 67 68 74 20 6e 65 65 64 20 74  You might need t
2480: 6f 20 0a 72 75 6e 20 61 20 6f 6e 65 2d 74 69 6d  o .run a one-tim
2490: 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65 73  e command to res
24a0: 74 72 75 63 74 75 72 65 20 79 6f 75 72 20 72 65  tructure your re
24b0: 70 6f 73 69 74 6f 72 69 65 73 20 61 66 74 65 72  positories after
24c0: 0a 61 6e 20 75 70 67 72 61 64 65 2e 20 20 43 68  .an upgrade.  Ch
24d0: 65 63 6b 20 74 68 65 20 69 6e 73 74 72 75 63 74  eck the instruct
24e0: 69 6f 6e 73 20 74 68 61 74 20 63 6f 6d 65 20 77  ions that come w
24f0: 69 74 68 20 74 68 65 20 75 70 67 72 61 64 65 0a  ith the upgrade.
2500: 66 6f 72 20 64 65 74 61 69 6c 73 2e 3c 2f 70 3e  for details.</p>
2510: 0a 0a 3c 70 3e 54 6f 20 75 73 65 20 66 6f 73 73  ..<p>To use foss
2520: 69 6c 2c 20 73 69 6d 70 6c 79 20 74 79 70 65 20  il, simply type 
2530: 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  the name of the 
2540: 65 78 65 63 75 74 61 62 6c 65 20 69 6e 20 79 6f  executable in yo
2550: 75 72 0a 73 68 65 6c 6c 2c 20 66 6f 6c 6c 6f 77  ur.shell, follow
2560: 65 64 20 62 79 20 6f 6e 65 20 6f 66 20 74 68 65  ed by one of the
2570: 20 76 61 72 69 6f 75 73 20 62 75 69 6c 74 2d 69   various built-i
2580: 6e 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 0a 61  n commands and.a
2590: 72 67 75 6d 65 6e 74 73 20 61 70 70 72 6f 70 72  rguments appropr
25a0: 69 61 74 65 20 66 6f 72 20 74 68 61 74 20 63 6f  iate for that co
25b0: 6d 6d 61 6e 64 2e 20 20 46 6f 72 20 65 78 61 6d  mmand.  For exam
25c0: 70 6c 65 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b  ple:</p>..<block
25d0: 71 75 6f 74 65 3e 3c 62 3e 0a 66 6f 73 73 69 6c  quote><b>.fossil
25e0: 20 68 65 6c 70 0a 3c 2f 62 3e 3c 2f 62 6c 6f 63   help.</b></bloc
25f0: 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e 49 6e 20 74  kquote>..<p>In t
2600: 68 65 20 6e 65 78 74 20 73 65 63 74 69 6f 6e 2c  he next section,
2610: 20 77 68 65 6e 20 77 65 20 73 61 79 20 74 68 69   when we say thi
2620: 6e 67 73 20 6c 69 6b 65 20 22 75 73 65 20 74 68  ngs like "use th
2630: 65 20 3c 62 3e 68 65 6c 70 3c 2f 62 3e 0a 63 6f  e <b>help</b>.co
2640: 6d 6d 61 6e 64 22 20 77 65 20 6d 65 61 6e 20 74  mmand" we mean t
2650: 6f 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e  o use the comman
2660: 64 20 6e 61 6d 65 20 22 68 65 6c 70 22 20 61 73  d name "help" as
2670: 20 74 68 65 20 66 69 72 73 74 0a 74 6f 6b 65 6e   the first.token
2680: 20 61 66 74 65 72 20 74 68 65 20 6e 61 6d 65 20   after the name 
2690: 6f 66 20 74 68 65 20 66 6f 73 73 69 6c 20 65 78  of the fossil ex
26a0: 65 63 75 74 61 62 6c 65 2c 20 61 73 20 73 68 6f  ecutable, as sho
26b0: 77 6e 20 61 62 6f 76 65 2e 3c 2f 70 3e 0a 0a 3c  wn above.</p>..<
26c0: 68 32 3e 34 2e 30 20 57 6f 72 6b 66 6c 6f 77 3c  h2>4.0 Workflow<
26d0: 2f 68 32 3e 0a 0a 3c 69 6d 67 20 73 72 63 3d 22  /h2>..<img src="
26e0: 63 6f 6e 63 65 70 74 32 2e 67 69 66 22 20 61 6c  concept2.gif" al
26f0: 69 67 6e 3d 22 72 69 67 68 74 22 20 68 73 70 61  ign="right" hspa
2700: 63 65 3d 22 31 30 22 3e 0a 0a 3c 70 3e 46 6f 73  ce="10">..<p>Fos
2710: 73 69 6c 20 68 61 73 20 74 77 6f 20 6d 6f 64 65  sil has two mode
2720: 73 20 6f 66 20 6f 70 65 72 61 74 69 6f 6e 3a 20  s of operation: 
2730: 22 61 75 74 6f 73 79 6e 63 22 20 61 6e 64 20 22  "autosync" and "
2740: 6e 6f 6e 2d 61 75 74 6f 73 79 6e 63 22 2e 0a 41  non-autosync"..A
2750: 75 74 6f 73 79 6e 63 20 6d 6f 64 65 20 77 6f 72  utosync mode wor
2760: 6b 73 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b  ks something lik
2770: 65 20 43 56 53 20 6f 72 20 53 56 4e 20 69 6e 20  e CVS or SVN in 
2780: 74 68 61 74 20 69 74 20 61 75 74 6f 6d 61 74 69  that it automati
2790: 63 61 6c 6c 79 0a 6b 65 65 70 73 20 79 6f 75 72  cally.keeps your
27a0: 20 77 6f 72 6b 20 69 6e 20 73 79 6e 63 20 77 69   work in sync wi
27b0: 74 68 20 74 68 65 20 63 65 6e 74 72 61 6c 20 73  th the central s
27c0: 65 72 76 65 72 2e 20 20 4e 6f 6e 2d 61 75 74 6f  erver.  Non-auto
27d0: 73 79 6e 63 20 69 73 0a 6d 6f 72 65 20 6c 69 6b  sync is.more lik
27e0: 65 20 47 49 54 2c 20 6f 72 20 42 69 74 6b 65 65  e GIT, or Bitkee
27f0: 70 65 72 20 69 6e 20 74 68 61 74 20 79 6f 75 72  per in that your
2800: 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f 72   local repositor
2810: 79 20 64 65 76 65 6c 6f 70 73 0a 69 6e 64 65 70  y develops.indep
2820: 65 6e 64 65 6e 74 6c 79 20 6f 66 20 79 6f 75 72  endently of your
2830: 20 63 6f 77 6f 72 6b 65 72 73 20 61 6e 64 20 79   coworkers and y
2840: 6f 75 20 73 68 61 72 65 20 79 6f 75 72 20 63 68  ou share your ch
2850: 61 6e 67 65 73 20 6d 61 6e 75 61 6c 6c 79 2e 0a  anges manually..
2860: 54 68 65 20 69 6e 74 65 72 65 73 74 69 6e 67 20  The interesting 
2870: 74 68 69 6e 67 20 61 62 6f 75 74 20 66 6f 73 73  thing about foss
2880: 69 6c 20 69 73 20 74 68 61 74 20 69 74 20 73 75  il is that it su
2890: 70 70 6f 72 74 73 20 62 6f 74 68 20 61 75 74 6f  pports both auto
28a0: 73 79 6e 63 0a 61 6e 64 20 6e 6f 6e 2d 61 75 74  sync.and non-aut
28b0: 6f 73 79 6e 63 20 77 6f 72 6b 20 66 6c 6f 77 73  osync work flows
28c0: 2e 3c 2f 70 3e 0a 0a 3c 70 3e 54 68 65 20 64 65  .</p>..<p>The de
28d0: 66 61 75 6c 74 20 73 65 74 74 69 6e 67 20 66 6f  fault setting fo
28e0: 72 20 66 6f 73 73 69 6c 20 69 73 20 74 6f 20 62  r fossil is to b
28f0: 65 20 69 6e 20 61 75 74 6f 73 79 6e 63 20 6d 6f  e in autosync mo
2900: 64 65 2e 20 20 59 6f 75 0a 63 61 6e 20 63 68 61  de.  You.can cha
2910: 6e 67 65 20 74 68 65 20 61 75 74 6f 73 79 6e 63  nge the autosync
2920: 20 73 65 74 74 69 6e 67 20 6f 72 20 63 68 65 63   setting or chec
2930: 6b 20 74 68 65 20 63 75 72 72 65 6e 74 20 61 75  k the current au
2940: 74 6f 73 79 6e 63 0a 73 65 74 74 69 6e 67 20 75  tosync.setting u
2950: 73 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 6c 69  sing commands li
2960: 6b 65 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71  ke:</p>..<blockq
2970: 75 6f 74 65 3e 0a 3c 62 3e 66 6f 73 73 69 6c 20  uote>.<b>fossil 
2980: 73 65 74 74 69 6e 67 20 61 75 74 6f 73 79 6e 63  setting autosync
2990: 20 6f 6e 3c 62 72 3e 0a 66 6f 73 73 69 6c 20 73   on<br>.fossil s
29a0: 65 74 74 69 6e 67 20 61 75 74 6f 73 79 6e 63 20  etting autosync 
29b0: 6f 66 66 3c 62 72 3e 0a 3c 62 3e 66 6f 73 73 69  off<br>.<b>fossi
29c0: 6c 20 73 65 74 74 69 6e 67 73 3c 2f 62 3e 0a 3c  l settings</b>.<
29d0: 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70  /blockquote>..<p
29e0: 3e 42 79 20 64 65 66 61 75 6c 74 2c 20 66 6f 73  >By default, fos
29f0: 73 69 6c 20 72 75 6e 73 20 77 69 74 68 20 61 75  sil runs with au
2a00: 74 6f 73 79 6e 63 20 6d 6f 64 65 20 74 75 72 6e  tosync mode turn
2a10: 65 64 20 6f 6e 2e 20 20 54 68 65 0a 61 75 74 68  ed on.  The.auth
2a20: 6f 72 73 20 66 69 6e 64 20 74 68 61 74 20 70 72  ors find that pr
2a30: 6f 6a 65 63 74 73 20 72 75 6e 20 6d 6f 72 65 20  ojects run more 
2a40: 73 6d 6f 6f 74 68 6c 79 20 77 68 65 6e 20 61 75  smoothly when au
2a50: 74 6f 73 79 6e 63 20 69 73 20 6f 6e 6c 79 0a 64  tosync is only.d
2a60: 69 73 61 62 6c 65 64 20 77 68 65 6e 20 6f 66 66  isabled when off
2a70: 2d 6e 65 74 77 6f 72 6b 2e 3c 2f 70 3e 0a 0a 3c  -network.</p>..<
2a80: 68 33 3e 34 2e 31 20 41 75 74 6f 73 79 6e 63 20  h3>4.1 Autosync 
2a90: 57 6f 72 6b 66 6c 6f 77 3c 2f 68 33 3e 0a 0a 3c  Workflow</h3>..<
2aa0: 6f 6c 3e 0a 3c 6c 69 3e 3c 70 3e 0a 45 73 74 61  ol>.<li><p>.Esta
2ab0: 62 6c 69 73 68 20 61 20 6c 6f 63 61 6c 20 72 65  blish a local re
2ac0: 70 6f 73 69 74 6f 72 79 20 75 73 69 6e 67 20 65  pository using e
2ad0: 69 74 68 65 72 20 74 68 65 20 3c 62 3e 6e 65 77  ither the <b>new
2ae0: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 0a 74 6f 20  </b> command.to 
2af0: 73 74 61 72 74 20 61 20 6e 65 77 20 70 72 6f 6a  start a new proj
2b00: 65 63 74 2c 20 6f 72 20 74 68 65 20 3c 62 3e 63  ect, or the <b>c
2b10: 6c 6f 6e 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64  lone</b> command
2b20: 20 74 6f 20 6d 61 6b 65 20 61 20 63 6c 6f 6e 65   to make a clone
2b30: 0a 6f 66 20 61 20 72 65 70 6f 73 69 74 6f 72 79  .of a repository
2b40: 20 66 6f 72 20 61 6e 20 65 78 69 73 74 69 6e 67   for an existing
2b50: 20 70 72 6f 6a 65 63 74 2e 20 0a 3c 2f 70 3e 3c   project. .</p><
2b60: 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 45 73  /li>..<li><p>.Es
2b70: 74 61 62 6c 69 73 68 20 6f 6e 65 20 6f 72 20 6d  tablish one or m
2b80: 6f 72 65 20 73 6f 75 72 63 65 20 74 72 65 65 73  ore source trees
2b90: 20 62 79 20 63 68 61 6e 67 69 6e 67 20 79 6f 75   by changing you
2ba0: 72 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74  r working direct
2bb0: 6f 72 79 0a 74 6f 20 77 68 65 72 65 20 79 6f 75  ory.to where you
2bc0: 20 77 61 6e 74 20 74 68 65 20 72 6f 6f 74 20 6f   want the root o
2bd0: 66 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 65  f the source tre
2be0: 65 20 74 6f 20 62 65 2c 20 74 68 65 6e 20 69 73  e to be, then is
2bf0: 73 75 69 6e 67 0a 74 68 65 20 3c 62 3e 6f 70 65  suing.the <b>ope
2c00: 6e 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 77 69  n</b> command wi
2c10: 74 68 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  th the name of t
2c20: 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 66 69  he repository fi
2c30: 6c 65 20 61 73 20 69 74 73 0a 61 72 67 75 6d 65  le as its.argume
2c40: 6e 74 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c  nt..</p></li>..<
2c50: 6c 69 3e 3c 70 3e 0a 54 68 65 20 3c 62 3e 6f 70  li><p>.The <b>op
2c60: 65 6e 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 69  en</b> command i
2c70: 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 73  n the previous s
2c80: 74 65 70 20 70 6f 70 75 6c 61 74 65 73 20 79 6f  tep populates yo
2c90: 75 72 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65 0a  ur local source.
2ca0: 74 72 65 65 20 77 69 74 68 20 61 20 63 6f 70 79  tree with a copy
2cb0: 20 6f 66 20 74 68 65 20 6c 61 74 65 73 74 20 62   of the latest b
2cc0: 61 73 65 6c 69 6e 65 2e 20 20 55 73 75 61 6c 6c  aseline.  Usuall
2cd0: 79 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79  y this is what y
2ce0: 6f 75 20 77 61 6e 74 2e 0a 49 6e 20 74 68 65 20  ou want..In the 
2cf0: 72 61 72 65 20 63 61 73 65 73 20 77 68 65 72 65  rare cases where
2d00: 20 69 74 20 69 73 20 6e 6f 74 2c 20 75 73 65 20   it is not, use 
2d10: 74 68 65 20 3c 62 3e 75 70 64 61 74 65 3c 2f 62  the <b>update</b
2d20: 3e 20 63 6f 6d 6d 61 6e 64 20 74 6f 0a 73 77 69  > command to.swi
2d30: 74 63 68 20 74 6f 20 61 20 6e 65 77 20 62 61 73  tch to a new bas
2d40: 65 6c 69 6e 65 2e 20 20 55 73 65 20 74 68 65 20  eline.  Use the 
2d50: 3c 62 3e 74 69 6d 65 6c 69 6e 65 3c 2f 62 3e 20  <b>timeline</b> 
2d60: 6f 72 20 3c 62 3e 6c 65 61 76 65 73 3c 2f 62 3e  or <b>leaves</b>
2d70: 20 63 6f 6d 6d 61 6e 64 73 0a 74 6f 20 69 64 65   commands.to ide
2d80: 6e 74 69 66 79 20 61 6c 74 65 72 6e 61 74 69 76  ntify alternativ
2d90: 65 20 62 61 73 65 6c 69 6e 65 73 20 74 6f 20 73  e baselines to s
2da0: 77 69 74 63 68 20 74 6f 2e 0a 3c 2f 70 3e 3c 2f  witch to..</p></
2db0: 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 45 64 69  li>..<li><p>.Edi
2dc0: 74 20 74 68 65 20 63 6f 64 65 2e 20 20 41 64 64  t the code.  Add
2dd0: 20 6e 65 77 20 66 69 6c 65 73 20 74 6f 20 74 68   new files to th
2de0: 65 20 73 6f 75 72 63 65 20 74 72 65 65 20 75 73  e source tree us
2df0: 69 6e 67 20 74 68 65 20 3c 62 3e 61 64 64 3c 2f  ing the <b>add</
2e00: 62 3e 0a 63 6f 6d 6d 61 6e 64 2e 20 20 4f 6d 69  b>.command.  Omi
2e10: 74 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 75 74  t files from fut
2e20: 75 72 65 20 62 61 73 65 6c 69 6e 65 73 20 75 73  ure baselines us
2e30: 69 6e 67 20 74 68 65 20 3c 62 3e 72 6d 3c 2f 62  ing the <b>rm</b
2e40: 3e 20 63 6f 6d 6d 61 6e 64 2e 0a 28 45 76 65 6e  > command..(Even
2e50: 20 77 68 65 6e 20 79 6f 75 20 72 65 6d 6f 76 65   when you remove
2e60: 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 75 74 75   files from futu
2e70: 72 65 20 62 61 73 65 6c 69 6e 65 73 2c 20 74 68  re baselines, th
2e80: 6f 73 65 20 66 69 6c 65 73 20 63 6f 6e 74 69 6e  ose files contin
2e90: 75 65 0a 74 6f 20 65 78 69 73 74 20 69 6e 20 68  ue.to exist in h
2ea0: 69 73 74 6f 72 69 63 61 6c 20 62 61 73 65 6c 69  istorical baseli
2eb0: 6e 65 73 2e 29 20 20 54 65 73 74 20 79 6f 75 72  nes.)  Test your
2ec0: 20 63 68 61 6e 67 65 73 2e 0a 3c 2f 70 3e 3c 2f   changes..</p></
2ed0: 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 43 72 65  li>..<li><p>.Cre
2ee0: 61 74 65 20 61 20 6e 65 77 20 62 61 73 65 6c 69  ate a new baseli
2ef0: 6e 65 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e  ne using the <b>
2f00: 63 6f 6d 6d 69 74 3c 2f 62 3e 20 63 6f 6d 6d 61  commit</b> comma
2f10: 6e 64 2e 20 20 59 6f 75 20 77 69 6c 6c 20 62 65  nd.  You will be
2f20: 20 70 72 6f 6d 70 74 65 64 0a 66 6f 72 20 61 20   prompted.for a 
2f30: 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74  check-in comment
2f40: 20 61 6e 64 20 61 6c 73 6f 20 66 6f 72 20 79 6f   and also for yo
2f50: 75 72 20 47 50 47 20 6b 65 79 20 69 66 20 79 6f  ur GPG key if yo
2f60: 75 20 68 61 76 65 20 47 50 47 20 69 6e 73 74 61  u have GPG insta
2f70: 6c 6c 65 64 2e 0a 54 68 65 20 63 6f 6d 6d 69 74  lled..The commit
2f80: 20 63 6f 70 69 65 73 20 74 68 65 20 65 64 69 74   copies the edit
2f90: 73 20 79 6f 75 20 68 61 76 65 20 6d 61 64 65 20  s you have made 
2fa0: 69 6e 20 79 6f 75 72 20 6c 6f 63 61 6c 20 73 6f  in your local so
2fb0: 75 72 63 65 0a 74 72 65 65 20 69 6e 74 6f 20 79  urce.tree into y
2fc0: 6f 75 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69  our local reposi
2fd0: 74 6f 72 79 2e 20 20 41 66 74 65 72 20 79 6f 75  tory.  After you
2fe0: 72 20 63 6f 6d 6d 69 74 20 63 6f 6d 70 6c 65 74  r commit complet
2ff0: 65 73 2c 20 66 6f 73 73 69 6c 20 77 69 6c 6c 0a  es, fossil will.
3000: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 3c 62  automatically <b
3010: 3e 70 75 73 68 3c 2f 62 3e 20 79 6f 75 72 20 63  >push</b> your c
3020: 68 61 6e 67 65 73 20 62 61 63 6b 20 74 6f 20 74  hanges back to t
3030: 68 65 20 73 65 72 76 65 72 0a 79 6f 75 20 63 6c  he server.you cl
3040: 6f 6e 65 64 20 66 72 6f 6d 20 6f 72 20 77 68 61  oned from or wha
3050: 74 65 76 65 72 20 73 65 72 76 65 72 20 79 6f 75  tever server you
3060: 20 6d 6f 73 74 20 72 65 63 65 6e 74 6c 79 20 73   most recently s
3070: 79 6e 63 65 64 20 77 69 74 68 2e 0a 3c 2f 70 3e  ynced with..</p>
3080: 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 57  </li>..<li><p>.W
3090: 68 65 6e 20 79 6f 75 72 20 63 6f 77 6f 72 6b 65  hen your coworke
30a0: 72 73 20 6d 61 6b 65 20 74 68 65 69 72 20 6f 77  rs make their ow
30b0: 6e 20 63 68 61 6e 67 65 73 2c 20 79 6f 75 20 63  n changes, you c
30c0: 61 6e 20 6d 65 72 67 65 20 74 68 6f 73 65 20 63  an merge those c
30d0: 68 61 6e 67 65 73 0a 69 6e 74 6f 20 79 6f 75 72  hanges.into your
30e0: 20 6c 6f 63 61 6c 20 6c 6f 63 61 6c 20 73 6f 75   local local sou
30f0: 72 63 65 20 74 72 65 65 20 75 73 69 6e 67 20 74  rce tree using t
3100: 68 65 20 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e  he <b>update</b>
3110: 20 63 6f 6d 6d 61 6e 64 2e 20 20 0a 49 6e 20 61   command.  .In a
3120: 75 74 6f 73 79 6e 63 20 6d 6f 64 65 2c 20 3c 62  utosync mode, <b
3130: 3e 75 70 64 61 74 65 3c 2f 62 3e 20 77 69 6c 6c  >update</b> will
3140: 20 66 69 72 73 74 20 67 6f 20 62 61 63 6b 20 74   first go back t
3150: 6f 20 74 68 65 20 73 65 72 76 65 72 20 79 6f 75  o the server you
3160: 0a 63 6c 6f 6e 65 64 20 66 72 6f 6d 20 6f 72 20  .cloned from or 
3170: 77 69 74 68 20 77 68 69 63 68 20 79 6f 75 20 6d  with which you m
3180: 6f 73 74 20 72 65 63 65 6e 74 6c 79 20 73 79 6e  ost recently syn
3190: 63 65 64 2c 20 61 6e 64 20 70 75 6c 6c 20 64 6f  ced, and pull do
31a0: 77 6e 20 61 6c 6c 0a 72 65 63 65 6e 74 20 63 68  wn all.recent ch
31b0: 61 6e 67 65 73 20 69 6e 74 6f 20 79 6f 75 72 20  anges into your 
31c0: 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79  local repository
31d0: 2e 20 20 54 68 65 6e 20 69 74 20 77 69 6c 6c 20  .  Then it will 
31e0: 6d 65 72 67 65 20 72 65 63 65 6e 74 0a 63 68 61  merge recent.cha
31f0: 6e 67 65 73 20 69 6e 74 6f 20 79 6f 75 72 20 6c  nges into your l
3200: 6f 63 61 6c 20 73 6f 75 72 63 65 20 74 72 65 65  ocal source tree
3210: 2e 20 20 49 66 20 79 6f 75 20 64 6f 20 61 6e 20  .  If you do an 
3220: 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20 61 6e  <b>update</b> an
3230: 64 0a 66 69 6e 64 20 74 68 61 74 20 69 74 20 6d  d.find that it m
3240: 65 73 73 65 73 20 73 6f 6d 65 74 68 69 6e 67 20  esses something 
3250: 75 70 20 69 6e 20 79 6f 75 72 20 73 6f 75 72 63  up in your sourc
3260: 65 20 74 72 65 65 20 28 70 65 72 68 61 70 73 20  e tree (perhaps 
3270: 61 20 63 6f 2d 77 6f 72 6b 65 72 0a 63 68 65 63  a co-worker.chec
3280: 6b 65 64 20 69 6e 20 69 6e 63 6f 6d 70 61 74 69  ked in incompati
3290: 62 6c 65 20 63 68 61 6e 67 65 73 29 20 79 6f 75  ble changes) you
32a0: 20 63 61 6e 20 75 73 65 20 74 68 65 20 3c 62 3e   can use the <b>
32b0: 75 6e 64 6f 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64  undo</b> command
32c0: 20 0a 74 6f 20 62 61 63 6b 20 6f 75 74 20 74 68   .to back out th
32d0: 65 20 63 68 61 6e 67 65 73 2e 0a 3c 2f 70 3e 3c  e changes..</p><
32e0: 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 52 65  /li>..<li><p>.Re
32f0: 70 65 61 74 20 61 6c 6c 20 6f 66 20 74 68 65 20  peat all of the 
3300: 61 62 6f 76 65 20 75 6e 74 69 6c 20 79 6f 75 20  above until you 
3310: 68 61 76 65 20 67 65 6e 65 72 61 74 65 64 20 67  have generated g
3320: 72 65 61 74 20 73 6f 66 74 77 61 72 65 2e 0a 3c  reat software..<
3330: 2f 70 3e 3c 2f 6c 69 3e 0a 3c 2f 6f 6c 3e 0a 0a  /p></li>.</ol>..
3340: 3c 68 33 3e 34 2e 32 20 4e 6f 6e 2d 41 75 74 6f  <h3>4.2 Non-Auto
3350: 73 79 6e 63 20 57 6f 72 6b 66 6c 6f 77 3c 2f 68  sync Workflow</h
3360: 33 3e 0a 0a 3c 70 3e 57 68 65 6e 20 61 75 74 6f  3>..<p>When auto
3370: 73 79 6e 63 20 69 73 20 64 69 73 61 62 6c 65 64  sync is disabled
3380: 2c 20 74 68 65 20 3c 62 3e 63 6f 6d 6d 69 74 3c  , the <b>commit<
3390: 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 69 73 20 64  /b> command is d
33a0: 65 63 6f 75 70 6c 65 64 20 66 72 6f 6d 0a 3c 62  ecoupled from.<b
33b0: 3e 70 75 73 68 3c 2f 62 3e 20 61 6e 64 20 74 68  >push</b> and th
33c0: 65 20 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20  e <b>update</b> 
33d0: 63 6f 6d 6d 61 6e 64 20 69 73 20 64 65 63 6f 75  command is decou
33e0: 70 6c 65 64 20 66 72 6f 6d 20 3c 62 3e 70 75 6c  pled from <b>pul
33f0: 6c 3c 2f 62 3e 2e 0a 54 68 61 74 20 6d 65 61 6e  l</b>..That mean
3400: 73 20 79 6f 75 20 68 61 76 65 20 74 6f 20 64 6f  s you have to do
3410: 20 61 20 66 65 77 20 65 78 74 72 61 20 73 74 65   a few extra ste
3420: 70 73 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 61  ps in order to a
3430: 63 63 6f 6d 70 6c 69 73 68 20 74 68 65 0a 3c 62  ccomplish the.<b
3440: 3e 70 75 73 68 3c 2f 62 3e 20 61 6e 64 20 3c 62  >push</b> and <b
3450: 3e 70 75 6c 6c 3c 2f 62 3e 20 74 61 73 6b 73 20  >pull</b> tasks 
3460: 6d 61 6e 75 61 6c 6c 79 2e 3c 2f 70 3e 0a 0a 3c  manually.</p>..<
3470: 6f 6c 3e 0a 3c 6c 69 3e 3c 70 3e 0a 45 73 74 61  ol>.<li><p>.Esta
3480: 62 6c 69 73 68 20 61 20 6c 6f 63 61 6c 20 72 65  blish a local re
3490: 70 6f 73 69 74 6f 72 79 20 75 73 69 6e 67 20 65  pository using e
34a0: 69 74 68 65 72 20 74 68 65 20 3c 62 3e 6e 65 77  ither the <b>new
34b0: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 0a 74 6f 20  </b> command.to 
34c0: 73 74 61 72 74 20 61 20 6e 65 77 20 70 72 6f 6a  start a new proj
34d0: 65 63 74 2c 20 6f 72 20 74 68 65 20 3c 62 3e 63  ect, or the <b>c
34e0: 6c 6f 6e 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64  lone</b> command
34f0: 20 74 6f 20 6d 61 6b 65 20 61 20 63 6c 6f 6e 65   to make a clone
3500: 0a 6f 66 20 61 20 72 65 70 6f 73 69 74 6f 72 79  .of a repository
3510: 20 66 6f 72 20 61 6e 20 65 78 69 73 74 69 6e 67   for an existing
3520: 20 70 72 6f 6a 65 63 74 2e 20 20 20 54 68 65 20   project.   The 
3530: 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 20  default setting 
3540: 66 6f 72 0a 61 20 6e 65 77 20 72 65 70 6f 73 69  for.a new reposi
3550: 74 6f 72 79 20 69 73 20 77 69 74 68 20 61 75 74  tory is with aut
3560: 6f 73 79 6e 63 20 6f 6e 2c 20 73 6f 20 79 6f 75  osync on, so you
3570: 20 77 69 6c 6c 20 6e 65 65 64 20 74 6f 20 74 75   will need to tu
3580: 72 6e 20 69 74 20 6f 66 66 0a 75 73 69 6e 67 20  rn it off.using 
3590: 74 68 65 20 3c 62 3e 73 65 74 74 69 6e 67 20 61  the <b>setting a
35a0: 75 74 6f 73 79 6e 63 20 6f 66 66 3c 2f 62 3e 20  utosync off</b> 
35b0: 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 61 20 3c  command with a <
35c0: 62 3e 2d 52 3c 2f 62 3e 20 6f 70 74 69 6f 6e 0a  b>-R</b> option.
35d0: 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 72  to specify the r
35e0: 65 70 6f 73 69 74 6f 72 79 2e 0a 3c 2f 70 3e 3c  epository..</p><
35f0: 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 45 73  /li>..<li><p>.Es
3600: 74 61 62 6c 69 73 68 20 6f 6e 65 20 6f 72 20 6d  tablish one or m
3610: 6f 72 65 20 73 6f 75 72 63 65 20 74 72 65 65 73  ore source trees
3620: 20 62 79 20 63 68 61 6e 67 69 6e 67 20 79 6f 75   by changing you
3630: 72 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74  r working direct
3640: 6f 72 79 0a 74 6f 20 77 68 65 72 65 20 79 6f 75  ory.to where you
3650: 20 77 61 6e 74 20 74 68 65 20 72 6f 6f 74 20 6f   want the root o
3660: 66 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 65  f the source tre
3670: 65 20 74 6f 20 62 65 2c 20 74 68 65 6e 20 69 73  e to be, then is
3680: 73 75 69 6e 67 0a 74 68 65 20 3c 62 3e 6f 70 65  suing.the <b>ope
3690: 6e 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 77 69  n</b> command wi
36a0: 74 68 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  th the name of t
36b0: 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 66 69  he repository fi
36c0: 6c 65 20 61 73 20 69 74 73 0a 61 72 67 75 6d 65  le as its.argume
36d0: 6e 74 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c  nt..</p></li>..<
36e0: 6c 69 3e 3c 70 3e 0a 54 68 65 20 3c 62 3e 6f 70  li><p>.The <b>op
36f0: 65 6e 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 69  en</b> command i
3700: 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 73  n the previous s
3710: 74 65 70 20 70 6f 70 75 6c 61 74 65 73 20 79 6f  tep populates yo
3720: 75 72 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65 0a  ur local source.
3730: 74 72 65 65 20 77 69 74 68 20 61 20 63 6f 70 79  tree with a copy
3740: 20 6f 66 20 74 68 65 20 6c 61 74 65 73 74 20 62   of the latest b
3750: 61 73 65 6c 69 6e 65 2e 20 20 55 73 75 61 6c 6c  aseline.  Usuall
3760: 79 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79  y this is what y
3770: 6f 75 20 77 61 6e 74 2e 0a 49 6e 20 74 68 65 20  ou want..In the 
3780: 72 61 72 65 20 63 61 73 65 73 20 77 68 65 72 65  rare cases where
3790: 20 69 74 20 69 73 20 6e 6f 74 2c 20 75 73 65 20   it is not, use 
37a0: 74 68 65 20 3c 62 3e 75 70 64 61 74 65 3c 2f 62  the <b>update</b
37b0: 3e 20 63 6f 6d 6d 61 6e 64 20 74 6f 0a 73 77 69  > command to.swi
37c0: 74 63 68 20 74 6f 20 61 20 6e 65 77 20 62 61 73  tch to a new bas
37d0: 65 6c 69 6e 65 2e 20 20 55 73 65 20 74 68 65 20  eline.  Use the 
37e0: 3c 62 3e 74 69 6d 65 6c 69 6e 65 3c 2f 62 3e 20  <b>timeline</b> 
37f0: 6f 72 20 3c 62 3e 6c 65 61 76 65 73 3c 2f 62 3e  or <b>leaves</b>
3800: 20 63 6f 6d 6d 61 6e 64 73 0a 74 6f 20 69 64 65   commands.to ide
3810: 6e 74 69 66 79 20 61 6c 74 65 72 6e 61 74 69 76  ntify alternativ
3820: 65 20 62 61 73 65 6c 69 6e 65 73 20 74 6f 20 73  e baselines to s
3830: 77 69 74 63 68 20 74 6f 2e 0a 3c 2f 70 3e 3c 2f  witch to..</p></
3840: 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 45 64 69  li>..<li><p>.Edi
3850: 74 20 74 68 65 20 63 6f 64 65 2e 20 20 41 64 64  t the code.  Add
3860: 20 6e 65 77 20 66 69 6c 65 73 20 74 6f 20 74 68   new files to th
3870: 65 20 73 6f 75 72 63 65 20 74 72 65 65 20 75 73  e source tree us
3880: 69 6e 67 20 74 68 65 20 3c 62 3e 61 64 64 3c 2f  ing the <b>add</
3890: 62 3e 0a 63 6f 6d 6d 61 6e 64 2e 20 20 4f 6d 69  b>.command.  Omi
38a0: 74 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 75 74  t files from fut
38b0: 75 72 65 20 62 61 73 65 6c 69 6e 65 73 20 75 73  ure baselines us
38c0: 69 6e 67 20 74 68 65 20 3c 62 3e 72 6d 3c 2f 62  ing the <b>rm</b
38d0: 3e 20 63 6f 6d 6d 61 6e 64 2e 0a 28 45 76 65 6e  > command..(Even
38e0: 20 77 68 65 6e 20 79 6f 75 20 72 65 6d 6f 76 65   when you remove
38f0: 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 75 74 75   files from futu
3900: 72 65 20 62 61 73 65 6c 69 6e 65 73 2c 20 74 68  re baselines, th
3910: 6f 73 65 20 66 69 6c 65 73 20 63 6f 6e 74 69 6e  ose files contin
3920: 75 65 0a 74 6f 20 65 78 69 73 74 20 69 6e 20 68  ue.to exist in h
3930: 69 73 74 6f 72 69 63 61 6c 20 62 61 73 65 6c 69  istorical baseli
3940: 6e 65 73 2e 29 20 20 54 65 73 74 20 79 6f 75 72  nes.)  Test your
3950: 20 63 68 61 6e 67 65 73 2e 0a 3c 2f 70 3e 3c 2f   changes..</p></
3960: 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 43 72 65  li>..<li><p>.Cre
3970: 61 74 65 20 61 20 6e 65 77 20 62 61 73 65 6c 69  ate a new baseli
3980: 6e 65 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e  ne using the <b>
3990: 63 6f 6d 6d 69 74 3c 2f 62 3e 20 63 6f 6d 6d 61  commit</b> comma
39a0: 6e 64 2e 20 20 59 6f 75 20 77 69 6c 6c 20 62 65  nd.  You will be
39b0: 20 70 72 6f 6d 70 74 65 64 0a 66 6f 72 20 61 20   prompted.for a 
39c0: 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74  check-in comment
39d0: 20 61 6e 64 20 61 6c 73 6f 20 66 6f 72 20 79 6f   and also for yo
39e0: 75 72 20 47 50 47 20 6b 65 79 20 69 66 20 79 6f  ur GPG key if yo
39f0: 75 20 68 61 76 65 20 47 50 47 20 69 6e 73 74 61  u have GPG insta
3a00: 6c 6c 65 64 2e 0a 54 68 65 20 63 6f 6d 6d 69 74  lled..The commit
3a10: 20 63 6f 70 69 65 73 20 74 68 65 20 65 64 69 74   copies the edit
3a20: 73 20 79 6f 75 20 68 61 76 65 20 6d 61 64 65 20  s you have made 
3a30: 69 6e 20 79 6f 75 72 20 6c 6f 63 61 6c 20 73 6f  in your local so
3a40: 75 72 63 65 0a 74 72 65 65 20 69 6e 74 6f 20 79  urce.tree into y
3a50: 6f 75 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69  our local reposi
3a60: 74 6f 72 79 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a  tory..</p></li>.
3a70: 0a 3c 6c 69 3e 3c 70 3e 55 73 65 20 74 68 65 20  .<li><p>Use the 
3a80: 3c 62 3e 70 75 73 68 3c 2f 62 3e 20 63 6f 6d 6d  <b>push</b> comm
3a90: 61 6e 64 20 74 6f 20 70 75 73 68 20 79 6f 75 72  and to push your
3aa0: 20 63 68 61 6e 67 65 73 20 6f 75 74 20 74 6f 20   changes out to 
3ab0: 61 20 73 65 72 76 65 72 0a 77 68 65 72 65 20 79  a server.where y
3ac0: 6f 75 72 20 63 6f 2d 77 6f 72 6b 65 72 73 20 63  our co-workers c
3ad0: 61 6e 20 61 63 63 65 73 73 20 74 68 65 6d 2e 0a  an access them..
3ae0: 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c  </p></li>..<li><
3af0: 70 3e 0a 57 68 65 6e 20 63 6f 2d 77 6f 72 6b 65  p>.When co-worke
3b00: 72 73 20 6d 61 6b 65 20 74 68 65 69 72 20 6f 77  rs make their ow
3b10: 6e 20 63 68 61 6e 67 65 73 2c 20 75 73 65 20 74  n changes, use t
3b20: 68 65 20 3c 62 3e 70 75 6c 6c 3c 2f 62 3e 20 63  he <b>pull</b> c
3b30: 6f 6d 6d 61 6e 64 0a 74 6f 20 70 75 6c 6c 20 74  ommand.to pull t
3b40: 68 6f 73 65 20 63 68 61 6e 67 65 73 20 69 6e 74  hose changes int
3b50: 6f 20 79 6f 75 72 20 6c 6f 63 61 6c 20 72 65 70  o your local rep
3b60: 6f 73 69 74 6f 72 79 2e 20 20 4e 6f 74 65 20 74  ository.  Note t
3b70: 68 61 74 20 3c 62 3e 70 75 6c 6c 3c 2f 62 3e 0a  hat <b>pull</b>.
3b80: 64 6f 65 73 20 6e 6f 74 20 6d 6f 76 65 20 74 68  does not move th
3b90: 65 20 63 68 61 6e 67 65 73 20 69 6e 74 6f 20 79  e changes into y
3ba0: 6f 75 72 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65  our local source
3bb0: 20 74 72 65 65 2c 20 6f 6e 6c 79 20 69 6e 74 6f   tree, only into
3bc0: 20 79 6f 75 72 0a 6c 6f 63 61 6c 20 72 65 70 6f   your.local repo
3bd0: 73 69 74 6f 72 79 2e 0a 3c 2f 70 3e 3c 2f 6c 69  sitory..</p></li
3be0: 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 4f 6e 63 65 20  >..<li><p>.Once 
3bf0: 63 68 61 6e 67 65 73 20 61 72 65 20 69 6e 20 79  changes are in y
3c00: 6f 75 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69  our local reposi
3c10: 74 6f 72 79 2c 20 75 73 65 0a 75 73 65 20 74 68  tory, use.use th
3c20: 65 20 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20  e <b>update</b> 
3c30: 63 6f 6d 6d 61 6e 64 20 74 6f 20 6d 65 72 67 65  command to merge
3c40: 20 74 68 65 6d 20 74 6f 20 79 6f 75 72 20 6c 6f   them to your lo
3c50: 63 61 6c 20 73 6f 75 72 63 65 20 74 72 65 65 2e  cal source tree.
3c60: 0a 49 66 20 79 6f 75 20 6d 65 72 67 65 20 69 6e  .If you merge in
3c70: 20 73 6f 6d 65 20 63 68 61 6e 67 65 73 20 61 6e   some changes an
3c80: 64 20 66 69 6e 64 20 74 68 61 74 20 74 68 65 20  d find that the 
3c90: 63 68 61 6e 67 65 73 20 64 6f 20 6e 6f 74 20 77  changes do not w
3ca0: 6f 72 6b 20 6f 75 74 0a 6f 72 20 61 72 65 20 6e  ork out.or are n
3cb0: 6f 74 20 74 6f 20 79 6f 75 72 20 6c 69 6b 69 6e  ot to your likin
3cc0: 67 2c 20 79 6f 75 20 63 61 6e 20 62 61 63 6b 20  g, you can back 
3cd0: 6f 75 74 20 74 68 65 20 63 68 61 6e 67 65 73 20  out the changes 
3ce0: 75 73 69 6e 67 20 74 68 65 0a 3c 62 3e 75 6e 64  using the.<b>und
3cf0: 6f 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 2e 0a 3c  o</b> command..<
3d00: 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70  /p></li>..<li><p
3d10: 3e 0a 52 65 70 65 61 74 20 61 6c 6c 20 6f 66 20  >.Repeat all of 
3d20: 74 68 65 20 61 62 6f 76 65 20 75 6e 74 69 6c 20  the above until 
3d30: 79 6f 75 20 68 61 76 65 20 67 65 6e 65 72 61 74  you have generat
3d40: 65 64 20 67 72 65 61 74 20 73 6f 66 74 77 61 72  ed great softwar
3d50: 65 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 3c 2f 6f  e..</p></li>.</o
3d60: 6c 3e 0a 0a 3c 68 32 3e 35 2e 30 20 53 65 74 74  l>..<h2>5.0 Sett
3d70: 69 6e 67 20 55 70 20 41 20 46 6f 73 73 69 6c 20  ing Up A Fossil 
3d80: 53 65 72 76 65 72 3c 2f 68 32 3e 0a 0a 3c 70 3e  Server</h2>..<p>
3d90: 57 69 74 68 20 6f 74 68 65 72 20 63 6f 6e 66 69  With other confi
3da0: 67 75 72 61 74 69 6f 6e 20 6d 61 6e 61 67 65 6d  guration managem
3db0: 65 6e 74 20 73 6f 66 74 77 61 72 65 2c 20 73 65  ent software, se
3dc0: 74 74 69 6e 67 20 75 70 20 61 20 73 65 72 76 65  tting up a serve
3dd0: 72 20 69 73 0a 61 20 6c 6f 74 20 6f 66 20 77 6f  r is.a lot of wo
3de0: 72 6b 20 61 6e 64 20 6e 6f 72 6d 61 6c 6c 79 20  rk and normally 
3df0: 74 61 6b 65 73 20 74 69 6d 65 2c 20 70 61 74 69  takes time, pati
3e00: 65 6e 63 65 2c 20 61 6e 64 20 61 20 6c 6f 74 20  ence, and a lot 
3e10: 6f 66 20 73 79 73 74 65 6d 0a 6b 6e 6f 77 6c 65  of system.knowle
3e20: 64 67 65 2e 20 20 46 6f 73 73 69 6c 20 69 73 20  dge.  Fossil is 
3e30: 64 65 73 69 67 6e 65 64 20 74 6f 20 61 76 6f 69  designed to avoi
3e40: 64 20 74 68 69 73 20 66 72 75 73 74 72 61 74 69  d this frustrati
3e50: 6f 6e 2e 20 20 53 65 74 74 69 6e 67 20 75 70 0a  on.  Setting up.
3e60: 61 20 73 65 72 76 65 72 20 77 69 74 68 20 66 6f  a server with fo
3e70: 73 73 69 6c 20 69 73 20 72 69 64 69 63 75 6c 6f  ssil is ridiculo
3e80: 75 73 6c 79 20 65 61 73 79 2e 20 20 59 6f 75 20  usly easy.  You 
3e90: 68 61 76 65 20 74 68 72 65 65 20 6f 70 74 69 6f  have three optio
3ea0: 6e 73 3a 3c 2f 70 3e 0a 0a 3c 6f 6c 3e 0a 3c 6c  ns:</p>..<ol>.<l
3eb0: 69 3e 3c 70 3e 3c 62 3e 53 65 74 74 69 6e 67 20  i><p><b>Setting 
3ec0: 75 70 20 61 20 73 74 61 6e 64 2d 61 6c 6f 6e 65  up a stand-alone
3ed0: 20 73 65 72 76 65 72 3c 2f 62 3e 3c 2f 70 3e 0a   server</b></p>.
3ee0: 0a 3c 70 3e 46 72 6f 6d 20 77 69 74 68 69 6e 20  .<p>From within 
3ef0: 79 6f 75 72 20 73 6f 75 72 63 65 20 74 72 65 65  your source tree
3f00: 20 6a 75 73 74 20 75 73 65 20 74 68 65 20 3c 62   just use the <b
3f10: 3e 73 65 72 76 65 72 3c 2f 62 3e 20 63 6f 6d 6d  >server</b> comm
3f20: 61 6e 64 20 61 6e 64 0a 66 6f 73 73 69 6c 20 77  and and.fossil w
3f30: 69 6c 6c 20 73 74 61 72 74 20 6c 69 73 74 65 6e  ill start listen
3f40: 69 6e 67 20 66 6f 72 20 69 6e 63 6f 6d 69 6e 67  ing for incoming
3f50: 20 72 65 71 75 65 73 74 73 20 6f 6e 20 54 43 50   requests on TCP
3f60: 20 70 6f 72 74 20 38 30 38 30 2e 0a 59 6f 75 20   port 8080..You 
3f70: 63 61 6e 20 70 6f 69 6e 74 20 79 6f 75 72 20 77  can point your w
3f80: 65 62 20 62 72 6f 77 73 65 72 20 61 74 20 3c 61  eb browser at <a
3f90: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 6c 6f   href="http://lo
3fa0: 63 61 6c 68 6f 73 74 3a 38 30 38 30 2f 22 3e 0a  calhost:8080/">.
3fb0: 68 74 74 70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74  http://localhost
3fc0: 3a 38 30 38 30 2f 3c 2f 61 3e 20 61 6e 64 20 62  :8080/</a> and b
3fd0: 65 67 69 6e 20 65 78 70 6c 6f 72 69 6e 67 2e 20  egin exploring. 
3fe0: 20 4f 72 20 79 6f 75 72 20 63 6f 77 6f 72 6b 65   Or your coworke
3ff0: 72 73 0a 63 61 6e 20 64 6f 20 70 75 73 68 65 73  rs.can do pushes
4000: 20 6f 72 20 70 75 6c 6c 73 20 61 67 61 69 6e 73   or pulls agains
4010: 74 20 79 6f 75 72 20 73 65 72 76 65 72 2e 20 20  t your server.  
4020: 55 73 65 20 74 68 65 20 3c 62 3e 2d 2d 70 6f 72  Use the <b>--por
4030: 74 3c 2f 62 3e 0a 6f 70 74 69 6f 6e 20 74 6f 20  t</b>.option to 
4040: 74 68 65 20 73 65 72 76 65 72 20 63 6f 6d 6d 61  the server comma
4050: 6e 64 20 74 6f 20 73 70 65 63 69 66 79 20 61 20  nd to specify a 
4060: 64 69 66 66 65 72 65 6e 74 20 54 43 50 20 70 6f  different TCP po
4070: 72 74 2e 20 20 49 66 0a 79 6f 75 20 64 6f 20 6e  rt.  If.you do n
4080: 6f 74 20 68 61 76 65 20 61 20 6c 6f 63 61 6c 20  ot have a local 
4090: 73 6f 75 72 63 65 20 74 72 65 65 2c 20 75 73 65  source tree, use
40a0: 20 74 68 65 20 3c 62 3e 2d 52 3c 2f 62 3e 20 63   the <b>-R</b> c
40b0: 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 0a 6f 70 74 69  ommand-line.opti
40c0: 6f 6e 20 74 6f 20 73 70 65 63 69 66 79 20 74 68  on to specify th
40d0: 65 20 72 65 70 6f 73 69 74 6f 72 79 20 66 69 6c  e repository fil
40e0: 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 41 20 73 74 61  e.</p>..<p>A sta
40f0: 6e 64 2d 61 6c 6f 6e 65 20 73 65 72 76 65 72 20  nd-alone server 
4100: 69 73 20 61 20 67 72 65 61 74 20 77 61 79 20 74  is a great way t
4110: 6f 20 73 65 74 20 6f 66 20 74 72 61 6e 73 69 65  o set of transie
4120: 6e 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 0a 62  nt connections.b
4130: 65 74 77 65 65 6e 20 63 6f 77 6f 72 6b 65 72 73  etween coworkers
4140: 20 66 6f 72 20 64 6f 69 6e 67 20 71 75 69 63 6b   for doing quick
4150: 20 70 75 73 68 65 73 20 6f 72 20 70 75 6c 6c 73   pushes or pulls
4160: 2e 20 20 42 75 74 20 79 6f 75 20 63 61 6e 20 61  .  But you can a
4170: 6c 73 6f 0a 73 65 74 20 75 70 20 61 20 70 65 72  lso.set up a per
4180: 6d 61 6e 65 6e 74 20 73 74 61 6e 64 2d 61 6c 6f  manent stand-alo
4190: 6e 65 20 73 65 72 76 65 72 20 69 66 20 79 6f 75  ne server if you
41a0: 20 70 72 65 66 65 72 2e 20 20 4a 75 73 74 20 6d   prefer.  Just m
41b0: 61 6b 65 0a 61 72 72 61 6e 67 65 6d 65 6e 74 73  ake.arrangements
41c0: 20 66 6f 72 20 66 6f 73 73 69 6c 20 74 6f 20 62   for fossil to b
41d0: 65 20 6c 61 75 6e 63 68 65 64 20 77 69 74 68 20  e launched with 
41e0: 61 70 70 72 6f 70 72 69 61 74 65 20 61 72 67 75  appropriate argu
41f0: 6d 65 6e 74 73 0a 61 66 74 65 72 20 65 76 65 72  ments.after ever
4200: 79 20 72 65 62 6f 6f 74 2e 3c 2f 70 3e 0a 3c 2f  y reboot.</p>.</
4210: 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 3c 62 3e 53  li>..<li><p><b>S
4220: 65 74 74 69 6e 67 20 75 70 20 61 20 43 47 49 20  etting up a CGI 
4230: 73 65 72 76 65 72 3c 2f 62 3e 3c 2f 70 3e 0a 0a  server</b></p>..
4240: 3c 70 3e 49 66 20 79 6f 75 20 68 61 76 65 20 61  <p>If you have a
4250: 20 77 65 62 73 65 72 76 65 72 20 72 75 6e 6e 69   webserver runni
4260: 6e 67 20 6f 6e 20 79 6f 75 72 20 6d 61 63 68 69  ng on your machi
4270: 6e 65 20 61 6c 72 65 61 64 79 2c 20 79 6f 75 20  ne already, you 
4280: 63 61 6e 0a 73 65 74 20 75 70 20 66 6f 73 73 69  can.set up fossi
4290: 6c 20 74 6f 20 62 65 20 72 75 6e 20 66 72 6f 6d  l to be run from
42a0: 20 43 47 49 2e 20 20 53 69 6d 70 6c 79 20 63 72   CGI.  Simply cr
42b0: 65 61 74 65 20 61 6e 20 65 78 65 63 75 74 61 62  eate an executab
42c0: 6c 65 20 73 63 72 69 70 74 0a 74 68 61 74 20 6c  le script.that l
42d0: 6f 6f 6b 73 20 73 6f 6d 65 74 68 69 6e 67 20 6c  ooks something l
42e0: 69 6b 65 20 74 68 69 73 3a 3c 2f 70 3e 0a 0a 3c  ike this:</p>..<
42f0: 62 6c 6f 63 6b 71 75 6f 74 65 3e 3c 70 72 65 3e  blockquote><pre>
4300: 0a 23 21 2f 75 73 72 2f 6c 6f 63 61 6c 2f 62 69  .#!/usr/local/bi
4310: 6e 2f 66 6f 73 73 69 6c 0a 72 65 70 6f 73 69 74  n/fossil.reposit
4320: 6f 72 79 3a 20 2f 68 6f 6d 65 2f 6d 65 2f 62 69  ory: /home/me/bi
4330: 67 70 72 6f 6a 65 63 74 2e 66 6f 73 73 69 6c 0a  gproject.fossil.
4340: 3c 2f 70 72 65 3e 3c 2f 62 6c 6f 63 6b 71 75 6f  </pre></blockquo
4350: 74 65 3e 0a 0a 3c 70 3e 45 64 69 74 20 74 68 69  te>..<p>Edit thi
4360: 73 20 73 63 72 69 70 74 20 74 6f 20 75 73 65 20  s script to use 
4370: 77 68 61 74 65 76 65 72 20 70 61 74 68 6e 61 6d  whatever pathnam
4380: 65 73 20 61 72 65 20 61 70 70 72 6f 70 72 69 61  es are appropria
4390: 74 65 20 66 6f 72 0a 79 6f 75 72 20 70 72 6f 6a  te for.your proj
43a0: 65 63 74 2e 20 20 54 68 65 6e 20 70 6f 69 6e 74  ect.  Then point
43b0: 20 79 6f 75 72 20 77 65 62 20 62 72 6f 77 73 65   your web browse
43c0: 72 20 61 74 20 74 68 65 20 73 63 72 69 70 74 20  r at the script 
43d0: 61 6e 64 20 6f 66 66 20 79 6f 75 0a 67 6f 2e 3c  and off you.go.<
43e0: 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70  /p></li>..<li><p
43f0: 3e 3c 62 3e 53 65 74 74 69 6e 67 20 75 70 20 61  ><b>Setting up a
4400: 6e 20 69 6e 65 74 64 20 73 65 72 76 65 72 3c 2f  n inetd server</
4410: 62 3e 3c 2f 70 3e 0a 0a 3c 70 3e 49 66 20 79 6f  b></p>..<p>If yo
4420: 75 20 68 61 76 65 20 69 6e 65 74 64 20 6f 72 20  u have inetd or 
4430: 78 69 6e 65 74 64 20 72 75 6e 6e 69 6e 67 20 6f  xinetd running o
4440: 6e 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 20 79  n your system, y
4450: 6f 75 20 63 61 6e 20 73 65 74 0a 74 68 6f 73 65  ou can set.those
4460: 20 73 65 72 76 69 63 65 73 20 75 70 20 74 6f 20   services up to 
4470: 6c 61 75 6e 63 68 20 66 6f 73 73 69 6c 20 74 6f  launch fossil to
4480: 20 64 65 61 6c 20 77 69 74 68 20 69 6e 62 6f 75   deal with inbou
4490: 6e 64 20 54 43 50 2f 49 50 20 63 6f 6e 6e 65 63  nd TCP/IP connec
44a0: 74 69 6f 6e 73 0a 6f 6e 20 77 68 61 74 65 76 65  tions.on whateve
44b0: 72 20 70 6f 72 74 20 79 6f 75 20 77 61 6e 74 2e  r port you want.
44c0: 20 20 53 65 74 20 75 70 20 69 6e 65 74 64 20 6f    Set up inetd o
44d0: 72 20 78 69 6e 65 74 64 20 74 6f 20 6c 61 75 6e  r xinetd to laun
44e0: 63 68 20 66 6f 73 73 69 6c 0a 6c 69 6b 65 20 74  ch fossil.like t
44f0: 68 69 73 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b  his:</p>..<block
4500: 71 75 6f 74 65 3e 3c 70 72 65 3e 0a 2f 75 73 72  quote><pre>./usr
4510: 2f 6c 6f 63 61 6c 2f 62 69 6e 2f 66 6f 73 73 69  /local/bin/fossi
4520: 6c 20 68 74 74 70 20 2f 68 6f 6d 65 2f 6d 65 2f  l http /home/me/
4530: 62 69 67 70 72 6f 6a 65 63 74 2e 66 6f 73 73 69  bigproject.fossi
4540: 6c 0a 3c 2f 70 72 65 3e 3c 2f 62 6c 6f 63 6b 71  l.</pre></blockq
4550: 75 6f 74 65 3e 0a 0a 3c 70 3e 41 73 20 62 65 66  uote>..<p>As bef
4560: 6f 72 65 2c 20 63 68 61 6e 67 65 20 74 68 65 20  ore, change the 
4570: 66 69 6c 65 6e 61 6d 65 73 20 74 6f 20 77 68 61  filenames to wha
4580: 74 65 76 65 72 20 69 73 20 61 70 70 72 6f 70 72  tever is appropr
4590: 69 61 74 65 20 66 6f 72 0a 79 6f 75 72 20 73 79  iate for.your sy
45a0: 73 74 65 6d 2e 20 20 59 6f 75 20 63 61 6e 20 68  stem.  You can h
45b0: 61 76 65 20 66 6f 73 73 69 6c 20 72 75 6e 20 61  ave fossil run a
45c0: 73 20 61 6e 79 20 75 73 65 72 20 74 68 61 74 20  s any user that 
45d0: 68 61 73 20 77 72 69 74 65 0a 70 65 72 6d 69 73  has write.permis
45e0: 73 69 6f 6e 20 6f 6e 20 74 68 65 20 72 65 70 6f  sion on the repo
45f0: 73 69 74 6f 72 79 20 61 6e 64 20 6f 6e 20 74 68  sitory and on th
4600: 65 20 64 69 72 65 63 74 6f 72 79 20 74 68 61 74  e directory that
4610: 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 72 65   contains the.re
4620: 70 6f 73 69 74 6f 72 79 2e 20 20 42 75 74 20 69  pository.  But i
4630: 74 20 69 73 20 73 61 66 65 72 20 74 6f 20 72 75  t is safer to ru
4640: 6e 20 66 6f 73 73 69 6c 20 61 73 20 72 6f 6f 74  n fossil as root
4650: 2e 20 20 57 68 65 6e 20 66 6f 73 73 69 6c 0a 73  .  When fossil.s
4660: 65 65 73 20 74 68 61 74 20 69 74 20 69 73 20 72  ees that it is r
4670: 75 6e 6e 69 6e 67 20 61 73 20 72 6f 6f 74 2c 20  unning as root, 
4680: 69 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  it automatically
4690: 20 70 75 74 73 20 69 74 73 65 6c 66 20 69 6e 74   puts itself int
46a0: 6f 0a 61 20 3c 61 20 68 72 65 66 3d 22 68 74 74  o.a <a href="htt
46b0: 70 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61  p://en.wikipedia
46c0: 2e 6f 72 67 2f 77 69 6b 69 2f 43 68 72 6f 6f 74  .org/wiki/Chroot
46d0: 22 3e 63 68 72 6f 6f 74 20 6a 61 69 6c 3c 2f 61  ">chroot jail</a
46e0: 3e 20 61 6e 64 0a 64 72 6f 70 73 20 61 6c 6c 20  > and.drops all 
46f0: 70 72 69 76 69 6c 65 67 65 73 20 70 72 69 6f 72  privileges prior
4700: 20 74 6f 20 72 65 61 64 69 6e 67 20 61 6e 79 20   to reading any 
4710: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d  information from
4720: 20 74 68 65 20 63 6c 69 65 6e 74 2e 0a 53 69 6e   the client..Sin
4730: 63 65 20 66 6f 73 73 69 6c 20 69 73 20 61 20 73  ce fossil is a s
4740: 74 61 6e 64 2d 61 6c 6f 6e 65 20 70 72 6f 67 72  tand-alone progr
4750: 61 6d 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 20 6e  am, you do not n
4760: 65 65 64 20 74 6f 20 70 75 74 20 61 6e 79 74 68  eed to put anyth
4770: 69 6e 67 0a 69 6e 20 74 68 65 20 63 68 72 6f 6f  ing.in the chroo
4780: 74 20 6a 61 69 6c 20 77 69 74 68 20 66 6f 73 73  t jail with foss
4790: 69 6c 20 69 6e 20 6f 72 64 65 72 20 66 6f 72 20  il in order for 
47a0: 69 74 20 74 6f 20 64 6f 20 69 74 73 20 6a 6f 62  it to do its job
47b0: 2e 3c 2f 70 3e 0a 3c 2f 6c 69 3e 0a 3c 2f 6f 6c  .</p>.</li>.</ol
47c0: 3e 0a 0a 3c 68 32 3e 36 2e 30 20 52 65 76 69 65  >..<h2>6.0 Revie
47d0: 77 20 4f 66 20 4b 65 79 20 43 6f 6e 63 65 70 74  w Of Key Concept
47e0: 73 3c 2f 68 32 3e 0a 0a 3c 75 6c 3e 0a 3c 6c 69  s</h2>..<ul>.<li
47f0: 3e 54 68 65 20 3c 62 3e 66 6f 73 73 69 6c 3c 2f  >The <b>fossil</
4800: 62 3e 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20  b> program is a 
4810: 73 65 6c 66 2d 63 6f 6e 74 61 69 6e 65 64 20 73  self-contained s
4820: 74 61 6e 64 2d 61 6c 6f 6e 65 20 65 78 65 63 75  tand-alone execu
4830: 74 61 62 6c 65 2e 0a 20 20 20 20 4a 75 73 74 20  table..    Just 
4840: 70 75 74 20 69 74 20 73 6f 6d 65 77 68 65 72 65  put it somewhere
4850: 20 6f 6e 20 79 6f 75 72 20 50 41 54 48 20 74 6f   on your PATH to
4860: 20 69 6e 73 74 61 6c 6c 20 69 74 2e 3c 2f 6c 69   install it.</li
4870: 3e 0a 3c 6c 69 3e 55 73 65 20 74 68 65 20 3c 62  >.<li>Use the <b
4880: 3e 63 6c 6f 6e 65 3c 2f 62 3e 20 6f 72 20 3c 62  >clone</b> or <b
4890: 3e 6e 65 77 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64  >new</b> command
48a0: 73 20 74 6f 20 63 72 65 61 74 65 20 61 20 6e 65  s to create a ne
48b0: 77 20 72 65 70 6f 73 69 74 6f 72 79 2e 3c 2f 6c  w repository.</l
48c0: 69 3e 0a 3c 6c 69 3e 55 73 65 20 74 68 65 20 3c  i>.<li>Use the <
48d0: 62 3e 6f 70 65 6e 3c 2f 62 3e 20 63 6f 6d 6d 61  b>open</b> comma
48e0: 6e 64 20 74 6f 20 63 72 65 61 74 65 20 61 20 6e  nd to create a n
48f0: 65 77 20 73 6f 75 72 63 65 20 74 72 65 65 2e 3c  ew source tree.<
4900: 2f 6c 69 3e 0a 3c 6c 69 3e 55 73 65 20 74 68 65  /li>.<li>Use the
4910: 20 3c 62 3e 61 64 64 3c 2f 62 3e 20 61 6e 64 20   <b>add</b> and 
4920: 3c 62 3e 72 6d 3c 2f 62 3e 20 6f 72 20 3c 62 3e  <b>rm</b> or <b>
4930: 64 65 6c 65 74 65 3c 2f 62 3e 20 63 6f 6d 6d 61  delete</b> comma
4940: 6e 64 73 20 74 6f 20 61 64 64 20 61 6e 64 0a 20  nds to add and. 
4950: 20 20 20 72 65 6d 6f 76 65 20 66 69 6c 65 73 20     remove files 
4960: 66 72 6f 6d 20 74 68 65 20 6c 6f 63 61 6c 20 73  from the local s
4970: 6f 75 72 63 65 20 74 72 65 65 2e 3c 2f 6c 69 3e  ource tree.</li>
4980: 0a 3c 6c 69 3e 55 73 65 20 74 68 65 20 3c 62 3e  .<li>Use the <b>
4990: 63 6f 6d 6d 69 74 3c 2f 62 3e 20 63 6f 6d 6d 61  commit</b> comma
49a0: 6e 64 20 74 6f 20 63 72 65 61 74 65 20 61 20 6e  nd to create a n
49b0: 65 77 20 62 61 73 65 6c 69 6e 65 2e 3c 2f 6c 69  ew baseline.</li
49c0: 3e 0a 3c 6c 69 3e 55 73 65 20 74 68 65 20 3c 62  >.<li>Use the <b
49d0: 3e 75 70 64 61 74 65 3c 2f 62 3e 20 63 6f 6d 6d  >update</b> comm
49e0: 61 6e 64 20 74 6f 20 6d 65 72 67 65 20 69 6e 20  and to merge in 
49f0: 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 6f 74 68  changes from oth
4a00: 65 72 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54 68  ers.</li>.<li>Th
4a10: 65 20 3c 62 3e 70 75 73 68 3c 2f 62 3e 20 61 6e  e <b>push</b> an
4a20: 64 20 3c 62 3e 70 75 6c 6c 3c 2f 62 3e 20 63 6f  d <b>pull</b> co
4a30: 6d 6d 61 6e 64 73 20 63 61 6e 20 62 65 20 75 73  mmands can be us
4a40: 65 64 20 74 6f 20 73 68 61 72 65 20 63 68 61 6e  ed to share chan
4a50: 67 65 73 0a 20 20 20 20 6d 61 6e 75 61 6c 6c 79  ges.    manually
4a60: 2c 20 62 75 74 20 74 68 65 73 65 20 74 68 69 6e  , but these thin
4a70: 67 73 20 68 61 70 70 65 6e 20 61 75 74 6f 6d 61  gs happen automa
4a80: 74 69 63 61 6c 6c 79 20 69 6e 20 74 68 65 20 64  tically in the d
4a90: 65 66 61 75 6c 74 0a 20 20 20 20 61 75 74 6f 73  efault.    autos
4aa0: 79 6e 63 20 6d 6f 64 65 2e 3c 2f 6c 69 3e 0a 3c  ync mode.</li>.<
4ab0: 2f 75 6c 3e 0a                                   /ul>.