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 62 72 6f 77 73 65 72 0a 61 t a webbrowser.a
0f50: 74 20 61 20 72 65 70 6f 73 69 74 6f 72 79 20 61 t a repository a
0f60: 6e 64 20 67 65 74 20 68 75 6d 61 6e 2d 72 65 61 nd get human-rea
0f70: 64 61 62 6c 65 20 73 74 61 74 75 73 2c 20 68 69 dable status, hi
0f80: 73 74 6f 72 79 2c 20 61 6e 64 20 74 72 61 63 6b story, and track
0f90: 69 6e 67 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 ing.information
0fa0: 61 62 6f 75 74 20 74 68 65 20 70 72 6f 6a 65 63 about the projec
0fb0: 74 2e 3c 2f 70 3e 0a 0a 3c 68 33 3e 32 2e 31 20 t.</p>..<h3>2.1
0fc0: 49 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 20 4f Identification O
0fd0: 66 20 41 72 74 69 66 61 63 74 73 3c 2f 68 33 3e f Artifacts</h3>
0fe0: 0a 0a 3c 70 3e 41 20 70 61 72 74 69 63 75 6c 61 ..<p>A particula
0ff0: 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 61 20 70 r version of a p
1000: 61 72 74 69 63 75 6c 61 72 20 66 69 6c 65 20 69 articular file i
1010: 73 20 63 61 6c 6c 65 64 20 61 6e 20 22 61 72 74 s called an "art
1020: 69 66 61 63 74 22 2e 0a 45 61 63 68 20 61 72 74 ifact"..Each art
1030: 69 66 61 63 74 20 68 61 73 20 61 20 75 6e 69 76 ifact has a univ
1040: 65 72 73 61 6c 6c 79 20 75 6e 69 71 75 65 20 6e ersally unique n
1050: 61 6d 65 20 77 68 69 63 68 20 69 73 20 74 68 65 ame which is the
1060: 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f .<a href="http:/
1070: 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 /en.wikipedia.or
1080: 67 2f 77 69 6b 69 2f 53 48 41 22 3e 53 48 41 31 g/wiki/SHA">SHA1
1090: 3c 2f 61 3e 20 68 61 73 68 20 6f 66 20 74 68 65 </a> hash of the
10a0: 20 63 6f 6e 74 65 6e 74 0a 6f 66 20 74 68 61 74 content.of that
10b0: 20 66 69 6c 65 20 65 78 70 72 65 73 73 65 64 20 file expressed
10c0: 61 73 20 34 30 20 63 68 61 72 61 63 74 65 72 73 as 40 characters
10d0: 20 6f 66 20 6c 6f 77 65 72 2d 63 61 73 65 20 68 of lower-case h
10e0: 65 78 61 64 65 63 69 6d 61 6c 2e 20 20 53 75 63 exadecimal. Suc
10f0: 68 0a 61 20 68 61 73 68 20 69 73 20 72 65 66 65 h.a hash is refe
1100: 72 72 65 64 20 74 6f 20 61 73 20 74 68 65 20 41 rred to as the A
1110: 72 74 69 66 61 63 74 20 49 64 65 6e 74 69 66 69 rtifact Identifi
1120: 65 72 20 6f 72 20 41 72 74 69 66 61 63 74 20 49 er or Artifact I
1130: 44 0a 66 6f 72 20 74 68 65 20 61 72 74 69 66 61 D.for the artifa
1140: 63 74 2e 20 20 54 68 65 20 53 48 41 31 20 61 6c ct. The SHA1 al
1150: 67 6f 72 69 74 68 6d 20 69 73 20 63 72 65 61 74 gorithm is creat
1160: 65 64 20 77 69 74 68 20 74 68 65 20 70 75 72 70 ed with the purp
1170: 6f 73 65 20 6f 66 0a 70 72 6f 76 69 64 69 6e 67 ose of.providing
1180: 20 61 20 68 69 67 68 6c 79 20 66 6f 72 67 65 72 a highly forger
1190: 79 2d 72 65 73 69 73 74 65 6e 74 20 69 64 65 6e y-resistent iden
11a0: 74 69 66 69 65 72 20 66 6f 72 20 61 20 66 69 6c tifier for a fil
11b0: 65 2e 20 20 47 69 76 65 6e 20 61 6e 79 0a 66 69 e. Given any.fi
11c0: 6c 65 20 69 74 20 69 73 20 73 69 6d 70 6c 65 20 le it is simple
11d0: 74 6f 20 66 69 6e 64 20 74 68 65 20 61 72 74 69 to find the arti
11e0: 66 61 63 74 20 49 44 20 66 6f 72 20 74 68 61 74 fact ID for that
11f0: 20 66 69 6c 65 2e 20 20 42 75 74 20 67 69 76 65 file. But give
1200: 6e 20 61 0a 61 72 74 69 66 61 63 74 20 49 44 20 n a.artifact ID
1210: 69 74 20 69 73 20 63 6f 6d 70 75 74 61 74 69 6f it is computatio
1220: 6e 61 6c 6c 79 20 69 6e 74 72 61 63 74 61 62 6c nally intractabl
1230: 65 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 20 e to generate a
1240: 66 69 6c 65 20 74 68 61 74 20 77 69 6c 6c 0a 68 file that will.h
1250: 61 76 65 20 74 68 61 74 20 41 72 74 69 66 61 63 ave that Artifac
1260: 74 20 49 44 2e 3c 2f 70 3e 0a 0a 0a 3c 70 3e 41 t ID.</p>...<p>A
1270: 72 74 69 66 61 63 74 20 49 44 73 20 6c 6f 6f 6b rtifact IDs look
1280: 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 something like
1290: 74 68 69 73 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 this:</p>..<bloc
12a0: 6b 71 75 6f 74 65 3e 3c 62 3e 0a 36 30 38 39 66 kquote><b>.6089f
12b0: 30 62 35 36 33 61 39 64 62 30 61 36 64 39 30 36 0b563a9db0a6d906
12c0: 38 32 66 65 34 37 66 64 37 31 36 31 66 66 38 36 82fe47fd7161ff86
12d0: 37 63 38 3c 62 72 3e 0a 35 39 37 31 32 36 31 34 7c8<br>.59712614
12e0: 61 31 62 33 63 63 66 64 38 34 30 37 38 61 33 37 a1b3ccfd84078a37
12f0: 66 61 35 62 36 30 36 65 32 38 34 33 34 33 32 36 fa5b606e28434326
1300: 3c 62 72 3e 0a 31 39 64 62 66 37 33 30 37 38 62 <br>.19dbf73078b
1310: 65 39 37 37 39 65 64 64 36 61 30 31 35 36 31 39 e9779edd6a015619
1320: 35 65 36 31 30 66 38 31 63 39 34 66 39 3c 62 72 5e610f81c94f9<br
1330: 3e 0a 62 34 31 30 34 39 35 39 61 36 37 31 37 35 >.b4104959a67175
1340: 66 30 32 64 36 62 34 31 35 34 38 30 62 65 32 32 f02d6b415480be22
1350: 61 32 33 39 66 31 66 30 37 37 3c 62 72 3e 0a 39 a239f1f077<br>.9
1360: 39 37 63 39 64 36 61 65 30 33 61 64 31 31 34 62 97c9d6ae03ad114b
1370: 32 62 35 37 66 30 34 65 39 65 65 65 66 31 37 64 2b57f04e9eeef17d
1380: 63 62 38 32 37 38 38 0a 3c 2f 62 3e 3c 2f 62 6c cb82788.</b></bl
1390: 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e 57 68 ockquote>..<p>Wh
13a0: 65 6e 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 en referring to
13b0: 61 6e 20 61 72 74 69 66 61 63 74 20 75 73 69 6e an artifact usin
13c0: 67 20 66 6f 73 73 69 6c 2c 20 79 6f 75 20 63 61 g fossil, you ca
13d0: 6e 20 75 73 65 20 61 20 75 6e 69 71 75 65 0a 70 n use a unique.p
13e0: 72 65 66 69 78 20 6f 66 20 74 68 65 20 61 72 74 refix of the art
13f0: 69 66 61 63 74 20 49 44 20 74 68 61 74 20 69 73 ifact ID that is
1400: 20 66 6f 75 72 20 63 68 61 72 61 63 74 65 72 73 four characters
1410: 20 6f 72 20 6c 6f 6e 67 65 72 2e 20 20 54 68 69 or longer. Thi
1420: 73 20 73 61 76 65 73 0a 61 20 6c 6f 74 20 6f 66 s saves.a lot of
1430: 20 74 79 70 69 6e 67 2e 20 20 57 68 65 6e 20 64 typing. When d
1440: 69 73 70 6c 61 79 69 6e 67 20 61 72 74 69 66 61 isplaying artifa
1450: 63 74 20 49 44 73 2c 20 66 6f 73 73 69 6c 20 77 ct IDs, fossil w
1460: 69 6c 6c 20 75 73 75 61 6c 6c 79 20 6f 6e 6c 79 ill usually only
1470: 0a 73 68 6f 77 20 74 68 65 20 66 69 72 73 74 20 .show the first
1480: 31 30 20 64 69 67 69 74 73 20 73 69 6e 63 65 20 10 digits since
1490: 74 68 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 that is normally
14a0: 20 65 6e 6f 75 67 68 20 74 6f 20 75 6e 69 71 75 enough to uniqu
14b0: 65 6c 79 0a 69 64 65 6e 74 69 66 79 20 61 20 66 ely.identify a f
14c0: 69 6c 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 43 68 61 ile.</p>..<p>Cha
14d0: 6e 67 69 6e 67 20 28 6f 72 20 61 64 64 69 6e 67 nging (or adding
14e0: 20 6f 72 20 72 65 6d 6f 76 69 6e 67 29 20 61 20 or removing) a
14f0: 73 69 6e 67 6c 65 20 62 79 74 65 20 69 6e 20 61 single byte in a
1500: 20 66 69 6c 65 20 72 65 73 75 6c 74 73 0a 69 6e file results.in
1510: 20 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69 a completely di
1520: 66 66 65 72 65 6e 74 20 61 72 74 69 66 61 63 74 fferent artifact
1530: 20 49 44 2e 20 20 41 6e 64 20 73 69 6e 63 65 20 ID. And since
1540: 74 68 65 20 61 72 74 69 66 61 63 74 20 49 44 20 the artifact ID
1550: 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 0a 74 is the name of.t
1560: 68 65 20 61 72 74 69 66 61 63 74 2c 20 6d 61 6b he artifact, mak
1570: 69 6e 67 20 61 6e 79 20 63 68 61 6e 67 65 20 74 ing any change t
1580: 6f 20 61 20 66 69 6c 65 20 72 65 73 75 6c 74 73 o a file results
1590: 20 69 6e 20 61 20 6e 65 77 20 61 72 74 69 66 61 in a new artifa
15a0: 63 74 2e 0a 49 6e 20 74 68 69 73 20 77 61 79 2c ct..In this way,
15b0: 20 61 72 74 69 66 61 63 74 73 20 61 72 65 20 69 artifacts are i
15c0: 6d 6d 75 74 61 62 6c 65 2e 3c 2f 70 3e 0a 0a 3c mmutable.</p>..<
15d0: 70 3e 41 20 72 65 70 6f 73 69 74 6f 72 79 20 69 p>A repository i
15e0: 73 20 72 65 61 6c 6c 79 20 6a 75 73 74 20 61 6e s really just an
15f0: 20 75 6e 6f 72 64 65 72 65 64 20 63 6f 6c 6c 65 unordered colle
1600: 63 74 69 6f 6e 20 6f 66 0a 61 72 74 69 66 61 63 ction of.artifac
1610: 74 73 2e 20 20 4e 65 77 20 61 72 74 69 66 61 63 ts. New artifac
1620: 74 73 20 63 61 6e 20 62 65 20 61 64 64 65 64 20 ts can be added
1630: 74 6f 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 to the repositor
1640: 79 2c 20 62 75 74 0a 65 78 69 73 74 69 6e 67 20 y, but.existing
1650: 61 72 74 69 66 61 63 74 73 20 63 61 6e 20 6e 65 artifacts can ne
1660: 76 65 72 20 62 65 20 72 65 6d 6f 76 65 64 2e 20 ver be removed.
1670: 20 46 6f 73 73 69 6c 20 69 73 20 64 65 73 69 67 Fossil is desig
1680: 6e 65 64 20 69 6e 0a 73 75 63 68 20 61 20 77 61 ned in.such a wa
1690: 79 20 74 68 61 74 20 69 74 20 63 61 6e 20 62 65 y that it can be
16a0: 20 68 61 6e 64 65 64 20 61 20 73 65 74 20 6f 66 handed a set of
16b0: 20 61 72 74 69 66 61 63 74 73 20 69 6e 20 61 6e artifacts in an
16c0: 79 0a 6f 72 64 65 72 20 61 6e 64 20 69 74 20 63 y.order and it c
16d0: 61 6e 20 66 69 67 75 72 65 20 6f 75 74 20 74 68 an figure out th
16e0: 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 62 e relationship b
16f0: 65 74 77 65 65 6e 20 74 68 6f 73 65 0a 61 72 74 etween those.art
1700: 69 66 61 63 74 73 20 61 6e 64 20 72 65 63 6f 6e ifacts and recon
1710: 73 74 72 75 63 74 20 74 68 65 20 63 6f 6d 70 6c struct the compl
1720: 65 74 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 ete development
1730: 68 69 73 74 6f 72 79 20 6f 66 0a 61 20 73 6f 66 history of.a sof
1740: 74 77 61 72 65 20 70 72 6f 6a 65 63 74 2e 3c 2f tware project.</
1750: 70 3e 0a 0a 3c 68 33 3e 32 2e 32 20 4d 61 6e 69 p>..<h3>2.2 Mani
1760: 66 65 73 74 73 3c 2f 68 33 3e 0a 0a 3c 70 3e 41 fests</h3>..<p>A
1770: 74 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 61 20 t the root of a
1780: 73 6f 75 72 63 65 20 74 72 65 65 20 69 73 20 61 source tree is a
1790: 20 73 70 65 63 69 61 6c 20 66 69 6c 65 20 63 61 special file ca
17a0: 6c 6c 65 64 20 74 68 65 0a 22 6d 61 6e 69 66 65 lled the."manife
17b0: 73 74 22 2e 20 20 54 68 65 20 6d 61 6e 69 66 65 st". The manife
17c0: 73 74 20 69 73 20 61 20 6c 69 73 74 69 6e 67 20 st is a listing
17d0: 6f 66 20 61 6c 6c 20 6f 74 68 65 72 20 66 69 6c of all other fil
17e0: 65 73 20 69 6e 0a 74 68 61 74 20 73 6f 75 72 63 es in.that sourc
17f0: 65 20 74 72 65 65 2e 20 20 54 68 65 20 6d 61 6e e tree. The man
1800: 69 66 65 73 74 20 63 6f 6e 74 61 69 6e 73 20 74 ifest contains t
1810: 68 65 20 28 63 6f 6d 70 6c 65 74 65 29 20 61 72 he (complete) ar
1820: 74 69 66 61 63 74 20 49 44 20 0a 6f 66 20 74 68 tifact ID .of th
1830: 65 20 66 69 6c 65 20 61 6e 64 20 74 68 65 20 6e e file and the n
1840: 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 ame of the file
1850: 61 73 20 69 74 20 61 70 70 65 61 72 73 20 6f 6e as it appears on
1860: 20 64 69 73 6b 2c 0a 61 6e 64 20 74 68 75 73 20 disk,.and thus
1870: 73 65 72 76 65 73 20 61 73 20 61 20 6d 61 70 70 serves as a mapp
1880: 69 6e 67 20 66 72 6f 6d 20 61 72 74 69 66 61 63 ing from artifac
1890: 74 20 49 44 20 74 6f 20 64 69 73 6b 20 6e 61 6d t ID to disk nam
18a0: 65 2e 20 20 54 68 65 20 61 72 74 69 66 61 63 74 e. The artifact
18b0: 20 49 44 0a 6f 66 20 74 68 65 20 6d 61 6e 69 66 ID.of the manif
18c0: 65 73 74 20 69 73 20 74 68 65 20 69 64 65 6e 74 est is the ident
18d0: 69 66 69 65 72 20 66 6f 72 20 74 68 65 20 65 6e ifier for the en
18e0: 74 69 72 65 20 62 61 73 65 6c 69 6e 65 2e 20 20 tire baseline.
18f0: 57 68 65 6e 0a 79 6f 75 20 6c 6f 6f 6b 20 61 74 When.you look at
1900: 20 61 20 22 74 69 6d 65 6c 69 6e 65 22 20 6f 66 a "timeline" of
1910: 20 63 68 61 6e 67 65 73 20 69 6e 20 66 6f 73 73 changes in foss
1920: 69 6c 2c 20 74 68 65 20 49 44 20 61 73 73 6f 63 il, the ID assoc
1930: 69 61 74 65 64 0a 77 69 74 68 20 65 61 63 68 20 iated.with each
1940: 63 68 65 63 6b 2d 69 6e 20 6f 72 20 63 6f 6d 6d check-in or comm
1950: 69 74 20 69 73 20 72 65 61 6c 6c 79 20 6a 75 73 it is really jus
1960: 74 20 74 68 65 20 61 72 74 69 66 61 63 74 20 49 t the artifact I
1970: 44 20 6f 66 20 74 68 65 0a 6d 61 6e 69 66 65 73 D of the.manifes
1980: 74 20 66 6f 72 20 74 68 61 74 20 62 61 73 65 6c t for that basel
1990: 69 6e 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 46 6f 73 ine.</p>..<p>Fos
19a0: 73 69 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c sil automaticall
19b0: 79 20 67 65 6e 65 72 61 74 65 73 20 61 20 6d 61 y generates a ma
19c0: 6e 69 66 65 73 74 20 77 68 65 6e 65 76 65 72 20 nifest whenever
19d0: 79 6f 75 20 22 63 6f 6d 6d 69 74 22 20 0a 61 20 you "commit" .a
19e0: 6e 65 77 20 62 61 73 65 6c 69 6e 65 2e 20 20 53 new baseline. S
19f0: 6f 20 74 68 69 73 20 69 73 20 6e 6f 74 20 73 6f o this is not so
1a00: 6d 65 74 68 69 6e 67 20 74 68 61 74 20 79 6f 75 mething that you
1a10: 2c 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 2c , the developer,
1a20: 0a 6e 65 65 64 20 74 6f 20 77 6f 72 72 79 20 77 .need to worry w
1a30: 69 74 68 2e 20 20 54 68 65 20 66 6f 72 6d 61 74 ith. The format
1a40: 20 6f 66 20 61 20 6d 61 6e 69 66 65 73 74 20 69 of a manifest i
1a50: 73 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 0a s intentionally.
1a60: 64 65 73 69 67 6e 65 64 20 74 6f 20 62 65 20 73 designed to be s
1a70: 69 6d 70 6c 65 20 74 6f 20 70 61 72 73 65 2c 20 imple to parse,
1a80: 73 6f 20 74 68 61 74 20 69 66 0a 79 6f 75 20 77 so that if.you w
1a90: 61 6e 74 20 74 6f 20 72 65 61 64 20 61 6e 64 20 ant to read and
1aa0: 69 6e 74 65 72 70 72 65 74 20 61 20 6d 61 6e 69 interpret a mani
1ab0: 66 65 73 74 2c 20 65 69 74 68 65 72 20 62 79 20 fest, either by
1ac0: 68 61 6e 64 20 6f 72 0a 77 69 74 68 20 61 20 73 hand or.with a s
1ad0: 63 72 69 70 74 2c 20 74 68 61 74 20 69 73 20 65 cript, that is e
1ae0: 61 73 79 20 74 6f 20 64 6f 2e 20 20 42 75 74 20 asy to do. But
1af0: 79 6f 75 20 77 69 6c 6c 20 70 72 6f 62 61 62 6c you will probabl
1b00: 79 20 6e 65 76 65 72 0a 6e 65 65 64 20 74 6f 20 y never.need to
1b10: 64 6f 20 73 6f 2e 3c 2f 70 3e 0a 0a 3c 70 3e 49 do so.</p>..<p>I
1b20: 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 69 64 n addition to id
1b30: 65 6e 74 69 66 79 69 6e 67 20 61 6c 6c 20 66 69 entifying all fi
1b40: 6c 65 73 20 69 6e 20 74 68 65 20 62 61 73 65 6c les in the basel
1b50: 69 6e 65 2c 20 61 0a 6d 61 6e 69 66 65 73 74 20 ine, a.manifest
1b60: 61 6c 73 6f 20 63 6f 6e 74 61 69 6e 73 20 61 20 also contains a
1b70: 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 check-in comment
1b80: 2c 20 74 68 65 20 64 61 74 65 20 61 6e 64 20 74 , the date and t
1b90: 69 6d 65 0a 77 68 65 6e 20 74 68 65 20 62 61 73 ime.when the bas
1ba0: 65 6c 69 6e 65 20 77 61 73 20 65 73 74 61 62 6c eline was establ
1bb0: 69 73 68 65 64 2c 20 77 68 6f 20 63 72 65 61 74 ished, who creat
1bc0: 65 64 20 74 68 65 20 62 61 73 65 6c 69 6e 65 2c ed the baseline,
1bd0: 0a 61 6e 64 20 6c 69 6e 6b 73 20 74 6f 20 6f 74 .and links to ot
1be0: 68 65 72 20 62 61 73 65 6c 69 6e 65 73 20 66 72 her baselines fr
1bf0: 6f 6d 20 77 68 69 63 68 20 74 68 65 20 63 75 72 om which the cur
1c00: 72 65 6e 74 20 62 61 73 65 6c 69 6e 65 0a 69 73 rent baseline.is
1c10: 20 64 65 72 69 76 65 64 2e 20 20 54 68 65 72 65 derived. There
1c20: 20 69 73 20 61 6c 73 6f 20 61 20 63 6f 75 70 6c is also a coupl
1c30: 65 20 6f 66 20 63 68 65 63 6b 73 75 6d 73 20 75 e of checksums u
1c40: 73 65 64 20 74 6f 20 76 65 72 69 66 79 0a 74 68 sed to verify.th
1c50: 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 e integrity of t
1c60: 68 65 20 62 61 73 65 6c 69 6e 65 2e 20 20 41 6e he baseline. An
1c70: 64 20 74 68 65 20 77 68 6f 6c 65 20 6d 61 6e 69 d the whole mani
1c80: 66 65 73 74 20 6d 69 67 68 74 0a 62 65 20 50 47 fest might.be PG
1c90: 50 20 63 6c 65 61 72 73 69 67 6e 65 64 2e 3c 2f P clearsigned.</
1ca0: 70 3e 0a 0a 3c 68 33 3e 32 2e 33 20 4b 65 79 20 p>..<h3>2.3 Key
1cb0: 63 6f 6e 63 65 70 74 73 3c 2f 68 33 3e 0a 0a 3c concepts</h3>..<
1cc0: 75 6c 3e 0a 3c 6c 69 3e 41 20 3c 62 3e 62 61 73 ul>.<li>A <b>bas
1cd0: 65 6c 69 6e 65 3c 2f 62 3e 20 69 73 20 61 20 73 eline</b> is a s
1ce0: 65 74 20 6f 66 20 66 69 6c 65 73 20 61 72 72 61 et of files arra
1cf0: 6e 67 65 64 0a 20 20 20 20 69 6e 20 61 20 68 69 nged. in a hi
1d00: 65 72 61 72 63 68 79 2e 3c 2f 6c 69 3e 0a 3c 6c erarchy.</li>.<l
1d10: 69 3e 41 20 3c 62 3e 72 65 70 6f 73 69 74 6f 72 i>A <b>repositor
1d20: 79 3c 2f 62 3e 20 6b 65 65 70 73 20 61 20 72 65 y</b> keeps a re
1d30: 63 6f 72 64 20 6f 66 20 68 69 73 74 6f 72 69 63 cord of historic
1d40: 61 6c 20 62 61 73 65 6c 69 6e 65 73 2e 3c 2f 6c al baselines.</l
1d50: 69 3e 0a 3c 6c 69 3e 52 65 70 6f 73 69 74 6f 72 i>.<li>Repositor
1d60: 69 65 73 20 73 68 61 72 65 20 74 68 65 69 72 20 ies share their
1d70: 63 68 61 6e 67 65 73 20 75 73 69 6e 67 20 3c 62 changes using <b
1d80: 3e 70 75 73 68 3c 2f 62 3e 2c 20 3c 62 3e 70 75 >push</b>, <b>pu
1d90: 6c 6c 3c 2f 62 3e 2c 0a 20 20 20 20 3c 62 3e 73 ll</b>,. <b>s
1da0: 79 6e 63 3c 2f 62 3e 2c 20 61 6e 64 20 3c 62 3e ync</b>, and <b>
1db0: 63 6c 6f 6e 65 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0a clone</b>.</li>.
1dc0: 3c 6c 69 3e 41 20 70 61 72 74 69 63 75 6c 61 72 <li>A particular
1dd0: 20 76 65 72 73 69 6f 6e 20 6f 66 20 61 20 70 61 version of a pa
1de0: 72 74 69 63 75 6c 61 72 20 66 69 6c 65 20 69 73 rticular file is
1df0: 20 61 6e 20 3c 62 3e 61 72 74 69 66 61 63 74 3c an <b>artifact<
1e00: 2f 62 3e 0a 20 20 20 20 74 68 61 74 20 69 73 20 /b>. that is
1e10: 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 61 6e identified by an
1e20: 20 3c 62 3e 61 72 74 69 66 61 63 74 20 49 44 3c <b>artifact ID<
1e30: 2f 62 3e 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 72 /b>.</li>.<li>Ar
1e40: 74 69 66 61 63 74 73 20 74 72 61 63 6b 65 64 20 tifacts tracked
1e50: 62 79 20 66 6f 73 73 69 6c 20 61 72 65 20 69 6e by fossil are in
1e60: 68 65 72 65 6e 74 6c 79 20 69 6d 6d 75 74 61 62 herently immutab
1e70: 6c 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46 6f 73 le.</li>.<li>Fos
1e80: 73 69 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c sil automaticall
1e90: 79 20 67 65 6e 65 72 61 74 65 73 20 61 20 3c 62 y generates a <b
1ea0: 3e 6d 61 6e 69 66 65 73 74 3c 2f 62 3e 20 66 69 >manifest</b> fi
1eb0: 6c 65 20 74 68 61 74 20 69 64 65 6e 74 69 66 69 le that identifi
1ec0: 65 73 0a 20 20 20 20 65 76 65 72 79 20 61 72 74 es. every art
1ed0: 69 66 61 63 74 20 69 6e 20 61 20 62 61 73 65 6c ifact in a basel
1ee0: 69 6e 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54 68 ine.</li>.<li>Th
1ef0: 65 20 61 72 74 69 66 61 63 74 20 49 44 20 6f 66 e artifact ID of
1f00: 20 74 68 65 20 6d 61 6e 69 66 65 73 74 20 69 73 the manifest is
1f10: 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 the identifier
1f20: 6f 66 20 74 68 65 20 62 61 73 65 6c 69 6e 65 2e of the baseline.
1f30: 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 3c 68 32 </li>.</ul>..<h2
1f40: 3e 33 2e 30 20 46 6f 73 73 69 6c 20 2d 20 54 68 >3.0 Fossil - Th
1f50: 65 20 50 72 6f 67 72 61 6d 3c 2f 68 32 3e 0a 0a e Program</h2>..
1f60: 3c 70 3e 46 6f 73 73 69 6c 20 69 73 20 73 6f 66 <p>Fossil is sof
1f70: 74 77 61 72 65 2e 20 20 54 68 65 20 69 6d 70 6c tware. The impl
1f80: 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 66 6f ementation of fo
1f90: 73 73 69 6c 20 69 73 20 69 6e 20 74 68 65 20 66 ssil is in the f
1fa0: 6f 72 6d 0a 6f 66 20 61 20 73 69 6e 67 6c 65 20 orm.of a single
1fb0: 65 78 65 63 75 74 61 62 6c 65 20 6e 61 6d 65 64 executable named
1fc0: 20 22 66 6f 73 73 69 6c 22 2e 20 20 54 6f 20 69 "fossil". To i
1fd0: 6e 73 74 61 6c 6c 20 66 6f 73 73 69 6c 20 6f 6e nstall fossil on
1fe0: 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 0a 61 6c your system,.al
1ff0: 6c 20 79 6f 75 20 68 61 76 65 20 74 6f 20 64 6f l you have to do
2000: 20 69 73 20 6f 62 74 61 69 6e 20 61 20 63 6f 70 is obtain a cop
2010: 79 20 6f 66 20 74 68 69 73 20 6f 6e 65 20 65 78 y of this one ex
2020: 65 63 75 74 61 62 6c 65 20 66 69 6c 65 20 28 65 ecutable file (e
2030: 69 74 68 65 72 0a 62 79 20 64 6f 77 6e 6c 6f 61 ither.by downloa
2040: 64 69 6e 67 20 61 20 70 72 65 63 6f 6d 70 69 6c ding a precompil
2050: 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 20 63 6f ed version or co
2060: 6d 70 69 6c 69 6e 67 20 69 74 20 79 6f 75 72 73 mpiling it yours
2070: 65 6c 66 29 20 61 6e 64 20 74 68 65 6e 0a 70 75 elf) and then.pu
2080: 74 74 69 6e 67 20 74 68 61 74 20 66 69 6c 65 20 tting that file
2090: 73 6f 6d 65 77 68 65 72 65 20 6f 6e 20 79 6f 75 somewhere on you
20a0: 72 20 50 41 54 48 2e 3c 2f 70 3e 0a 0a 3c 70 3e r PATH.</p>..<p>
20b0: 46 6f 73 73 69 6c 20 69 73 20 63 6f 6d 70 6c 65 Fossil is comple
20c0: 74 65 6c 79 20 73 65 6c 66 2d 63 6f 6e 74 61 69 tely self-contai
20d0: 6e 65 64 2e 20 20 49 74 20 69 73 20 6e 6f 74 20 ned. It is not
20e0: 6e 65 63 65 73 73 61 72 79 20 74 6f 0a 69 6e 73 necessary to.ins
20f0: 74 61 6c 6c 20 61 6e 79 20 6f 74 68 65 72 20 73 tall any other s
2100: 6f 66 74 77 61 72 65 20 69 6e 20 6f 72 64 65 72 oftware in order
2110: 20 74 6f 20 75 73 65 20 66 6f 73 73 69 6c 2e 20 to use fossil.
2120: 20 59 6f 75 20 64 6f 20 3c 75 3e 6e 6f 74 3c 2f You do <u>not</
2130: 75 3e 20 6e 65 65 64 0a 43 56 53 2c 20 67 7a 69 u> need.CVS, gzi
2140: 70 2c 20 64 69 66 66 2c 20 72 73 79 6e 63 2c 20 p, diff, rsync,
2150: 50 79 74 68 6f 6e 2c 20 50 65 72 6c 2c 20 54 63 Python, Perl, Tc
2160: 6c 2c 20 4a 61 76 61 2c 20 61 70 61 63 68 65 2c l, Java, apache,
2170: 20 50 6f 73 74 67 72 65 53 51 4c 2c 20 4d 79 53 PostgreSQL, MyS
2180: 51 4c 2c 0a 53 51 4c 69 74 65 2c 20 70 61 74 63 QL,.SQLite, patc
2190: 68 2c 20 6f 72 20 61 6e 79 20 73 69 6d 69 6c 61 h, or any simila
21a0: 72 20 73 6f 66 74 77 61 72 65 20 6f 6e 20 79 6f r software on yo
21b0: 75 72 20 73 79 73 74 65 6d 20 69 6e 20 6f 72 64 ur system in ord
21c0: 65 72 20 74 6f 20 75 73 65 0a 66 6f 73 73 69 6c er to use.fossil
21d0: 20 65 66 66 65 63 74 69 76 65 6c 79 2e 20 20 59 effectively. Y
21e0: 6f 75 20 77 69 6c 6c 20 77 61 6e 74 20 74 6f 20 ou will want to
21f0: 68 61 76 65 20 73 6f 6d 65 20 6b 69 6e 64 20 6f have some kind o
2200: 66 20 74 65 78 74 20 65 64 69 74 6f 72 0a 66 6f f text editor.fo
2210: 72 20 65 6e 74 65 72 69 6e 67 20 63 68 65 63 6b r entering check
2220: 2d 69 6e 20 63 6f 6d 6d 65 6e 74 73 2e 20 20 46 -in comments. F
2230: 6f 73 73 69 6c 20 77 69 6c 6c 20 75 73 65 20 77 ossil will use w
2240: 68 61 74 65 76 65 72 20 74 65 78 74 20 65 64 69 hatever text edi
2250: 74 6f 72 0a 69 73 20 69 64 65 6e 74 69 66 69 65 tor.is identifie
2260: 64 20 62 79 20 79 6f 75 72 20 56 49 53 55 41 4c d by your VISUAL
2270: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 environment var
2280: 69 61 62 6c 65 2e 20 20 46 6f 73 73 69 6c 20 77 iable. Fossil w
2290: 69 6c 6c 20 61 6c 73 6f 0a 75 73 65 20 47 50 47 ill also.use GPG
22a0: 20 74 6f 20 63 6c 65 61 72 73 69 67 6e 20 79 6f to clearsign yo
22b0: 75 72 20 6d 61 6e 69 66 65 73 74 73 20 69 66 20 ur manifests if
22c0: 79 6f 75 20 68 61 70 70 65 6e 20 74 6f 20 68 61 you happen to ha
22d0: 76 65 20 69 74 20 69 6e 73 74 61 6c 6c 65 64 2c ve it installed,
22e0: 0a 62 75 74 20 66 6f 73 73 69 6c 20 77 69 6c 6c .but fossil will
22f0: 20 73 6b 69 70 20 74 68 61 74 20 73 74 65 70 20 skip that step
2300: 69 66 20 47 50 47 20 6d 69 73 73 69 6e 67 20 66 if GPG missing f
2310: 72 6f 6d 20 79 6f 75 72 20 73 79 73 74 65 6d 2e rom your system.
2320: 0a 59 6f 75 20 63 61 6e 20 6f 70 74 69 6f 6e 61 .You can optiona
2330: 6c 6c 79 20 73 65 74 20 75 70 20 66 6f 73 73 69 lly set up fossi
2340: 6c 20 74 6f 20 75 73 65 20 65 78 74 65 72 6e 61 l to use externa
2350: 6c 20 22 64 69 66 66 22 20 70 72 6f 67 72 61 6d l "diff" program
2360: 73 2c 20 0a 74 68 6f 75 67 68 20 66 6f 73 73 69 s, .though fossi
2370: 6c 20 68 61 73 20 61 6e 20 65 78 63 65 6c 6c 65 l has an excelle
2380: 6e 74 20 62 75 69 6c 74 2d 69 6e 20 22 64 69 66 nt built-in "dif
2390: 66 22 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 61 f" algorithm tha
23a0: 74 20 77 6f 72 6b 73 0a 66 69 6e 65 20 66 6f 72 t works.fine for
23b0: 20 6d 6f 73 74 20 70 65 6f 70 6c 65 2e 3c 2f 70 most people.</p
23c0: 3e 0a 0a 3c 70 3e 54 6f 20 75 6e 69 6e 73 74 61 >..<p>To uninsta
23d0: 6c 6c 20 66 6f 73 73 69 6c 2c 20 73 69 6d 70 6c ll fossil, simpl
23e0: 79 20 64 65 6c 65 74 65 20 74 68 65 20 65 78 65 y delete the exe
23f0: 63 75 74 61 62 6c 65 2e 3c 2f 70 3e 0a 0a 3c 70 cutable.</p>..<p
2400: 3e 54 6f 20 75 70 67 72 61 64 65 20 61 6e 20 6f >To upgrade an o
2410: 6c 64 65 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 lder version of
2420: 66 6f 73 73 69 6c 20 74 6f 20 61 20 6e 65 77 65 fossil to a newe
2430: 72 20 76 65 72 73 69 6f 6e 2c 20 6a 75 73 74 0a r version, just.
2440: 72 65 70 6c 61 63 65 20 74 68 65 20 6f 6c 64 20 replace the old
2450: 65 78 65 63 75 74 61 62 6c 65 20 77 69 74 68 20 executable with
2460: 74 68 65 20 6e 65 77 20 6f 6e 65 2e 20 20 59 6f the new one. Yo
2470: 75 20 6d 69 67 68 74 20 6e 65 65 64 20 74 6f 20 u might need to
2480: 0a 72 75 6e 20 61 20 6f 6e 65 2d 74 69 6d 65 20 .run a one-time
2490: 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65 73 74 72 command to restr
24a0: 75 63 74 75 72 65 20 79 6f 75 72 20 72 65 70 6f ucture your repo
24b0: 73 69 74 6f 72 69 65 73 20 61 66 74 65 72 0a 61 sitories after.a
24c0: 6e 20 75 70 67 72 61 64 65 2e 20 20 43 68 65 63 n upgrade. Chec
24d0: 6b 20 74 68 65 20 69 6e 73 74 72 75 63 74 69 6f k the instructio
24e0: 6e 73 20 74 68 61 74 20 63 6f 6d 65 20 77 69 74 ns that come wit
24f0: 68 20 74 68 65 20 75 70 67 72 61 64 65 0a 66 6f h the upgrade.fo
2500: 72 20 64 65 74 61 69 6c 73 2e 3c 2f 70 3e 0a 0a r details.</p>..
2510: 3c 70 3e 54 6f 20 75 73 65 20 66 6f 73 73 69 6c <p>To use fossil
2520: 2c 20 73 69 6d 70 6c 79 20 74 79 70 65 20 74 68 , simply type th
2530: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 65 78 e name of the ex
2540: 65 63 75 74 61 62 6c 65 20 69 6e 20 79 6f 75 72 ecutable in your
2550: 0a 73 68 65 6c 6c 2c 20 66 6f 6c 6c 6f 77 65 64 .shell, followed
2560: 20 62 79 20 6f 6e 65 20 6f 66 20 74 68 65 20 76 by one of the v
2570: 61 72 69 6f 75 73 20 62 75 69 6c 74 2d 69 6e 20 arious built-in
2580: 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 0a 61 72 67 commands and.arg
2590: 75 6d 65 6e 74 73 20 61 70 70 72 6f 70 72 69 61 uments appropria
25a0: 74 65 20 66 6f 72 20 74 68 61 74 20 63 6f 6d 6d te for that comm
25b0: 61 6e 64 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c and. For exampl
25c0: 65 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 e:</p>..<blockqu
25d0: 6f 74 65 3e 3c 62 3e 0a 66 6f 73 73 69 6c 20 68 ote><b>.fossil h
25e0: 65 6c 70 0a 3c 2f 62 3e 3c 2f 62 6c 6f 63 6b 71 elp.</b></blockq
25f0: 75 6f 74 65 3e 0a 0a 3c 70 3e 49 6e 20 74 68 65 uote>..<p>In the
2600: 20 6e 65 78 74 20 73 65 63 74 69 6f 6e 2c 20 77 next section, w
2610: 68 65 6e 20 77 65 20 73 61 79 20 74 68 69 6e 67 hen we say thing
2620: 73 20 6c 69 6b 65 20 22 75 73 65 20 74 68 65 20 s like "use the
2630: 3c 62 3e 68 65 6c 70 3c 2f 62 3e 0a 63 6f 6d 6d <b>help</b>.comm
2640: 61 6e 64 22 20 77 65 20 6d 65 61 6e 20 74 6f 20 and" we mean to
2650: 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 use the command
2660: 6e 61 6d 65 20 22 68 65 6c 70 22 20 61 73 20 74 name "help" as t
2670: 68 65 20 66 69 72 73 74 0a 74 6f 6b 65 6e 20 61 he first.token a
2680: 66 74 65 72 20 74 68 65 20 6e 61 6d 65 20 6f 66 fter the name of
2690: 20 74 68 65 20 66 6f 73 73 69 6c 20 65 78 65 63 the fossil exec
26a0: 75 74 61 62 6c 65 2c 20 61 73 20 73 68 6f 77 6e utable, as shown
26b0: 20 61 62 6f 76 65 2e 3c 2f 70 3e 0a 0a 3c 68 32 above.</p>..<h2
26c0: 3e 34 2e 30 20 57 6f 72 6b 66 6c 6f 77 3c 2f 68 >4.0 Workflow</h
26d0: 32 3e 0a 0a 3c 69 6d 67 20 73 72 63 3d 22 63 6f 2>..<img src="co
26e0: 6e 63 65 70 74 32 2e 67 69 66 22 20 61 6c 69 67 ncept2.gif" alig
26f0: 6e 3d 22 72 69 67 68 74 22 20 68 73 70 61 63 65 n="right" hspace
2700: 3d 22 31 30 22 3e 0a 0a 3c 70 3e 46 6f 73 73 69 ="10">..<p>Fossi
2710: 6c 20 68 61 73 20 74 77 6f 20 6d 6f 64 65 73 20 l has two modes
2720: 6f 66 20 6f 70 65 72 61 74 69 6f 6e 3a 20 22 61 of operation: "a
2730: 75 74 6f 73 79 6e 63 22 20 61 6e 64 20 22 6e 6f utosync" and "no
2740: 6e 2d 61 75 74 6f 73 79 6e 63 22 2e 0a 41 75 74 n-autosync"..Aut
2750: 6f 73 79 6e 63 20 6d 6f 64 65 20 77 6f 72 6b 73 osync mode works
2760: 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 something like
2770: 43 56 53 20 6f 72 20 53 56 4e 20 69 6e 20 74 68 CVS or SVN in th
2780: 61 74 20 69 74 20 61 75 74 6f 6d 61 74 69 63 61 at it automatica
2790: 6c 6c 79 0a 6b 65 65 70 73 20 79 6f 75 72 20 77 lly.keeps your w
27a0: 6f 72 6b 20 69 6e 20 73 79 6e 63 20 77 69 74 68 ork in sync with
27b0: 20 74 68 65 20 63 65 6e 74 72 61 6c 20 73 65 72 the central ser
27c0: 76 65 72 2e 20 20 4e 6f 6e 2d 61 75 74 6f 73 79 ver. Non-autosy
27d0: 6e 63 20 69 73 0a 6d 6f 72 65 20 6c 69 6b 65 20 nc is.more like
27e0: 47 49 54 2c 20 6f 72 20 42 69 74 6b 65 65 70 65 GIT, or Bitkeepe
27f0: 72 20 69 6e 20 74 68 61 74 20 79 6f 75 72 20 6c r in that your l
2800: 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 ocal repository
2810: 64 65 76 65 6c 6f 70 73 0a 69 6e 64 65 70 65 6e develops.indepen
2820: 64 65 6e 74 6c 79 20 6f 66 20 79 6f 75 72 20 63 dently of your c
2830: 6f 77 6f 72 6b 65 72 73 20 61 6e 64 20 79 6f 75 oworkers and you
2840: 20 73 68 61 72 65 20 79 6f 75 72 20 63 68 61 6e share your chan
2850: 67 65 73 20 6d 61 6e 75 61 6c 6c 79 2e 0a 54 68 ges manually..Th
2860: 65 20 69 6e 74 65 72 65 73 74 69 6e 67 20 74 68 e interesting th
2870: 69 6e 67 20 61 62 6f 75 74 20 66 6f 73 73 69 6c ing about fossil
2880: 20 69 73 20 74 68 61 74 20 69 74 20 73 75 70 70 is that it supp
2890: 6f 72 74 73 20 62 6f 74 68 20 61 75 74 6f 73 79 orts both autosy
28a0: 6e 63 0a 61 6e 64 20 6e 6f 6e 2d 61 75 74 6f 73 nc.and non-autos
28b0: 79 6e 63 20 77 6f 72 6b 20 66 6c 6f 77 73 2e 3c ync work flows.<
28c0: 2f 70 3e 0a 0a 3c 70 3e 54 68 65 20 64 65 66 61 /p>..<p>The defa
28d0: 75 6c 74 20 73 65 74 74 69 6e 67 20 66 6f 72 20 ult setting for
28e0: 66 6f 73 73 69 6c 20 69 73 20 74 6f 20 62 65 20 fossil is to be
28f0: 69 6e 20 61 75 74 6f 73 79 6e 63 20 6d 6f 64 65 in autosync mode
2900: 2e 20 20 59 6f 75 0a 63 61 6e 20 63 68 61 6e 67 . You.can chang
2910: 65 20 74 68 65 20 61 75 74 6f 73 79 6e 63 20 73 e the autosync s
2920: 65 74 74 69 6e 67 20 6f 72 20 63 68 65 63 6b 20 etting or check
2930: 74 68 65 20 63 75 72 72 65 6e 74 20 61 75 74 6f the current auto
2940: 73 79 6e 63 0a 73 65 74 74 69 6e 67 20 75 73 69 sync.setting usi
2950: 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 6c 69 6b 65 ng commands like
2960: 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f :</p>..<blockquo
2970: 74 65 3e 0a 3c 62 3e 66 6f 73 73 69 6c 20 73 65 te>.<b>fossil se
2980: 74 74 69 6e 67 20 61 75 74 6f 73 79 6e 63 20 6f tting autosync o
2990: 6e 3c 62 72 3e 0a 66 6f 73 73 69 6c 20 73 65 74 n<br>.fossil set
29a0: 74 69 6e 67 20 61 75 74 6f 73 79 6e 63 20 6f 66 ting autosync of
29b0: 66 3c 62 72 3e 0a 3c 62 3e 66 6f 73 73 69 6c 20 f<br>.<b>fossil
29c0: 73 65 74 74 69 6e 67 73 3c 2f 62 3e 0a 3c 2f 62 settings</b>.</b
29d0: 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e 42 lockquote>..<p>B
29e0: 79 20 64 65 66 61 75 6c 74 2c 20 66 6f 73 73 69 y default, fossi
29f0: 6c 20 72 75 6e 73 20 77 69 74 68 20 61 75 74 6f l runs with auto
2a00: 73 79 6e 63 20 6d 6f 64 65 20 74 75 72 6e 65 64 sync mode turned
2a10: 20 6f 6e 2e 20 20 54 68 65 0a 61 75 74 68 6f 72 on. The.author
2a20: 73 20 66 69 6e 64 20 74 68 61 74 20 70 72 6f 6a s find that proj
2a30: 65 63 74 73 20 72 75 6e 20 6d 6f 72 65 20 73 6d ects run more sm
2a40: 6f 6f 74 68 6c 79 20 77 68 65 6e 20 61 75 74 6f oothly when auto
2a50: 73 79 6e 63 20 69 73 20 6f 6e 6c 79 0a 64 69 73 sync is only.dis
2a60: 61 62 6c 65 64 20 77 68 65 6e 20 6f 66 66 2d 6e abled when off-n
2a70: 65 74 77 6f 72 6b 2e 3c 2f 70 3e 0a 0a 3c 68 33 etwork.</p>..<h3
2a80: 3e 34 2e 31 20 41 75 74 6f 73 79 6e 63 20 57 6f >4.1 Autosync Wo
2a90: 72 6b 66 6c 6f 77 3c 2f 68 33 3e 0a 0a 3c 6f 6c rkflow</h3>..<ol
2aa0: 3e 0a 3c 6c 69 3e 3c 70 3e 0a 45 73 74 61 62 6c >.<li><p>.Establ
2ab0: 69 73 68 20 61 20 6c 6f 63 61 6c 20 72 65 70 6f ish a local repo
2ac0: 73 69 74 6f 72 79 20 75 73 69 6e 67 20 65 69 74 sitory using eit
2ad0: 68 65 72 20 74 68 65 20 3c 62 3e 6e 65 77 3c 2f her the <b>new</
2ae0: 62 3e 20 63 6f 6d 6d 61 6e 64 0a 74 6f 20 73 74 b> command.to st
2af0: 61 72 74 20 61 20 6e 65 77 20 70 72 6f 6a 65 63 art a new projec
2b00: 74 2c 20 6f 72 20 74 68 65 20 3c 62 3e 63 6c 6f t, or the <b>clo
2b10: 6e 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 ne</b> command t
2b20: 6f 20 6d 61 6b 65 20 61 20 63 6c 6f 6e 65 0a 6f o make a clone.o
2b30: 66 20 61 20 72 65 70 6f 73 69 74 6f 72 79 20 66 f a repository f
2b40: 6f 72 20 61 6e 20 65 78 69 73 74 69 6e 67 20 70 or an existing p
2b50: 72 6f 6a 65 63 74 2e 20 0a 3c 2f 70 3e 3c 2f 6c roject. .</p></l
2b60: 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 45 73 74 61 i>..<li><p>.Esta
2b70: 62 6c 69 73 68 20 6f 6e 65 20 6f 72 20 6d 6f 72 blish one or mor
2b80: 65 20 73 6f 75 72 63 65 20 74 72 65 65 73 20 62 e source trees b
2b90: 79 20 63 68 61 6e 67 69 6e 67 20 79 6f 75 72 20 y changing your
2ba0: 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 working director
2bb0: 79 0a 74 6f 20 77 68 65 72 65 20 79 6f 75 20 77 y.to where you w
2bc0: 61 6e 74 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 ant the root of
2bd0: 74 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 20 the source tree
2be0: 74 6f 20 62 65 2c 20 74 68 65 6e 20 69 73 73 75 to be, then issu
2bf0: 69 6e 67 0a 74 68 65 20 3c 62 3e 6f 70 65 6e 3c ing.the <b>open<
2c00: 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 /b> command with
2c10: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 the name of the
2c20: 20 72 65 70 6f 73 69 74 6f 72 79 20 66 69 6c 65 repository file
2c30: 20 61 73 20 69 74 73 0a 61 72 67 75 6d 65 6e 74 as its.argument
2c40: 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 ..</p></li>..<li
2c50: 3e 3c 70 3e 0a 54 68 65 20 3c 62 3e 6f 70 65 6e ><p>.The <b>open
2c60: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 </b> command in
2c70: 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 74 65 the previous ste
2c80: 70 20 70 6f 70 75 6c 61 74 65 73 20 79 6f 75 72 p populates your
2c90: 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65 0a 74 72 local source.tr
2ca0: 65 65 20 77 69 74 68 20 61 20 63 6f 70 79 20 6f ee with a copy o
2cb0: 66 20 74 68 65 20 6c 61 74 65 73 74 20 62 61 73 f the latest bas
2cc0: 65 6c 69 6e 65 2e 20 20 55 73 75 61 6c 6c 79 20 eline. Usually
2cd0: 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 this is what you
2ce0: 20 77 61 6e 74 2e 0a 49 6e 20 74 68 65 20 72 61 want..In the ra
2cf0: 72 65 20 63 61 73 65 73 20 77 68 65 72 65 20 69 re cases where i
2d00: 74 20 69 73 20 6e 6f 74 2c 20 75 73 65 20 74 68 t is not, use th
2d10: 65 20 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20 e <b>update</b>
2d20: 63 6f 6d 6d 61 6e 64 20 74 6f 0a 73 77 69 74 63 command to.switc
2d30: 68 20 74 6f 20 61 20 6e 65 77 20 62 61 73 65 6c h to a new basel
2d40: 69 6e 65 2e 20 20 55 73 65 20 74 68 65 20 3c 62 ine. Use the <b
2d50: 3e 74 69 6d 65 6c 69 6e 65 3c 2f 62 3e 20 6f 72 >timeline</b> or
2d60: 20 3c 62 3e 6c 65 61 76 65 73 3c 2f 62 3e 20 63 <b>leaves</b> c
2d70: 6f 6d 6d 61 6e 64 73 0a 74 6f 20 69 64 65 6e 74 ommands.to ident
2d80: 69 66 79 20 61 6c 74 65 72 6e 61 74 69 76 65 20 ify alternative
2d90: 62 61 73 65 6c 69 6e 65 73 20 74 6f 20 73 77 69 baselines to swi
2da0: 74 63 68 20 74 6f 2e 0a 3c 2f 70 3e 3c 2f 6c 69 tch to..</p></li
2db0: 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 45 64 69 74 20 >..<li><p>.Edit
2dc0: 74 68 65 20 63 6f 64 65 2e 20 20 41 64 64 20 6e the code. Add n
2dd0: 65 77 20 66 69 6c 65 73 20 74 6f 20 74 68 65 20 ew files to the
2de0: 73 6f 75 72 63 65 20 74 72 65 65 20 75 73 69 6e source tree usin
2df0: 67 20 74 68 65 20 3c 62 3e 61 64 64 3c 2f 62 3e g the <b>add</b>
2e00: 0a 63 6f 6d 6d 61 6e 64 2e 20 20 4f 6d 69 74 20 .command. Omit
2e10: 66 69 6c 65 73 20 66 72 6f 6d 20 66 75 74 75 72 files from futur
2e20: 65 20 62 61 73 65 6c 69 6e 65 73 20 75 73 69 6e e baselines usin
2e30: 67 20 74 68 65 20 3c 62 3e 72 6d 3c 2f 62 3e 20 g the <b>rm</b>
2e40: 63 6f 6d 6d 61 6e 64 2e 0a 28 45 76 65 6e 20 77 command..(Even w
2e50: 68 65 6e 20 79 6f 75 20 72 65 6d 6f 76 65 20 66 hen you remove f
2e60: 69 6c 65 73 20 66 72 6f 6d 20 66 75 74 75 72 65 iles from future
2e70: 20 62 61 73 65 6c 69 6e 65 73 2c 20 74 68 6f 73 baselines, thos
2e80: 65 20 66 69 6c 65 73 20 63 6f 6e 74 69 6e 75 65 e files continue
2e90: 0a 74 6f 20 65 78 69 73 74 20 69 6e 20 68 69 73 .to exist in his
2ea0: 74 6f 72 69 63 61 6c 20 62 61 73 65 6c 69 6e 65 torical baseline
2eb0: 73 2e 29 20 20 54 65 73 74 20 79 6f 75 72 20 63 s.) Test your c
2ec0: 68 61 6e 67 65 73 2e 0a 3c 2f 70 3e 3c 2f 6c 69 hanges..</p></li
2ed0: 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 43 72 65 61 74 >..<li><p>.Creat
2ee0: 65 20 61 20 6e 65 77 20 62 61 73 65 6c 69 6e 65 e a new baseline
2ef0: 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 63 6f using the <b>co
2f00: 6d 6d 69 74 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 mmit</b> command
2f10: 2e 20 20 59 6f 75 20 77 69 6c 6c 20 62 65 20 70 . You will be p
2f20: 72 6f 6d 70 74 65 64 0a 66 6f 72 20 61 20 63 68 rompted.for a ch
2f30: 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 61 eck-in comment a
2f40: 6e 64 20 61 6c 73 6f 20 66 6f 72 20 79 6f 75 72 nd also for your
2f50: 20 47 50 47 20 6b 65 79 20 69 66 20 79 6f 75 20 GPG key if you
2f60: 68 61 76 65 20 47 50 47 20 69 6e 73 74 61 6c 6c have GPG install
2f70: 65 64 2e 0a 54 68 65 20 63 6f 6d 6d 69 74 20 63 ed..The commit c
2f80: 6f 70 69 65 73 20 74 68 65 20 65 64 69 74 73 20 opies the edits
2f90: 79 6f 75 20 68 61 76 65 20 6d 61 64 65 20 69 6e you have made in
2fa0: 20 79 6f 75 72 20 6c 6f 63 61 6c 20 73 6f 75 72 your local sour
2fb0: 63 65 0a 74 72 65 65 20 69 6e 74 6f 20 79 6f 75 ce.tree into you
2fc0: 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f r local reposito
2fd0: 72 79 2e 20 20 41 66 74 65 72 20 79 6f 75 72 20 ry. After your
2fe0: 63 6f 6d 6d 69 74 20 63 6f 6d 70 6c 65 74 65 73 commit completes
2ff0: 2c 20 66 6f 73 73 69 6c 20 77 69 6c 6c 0a 61 75 , fossil will.au
3000: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 3c 62 3e 70 tomatically <b>p
3010: 75 73 68 3c 2f 62 3e 20 79 6f 75 72 20 63 68 61 ush</b> your cha
3020: 6e 67 65 73 20 62 61 63 6b 20 74 6f 20 74 68 65 nges back to the
3030: 20 73 65 72 76 65 72 0a 79 6f 75 20 63 6c 6f 6e server.you clon
3040: 65 64 20 66 72 6f 6d 20 6f 72 20 77 68 61 74 65 ed from or whate
3050: 76 65 72 20 73 65 72 76 65 72 20 79 6f 75 20 6d ver server you m
3060: 6f 73 74 20 72 65 63 65 6e 74 6c 79 20 73 79 6e ost recently syn
3070: 63 65 64 20 77 69 74 68 2e 0a 3c 2f 70 3e 3c 2f ced with..</p></
3080: 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 57 68 65 li>..<li><p>.Whe
3090: 6e 20 79 6f 75 72 20 63 6f 77 6f 72 6b 65 72 73 n your coworkers
30a0: 20 6d 61 6b 65 20 74 68 65 69 72 20 6f 77 6e 20 make their own
30b0: 63 68 61 6e 67 65 73 2c 20 79 6f 75 20 63 61 6e changes, you can
30c0: 20 6d 65 72 67 65 20 74 68 6f 73 65 20 63 68 61 merge those cha
30d0: 6e 67 65 73 0a 69 6e 74 6f 20 79 6f 75 72 20 6c nges.into your l
30e0: 6f 63 61 6c 20 6c 6f 63 61 6c 20 73 6f 75 72 63 ocal local sourc
30f0: 65 20 74 72 65 65 20 75 73 69 6e 67 20 74 68 65 e tree using the
3100: 20 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20 63 <b>update</b> c
3110: 6f 6d 6d 61 6e 64 2e 20 20 0a 49 6e 20 61 75 74 ommand. .In aut
3120: 6f 73 79 6e 63 20 6d 6f 64 65 2c 20 3c 62 3e 75 osync mode, <b>u
3130: 70 64 61 74 65 3c 2f 62 3e 20 77 69 6c 6c 20 66 pdate</b> will f
3140: 69 72 73 74 20 67 6f 20 62 61 63 6b 20 74 6f 20 irst go back to
3150: 74 68 65 20 73 65 72 76 65 72 20 79 6f 75 0a 63 the server you.c
3160: 6c 6f 6e 65 64 20 66 72 6f 6d 20 6f 72 20 77 69 loned from or wi
3170: 74 68 20 77 68 69 63 68 20 79 6f 75 20 6d 6f 73 th which you mos
3180: 74 20 72 65 63 65 6e 74 6c 79 20 73 79 6e 63 65 t recently synce
3190: 64 2c 20 61 6e 64 20 70 75 6c 6c 20 64 6f 77 6e d, and pull down
31a0: 20 61 6c 6c 0a 72 65 63 65 6e 74 20 63 68 61 6e all.recent chan
31b0: 67 65 73 20 69 6e 74 6f 20 79 6f 75 72 20 6c 6f ges into your lo
31c0: 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 2e 20 cal repository.
31d0: 20 54 68 65 6e 20 69 74 20 77 69 6c 6c 20 6d 65 Then it will me
31e0: 72 67 65 20 72 65 63 65 6e 74 0a 63 68 61 6e 67 rge recent.chang
31f0: 65 73 20 69 6e 74 6f 20 79 6f 75 72 20 6c 6f 63 es into your loc
3200: 61 6c 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 al source tree.
3210: 20 49 66 20 79 6f 75 20 64 6f 20 61 6e 20 3c 62 If you do an <b
3220: 3e 75 70 64 61 74 65 3c 2f 62 3e 20 61 6e 64 0a >update</b> and.
3230: 66 69 6e 64 20 74 68 61 74 20 69 74 20 6d 65 73 find that it mes
3240: 73 65 73 20 73 6f 6d 65 74 68 69 6e 67 20 75 70 ses something up
3250: 20 69 6e 20 79 6f 75 72 20 73 6f 75 72 63 65 20 in your source
3260: 74 72 65 65 20 28 70 65 72 68 61 70 73 20 61 20 tree (perhaps a
3270: 63 6f 2d 77 6f 72 6b 65 72 0a 63 68 65 63 6b 65 co-worker.checke
3280: 64 20 69 6e 20 69 6e 63 6f 6d 70 61 74 69 62 6c d in incompatibl
3290: 65 20 63 68 61 6e 67 65 73 29 20 79 6f 75 20 63 e changes) you c
32a0: 61 6e 20 75 73 65 20 74 68 65 20 3c 62 3e 75 6e an use the <b>un
32b0: 64 6f 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 0a do</b> command .
32c0: 74 6f 20 62 61 63 6b 20 6f 75 74 20 74 68 65 20 to back out the
32d0: 63 68 61 6e 67 65 73 2e 0a 3c 2f 70 3e 3c 2f 6c changes..</p></l
32e0: 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 52 65 70 65 i>..<li><p>.Repe
32f0: 61 74 20 61 6c 6c 20 6f 66 20 74 68 65 20 61 62 at all of the ab
3300: 6f 76 65 20 75 6e 74 69 6c 20 79 6f 75 20 68 61 ove until you ha
3310: 76 65 20 67 65 6e 65 72 61 74 65 64 20 67 72 65 ve generated gre
3320: 61 74 20 73 6f 66 74 77 61 72 65 2e 0a 3c 2f 70 at software..</p
3330: 3e 3c 2f 6c 69 3e 0a 3c 2f 6f 6c 3e 0a 0a 3c 68 ></li>.</ol>..<h
3340: 33 3e 34 2e 32 20 4e 6f 6e 2d 41 75 74 6f 73 79 3>4.2 Non-Autosy
3350: 6e 63 20 57 6f 72 6b 66 6c 6f 77 3c 2f 68 33 3e nc Workflow</h3>
3360: 0a 0a 3c 70 3e 57 68 65 6e 20 61 75 74 6f 73 79 ..<p>When autosy
3370: 6e 63 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 nc is disabled,
3380: 74 68 65 20 3c 62 3e 63 6f 6d 6d 69 74 3c 2f 62 the <b>commit</b
3390: 3e 20 63 6f 6d 6d 61 6e 64 20 69 73 20 64 65 63 > command is dec
33a0: 6f 75 70 6c 65 64 20 66 72 6f 6d 0a 3c 62 3e 70 oupled from.<b>p
33b0: 75 73 68 3c 2f 62 3e 20 61 6e 64 20 74 68 65 20 ush</b> and the
33c0: 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20 63 6f <b>update</b> co
33d0: 6d 6d 61 6e 64 20 69 73 20 64 65 63 6f 75 70 6c mmand is decoupl
33e0: 65 64 20 66 72 6f 6d 20 3c 62 3e 70 75 6c 6c 3c ed from <b>pull<
33f0: 2f 62 3e 2e 0a 54 68 61 74 20 6d 65 61 6e 73 20 /b>..That means
3400: 79 6f 75 20 68 61 76 65 20 74 6f 20 64 6f 20 61 you have to do a
3410: 20 66 65 77 20 65 78 74 72 61 20 73 74 65 70 73 few extra steps
3420: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 61 63 63 in order to acc
3430: 6f 6d 70 6c 69 73 68 20 74 68 65 0a 3c 62 3e 70 omplish the.<b>p
3440: 75 73 68 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 70 ush</b> and <b>p
3450: 75 6c 6c 3c 2f 62 3e 20 74 61 73 6b 73 20 6d 61 ull</b> tasks ma
3460: 6e 75 61 6c 6c 79 2e 3c 2f 70 3e 0a 0a 3c 6f 6c nually.</p>..<ol
3470: 3e 0a 3c 6c 69 3e 3c 70 3e 0a 45 73 74 61 62 6c >.<li><p>.Establ
3480: 69 73 68 20 61 20 6c 6f 63 61 6c 20 72 65 70 6f ish a local repo
3490: 73 69 74 6f 72 79 20 75 73 69 6e 67 20 65 69 74 sitory using eit
34a0: 68 65 72 20 74 68 65 20 3c 62 3e 6e 65 77 3c 2f her the <b>new</
34b0: 62 3e 20 63 6f 6d 6d 61 6e 64 0a 74 6f 20 73 74 b> command.to st
34c0: 61 72 74 20 61 20 6e 65 77 20 70 72 6f 6a 65 63 art a new projec
34d0: 74 2c 20 6f 72 20 74 68 65 20 3c 62 3e 63 6c 6f t, or the <b>clo
34e0: 6e 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 ne</b> command t
34f0: 6f 20 6d 61 6b 65 20 61 20 63 6c 6f 6e 65 0a 6f o make a clone.o
3500: 66 20 61 20 72 65 70 6f 73 69 74 6f 72 79 20 66 f a repository f
3510: 6f 72 20 61 6e 20 65 78 69 73 74 69 6e 67 20 70 or an existing p
3520: 72 6f 6a 65 63 74 2e 20 20 20 54 68 65 20 64 65 roject. The de
3530: 66 61 75 6c 74 20 73 65 74 74 69 6e 67 20 66 6f fault setting fo
3540: 72 0a 61 20 6e 65 77 20 72 65 70 6f 73 69 74 6f r.a new reposito
3550: 72 79 20 69 73 20 77 69 74 68 20 61 75 74 6f 73 ry is with autos
3560: 79 6e 63 20 6f 6e 2c 20 73 6f 20 79 6f 75 20 77 ync on, so you w
3570: 69 6c 6c 20 6e 65 65 64 20 74 6f 20 74 75 72 6e ill need to turn
3580: 20 69 74 20 6f 66 66 0a 75 73 69 6e 67 20 74 68 it off.using th
3590: 65 20 3c 62 3e 73 65 74 74 69 6e 67 20 61 75 74 e <b>setting aut
35a0: 6f 73 79 6e 63 20 6f 66 66 3c 2f 62 3e 20 63 6f osync off</b> co
35b0: 6d 6d 61 6e 64 20 77 69 74 68 20 61 20 3c 62 3e mmand with a <b>
35c0: 2d 52 3c 2f 62 3e 20 6f 70 74 69 6f 6e 0a 74 6f -R</b> option.to
35d0: 20 73 70 65 63 69 66 79 20 74 68 65 20 72 65 70 specify the rep
35e0: 6f 73 69 74 6f 72 79 2e 0a 3c 2f 70 3e 3c 2f 6c ository..</p></l
35f0: 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 45 73 74 61 i>..<li><p>.Esta
3600: 62 6c 69 73 68 20 6f 6e 65 20 6f 72 20 6d 6f 72 blish one or mor
3610: 65 20 73 6f 75 72 63 65 20 74 72 65 65 73 20 62 e source trees b
3620: 79 20 63 68 61 6e 67 69 6e 67 20 79 6f 75 72 20 y changing your
3630: 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 working director
3640: 79 0a 74 6f 20 77 68 65 72 65 20 79 6f 75 20 77 y.to where you w
3650: 61 6e 74 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 ant the root of
3660: 74 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 20 the source tree
3670: 74 6f 20 62 65 2c 20 74 68 65 6e 20 69 73 73 75 to be, then issu
3680: 69 6e 67 0a 74 68 65 20 3c 62 3e 6f 70 65 6e 3c ing.the <b>open<
3690: 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 /b> command with
36a0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 the name of the
36b0: 20 72 65 70 6f 73 69 74 6f 72 79 20 66 69 6c 65 repository file
36c0: 20 61 73 20 69 74 73 0a 61 72 67 75 6d 65 6e 74 as its.argument
36d0: 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 ..</p></li>..<li
36e0: 3e 3c 70 3e 0a 54 68 65 20 3c 62 3e 6f 70 65 6e ><p>.The <b>open
36f0: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 </b> command in
3700: 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 74 65 the previous ste
3710: 70 20 70 6f 70 75 6c 61 74 65 73 20 79 6f 75 72 p populates your
3720: 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65 0a 74 72 local source.tr
3730: 65 65 20 77 69 74 68 20 61 20 63 6f 70 79 20 6f ee with a copy o
3740: 66 20 74 68 65 20 6c 61 74 65 73 74 20 62 61 73 f the latest bas
3750: 65 6c 69 6e 65 2e 20 20 55 73 75 61 6c 6c 79 20 eline. Usually
3760: 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 this is what you
3770: 20 77 61 6e 74 2e 0a 49 6e 20 74 68 65 20 72 61 want..In the ra
3780: 72 65 20 63 61 73 65 73 20 77 68 65 72 65 20 69 re cases where i
3790: 74 20 69 73 20 6e 6f 74 2c 20 75 73 65 20 74 68 t is not, use th
37a0: 65 20 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20 e <b>update</b>
37b0: 63 6f 6d 6d 61 6e 64 20 74 6f 0a 73 77 69 74 63 command to.switc
37c0: 68 20 74 6f 20 61 20 6e 65 77 20 62 61 73 65 6c h to a new basel
37d0: 69 6e 65 2e 20 20 55 73 65 20 74 68 65 20 3c 62 ine. Use the <b
37e0: 3e 74 69 6d 65 6c 69 6e 65 3c 2f 62 3e 20 6f 72 >timeline</b> or
37f0: 20 3c 62 3e 6c 65 61 76 65 73 3c 2f 62 3e 20 63 <b>leaves</b> c
3800: 6f 6d 6d 61 6e 64 73 0a 74 6f 20 69 64 65 6e 74 ommands.to ident
3810: 69 66 79 20 61 6c 74 65 72 6e 61 74 69 76 65 20 ify alternative
3820: 62 61 73 65 6c 69 6e 65 73 20 74 6f 20 73 77 69 baselines to swi
3830: 74 63 68 20 74 6f 2e 0a 3c 2f 70 3e 3c 2f 6c 69 tch to..</p></li
3840: 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 45 64 69 74 20 >..<li><p>.Edit
3850: 74 68 65 20 63 6f 64 65 2e 20 20 41 64 64 20 6e the code. Add n
3860: 65 77 20 66 69 6c 65 73 20 74 6f 20 74 68 65 20 ew files to the
3870: 73 6f 75 72 63 65 20 74 72 65 65 20 75 73 69 6e source tree usin
3880: 67 20 74 68 65 20 3c 62 3e 61 64 64 3c 2f 62 3e g the <b>add</b>
3890: 0a 63 6f 6d 6d 61 6e 64 2e 20 20 4f 6d 69 74 20 .command. Omit
38a0: 66 69 6c 65 73 20 66 72 6f 6d 20 66 75 74 75 72 files from futur
38b0: 65 20 62 61 73 65 6c 69 6e 65 73 20 75 73 69 6e e baselines usin
38c0: 67 20 74 68 65 20 3c 62 3e 72 6d 3c 2f 62 3e 20 g the <b>rm</b>
38d0: 63 6f 6d 6d 61 6e 64 2e 0a 28 45 76 65 6e 20 77 command..(Even w
38e0: 68 65 6e 20 79 6f 75 20 72 65 6d 6f 76 65 20 66 hen you remove f
38f0: 69 6c 65 73 20 66 72 6f 6d 20 66 75 74 75 72 65 iles from future
3900: 20 62 61 73 65 6c 69 6e 65 73 2c 20 74 68 6f 73 baselines, thos
3910: 65 20 66 69 6c 65 73 20 63 6f 6e 74 69 6e 75 65 e files continue
3920: 0a 74 6f 20 65 78 69 73 74 20 69 6e 20 68 69 73 .to exist in his
3930: 74 6f 72 69 63 61 6c 20 62 61 73 65 6c 69 6e 65 torical baseline
3940: 73 2e 29 20 20 54 65 73 74 20 79 6f 75 72 20 63 s.) Test your c
3950: 68 61 6e 67 65 73 2e 0a 3c 2f 70 3e 3c 2f 6c 69 hanges..</p></li
3960: 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 43 72 65 61 74 >..<li><p>.Creat
3970: 65 20 61 20 6e 65 77 20 62 61 73 65 6c 69 6e 65 e a new baseline
3980: 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 63 6f using the <b>co
3990: 6d 6d 69 74 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 mmit</b> command
39a0: 2e 20 20 59 6f 75 20 77 69 6c 6c 20 62 65 20 70 . You will be p
39b0: 72 6f 6d 70 74 65 64 0a 66 6f 72 20 61 20 63 68 rompted.for a ch
39c0: 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 61 eck-in comment a
39d0: 6e 64 20 61 6c 73 6f 20 66 6f 72 20 79 6f 75 72 nd also for your
39e0: 20 47 50 47 20 6b 65 79 20 69 66 20 79 6f 75 20 GPG key if you
39f0: 68 61 76 65 20 47 50 47 20 69 6e 73 74 61 6c 6c have GPG install
3a00: 65 64 2e 0a 54 68 65 20 63 6f 6d 6d 69 74 20 63 ed..The commit c
3a10: 6f 70 69 65 73 20 74 68 65 20 65 64 69 74 73 20 opies the edits
3a20: 79 6f 75 20 68 61 76 65 20 6d 61 64 65 20 69 6e you have made in
3a30: 20 79 6f 75 72 20 6c 6f 63 61 6c 20 73 6f 75 72 your local sour
3a40: 63 65 0a 74 72 65 65 20 69 6e 74 6f 20 79 6f 75 ce.tree into you
3a50: 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f r local reposito
3a60: 72 79 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c ry..</p></li>..<
3a70: 6c 69 3e 3c 70 3e 55 73 65 20 74 68 65 20 3c 62 li><p>Use the <b
3a80: 3e 70 75 73 68 3c 2f 62 3e 20 63 6f 6d 6d 61 6e >push</b> comman
3a90: 64 20 74 6f 20 70 75 73 68 20 79 6f 75 72 20 63 d to push your c
3aa0: 68 61 6e 67 65 73 20 6f 75 74 20 74 6f 20 61 20 hanges out to a
3ab0: 73 65 72 76 65 72 0a 77 68 65 72 65 20 79 6f 75 server.where you
3ac0: 72 20 63 6f 2d 77 6f 72 6b 65 72 73 20 63 61 6e r co-workers can
3ad0: 20 61 63 63 65 73 73 20 74 68 65 6d 2e 0a 3c 2f access them..</
3ae0: 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e p></li>..<li><p>
3af0: 0a 57 68 65 6e 20 63 6f 2d 77 6f 72 6b 65 72 73 .When co-workers
3b00: 20 6d 61 6b 65 20 74 68 65 69 72 20 6f 77 6e 20 make their own
3b10: 63 68 61 6e 67 65 73 2c 20 75 73 65 20 74 68 65 changes, use the
3b20: 20 3c 62 3e 70 75 6c 6c 3c 2f 62 3e 20 63 6f 6d <b>pull</b> com
3b30: 6d 61 6e 64 0a 74 6f 20 70 75 6c 6c 20 74 68 6f mand.to pull tho
3b40: 73 65 20 63 68 61 6e 67 65 73 20 69 6e 74 6f 20 se changes into
3b50: 79 6f 75 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 your local repos
3b60: 69 74 6f 72 79 2e 20 20 4e 6f 74 65 20 74 68 61 itory. Note tha
3b70: 74 20 3c 62 3e 70 75 6c 6c 3c 2f 62 3e 0a 64 6f t <b>pull</b>.do
3b80: 65 73 20 6e 6f 74 20 6d 6f 76 65 20 74 68 65 20 es not move the
3b90: 63 68 61 6e 67 65 73 20 69 6e 74 6f 20 79 6f 75 changes into you
3ba0: 72 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65 20 74 r local source t
3bb0: 72 65 65 2c 20 6f 6e 6c 79 20 69 6e 74 6f 20 79 ree, only into y
3bc0: 6f 75 72 0a 6c 6f 63 61 6c 20 72 65 70 6f 73 69 our.local reposi
3bd0: 74 6f 72 79 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a tory..</p></li>.
3be0: 0a 3c 6c 69 3e 3c 70 3e 0a 4f 6e 63 65 20 63 68 .<li><p>.Once ch
3bf0: 61 6e 67 65 73 20 61 72 65 20 69 6e 20 79 6f 75 anges are in you
3c00: 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f r local reposito
3c10: 72 79 2c 20 75 73 65 0a 75 73 65 20 74 68 65 20 ry, use.use the
3c20: 3c 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20 63 6f <b>update</b> co
3c30: 6d 6d 61 6e 64 20 74 6f 20 6d 65 72 67 65 20 74 mmand to merge t
3c40: 68 65 6d 20 74 6f 20 79 6f 75 72 20 6c 6f 63 61 hem to your loca
3c50: 6c 20 73 6f 75 72 63 65 20 74 72 65 65 2e 0a 49 l source tree..I
3c60: 66 20 79 6f 75 20 6d 65 72 67 65 20 69 6e 20 73 f you merge in s
3c70: 6f 6d 65 20 63 68 61 6e 67 65 73 20 61 6e 64 20 ome changes and
3c80: 66 69 6e 64 20 74 68 61 74 20 74 68 65 20 63 68 find that the ch
3c90: 61 6e 67 65 73 20 64 6f 20 6e 6f 74 20 77 6f 72 anges do not wor
3ca0: 6b 20 6f 75 74 0a 6f 72 20 61 72 65 20 6e 6f 74 k out.or are not
3cb0: 20 74 6f 20 79 6f 75 72 20 6c 69 6b 69 6e 67 2c to your liking,
3cc0: 20 79 6f 75 20 63 61 6e 20 62 61 63 6b 20 6f 75 you can back ou
3cd0: 74 20 74 68 65 20 63 68 61 6e 67 65 73 20 75 73 t the changes us
3ce0: 69 6e 67 20 74 68 65 0a 3c 62 3e 75 6e 64 6f 3c ing the.<b>undo<
3cf0: 2f 62 3e 20 63 6f 6d 6d 61 6e 64 2e 0a 3c 2f 70 /b> command..</p
3d00: 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a ></li>..<li><p>.
3d10: 52 65 70 65 61 74 20 61 6c 6c 20 6f 66 20 74 68 Repeat all of th
3d20: 65 20 61 62 6f 76 65 20 75 6e 74 69 6c 20 79 6f e above until yo
3d30: 75 20 68 61 76 65 20 67 65 6e 65 72 61 74 65 64 u have generated
3d40: 20 67 72 65 61 74 20 73 6f 66 74 77 61 72 65 2e great software.
3d50: 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 3c 2f 6f 6c 3e .</p></li>.</ol>
3d60: 0a 0a 3c 68 32 3e 35 2e 30 20 53 65 74 74 69 6e ..<h2>5.0 Settin
3d70: 67 20 55 70 20 41 20 46 6f 73 73 69 6c 20 53 65 g Up A Fossil Se
3d80: 72 76 65 72 3c 2f 68 32 3e 0a 0a 3c 70 3e 57 69 rver</h2>..<p>Wi
3d90: 74 68 20 6f 74 68 65 72 20 63 6f 6e 66 69 67 75 th other configu
3da0: 72 61 74 69 6f 6e 20 6d 61 6e 61 67 65 6d 65 6e ration managemen
3db0: 74 20 73 6f 66 74 77 61 72 65 2c 20 73 65 74 74 t software, sett
3dc0: 69 6e 67 20 75 70 20 61 20 73 65 72 76 65 72 20 ing up a server
3dd0: 69 73 0a 61 20 6c 6f 74 20 6f 66 20 77 6f 72 6b is.a lot of work
3de0: 20 61 6e 64 20 6e 6f 72 6d 61 6c 6c 79 20 74 61 and normally ta
3df0: 6b 65 73 20 74 69 6d 65 2c 20 70 61 74 69 65 6e kes time, patien
3e00: 63 65 2c 20 61 6e 64 20 61 20 6c 6f 74 20 6f 66 ce, and a lot of
3e10: 20 73 79 73 74 65 6d 0a 6b 6e 6f 77 6c 65 64 67 system.knowledg
3e20: 65 2e 20 20 46 6f 73 73 69 6c 20 69 73 20 64 65 e. Fossil is de
3e30: 73 69 67 6e 65 64 20 74 6f 20 61 76 6f 69 64 20 signed to avoid
3e40: 74 68 69 73 20 66 72 75 73 74 72 61 74 69 6f 6e this frustration
3e50: 2e 20 20 53 65 74 74 69 6e 67 20 75 70 0a 61 20 . Setting up.a
3e60: 73 65 72 76 65 72 20 77 69 74 68 20 66 6f 73 73 server with foss
3e70: 69 6c 20 69 73 20 72 69 64 69 63 75 6c 6f 75 73 il is ridiculous
3e80: 6c 79 20 65 61 73 79 2e 20 20 59 6f 75 20 68 61 ly easy. You ha
3e90: 76 65 20 74 68 72 65 65 20 6f 70 74 69 6f 6e 73 ve three options
3ea0: 3a 3c 2f 70 3e 0a 0a 3c 6f 6c 3e 0a 3c 6c 69 3e :</p>..<ol>.<li>
3eb0: 3c 70 3e 3c 62 3e 53 65 74 74 69 6e 67 20 75 70 <p><b>Setting up
3ec0: 20 61 20 73 74 61 6e 64 2d 61 6c 6f 6e 65 20 73 a stand-alone s
3ed0: 65 72 76 65 72 3c 2f 62 3e 3c 2f 70 3e 0a 0a 3c erver</b></p>..<
3ee0: 70 3e 46 72 6f 6d 20 77 69 74 68 69 6e 20 79 6f p>From within yo
3ef0: 75 72 20 73 6f 75 72 63 65 20 74 72 65 65 20 6a ur source tree j
3f00: 75 73 74 20 75 73 65 20 74 68 65 20 3c 62 3e 73 ust use the <b>s
3f10: 65 72 76 65 72 3c 2f 62 3e 20 63 6f 6d 6d 61 6e erver</b> comman
3f20: 64 20 61 6e 64 0a 66 6f 73 73 69 6c 20 77 69 6c d and.fossil wil
3f30: 6c 20 73 74 61 72 74 20 6c 69 73 74 65 6e 69 6e l start listenin
3f40: 67 20 66 6f 72 20 69 6e 63 6f 6d 69 6e 67 20 72 g for incoming r
3f50: 65 71 75 65 73 74 73 20 6f 6e 20 54 43 50 20 70 equests on TCP p
3f60: 6f 72 74 20 38 30 38 30 2e 0a 59 6f 75 20 63 61 ort 8080..You ca
3f70: 6e 20 70 6f 69 6e 74 20 79 6f 75 72 20 77 65 62 n point your web
3f80: 62 72 6f 77 73 65 72 20 61 74 20 3c 61 20 68 72 browser at <a hr
3f90: 65 66 3d 22 68 74 74 70 3a 2f 2f 6c 6f 63 61 6c ef="http://local
3fa0: 68 6f 73 74 3a 38 30 38 30 2f 22 3e 0a 68 74 74 host:8080/">.htt
3fb0: 70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 3a 38 30 p://localhost:80
3fc0: 38 30 2f 3c 2f 61 3e 20 61 6e 64 20 62 65 67 69 80/</a> and begi
3fd0: 6e 20 65 78 70 6c 6f 72 69 6e 67 2e 20 20 4f 72 n exploring. Or
3fe0: 20 79 6f 75 72 20 63 6f 77 6f 72 6b 65 72 73 0a your coworkers.
3ff0: 63 61 6e 20 64 6f 20 70 75 73 68 65 73 20 6f 72 can do pushes or
4000: 20 70 75 6c 6c 73 20 61 67 61 69 6e 73 74 20 79 pulls against y
4010: 6f 75 72 20 73 65 72 76 65 72 2e 20 20 55 73 65 our server. Use
4020: 20 74 68 65 20 3c 62 3e 2d 2d 70 6f 72 74 3c 2f the <b>--port</
4030: 62 3e 0a 6f 70 74 69 6f 6e 20 74 6f 20 74 68 65 b>.option to the
4040: 20 73 65 72 76 65 72 20 63 6f 6d 6d 61 6e 64 20 server command
4050: 74 6f 20 73 70 65 63 69 66 79 20 61 20 64 69 66 to specify a dif
4060: 66 65 72 65 6e 74 20 54 43 50 20 70 6f 72 74 2e ferent TCP port.
4070: 20 20 49 66 0a 79 6f 75 20 64 6f 20 6e 6f 74 20 If.you do not
4080: 68 61 76 65 20 61 20 6c 6f 63 61 6c 20 73 6f 75 have a local sou
4090: 72 63 65 20 74 72 65 65 2c 20 75 73 65 20 74 68 rce tree, use th
40a0: 65 20 3c 62 3e 2d 52 3c 2f 62 3e 20 63 6f 6d 6d e <b>-R</b> comm
40b0: 61 6e 64 2d 6c 69 6e 65 0a 6f 70 74 69 6f 6e 20 and-line.option
40c0: 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 72 to specify the r
40d0: 65 70 6f 73 69 74 6f 72 79 20 66 69 6c 65 2e 3c epository file.<
40e0: 2f 70 3e 0a 0a 3c 70 3e 41 20 73 74 61 6e 64 2d /p>..<p>A stand-
40f0: 61 6c 6f 6e 65 20 73 65 72 76 65 72 20 69 73 20 alone server is
4100: 61 20 67 72 65 61 74 20 77 61 79 20 74 6f 20 73 a great way to s
4110: 65 74 20 6f 66 20 74 72 61 6e 73 69 65 6e 74 20 et of transient
4120: 63 6f 6e 6e 65 63 74 69 6f 6e 73 0a 62 65 74 77 connections.betw
4130: 65 65 6e 20 63 6f 77 6f 72 6b 65 72 73 20 66 6f een coworkers fo
4140: 72 20 64 6f 69 6e 67 20 71 75 69 63 6b 20 70 75 r doing quick pu
4150: 73 68 65 73 20 6f 72 20 70 75 6c 6c 73 2e 20 20 shes or pulls.
4160: 42 75 74 20 79 6f 75 20 63 61 6e 20 61 6c 73 6f But you can also
4170: 0a 73 65 74 20 75 70 20 61 20 70 65 72 6d 61 6e .set up a perman
4180: 65 6e 74 20 73 74 61 6e 64 2d 61 6c 6f 6e 65 20 ent stand-alone
4190: 73 65 72 76 65 72 20 69 66 20 79 6f 75 20 70 72 server if you pr
41a0: 65 66 65 72 2e 20 20 4a 75 73 74 20 6d 61 6b 65 efer. Just make
41b0: 0a 61 72 72 61 6e 67 65 6d 65 6e 74 73 20 66 6f .arrangements fo
41c0: 72 20 66 6f 73 73 69 6c 20 74 6f 20 62 65 20 6c r fossil to be l
41d0: 61 75 6e 63 68 65 64 20 77 69 74 68 20 61 70 70 aunched with app
41e0: 72 6f 70 72 69 61 74 65 20 61 72 67 75 6d 65 6e ropriate argumen
41f0: 74 73 0a 61 66 74 65 72 20 65 76 65 72 79 20 72 ts.after every r
4200: 65 62 6f 6f 74 2e 3c 2f 70 3e 0a 3c 2f 6c 69 3e eboot.</p>.</li>
4210: 0a 0a 3c 6c 69 3e 3c 70 3e 3c 62 3e 53 65 74 74 ..<li><p><b>Sett
4220: 69 6e 67 20 75 70 20 61 20 43 47 49 20 73 65 72 ing up a CGI ser
4230: 76 65 72 3c 2f 62 3e 3c 2f 70 3e 0a 0a 3c 70 3e ver</b></p>..<p>
4240: 49 66 20 79 6f 75 20 68 61 76 65 20 61 20 77 65 If you have a we
4250: 62 73 65 72 76 65 72 20 72 75 6e 6e 69 6e 67 20 bserver running
4260: 6f 6e 20 79 6f 75 72 20 6d 61 63 68 69 6e 65 20 on your machine
4270: 61 6c 72 65 61 64 79 2c 20 79 6f 75 20 63 61 6e already, you can
4280: 0a 73 65 74 20 75 70 20 66 6f 73 73 69 6c 20 74 .set up fossil t
4290: 6f 20 62 65 20 72 75 6e 20 66 72 6f 6d 20 43 47 o be run from CG
42a0: 49 2e 20 20 53 69 6d 70 6c 79 20 63 72 65 61 74 I. Simply creat
42b0: 65 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 e an executable
42c0: 73 63 72 69 70 74 0a 74 68 61 74 20 6c 6f 6f 6b script.that look
42d0: 73 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 s something like
42e0: 20 74 68 69 73 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f this:</p>..<blo
42f0: 63 6b 71 75 6f 74 65 3e 3c 70 72 65 3e 0a 23 21 ckquote><pre>.#!
4300: 2f 75 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e 2f 66 /usr/local/bin/f
4310: 6f 73 73 69 6c 0a 72 65 70 6f 73 69 74 6f 72 79 ossil.repository
4320: 3a 20 2f 68 6f 6d 65 2f 6d 65 2f 62 69 67 70 72 : /home/me/bigpr
4330: 6f 6a 65 63 74 2e 66 6f 73 73 69 6c 0a 3c 2f 70 oject.fossil.</p
4340: 72 65 3e 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e re></blockquote>
4350: 0a 0a 3c 70 3e 45 64 69 74 20 74 68 69 73 20 73 ..<p>Edit this s
4360: 63 72 69 70 74 20 74 6f 20 75 73 65 20 77 68 61 cript to use wha
4370: 74 65 76 65 72 20 70 61 74 68 6e 61 6d 65 73 20 tever pathnames
4380: 61 72 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 are appropriate
4390: 66 6f 72 0a 79 6f 75 72 20 70 72 6f 6a 65 63 74 for.your project
43a0: 2e 20 20 54 68 65 6e 20 70 6f 69 6e 74 20 79 6f . Then point yo
43b0: 75 72 20 77 65 62 62 72 6f 77 73 65 72 20 61 74 ur webbrowser at
43c0: 20 74 68 65 20 73 63 72 69 70 74 20 61 6e 64 20 the script and
43d0: 6f 66 66 20 79 6f 75 0a 67 6f 2e 3c 2f 70 3e 3c off you.go.</p><
43e0: 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 3c 62 3e /li>..<li><p><b>
43f0: 53 65 74 74 69 6e 67 20 75 70 20 61 6e 20 69 6e Setting up an in
4400: 65 74 64 20 73 65 72 76 65 72 3c 2f 62 3e 3c 2f etd server</b></
4410: 70 3e 0a 0a 3c 70 3e 49 66 20 79 6f 75 20 68 61 p>..<p>If you ha
4420: 76 65 20 69 6e 65 74 64 20 6f 72 20 78 69 6e 65 ve inetd or xine
4430: 74 64 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 79 6f td running on yo
4440: 75 72 20 73 79 73 74 65 6d 2c 20 79 6f 75 20 63 ur system, you c
4450: 61 6e 20 73 65 74 0a 74 68 6f 73 65 20 73 65 72 an set.those ser
4460: 76 69 63 65 73 20 75 70 20 74 6f 20 6c 61 75 6e vices up to laun
4470: 63 68 20 66 6f 73 73 69 6c 20 74 6f 20 64 65 61 ch fossil to dea
4480: 6c 20 77 69 74 68 20 69 6e 62 6f 75 6e 64 20 54 l with inbound T
4490: 43 50 2f 49 50 20 63 6f 6e 6e 65 63 74 69 6f 6e CP/IP connection
44a0: 73 0a 6f 6e 20 77 68 61 74 65 76 65 72 20 70 6f s.on whatever po
44b0: 72 74 20 79 6f 75 20 77 61 6e 74 2e 20 20 53 65 rt you want. Se
44c0: 74 20 75 70 20 69 6e 65 74 64 20 6f 72 20 78 69 t up inetd or xi
44d0: 6e 65 74 64 20 74 6f 20 6c 61 75 6e 63 68 20 66 netd to launch f
44e0: 6f 73 73 69 6c 0a 6c 69 6b 65 20 74 68 69 73 3a ossil.like this:
44f0: 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 </p>..<blockquot
4500: 65 3e 3c 70 72 65 3e 0a 2f 75 73 72 2f 6c 6f 63 e><pre>./usr/loc
4510: 61 6c 2f 62 69 6e 2f 66 6f 73 73 69 6c 20 68 74 al/bin/fossil ht
4520: 74 70 20 2f 68 6f 6d 65 2f 6d 65 2f 62 69 67 70 tp /home/me/bigp
4530: 72 6f 6a 65 63 74 2e 66 6f 73 73 69 6c 0a 3c 2f roject.fossil.</
4540: 70 72 65 3e 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 pre></blockquote
4550: 3e 0a 0a 3c 70 3e 41 73 20 62 65 66 6f 72 65 2c >..<p>As before,
4560: 20 63 68 61 6e 67 65 20 74 68 65 20 66 69 6c 65 change the file
4570: 6e 61 6d 65 73 20 74 6f 20 77 68 61 74 65 76 65 names to whateve
4580: 72 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 r is appropriate
4590: 20 66 6f 72 0a 79 6f 75 72 20 73 79 73 74 65 6d for.your system
45a0: 2e 20 20 59 6f 75 20 63 61 6e 20 68 61 76 65 20 . You can have
45b0: 66 6f 73 73 69 6c 20 72 75 6e 20 61 73 20 61 6e fossil run as an
45c0: 79 20 75 73 65 72 20 74 68 61 74 20 68 61 73 20 y user that has
45d0: 77 72 69 74 65 0a 70 65 72 6d 69 73 73 69 6f 6e write.permission
45e0: 20 6f 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f on the reposito
45f0: 72 79 20 61 6e 64 20 6f 6e 20 74 68 65 20 64 69 ry and on the di
4600: 72 65 63 74 6f 72 79 20 74 68 61 74 20 63 6f 6e rectory that con
4610: 74 61 69 6e 73 20 74 68 65 0a 72 65 70 6f 73 69 tains the.reposi
4620: 74 6f 72 79 2e 20 20 42 75 74 20 69 74 20 69 73 tory. But it is
4630: 20 73 61 66 65 72 20 74 6f 20 72 75 6e 20 66 6f safer to run fo
4640: 73 73 69 6c 20 61 73 20 72 6f 6f 74 2e 20 20 57 ssil as root. W
4650: 68 65 6e 20 66 6f 73 73 69 6c 0a 73 65 65 73 20 hen fossil.sees
4660: 74 68 61 74 20 69 74 20 69 73 20 72 75 6e 6e 69 that it is runni
4670: 6e 67 20 61 73 20 72 6f 6f 74 2c 20 69 74 20 61 ng as root, it a
4680: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 70 75 74 utomatically put
4690: 73 20 69 74 73 65 6c 66 20 69 6e 74 6f 0a 61 20 s itself into.a
46a0: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f <a href="http://
46b0: 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 en.wikipedia.org
46c0: 2f 77 69 6b 69 2f 43 68 72 6f 6f 74 22 3e 63 68 /wiki/Chroot">ch
46d0: 72 6f 6f 74 20 6a 61 69 6c 3c 2f 61 3e 20 61 6e root jail</a> an
46e0: 64 0a 64 72 6f 70 73 20 61 6c 6c 20 70 72 69 76 d.drops all priv
46f0: 69 6c 65 67 65 73 20 70 72 69 6f 72 20 74 6f 20 ileges prior to
4700: 72 65 61 64 69 6e 67 20 61 6e 79 20 69 6e 66 6f reading any info
4710: 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 rmation from the
4720: 20 63 6c 69 65 6e 74 2e 0a 53 69 6e 63 65 20 66 client..Since f
4730: 6f 73 73 69 6c 20 69 73 20 61 20 73 74 61 6e 64 ossil is a stand
4740: 2d 61 6c 6f 6e 65 20 70 72 6f 67 72 61 6d 2c 20 -alone program,
4750: 79 6f 75 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 you do not need
4760: 74 6f 20 70 75 74 20 61 6e 79 74 68 69 6e 67 0a to put anything.
4770: 69 6e 20 74 68 65 20 63 68 72 6f 6f 74 20 6a 61 in the chroot ja
4780: 69 6c 20 77 69 74 68 20 66 6f 73 73 69 6c 20 69 il with fossil i
4790: 6e 20 6f 72 64 65 72 20 66 6f 72 20 69 74 20 74 n order for it t
47a0: 6f 20 64 6f 20 69 74 73 20 6a 6f 62 2e 3c 2f 70 o do its job.</p
47b0: 3e 0a 3c 2f 6c 69 3e 0a 3c 2f 6f 6c 3e 0a 0a 3c >.</li>.</ol>..<
47c0: 68 32 3e 36 2e 30 20 52 65 76 69 65 77 20 4f 66 h2>6.0 Review Of
47d0: 20 4b 65 79 20 43 6f 6e 63 65 70 74 73 3c 2f 68 Key Concepts</h
47e0: 32 3e 0a 0a 3c 75 6c 3e 0a 3c 6c 69 3e 54 68 65 2>..<ul>.<li>The
47f0: 20 3c 62 3e 66 6f 73 73 69 6c 3c 2f 62 3e 20 70 <b>fossil</b> p
4800: 72 6f 67 72 61 6d 20 69 73 20 61 20 73 65 6c 66 rogram is a self
4810: 2d 63 6f 6e 74 61 69 6e 65 64 20 73 74 61 6e 64 -contained stand
4820: 2d 61 6c 6f 6e 65 20 65 78 65 63 75 74 61 62 6c -alone executabl
4830: 65 2e 0a 20 20 20 20 4a 75 73 74 20 70 75 74 20 e.. Just put
4840: 69 74 20 73 6f 6d 65 77 68 65 72 65 20 6f 6e 20 it somewhere on
4850: 79 6f 75 72 20 50 41 54 48 20 74 6f 20 69 6e 73 your PATH to ins
4860: 74 61 6c 6c 20 69 74 2e 3c 2f 6c 69 3e 0a 3c 6c tall it.</li>.<l
4870: 69 3e 55 73 65 20 74 68 65 20 3c 62 3e 63 6c 6f i>Use the <b>clo
4880: 6e 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 6e 65 77 ne</b> or <b>new
4890: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 73 20 74 6f </b> commands to
48a0: 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 72 65 create a new re
48b0: 70 6f 73 69 74 6f 72 79 2e 3c 2f 6c 69 3e 0a 3c pository.</li>.<
48c0: 6c 69 3e 55 73 65 20 74 68 65 20 3c 62 3e 6f 70 li>Use the <b>op
48d0: 65 6e 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 en</b> command t
48e0: 6f 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 73 o create a new s
48f0: 6f 75 72 63 65 20 74 72 65 65 2e 3c 2f 6c 69 3e ource tree.</li>
4900: 0a 3c 6c 69 3e 55 73 65 20 74 68 65 20 3c 62 3e .<li>Use the <b>
4910: 61 64 64 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 72 add</b> and <b>r
4920: 6d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 64 65 6c 65 m</b> or <b>dele
4930: 74 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 73 20 te</b> commands
4940: 74 6f 20 61 64 64 20 61 6e 64 0a 20 20 20 20 72 to add and. r
4950: 65 6d 6f 76 65 20 66 69 6c 65 73 20 66 72 6f 6d emove files from
4960: 20 74 68 65 20 6c 6f 63 61 6c 20 73 6f 75 72 63 the local sourc
4970: 65 20 74 72 65 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 e tree.</li>.<li
4980: 3e 55 73 65 20 74 68 65 20 3c 62 3e 63 6f 6d 6d >Use the <b>comm
4990: 69 74 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 it</b> command t
49a0: 6f 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 62 o create a new b
49b0: 61 73 65 6c 69 6e 65 2e 3c 2f 6c 69 3e 0a 3c 6c aseline.</li>.<l
49c0: 69 3e 55 73 65 20 74 68 65 20 3c 62 3e 75 70 64 i>Use the <b>upd
49d0: 61 74 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 ate</b> command
49e0: 74 6f 20 6d 65 72 67 65 20 69 6e 20 63 68 61 6e to merge in chan
49f0: 67 65 73 20 66 72 6f 6d 20 6f 74 68 65 72 73 2e ges from others.
4a00: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54 68 65 20 3c 62 </li>.<li>The <b
4a10: 3e 70 75 73 68 3c 2f 62 3e 20 61 6e 64 20 3c 62 >push</b> and <b
4a20: 3e 70 75 6c 6c 3c 2f 62 3e 20 63 6f 6d 6d 61 6e >pull</b> comman
4a30: 64 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 ds can be used t
4a40: 6f 20 73 68 61 72 65 20 63 68 61 6e 67 65 73 0a o share changes.
4a50: 20 20 20 20 6d 61 6e 75 61 6c 6c 79 2c 20 62 75 manually, bu
4a60: 74 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 68 t these things h
4a70: 61 70 70 65 6e 20 61 75 74 6f 6d 61 74 69 63 61 appen automatica
4a80: 6c 6c 79 20 69 6e 20 74 68 65 20 64 65 66 61 75 lly in the defau
4a90: 6c 74 0a 20 20 20 20 61 75 74 6f 73 79 6e 63 20 lt. autosync
4aa0: 6d 6f 64 65 2e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e mode.</li>.</ul>
4ab0: 0a .