0000: 3c 74 69 74 6c 65 3e 46 6f 73 73 69 6c 20 43 6f <title>Fossil Co
0010: 6e 63 65 70 74 73 3c 2f 74 69 74 6c 65 3e 0a 3c ncepts</title>.<
0020: 6e 6f 77 69 6b 69 3e 0a 3c 68 31 20 61 6c 69 67 nowiki>.<h1 alig
0030: 6e 3d 22 63 65 6e 74 65 72 22 3e 46 6f 73 73 69 n="center">Fossi
0040: 6c 20 43 6f 6e 63 65 70 74 73 3c 2f 68 31 3e 0a l Concepts</h1>.
0050: 0a 3c 68 32 3e 31 2e 30 20 49 6e 74 72 6f 64 75 .<h2>1.0 Introdu
0060: 63 74 69 6f 6e 3c 2f 68 32 3e 0a 3c 70 3e 0a 3c ction</h2>.<p>.<
0070: 61 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 68 74 a href="index.ht
0080: 6d 6c 22 3e 46 6f 73 73 69 6c 3c 2f 61 3e 20 69 ml">Fossil</a> i
0090: 73 20 61 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 s a.<a href="htt
00a0: 70 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 p://en.wikipedia
00b0: 2e 6f 72 67 2f 77 69 6b 69 2f 53 6f 66 74 77 61 .org/wiki/Softwa
00c0: 72 65 5f 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e re_configuration
00d0: 5f 6d 61 6e 61 67 65 6d 65 6e 74 22 3e 0a 73 6f _management">.so
00e0: 66 74 77 61 72 65 20 63 6f 6e 66 69 67 75 72 61 ftware configura
00f0: 74 69 6f 6e 20 6d 61 6e 61 67 65 6d 65 6e 74 3c tion management<
0100: 2f 61 3e 20 73 79 73 74 65 6d 2e 0a 46 6f 73 73 /a> system..Foss
0110: 69 6c 20 69 73 20 73 6f 66 74 77 61 72 65 20 74 il is software t
0120: 68 61 74 20 69 73 20 64 65 73 69 67 6e 65 64 20 hat is designed
0130: 74 6f 20 63 6f 6e 74 72 6f 6c 20 61 6e 64 20 74 to control and t
0140: 72 61 63 6b 20 74 68 65 0a 64 65 76 65 6c 6f 70 rack the.develop
0150: 6d 65 6e 74 20 6f 66 20 61 20 73 6f 66 74 77 61 ment of a softwa
0160: 72 65 20 70 72 6f 6a 65 63 74 20 61 6e 64 20 74 re project and t
0170: 6f 20 72 65 63 6f 72 64 20 74 68 65 20 68 69 73 o record the his
0180: 74 6f 72 79 0a 6f 66 20 74 68 65 20 70 72 6f 6a tory.of the proj
0190: 65 63 74 2e 0a 54 68 65 72 65 20 61 72 65 20 6d ect..There are m
01a0: 61 6e 79 20 73 75 63 68 20 73 79 73 74 65 6d 73 any such systems
01b0: 20 69 6e 20 75 73 65 20 74 6f 64 61 79 2e 20 20 in use today.
01c0: 46 6f 73 73 69 6c 20 73 74 72 69 76 65 73 20 74 Fossil strives t
01d0: 6f 0a 64 69 73 74 69 6e 67 75 69 73 68 20 69 74 o.distinguish it
01e0: 73 65 6c 66 20 66 72 6f 6d 20 74 68 65 20 6f 74 self from the ot
01f0: 68 65 72 73 20 62 79 20 62 65 69 6e 67 20 65 78 hers by being ex
0200: 74 72 65 6d 65 6c 79 20 73 69 6d 70 6c 65 0a 74 tremely simple.t
0210: 6f 20 73 65 74 75 70 20 61 6e 64 20 6f 70 65 72 o setup and oper
0220: 61 74 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 54 68 69 ate.</p>..<p>Thi
0230: 73 20 64 6f 63 75 6d 65 6e 74 20 69 73 20 69 6e s document is in
0240: 74 65 6e 64 65 64 20 61 73 20 61 20 71 75 69 63 tended as a quic
0250: 6b 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 k introduction t
0260: 6f 20 74 68 65 20 63 6f 6e 63 65 70 74 73 0a 62 o the concepts.b
0270: 65 68 69 6e 64 20 66 6f 73 73 69 6c 2e 3c 2f 70 ehind fossil.</p
0280: 3e 0a 0a 3c 68 32 3e 32 2e 30 20 43 6f 6d 70 6f >..<h2>2.0 Compo
0290: 73 69 74 69 6f 6e 20 4f 66 20 41 20 50 72 6f 6a sition Of A Proj
02a0: 65 63 74 3c 2f 68 32 3e 0a 3c 69 6d 67 20 73 72 ect</h2>.<img sr
02b0: 63 3d 22 63 6f 6e 63 65 70 74 31 2e 67 69 66 22 c="concept1.gif"
02c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 20 68 align="right" h
02d0: 73 70 61 63 65 3d 22 31 30 22 3e 0a 0a 3c 70 3e space="10">..<p>
02e0: 41 20 73 6f 66 74 77 61 72 65 20 70 72 6f 6a 65 A software proje
02f0: 63 74 20 6e 6f 72 6d 61 6c 6c 79 20 63 6f 6e 73 ct normally cons
0300: 69 73 74 73 20 6f 66 20 61 20 22 73 6f 75 72 63 ists of a "sourc
0310: 65 20 74 72 65 65 22 2e 0a 41 20 73 6f 75 72 63 e tree"..A sourc
0320: 65 20 74 72 65 65 20 69 73 20 61 20 68 69 65 72 e tree is a hier
0330: 61 72 63 68 79 20 6f 66 20 66 69 6c 65 73 20 74 archy of files t
0340: 68 61 74 20 61 72 65 20 75 73 65 64 20 74 6f 20 hat are used to
0350: 67 65 6e 65 72 61 74 65 0a 74 68 65 20 65 6e 64 generate.the end
0360: 20 70 72 6f 64 75 63 74 2e 20 20 54 68 65 20 73 product. The s
0370: 6f 75 72 63 65 20 74 72 65 65 20 63 68 61 6e 67 ource tree chang
0380: 65 73 20 6f 76 65 72 20 74 69 6d 65 20 61 73 20 es over time as
0390: 74 68 65 0a 73 6f 66 74 77 61 72 65 20 67 72 6f the.software gro
03a0: 77 73 20 61 6e 64 20 65 78 70 61 6e 64 73 20 61 ws and expands a
03b0: 6e 64 20 61 73 20 66 65 61 74 75 72 65 73 20 61 nd as features a
03c0: 72 65 20 61 64 64 65 64 20 61 6e 64 20 62 75 67 re added and bug
03d0: 73 0a 61 72 65 20 66 69 78 65 64 2e 20 20 41 20 s.are fixed. A
03e0: 73 6e 61 70 73 68 6f 74 20 6f 66 20 74 68 65 20 snapshot of the
03f0: 73 6f 75 72 63 65 20 74 72 65 65 20 61 74 20 61 source tree at a
0400: 6e 79 20 70 6f 69 6e 74 20 69 6e 20 74 69 6d 65 ny point in time
0410: 0a 69 73 20 63 61 6c 6c 65 64 20 61 20 22 76 65 .is called a "ve
0420: 72 73 69 6f 6e 22 20 6f 72 20 22 72 65 76 69 73 rsion" or "revis
0430: 69 6f 6e 22 20 6f 72 20 61 20 22 62 61 73 65 6c ion" or a "basel
0440: 69 6e 65 22 20 6f 66 20 74 68 65 20 70 72 6f 64 ine" of the prod
0450: 75 63 74 2e 0a 49 6e 20 66 6f 73 73 69 6c 2c 20 uct..In fossil,
0460: 77 65 20 75 73 65 20 74 68 65 20 6e 61 6d 65 20 we use the name
0470: 22 63 68 65 63 6b 2d 69 6e 22 2e 3c 2f 70 3e 0a "check-in".</p>.
0480: 0a 3c 70 3e 41 20 22 72 65 70 6f 73 69 74 6f 72 .<p>A "repositor
0490: 79 22 20 69 73 20 61 20 64 61 74 61 62 61 73 65 y" is a database
04a0: 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 63 that contains c
04b0: 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 68 69 73 opies of all his
04c0: 74 6f 72 69 63 61 6c 0a 63 68 65 63 6b 2d 69 6e torical.check-in
04d0: 73 20 66 6f 72 20 61 20 70 72 6f 6a 65 63 74 2e s for a project.
04e0: 20 20 43 68 65 63 6b 2d 69 6e 73 20 61 72 65 20 Check-ins are
04f0: 6e 6f 72 6d 61 6c 6c 79 20 73 74 6f 72 65 64 20 normally stored
0500: 69 6e 20 74 68 65 0a 72 65 70 6f 73 69 74 6f 72 in the.repositor
0510: 79 20 69 6e 20 61 20 68 69 67 68 6c 79 20 73 70 y in a highly sp
0520: 61 63 65 2d 65 66 66 69 63 69 65 6e 74 20 63 6f ace-efficient co
0530: 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 mpressed format
0540: 28 64 65 6c 74 61 20 65 6e 63 6f 64 69 6e 67 29 (delta encoding)
0550: 2e 0a 42 75 74 20 74 68 61 74 20 69 73 20 61 6e ..But that is an
0560: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 implementation
0570: 64 65 74 61 69 6c 20 74 68 61 74 20 79 6f 75 20 detail that you
0580: 74 68 65 20 75 73 65 72 20 6e 65 65 64 20 6e 6f the user need no
0590: 74 20 77 6f 72 72 79 20 6f 76 65 72 2e 0a 54 68 t worry over..Th
05a0: 69 6e 6b 20 6f 66 20 74 68 65 20 72 65 70 6f 73 ink of the repos
05b0: 69 74 6f 72 79 20 61 73 20 61 20 73 61 66 65 20 itory as a safe
05c0: 70 6c 61 63 65 20 77 68 65 72 65 20 61 6c 6c 20 place where all
05d0: 79 6f 75 72 20 6f 6c 64 20 63 68 65 63 6b 2d 69 your old check-i
05e0: 6e 73 20 61 72 65 0a 73 65 63 75 72 65 6c 79 20 ns are.securely
05f0: 73 74 6f 72 65 64 20 61 77 61 79 20 61 6e 64 20 stored away and
0600: 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 72 65 available for re
0610: 74 72 69 65 76 61 6c 20 77 68 65 6e 65 76 65 72 trieval whenever
0620: 20 79 6f 75 20 6e 65 65 64 0a 74 68 65 6d 2e 3c you need.them.<
0630: 2f 70 3e 0a 0a 3c 70 3e 41 20 72 65 70 6f 73 69 /p>..<p>A reposi
0640: 74 6f 72 79 20 69 6e 20 66 6f 73 73 69 6c 20 69 tory in fossil i
0650: 73 20 61 20 73 69 6e 67 6c 65 20 66 69 6c 65 20 s a single file
0660: 6f 6e 20 79 6f 75 72 20 64 69 73 6b 2e 20 20 54 on your disk. T
0670: 68 69 73 20 66 69 6c 65 0a 6d 69 67 68 74 20 62 his file.might b
0680: 65 20 72 61 74 68 65 72 20 6c 61 72 67 65 20 28 e rather large (
0690: 64 6f 7a 65 6e 73 20 6f 72 20 68 75 6e 64 72 65 dozens or hundre
06a0: 64 73 20 6f 66 20 6d 65 67 61 62 79 74 65 73 20 ds of megabytes
06b0: 66 6f 72 20 61 20 6c 61 72 67 65 0a 6f 72 20 6c for a large.or l
06c0: 6f 6e 67 20 72 75 6e 6e 69 6e 67 20 70 72 6f 6a ong running proj
06d0: 65 63 74 29 20 62 75 74 20 69 74 20 69 73 20 6e ect) but it is n
06e0: 65 76 65 72 74 68 65 6c 65 73 73 20 6a 75 73 74 evertheless just
06f0: 20 61 20 66 69 6c 65 2e 20 20 59 6f 75 0a 63 61 a file. You.ca
0700: 6e 20 6d 6f 76 65 20 69 74 20 61 72 6f 75 6e 64 n move it around
0710: 2c 20 72 65 6e 61 6d 65 20 69 74 2c 20 77 72 69 , rename it, wri
0720: 74 65 20 69 74 20 6f 75 74 20 74 6f 20 61 20 6d te it out to a m
0730: 65 6d 6f 72 79 20 73 74 69 63 6b 2c 20 6f 72 0a emory stick, or.
0740: 64 6f 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 do anything else
0750: 20 79 6f 75 20 6e 6f 72 6d 61 6c 6c 79 20 64 6f you normally do
0760: 20 77 69 74 68 20 66 69 6c 65 73 2e 3c 2f 70 3e with files.</p>
0770: 0a 0a 3c 70 3e 45 61 63 68 20 73 6f 75 72 63 65 ..<p>Each source
0780: 20 74 72 65 65 20 74 68 61 74 20 69 73 20 63 6f tree that is co
0790: 6e 74 72 6f 6c 6c 65 64 20 62 79 20 66 6f 73 73 ntrolled by foss
07a0: 69 6c 20 69 73 20 61 73 73 6f 63 69 61 74 65 64 il is associated
07b0: 20 77 69 74 68 0a 61 20 73 69 6e 67 6c 65 20 72 with.a single r
07c0: 65 70 6f 73 69 74 6f 72 79 20 6f 6e 20 74 68 65 epository on the
07d0: 20 6c 6f 63 61 6c 20 64 69 73 6b 20 64 72 69 76 local disk driv
07e0: 65 2e 20 20 59 6f 75 20 63 61 6e 20 74 69 65 20 e. You can tie
07f0: 74 77 6f 20 6f 72 20 6d 6f 72 65 0a 73 6f 75 72 two or more.sour
0800: 63 65 20 74 72 65 65 73 20 74 6f 20 61 20 73 69 ce trees to a si
0810: 6e 67 6c 65 20 72 65 70 6f 73 69 74 6f 72 79 20 ngle repository
0820: 69 66 20 79 6f 75 20 77 61 6e 74 20 28 74 68 6f if you want (tho
0830: 75 67 68 20 6f 6e 65 0a 74 72 65 65 20 70 65 72 ugh one.tree per
0840: 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 74 repository is t
0850: 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 63 he most common c
0860: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 29 20 20 onfiguration.)
0870: 53 6f 20 61 0a 73 69 6e 67 6c 65 20 72 65 70 6f So a.single repo
0880: 73 69 74 6f 72 79 20 63 61 6e 20 62 65 20 61 73 sitory can be as
0890: 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 6d 61 sociated with ma
08a0: 6e 79 20 73 6f 75 72 63 65 20 74 72 65 65 73 2c ny source trees,
08b0: 20 62 75 74 0a 65 61 63 68 20 73 6f 75 72 63 65 but.each source
08c0: 20 74 72 65 65 20 69 73 20 61 73 73 6f 63 69 61 tree is associa
08d0: 74 65 64 20 77 69 74 68 20 6f 6e 6c 79 20 6f 6e ted with only on
08e0: 65 20 72 65 70 6f 73 69 74 6f 72 79 2e 3c 2f 70 e repository.</p
08f0: 3e 0a 0a 3c 70 3e 46 6f 73 73 69 6c 20 73 6f 75 >..<p>Fossil sou
0900: 72 63 65 20 74 72 65 65 73 20 6d 61 79 20 6e 6f rce trees may no
0910: 74 20 6f 76 65 72 6c 61 70 2e 20 20 41 20 66 6f t overlap. A fo
0920: 73 73 69 6c 20 73 6f 75 72 63 65 20 74 72 65 65 ssil source tree
0930: 20 69 73 20 69 64 65 6e 74 69 66 69 65 64 0a 62 is identified.b
0940: 79 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 22 y a file named "
0950: 5f 46 4f 53 53 49 4c 5f 22 20 69 6e 20 74 68 65 _FOSSIL_" in the
0960: 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 20 root directory
0970: 6f 66 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 of the source tr
0980: 65 65 2e 20 20 45 76 65 72 79 0a 66 69 6c 65 20 ee. Every.file
0990: 74 68 61 74 20 69 73 20 61 20 73 69 62 6c 69 6e that is a siblin
09a0: 67 20 6f 66 20 5f 46 4f 53 53 49 4c 5f 20 61 6e g of _FOSSIL_ an
09b0: 64 20 65 76 65 72 79 20 66 69 6c 65 20 69 6e 20 d every file in
09c0: 65 76 65 72 79 20 73 75 62 66 6f 6c 64 65 72 20 every subfolder
09d0: 69 73 0a 63 6f 6e 73 69 64 65 72 65 64 20 70 6f is.considered po
09e0: 74 65 6e 74 69 61 6c 6c 79 20 61 20 70 61 72 74 tentially a part
09f0: 20 6f 66 20 74 68 65 20 73 6f 75 72 63 65 20 74 of the source t
0a00: 72 65 65 2e 20 20 54 68 65 20 5f 46 4f 53 53 49 ree. The _FOSSI
0a10: 4c 5f 20 66 69 6c 65 0a 63 6f 6e 74 61 69 6e 73 L_ file.contains
0a20: 20 28 61 6d 6f 6e 67 20 6f 74 68 65 72 20 74 68 (among other th
0a30: 69 6e 67 73 29 20 74 68 65 20 70 61 74 68 6e 61 ings) the pathna
0a40: 6d 65 20 6f 66 20 74 68 65 20 72 65 70 6f 73 69 me of the reposi
0a50: 74 6f 72 79 20 77 69 74 68 20 77 68 69 63 68 0a tory with which.
0a60: 74 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 20 the source tree
0a70: 69 73 20 61 73 73 6f 63 69 61 74 65 64 2e 20 20 is associated.
0a80: 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e On the other han
0a90: 64 2c 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 d, the repositor
0aa0: 79 20 68 61 73 0a 6e 6f 20 72 65 63 6f 72 64 20 y has.no record
0ab0: 6f 66 20 69 74 73 20 73 6f 75 72 63 65 20 74 72 of its source tr
0ac0: 65 65 73 2e 20 20 53 6f 20 79 6f 75 20 61 72 65 ees. So you are
0ad0: 20 66 72 65 65 20 74 6f 20 64 65 6c 65 74 65 20 free to delete
0ae0: 61 20 73 6f 75 72 63 65 20 74 72 65 65 0a 6f 72 a source tree.or
0af0: 20 6d 6f 76 65 20 69 74 20 61 72 6f 75 6e 64 20 move it around
0b00: 77 69 74 68 6f 75 74 20 63 6f 6e 73 65 71 75 65 without conseque
0b10: 6e 63 65 2e 20 20 42 75 74 20 69 66 20 79 6f 75 nce. But if you
0b20: 20 6d 6f 76 65 20 6f 72 20 72 65 6e 61 6d 65 20 move or rename
0b30: 6f 72 0a 64 65 6c 65 74 65 20 61 20 72 65 70 6f or.delete a repo
0b40: 73 69 74 6f 72 79 2c 20 74 68 65 6e 20 61 6e 79 sitory, then any
0b50: 20 73 6f 75 72 63 65 20 74 72 65 65 73 20 61 73 source trees as
0b60: 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 sociated with th
0b70: 61 74 20 72 65 70 6f 73 69 74 6f 72 79 0a 77 69 at repository.wi
0b80: 6c 6c 20 6e 6f 20 6c 6f 6e 67 65 72 20 62 65 20 ll no longer be
0b90: 61 62 6c 65 20 74 6f 20 6c 6f 63 61 74 65 20 74 able to locate t
0ba0: 68 65 69 72 20 72 65 70 6f 73 69 74 6f 72 79 20 heir repository
0bb0: 61 6e 64 20 77 69 6c 6c 20 73 74 6f 70 20 77 6f and will stop wo
0bc0: 72 6b 69 6e 67 2e 3c 2f 70 3e 0a 0a 3c 70 3e 57 rking.</p>..<p>W
0bd0: 68 65 6e 20 6d 75 6c 74 69 70 6c 65 20 64 65 76 hen multiple dev
0be0: 65 6c 6f 70 65 72 73 20 61 72 65 20 77 6f 72 6b elopers are work
0bf0: 69 6e 67 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 ing on the same
0c00: 70 72 6f 6a 65 63 74 2c 20 65 61 63 68 0a 64 65 project, each.de
0c10: 76 65 6c 6f 70 65 72 20 74 79 70 69 63 61 6c 6c veloper typicall
0c20: 79 20 68 61 73 20 68 69 73 20 6f 72 20 68 65 72 y has his or her
0c30: 20 6f 77 6e 20 6c 6f 63 61 6c 20 72 65 70 6f 73 own local repos
0c40: 69 74 6f 72 79 20 61 6e 64 20 61 6e 20 61 73 73 itory and an ass
0c50: 6f 63 69 61 74 65 64 0a 73 6f 75 72 63 65 20 74 ociated.source t
0c60: 72 65 65 20 69 6e 20 77 68 69 63 68 20 74 6f 20 ree in which to
0c70: 77 6f 72 6b 2e 20 20 44 65 76 65 6c 6f 70 65 72 work. Developer
0c80: 73 20 73 68 61 72 65 20 74 68 65 69 72 20 77 6f s share their wo
0c90: 72 6b 20 62 79 0a 22 73 79 6e 63 69 6e 67 22 20 rk by."syncing"
0ca0: 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 the content of t
0cb0: 68 65 69 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 heir local repos
0cc0: 69 74 6f 72 69 65 73 20 65 69 74 68 65 72 20 64 itories either d
0cd0: 69 72 65 63 74 6c 79 0a 6f 72 20 74 68 72 6f 75 irectly.or throu
0ce0: 67 68 20 61 20 63 65 6e 74 72 61 6c 20 73 65 72 gh a central ser
0cf0: 76 65 72 2e 20 20 43 68 61 6e 67 65 73 20 63 61 ver. Changes ca
0d00: 6e 20 22 70 75 73 68 22 20 66 72 6f 6d 20 74 68 n "push" from th
0d10: 65 20 6c 6f 63 61 6c 0a 72 65 70 6f 73 69 74 6f e local.reposito
0d20: 72 79 20 69 6e 74 6f 20 61 20 72 65 6d 6f 74 65 ry into a remote
0d30: 20 72 65 70 6f 73 69 74 6f 72 79 2e 20 20 4f 72 repository. Or
0d40: 20 63 68 61 6e 67 65 73 20 63 61 6e 20 22 70 75 changes can "pu
0d50: 6c 6c 22 20 66 72 6f 6d 20 61 0a 72 65 6d 6f 74 ll" from a.remot
0d60: 65 20 72 65 70 6f 73 69 74 6f 72 79 20 69 6e 74 e repository int
0d70: 6f 20 61 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 o a local reposi
0d80: 74 6f 72 79 2e 20 20 4f 72 20 6f 6e 65 20 63 61 tory. Or one ca
0d90: 6e 20 64 6f 20 61 20 22 73 79 6e 63 22 0a 77 68 n do a "sync".wh
0da0: 69 63 68 20 69 73 20 61 20 73 68 6f 72 74 63 75 ich is a shortcu
0db0: 74 20 66 6f 72 20 64 6f 69 6e 67 20 62 6f 74 68 t for doing both
0dc0: 20 61 20 70 75 73 68 20 61 6e 64 20 61 20 70 75 a push and a pu
0dd0: 6c 6c 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 ll at the same t
0de0: 69 6d 65 2e 0a 46 6f 73 73 69 6c 20 61 6c 73 6f ime..Fossil also
0df0: 20 68 61 73 20 74 68 65 20 63 6f 6e 63 65 70 74 has the concept
0e00: 20 6f 66 20 22 63 6c 6f 6e 69 6e 67 22 2e 20 20 of "cloning".
0e10: 41 20 22 63 6c 6f 6e 65 22 20 69 73 20 6c 69 6b A "clone" is lik
0e20: 65 20 61 20 22 70 75 6c 6c 22 2c 0a 65 78 63 65 e a "pull",.exce
0e30: 70 74 20 74 68 61 74 20 69 6e 73 74 65 61 64 20 pt that instead
0e40: 6f 66 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 of beginning wit
0e50: 68 20 61 6e 20 65 78 69 73 74 69 6e 67 20 6c 6f h an existing lo
0e60: 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 2c 0a cal repository,.
0e70: 61 20 63 6c 6f 6e 65 20 62 65 67 69 6e 73 20 77 a clone begins w
0e80: 69 74 68 20 6e 6f 74 68 69 6e 67 20 61 6e 64 20 ith nothing and
0e90: 63 72 65 61 74 65 73 20 61 20 6e 65 77 20 6c 6f creates a new lo
0ea0: 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 74 cal repository t
0eb0: 68 61 74 0a 69 73 20 61 20 64 75 70 6c 69 63 61 hat.is a duplica
0ec0: 74 65 20 6f 66 20 61 20 72 65 6d 6f 74 65 20 72 te of a remote r
0ed0: 65 70 6f 73 69 74 6f 72 79 2e 3c 2f 70 3e 0a 0a epository.</p>..
0ee0: 3c 70 3e 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e <p>Communication
0ef0: 20 62 65 74 77 65 65 6e 20 72 65 70 6f 73 69 74 between reposit
0f00: 6f 72 69 65 73 20 69 73 20 76 69 61 20 48 54 54 ories is via HTT
0f10: 50 2e 20 20 52 65 6d 6f 74 65 0a 72 65 70 6f 73 P. Remote.repos
0f20: 69 74 6f 72 69 65 73 20 61 72 65 20 69 64 65 6e itories are iden
0f30: 74 69 66 69 65 64 20 62 79 20 55 52 4c 2e 20 20 tified by URL.
0f40: 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 70 6f 69 You can also poi
0f50: 6e 74 20 61 20 77 65 62 20 62 72 6f 77 73 65 72 nt a web browser
0f60: 0a 61 74 20 61 20 72 65 70 6f 73 69 74 6f 72 79 .at a repository
0f70: 20 61 6e 64 20 67 65 74 20 68 75 6d 61 6e 2d 72 and get human-r
0f80: 65 61 64 61 62 6c 65 20 73 74 61 74 75 73 2c 20 eadable status,
0f90: 68 69 73 74 6f 72 79 2c 20 61 6e 64 20 74 72 61 history, and tra
0fa0: 63 6b 69 6e 67 0a 69 6e 66 6f 72 6d 61 74 69 6f cking.informatio
0fb0: 6e 20 61 62 6f 75 74 20 74 68 65 20 70 72 6f 6a n about the proj
0fc0: 65 63 74 2e 3c 2f 70 3e 0a 0a 3c 68 33 3e 32 2e ect.</p>..<h3>2.
0fd0: 31 20 49 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 1 Identification
0fe0: 20 4f 66 20 41 72 74 69 66 61 63 74 73 3c 2f 68 Of Artifacts</h
0ff0: 33 3e 0a 0a 3c 70 3e 41 20 70 61 72 74 69 63 75 3>..<p>A particu
1000: 6c 61 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 61 lar version of a
1010: 20 70 61 72 74 69 63 75 6c 61 72 20 66 69 6c 65 particular file
1020: 20 69 73 20 63 61 6c 6c 65 64 20 61 6e 20 22 61 is called an "a
1030: 72 74 69 66 61 63 74 22 2e 0a 45 61 63 68 20 61 rtifact"..Each a
1040: 72 74 69 66 61 63 74 20 68 61 73 20 61 20 75 6e rtifact has a un
1050: 69 76 65 72 73 61 6c 6c 79 20 75 6e 69 71 75 65 iversally unique
1060: 20 6e 61 6d 65 20 77 68 69 63 68 20 69 73 20 74 name which is t
1070: 68 65 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 he.<a href="http
1080: 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e ://en.wikipedia.
1090: 6f 72 67 2f 77 69 6b 69 2f 53 48 41 22 3e 53 48 org/wiki/SHA">SH
10a0: 41 31 3c 2f 61 3e 20 68 61 73 68 20 6f 66 20 74 A1</a> hash of t
10b0: 68 65 20 63 6f 6e 74 65 6e 74 0a 6f 66 20 74 68 he content.of th
10c0: 61 74 20 66 69 6c 65 20 65 78 70 72 65 73 73 65 at file expresse
10d0: 64 20 61 73 20 34 30 20 63 68 61 72 61 63 74 65 d as 40 characte
10e0: 72 73 20 6f 66 20 6c 6f 77 65 72 2d 63 61 73 65 rs of lower-case
10f0: 20 68 65 78 61 64 65 63 69 6d 61 6c 2e 20 20 53 hexadecimal. S
1100: 75 63 68 0a 61 20 68 61 73 68 20 69 73 20 72 65 uch.a hash is re
1110: 66 65 72 72 65 64 20 74 6f 20 61 73 20 74 68 65 ferred to as the
1120: 20 41 72 74 69 66 61 63 74 20 49 64 65 6e 74 69 Artifact Identi
1130: 66 69 65 72 20 6f 72 20 41 72 74 69 66 61 63 74 fier or Artifact
1140: 20 49 44 0a 66 6f 72 20 74 68 65 20 61 72 74 69 ID.for the arti
1150: 66 61 63 74 2e 20 20 54 68 65 20 53 48 41 31 20 fact. The SHA1
1160: 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 72 65 algorithm is cre
1170: 61 74 65 64 20 77 69 74 68 20 74 68 65 20 70 75 ated with the pu
1180: 72 70 6f 73 65 20 6f 66 0a 70 72 6f 76 69 64 69 rpose of.providi
1190: 6e 67 20 61 20 68 69 67 68 6c 79 20 66 6f 72 67 ng a highly forg
11a0: 65 72 79 2d 72 65 73 69 73 74 61 6e 74 20 69 64 ery-resistant id
11b0: 65 6e 74 69 66 69 65 72 20 66 6f 72 20 61 20 66 entifier for a f
11c0: 69 6c 65 2e 20 20 47 69 76 65 6e 20 61 6e 79 0a ile. Given any.
11d0: 66 69 6c 65 20 69 74 20 69 73 20 73 69 6d 70 6c file it is simpl
11e0: 65 20 74 6f 20 66 69 6e 64 20 74 68 65 20 61 72 e to find the ar
11f0: 74 69 66 61 63 74 20 49 44 20 66 6f 72 20 74 68 tifact ID for th
1200: 61 74 20 66 69 6c 65 2e 20 20 42 75 74 20 67 69 at file. But gi
1210: 76 65 6e 20 61 0a 61 72 74 69 66 61 63 74 20 49 ven a.artifact I
1220: 44 20 69 74 20 69 73 20 63 6f 6d 70 75 74 61 74 D it is computat
1230: 69 6f 6e 61 6c 6c 79 20 69 6e 74 72 61 63 74 61 ionally intracta
1240: 62 6c 65 20 74 6f 20 67 65 6e 65 72 61 74 65 20 ble to generate
1250: 61 20 66 69 6c 65 20 74 68 61 74 20 77 69 6c 6c a file that will
1260: 0a 68 61 76 65 20 74 68 61 74 20 41 72 74 69 66 .have that Artif
1270: 61 63 74 20 49 44 2e 3c 2f 70 3e 0a 0a 0a 3c 70 act ID.</p>...<p
1280: 3e 41 72 74 69 66 61 63 74 20 49 44 73 20 6c 6f >Artifact IDs lo
1290: 6f 6b 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b ok something lik
12a0: 65 20 74 68 69 73 3a 3c 2f 70 3e 0a 0a 3c 62 6c e this:</p>..<bl
12b0: 6f 63 6b 71 75 6f 74 65 3e 3c 62 3e 0a 36 30 38 ockquote><b>.608
12c0: 39 66 30 62 35 36 33 61 39 64 62 30 61 36 64 39 9f0b563a9db0a6d9
12d0: 30 36 38 32 66 65 34 37 66 64 37 31 36 31 66 66 0682fe47fd7161ff
12e0: 38 36 37 63 38 3c 62 72 3e 0a 35 39 37 31 32 36 867c8<br>.597126
12f0: 31 34 61 31 62 33 63 63 66 64 38 34 30 37 38 61 14a1b3ccfd84078a
1300: 33 37 66 61 35 62 36 30 36 65 32 38 34 33 34 33 37fa5b606e284343
1310: 32 36 3c 62 72 3e 0a 31 39 64 62 66 37 33 30 37 26<br>.19dbf7307
1320: 38 62 65 39 37 37 39 65 64 64 36 61 30 31 35 36 8be9779edd6a0156
1330: 31 39 35 65 36 31 30 66 38 31 63 39 34 66 39 3c 195e610f81c94f9<
1340: 62 72 3e 0a 62 34 31 30 34 39 35 39 61 36 37 31 br>.b4104959a671
1350: 37 35 66 30 32 64 36 62 34 31 35 34 38 30 62 65 75f02d6b415480be
1360: 32 32 61 32 33 39 66 31 66 30 37 37 3c 62 72 3e 22a239f1f077<br>
1370: 0a 39 39 37 63 39 64 36 61 65 30 33 61 64 31 31 .997c9d6ae03ad11
1380: 34 62 32 62 35 37 66 30 34 65 39 65 65 65 66 31 4b2b57f04e9eeef1
1390: 37 64 63 62 38 32 37 38 38 0a 3c 2f 62 3e 3c 2f 7dcb82788.</b></
13a0: 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e blockquote>..<p>
13b0: 57 68 65 6e 20 72 65 66 65 72 72 69 6e 67 20 74 When referring t
13c0: 6f 20 61 6e 20 61 72 74 69 66 61 63 74 20 75 73 o an artifact us
13d0: 69 6e 67 20 66 6f 73 73 69 6c 2c 20 79 6f 75 20 ing fossil, you
13e0: 63 61 6e 20 75 73 65 20 61 20 75 6e 69 71 75 65 can use a unique
13f0: 0a 70 72 65 66 69 78 20 6f 66 20 74 68 65 20 61 .prefix of the a
1400: 72 74 69 66 61 63 74 20 49 44 20 74 68 61 74 20 rtifact ID that
1410: 69 73 20 66 6f 75 72 20 63 68 61 72 61 63 74 65 is four characte
1420: 72 73 20 6f 72 20 6c 6f 6e 67 65 72 2e 20 20 54 rs or longer. T
1430: 68 69 73 20 73 61 76 65 73 0a 61 20 6c 6f 74 20 his saves.a lot
1440: 6f 66 20 74 79 70 69 6e 67 2e 20 20 57 68 65 6e of typing. When
1450: 20 64 69 73 70 6c 61 79 69 6e 67 20 61 72 74 69 displaying arti
1460: 66 61 63 74 20 49 44 73 2c 20 66 6f 73 73 69 6c fact IDs, fossil
1470: 20 77 69 6c 6c 20 75 73 75 61 6c 6c 79 20 6f 6e will usually on
1480: 6c 79 0a 73 68 6f 77 20 74 68 65 20 66 69 72 73 ly.show the firs
1490: 74 20 31 30 20 64 69 67 69 74 73 20 73 69 6e 63 t 10 digits sinc
14a0: 65 20 74 68 61 74 20 69 73 20 6e 6f 72 6d 61 6c e that is normal
14b0: 6c 79 20 65 6e 6f 75 67 68 20 74 6f 20 75 6e 69 ly enough to uni
14c0: 71 75 65 6c 79 0a 69 64 65 6e 74 69 66 79 20 61 quely.identify a
14d0: 20 66 69 6c 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 43 file.</p>..<p>C
14e0: 68 61 6e 67 69 6e 67 20 28 6f 72 20 61 64 64 69 hanging (or addi
14f0: 6e 67 20 6f 72 20 72 65 6d 6f 76 69 6e 67 29 20 ng or removing)
1500: 61 20 73 69 6e 67 6c 65 20 62 79 74 65 20 69 6e a single byte in
1510: 20 61 20 66 69 6c 65 20 72 65 73 75 6c 74 73 0a a file results.
1520: 69 6e 20 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 in a completely
1530: 64 69 66 66 65 72 65 6e 74 20 61 72 74 69 66 61 different artifa
1540: 63 74 20 49 44 2e 20 20 41 6e 64 20 73 69 6e 63 ct ID. And sinc
1550: 65 20 74 68 65 20 61 72 74 69 66 61 63 74 20 49 e the artifact I
1560: 44 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 D is the name of
1570: 0a 74 68 65 20 61 72 74 69 66 61 63 74 2c 20 6d .the artifact, m
1580: 61 6b 69 6e 67 20 61 6e 79 20 63 68 61 6e 67 65 aking any change
1590: 20 74 6f 20 61 20 66 69 6c 65 20 72 65 73 75 6c to a file resul
15a0: 74 73 20 69 6e 20 61 20 6e 65 77 20 61 72 74 69 ts in a new arti
15b0: 66 61 63 74 2e 0a 49 6e 20 74 68 69 73 20 77 61 fact..In this wa
15c0: 79 2c 20 61 72 74 69 66 61 63 74 73 20 61 72 65 y, artifacts are
15d0: 20 69 6d 6d 75 74 61 62 6c 65 2e 3c 2f 70 3e 0a immutable.</p>.
15e0: 0a 3c 70 3e 41 20 72 65 70 6f 73 69 74 6f 72 79 .<p>A repository
15f0: 20 69 73 20 72 65 61 6c 6c 79 20 6a 75 73 74 20 is really just
1600: 61 6e 20 75 6e 6f 72 64 65 72 65 64 20 63 6f 6c an unordered col
1610: 6c 65 63 74 69 6f 6e 20 6f 66 0a 61 72 74 69 66 lection of.artif
1620: 61 63 74 73 2e 20 20 4e 65 77 20 61 72 74 69 66 acts. New artif
1630: 61 63 74 73 20 63 61 6e 20 62 65 20 61 64 64 65 acts can be adde
1640: 64 20 74 6f 20 74 68 65 20 72 65 70 6f 73 69 74 d to the reposit
1650: 6f 72 79 2c 20 62 75 74 0a 65 78 69 73 74 69 6e ory, but.existin
1660: 67 20 61 72 74 69 66 61 63 74 73 20 63 61 6e 20 g artifacts can
1670: 6e 65 76 65 72 20 62 65 20 72 65 6d 6f 76 65 64 never be removed
1680: 2e 20 20 46 6f 73 73 69 6c 20 69 73 20 64 65 73 . Fossil is des
1690: 69 67 6e 65 64 20 69 6e 0a 73 75 63 68 20 61 20 igned in.such a
16a0: 77 61 79 20 74 68 61 74 20 69 74 20 63 61 6e 20 way that it can
16b0: 62 65 20 68 61 6e 64 65 64 20 61 20 73 65 74 20 be handed a set
16c0: 6f 66 20 61 72 74 69 66 61 63 74 73 20 69 6e 20 of artifacts in
16d0: 61 6e 79 0a 6f 72 64 65 72 20 61 6e 64 20 69 74 any.order and it
16e0: 20 63 61 6e 20 66 69 67 75 72 65 20 6f 75 74 20 can figure out
16f0: 74 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 the relationship
1700: 20 62 65 74 77 65 65 6e 20 74 68 6f 73 65 0a 61 between those.a
1710: 72 74 69 66 61 63 74 73 20 61 6e 64 20 72 65 63 rtifacts and rec
1720: 6f 6e 73 74 72 75 63 74 20 74 68 65 20 63 6f 6d onstruct the com
1730: 70 6c 65 74 65 20 64 65 76 65 6c 6f 70 6d 65 6e plete developmen
1740: 74 20 68 69 73 74 6f 72 79 20 6f 66 0a 61 20 73 t history of.a s
1750: 6f 66 74 77 61 72 65 20 70 72 6f 6a 65 63 74 2e oftware project.
1760: 3c 2f 70 3e 0a 0a 3c 68 33 3e 32 2e 32 20 4d 61 </p>..<h3>2.2 Ma
1770: 6e 69 66 65 73 74 73 3c 2f 68 33 3e 0a 0a 3c 70 nifests</h3>..<p
1780: 3e 41 74 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 >At the root of
1790: 61 20 73 6f 75 72 63 65 20 74 72 65 65 20 69 73 a source tree is
17a0: 20 61 20 73 70 65 63 69 61 6c 20 66 69 6c 65 20 a special file
17b0: 63 61 6c 6c 65 64 20 74 68 65 0a 22 6d 61 6e 69 called the."mani
17c0: 66 65 73 74 22 2e 20 20 54 68 65 20 6d 61 6e 69 fest". The mani
17d0: 66 65 73 74 20 69 73 20 61 20 6c 69 73 74 69 6e fest is a listin
17e0: 67 20 6f 66 20 61 6c 6c 20 6f 74 68 65 72 20 66 g of all other f
17f0: 69 6c 65 73 20 69 6e 0a 74 68 61 74 20 73 6f 75 iles in.that sou
1800: 72 63 65 20 74 72 65 65 2e 20 20 54 68 65 20 6d rce tree. The m
1810: 61 6e 69 66 65 73 74 20 63 6f 6e 74 61 69 6e 73 anifest contains
1820: 20 74 68 65 20 28 63 6f 6d 70 6c 65 74 65 29 20 the (complete)
1830: 61 72 74 69 66 61 63 74 20 49 44 20 0a 6f 66 20 artifact ID .of
1840: 74 68 65 20 66 69 6c 65 20 61 6e 64 20 74 68 65 the file and the
1850: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c name of the fil
1860: 65 20 61 73 20 69 74 20 61 70 70 65 61 72 73 20 e as it appears
1870: 6f 6e 20 64 69 73 6b 2c 0a 61 6e 64 20 74 68 75 on disk,.and thu
1880: 73 20 73 65 72 76 65 73 20 61 73 20 61 20 6d 61 s serves as a ma
1890: 70 70 69 6e 67 20 66 72 6f 6d 20 61 72 74 69 66 pping from artif
18a0: 61 63 74 20 49 44 20 74 6f 20 64 69 73 6b 20 6e act ID to disk n
18b0: 61 6d 65 2e 20 20 54 68 65 20 61 72 74 69 66 61 ame. The artifa
18c0: 63 74 20 49 44 0a 6f 66 20 74 68 65 20 6d 61 6e ct ID.of the man
18d0: 69 66 65 73 74 20 69 73 20 74 68 65 20 69 64 65 ifest is the ide
18e0: 6e 74 69 66 69 65 72 20 66 6f 72 20 74 68 65 20 ntifier for the
18f0: 65 6e 74 69 72 65 20 63 68 65 63 6b 2d 69 6e 2e entire check-in.
1900: 20 20 57 68 65 6e 0a 79 6f 75 20 6c 6f 6f 6b 20 When.you look
1910: 61 74 20 61 20 22 74 69 6d 65 6c 69 6e 65 22 20 at a "timeline"
1920: 6f 66 20 63 68 61 6e 67 65 73 20 69 6e 20 66 6f of changes in fo
1930: 73 73 69 6c 2c 20 74 68 65 20 49 44 20 61 73 73 ssil, the ID ass
1940: 6f 63 69 61 74 65 64 0a 77 69 74 68 20 65 61 63 ociated.with eac
1950: 68 20 63 68 65 63 6b 2d 69 6e 20 6f 72 20 63 6f h check-in or co
1960: 6d 6d 69 74 20 69 73 20 72 65 61 6c 6c 79 20 6a mmit is really j
1970: 75 73 74 20 74 68 65 20 61 72 74 69 66 61 63 74 ust the artifact
1980: 20 49 44 20 6f 66 20 74 68 65 0a 6d 61 6e 69 66 ID of the.manif
1990: 65 73 74 20 66 6f 72 20 74 68 61 74 20 63 68 65 est for that che
19a0: 63 6b 2d 69 6e 2e 3c 2f 70 3e 0a 0a 3c 70 3e 46 ck-in.</p>..<p>F
19b0: 6f 73 73 69 6c 20 61 75 74 6f 6d 61 74 69 63 61 ossil automatica
19c0: 6c 6c 79 20 67 65 6e 65 72 61 74 65 73 20 61 20 lly generates a
19d0: 6d 61 6e 69 66 65 73 74 20 77 68 65 6e 65 76 65 manifest wheneve
19e0: 72 20 79 6f 75 20 22 63 6f 6d 6d 69 74 22 20 0a r you "commit" .
19f0: 61 20 6e 65 77 20 63 68 65 63 6b 2d 69 6e 2e 20 a new check-in.
1a00: 20 53 6f 20 74 68 69 73 20 69 73 20 6e 6f 74 20 So this is not
1a10: 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 79 something that y
1a20: 6f 75 2c 20 74 68 65 20 64 65 76 65 6c 6f 70 65 ou, the develope
1a30: 72 2c 0a 6e 65 65 64 20 74 6f 20 77 6f 72 72 79 r,.need to worry
1a40: 20 77 69 74 68 2e 20 20 54 68 65 20 66 6f 72 6d with. The form
1a50: 61 74 20 6f 66 20 61 20 6d 61 6e 69 66 65 73 74 at of a manifest
1a60: 20 69 73 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c is intentionall
1a70: 79 0a 64 65 73 69 67 6e 65 64 20 74 6f 20 62 65 y.designed to be
1a80: 20 73 69 6d 70 6c 65 20 74 6f 20 70 61 72 73 65 simple to parse
1a90: 2c 20 73 6f 20 74 68 61 74 20 69 66 0a 79 6f 75 , so that if.you
1aa0: 20 77 61 6e 74 20 74 6f 20 72 65 61 64 20 61 6e want to read an
1ab0: 64 20 69 6e 74 65 72 70 72 65 74 20 61 20 6d 61 d interpret a ma
1ac0: 6e 69 66 65 73 74 2c 20 65 69 74 68 65 72 20 62 nifest, either b
1ad0: 79 20 68 61 6e 64 20 6f 72 0a 77 69 74 68 20 61 y hand or.with a
1ae0: 20 73 63 72 69 70 74 2c 20 74 68 61 74 20 69 73 script, that is
1af0: 20 65 61 73 79 20 74 6f 20 64 6f 2e 20 20 42 75 easy to do. Bu
1b00: 74 20 79 6f 75 20 77 69 6c 6c 20 70 72 6f 62 61 t you will proba
1b10: 62 6c 79 20 6e 65 76 65 72 0a 6e 65 65 64 20 74 bly never.need t
1b20: 6f 20 64 6f 20 73 6f 2e 3c 2f 70 3e 0a 0a 3c 70 o do so.</p>..<p
1b30: 3e 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 >In addition to
1b40: 69 64 65 6e 74 69 66 79 69 6e 67 20 61 6c 6c 20 identifying all
1b50: 66 69 6c 65 73 20 69 6e 20 74 68 65 20 63 68 65 files in the che
1b60: 63 6b 2d 69 6e 2c 20 61 0a 6d 61 6e 69 66 65 73 ck-in, a.manifes
1b70: 74 20 61 6c 73 6f 20 63 6f 6e 74 61 69 6e 73 20 t also contains
1b80: 61 20 63 68 65 63 6b 2d 69 6e 20 63 6f 6d 6d 65 a check-in comme
1b90: 6e 74 2c 20 74 68 65 20 64 61 74 65 20 61 6e 64 nt, the date and
1ba0: 20 74 69 6d 65 0a 77 68 65 6e 20 74 68 65 20 63 time.when the c
1bb0: 68 65 63 6b 2d 69 6e 20 77 61 73 20 65 73 74 61 heck-in was esta
1bc0: 62 6c 69 73 68 65 64 2c 20 77 68 6f 20 63 72 65 blished, who cre
1bd0: 61 74 65 64 20 74 68 65 20 63 68 65 63 6b 2d 69 ated the check-i
1be0: 6e 2c 0a 61 6e 64 20 6c 69 6e 6b 73 20 74 6f 20 n,.and links to
1bf0: 6f 74 68 65 72 20 63 68 65 63 6b 2d 69 6e 73 20 other check-ins
1c00: 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65 20 63 from which the c
1c10: 75 72 72 65 6e 74 20 63 68 65 63 6b 2d 69 6e 0a urrent check-in.
1c20: 69 73 20 64 65 72 69 76 65 64 2e 20 20 54 68 65 is derived. The
1c30: 72 65 20 69 73 20 61 6c 73 6f 20 61 20 63 6f 75 re is also a cou
1c40: 70 6c 65 20 6f 66 20 63 68 65 63 6b 73 75 6d 73 ple of checksums
1c50: 20 75 73 65 64 20 74 6f 20 76 65 72 69 66 79 0a used to verify.
1c60: 74 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 the integrity of
1c70: 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 2e 20 20 the check-in.
1c80: 41 6e 64 20 74 68 65 20 77 68 6f 6c 65 20 6d 61 And the whole ma
1c90: 6e 69 66 65 73 74 20 6d 69 67 68 74 0a 62 65 20 nifest might.be
1ca0: 50 47 50 20 63 6c 65 61 72 73 69 67 6e 65 64 2e PGP clearsigned.
1cb0: 3c 2f 70 3e 0a 0a 3c 68 33 3e 3c 61 20 6e 61 6d </p>..<h3><a nam
1cc0: 65 3d 22 6b 65 79 63 6f 6e 63 22 3e 32 2e 33 3c e="keyconc">2.3<
1cd0: 2f 61 3e 20 4b 65 79 20 63 6f 6e 63 65 70 74 73 /a> Key concepts
1ce0: 3c 2f 68 33 3e 0a 0a 3c 75 6c 3e 0a 3c 6c 69 3e </h3>..<ul>.<li>
1cf0: 41 20 3c 62 3e 63 68 65 63 6b 2d 69 6e 3c 2f 62 A <b>check-in</b
1d00: 3e 20 69 73 20 61 20 73 65 74 20 6f 66 20 66 69 > is a set of fi
1d10: 6c 65 73 20 61 72 72 61 6e 67 65 64 0a 20 20 20 les arranged.
1d20: 20 69 6e 20 61 20 68 69 65 72 61 72 63 68 79 2e in a hierarchy.
1d30: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 20 3c 62 3e 72 </li>.<li>A <b>r
1d40: 65 70 6f 73 69 74 6f 72 79 3c 2f 62 3e 20 6b 65 epository</b> ke
1d50: 65 70 73 20 61 20 72 65 63 6f 72 64 20 6f 66 20 eps a record of
1d60: 68 69 73 74 6f 72 69 63 61 6c 20 63 68 65 63 6b historical check
1d70: 2d 69 6e 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 52 -ins.</li>.<li>R
1d80: 65 70 6f 73 69 74 6f 72 69 65 73 20 73 68 61 72 epositories shar
1d90: 65 20 74 68 65 69 72 20 63 68 61 6e 67 65 73 20 e their changes
1da0: 75 73 69 6e 67 20 3c 62 3e 70 75 73 68 3c 2f 62 using <b>push</b
1db0: 3e 2c 20 3c 62 3e 70 75 6c 6c 3c 2f 62 3e 2c 0a >, <b>pull</b>,.
1dc0: 20 20 20 20 3c 62 3e 73 79 6e 63 3c 2f 62 3e 2c <b>sync</b>,
1dd0: 20 61 6e 64 20 3c 62 3e 63 6c 6f 6e 65 3c 2f 62 and <b>clone</b
1de0: 3e 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 20 70 61 >.</li>.<li>A pa
1df0: 72 74 69 63 75 6c 61 72 20 3c 75 3e 76 65 72 73 rticular <u>vers
1e00: 69 6f 6e 3c 2f 75 3e 20 6f 66 20 61 20 70 61 72 ion</u> of a par
1e10: 74 69 63 75 6c 61 72 20 66 69 6c 65 20 69 73 20 ticular file is
1e20: 61 6e 20 3c 62 3e 61 72 74 69 66 61 63 74 3c 2f an <b>artifact</
1e30: 62 3e 0a 20 20 20 20 74 68 61 74 20 69 73 20 69 b>. that is i
1e40: 64 65 6e 74 69 66 69 65 64 20 62 79 20 61 6e 20 dentified by an
1e50: 3c 62 3e 61 72 74 69 66 61 63 74 20 49 44 3c 2f <b>artifact ID</
1e60: 62 3e 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 72 74 b>.</li>.<li>Art
1e70: 69 66 61 63 74 73 20 74 72 61 63 6b 65 64 20 62 ifacts tracked b
1e80: 79 20 66 6f 73 73 69 6c 20 61 72 65 20 69 6e 68 y fossil are inh
1e90: 65 72 65 6e 74 6c 79 20 69 6d 6d 75 74 61 62 6c erently immutabl
1ea0: 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46 6f 73 73 e.</li>.<li>Foss
1eb0: 69 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 il automatically
1ec0: 20 67 65 6e 65 72 61 74 65 73 20 61 20 3c 62 3e generates a <b>
1ed0: 6d 61 6e 69 66 65 73 74 3c 2f 62 3e 20 66 69 6c manifest</b> fil
1ee0: 65 20 74 68 61 74 20 69 64 65 6e 74 69 66 69 65 e that identifie
1ef0: 73 0a 20 20 20 20 65 76 65 72 79 20 61 72 74 69 s. every arti
1f00: 66 61 63 74 20 69 6e 20 61 20 63 68 65 63 6b 2d fact in a check-
1f10: 69 6e 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54 68 65 in.</li>.<li>The
1f20: 20 61 72 74 69 66 61 63 74 20 49 44 20 6f 66 20 artifact ID of
1f30: 74 68 65 20 6d 61 6e 69 66 65 73 74 20 69 73 20 the manifest is
1f40: 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 6f the identifier o
1f50: 66 20 74 68 65 20 63 68 65 63 6b 2d 69 6e 2e 3c f the check-in.<
1f60: 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 3c 68 32 3e /li>.</ul>..<h2>
1f70: 33 2e 30 20 46 6f 73 73 69 6c 20 2d 20 54 68 65 3.0 Fossil - The
1f80: 20 50 72 6f 67 72 61 6d 3c 2f 68 32 3e 0a 0a 3c Program</h2>..<
1f90: 70 3e 46 6f 73 73 69 6c 20 69 73 20 73 6f 66 74 p>Fossil is soft
1fa0: 77 61 72 65 2e 20 20 54 68 65 20 69 6d 70 6c 65 ware. The imple
1fb0: 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 66 6f 73 mentation of fos
1fc0: 73 69 6c 20 69 73 20 69 6e 20 74 68 65 20 66 6f sil is in the fo
1fd0: 72 6d 0a 6f 66 20 61 20 73 69 6e 67 6c 65 20 65 rm.of a single e
1fe0: 78 65 63 75 74 61 62 6c 65 20 6e 61 6d 65 64 20 xecutable named
1ff0: 22 66 6f 73 73 69 6c 22 2e 20 20 54 6f 20 69 6e "fossil". To in
2000: 73 74 61 6c 6c 20 66 6f 73 73 69 6c 20 6f 6e 20 stall fossil on
2010: 79 6f 75 72 20 73 79 73 74 65 6d 2c 0a 61 6c 6c your system,.all
2020: 20 79 6f 75 20 68 61 76 65 20 74 6f 20 64 6f 20 you have to do
2030: 69 73 20 6f 62 74 61 69 6e 20 61 20 63 6f 70 79 is obtain a copy
2040: 20 6f 66 20 74 68 69 73 20 6f 6e 65 20 65 78 65 of this one exe
2050: 63 75 74 61 62 6c 65 20 66 69 6c 65 20 28 65 69 cutable file (ei
2060: 74 68 65 72 0a 62 79 20 64 6f 77 6e 6c 6f 61 64 ther.by download
2070: 69 6e 67 20 61 20 70 72 65 2d 63 6f 6d 70 69 6c ing a pre-compil
2080: 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 20 63 6f ed version or co
2090: 6d 70 69 6c 69 6e 67 20 69 74 20 79 6f 75 72 73 mpiling it yours
20a0: 65 6c 66 29 20 61 6e 64 20 74 68 65 6e 0a 70 75 elf) and then.pu
20b0: 74 74 69 6e 67 20 74 68 61 74 20 66 69 6c 65 20 tting that file
20c0: 73 6f 6d 65 77 68 65 72 65 20 6f 6e 20 79 6f 75 somewhere on you
20d0: 72 20 50 41 54 48 2e 3c 2f 70 3e 0a 0a 3c 70 3e r PATH.</p>..<p>
20e0: 46 6f 73 73 69 6c 20 69 73 20 63 6f 6d 70 6c 65 Fossil is comple
20f0: 74 65 6c 79 20 73 65 6c 66 2d 63 6f 6e 74 61 69 tely self-contai
2100: 6e 65 64 2e 20 20 49 74 20 69 73 20 6e 6f 74 20 ned. It is not
2110: 6e 65 63 65 73 73 61 72 79 20 74 6f 0a 69 6e 73 necessary to.ins
2120: 74 61 6c 6c 20 61 6e 79 20 6f 74 68 65 72 20 73 tall any other s
2130: 6f 66 74 77 61 72 65 20 69 6e 20 6f 72 64 65 72 oftware in order
2140: 20 74 6f 20 75 73 65 20 66 6f 73 73 69 6c 2e 20 to use fossil.
2150: 20 59 6f 75 20 64 6f 20 3c 75 3e 6e 6f 74 3c 2f You do <u>not</
2160: 75 3e 20 6e 65 65 64 0a 43 56 53 2c 20 67 7a 69 u> need.CVS, gzi
2170: 70 2c 20 64 69 66 66 2c 20 72 73 79 6e 63 2c 20 p, diff, rsync,
2180: 50 79 74 68 6f 6e 2c 20 50 65 72 6c 2c 20 54 63 Python, Perl, Tc
2190: 6c 2c 20 4a 61 76 61 2c 20 61 70 61 63 68 65 2c l, Java, apache,
21a0: 20 50 6f 73 74 67 72 65 53 51 4c 2c 20 4d 79 53 PostgreSQL, MyS
21b0: 51 4c 2c 0a 53 51 4c 69 74 65 2c 20 70 61 74 63 QL,.SQLite, patc
21c0: 68 2c 20 6f 72 20 61 6e 79 20 73 69 6d 69 6c 61 h, or any simila
21d0: 72 20 73 6f 66 74 77 61 72 65 20 6f 6e 20 79 6f r software on yo
21e0: 75 72 20 73 79 73 74 65 6d 20 69 6e 20 6f 72 64 ur system in ord
21f0: 65 72 20 74 6f 20 75 73 65 0a 66 6f 73 73 69 6c er to use.fossil
2200: 20 65 66 66 65 63 74 69 76 65 6c 79 2e 20 20 59 effectively. Y
2210: 6f 75 20 77 69 6c 6c 20 77 61 6e 74 20 74 6f 20 ou will want to
2220: 68 61 76 65 20 73 6f 6d 65 20 6b 69 6e 64 20 6f have some kind o
2230: 66 20 74 65 78 74 20 65 64 69 74 6f 72 0a 66 6f f text editor.fo
2240: 72 20 65 6e 74 65 72 69 6e 67 20 63 68 65 63 6b r entering check
2250: 2d 69 6e 20 63 6f 6d 6d 65 6e 74 73 2e 20 20 46 -in comments. F
2260: 6f 73 73 69 6c 20 77 69 6c 6c 20 75 73 65 20 77 ossil will use w
2270: 68 61 74 65 76 65 72 20 74 65 78 74 20 65 64 69 hatever text edi
2280: 74 6f 72 0a 69 73 20 69 64 65 6e 74 69 66 69 65 tor.is identifie
2290: 64 20 62 79 20 79 6f 75 72 20 56 49 53 55 41 4c d by your VISUAL
22a0: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 environment var
22b0: 69 61 62 6c 65 2e 20 20 46 6f 73 73 69 6c 20 77 iable. Fossil w
22c0: 69 6c 6c 20 61 6c 73 6f 0a 75 73 65 20 47 50 47 ill also.use GPG
22d0: 20 74 6f 20 63 6c 65 61 72 73 69 67 6e 20 79 6f to clearsign yo
22e0: 75 72 20 6d 61 6e 69 66 65 73 74 73 20 69 66 20 ur manifests if
22f0: 79 6f 75 20 68 61 70 70 65 6e 20 74 6f 20 68 61 you happen to ha
2300: 76 65 20 69 74 20 69 6e 73 74 61 6c 6c 65 64 2c ve it installed,
2310: 0a 62 75 74 20 66 6f 73 73 69 6c 20 77 69 6c 6c .but fossil will
2320: 20 73 6b 69 70 20 74 68 61 74 20 73 74 65 70 20 skip that step
2330: 69 66 20 47 50 47 20 6d 69 73 73 69 6e 67 20 66 if GPG missing f
2340: 72 6f 6d 20 79 6f 75 72 20 73 79 73 74 65 6d 2e rom your system.
2350: 0a 59 6f 75 20 63 61 6e 20 6f 70 74 69 6f 6e 61 .You can optiona
2360: 6c 6c 79 20 73 65 74 20 75 70 20 66 6f 73 73 69 lly set up fossi
2370: 6c 20 74 6f 20 75 73 65 20 65 78 74 65 72 6e 61 l to use externa
2380: 6c 20 22 64 69 66 66 22 20 70 72 6f 67 72 61 6d l "diff" program
2390: 73 2c 20 0a 74 68 6f 75 67 68 20 66 6f 73 73 69 s, .though fossi
23a0: 6c 20 68 61 73 20 61 6e 20 65 78 63 65 6c 6c 65 l has an excelle
23b0: 6e 74 20 62 75 69 6c 74 2d 69 6e 20 22 64 69 66 nt built-in "dif
23c0: 66 22 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 61 f" algorithm tha
23d0: 74 20 77 6f 72 6b 73 0a 66 69 6e 65 20 66 6f 72 t works.fine for
23e0: 20 6d 6f 73 74 20 70 65 6f 70 6c 65 2e 3c 2f 70 most people.</p
23f0: 3e 0a 0a 3c 70 3e 54 6f 20 75 6e 69 6e 73 74 61 >..<p>To uninsta
2400: 6c 6c 20 66 6f 73 73 69 6c 2c 20 73 69 6d 70 6c ll fossil, simpl
2410: 79 20 64 65 6c 65 74 65 20 74 68 65 20 65 78 65 y delete the exe
2420: 63 75 74 61 62 6c 65 2e 3c 2f 70 3e 0a 0a 3c 70 cutable.</p>..<p
2430: 3e 54 6f 20 75 70 67 72 61 64 65 20 61 6e 20 6f >To upgrade an o
2440: 6c 64 65 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 lder version of
2450: 66 6f 73 73 69 6c 20 74 6f 20 61 20 6e 65 77 65 fossil to a newe
2460: 72 20 76 65 72 73 69 6f 6e 2c 20 6a 75 73 74 0a r version, just.
2470: 72 65 70 6c 61 63 65 20 74 68 65 20 6f 6c 64 20 replace the old
2480: 65 78 65 63 75 74 61 62 6c 65 20 77 69 74 68 20 executable with
2490: 74 68 65 20 6e 65 77 20 6f 6e 65 2e 20 20 59 6f the new one. Yo
24a0: 75 20 6d 69 67 68 74 20 6e 65 65 64 20 74 6f 20 u might need to
24b0: 0a 72 75 6e 20 61 20 6f 6e 65 2d 74 69 6d 65 20 .run a one-time
24c0: 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65 73 74 72 command to restr
24d0: 75 63 74 75 72 65 20 79 6f 75 72 20 72 65 70 6f ucture your repo
24e0: 73 69 74 6f 72 69 65 73 20 61 66 74 65 72 0a 61 sitories after.a
24f0: 6e 20 75 70 67 72 61 64 65 2e 20 20 43 68 65 63 n upgrade. Chec
2500: 6b 20 74 68 65 20 69 6e 73 74 72 75 63 74 69 6f k the instructio
2510: 6e 73 20 74 68 61 74 20 63 6f 6d 65 20 77 69 74 ns that come wit
2520: 68 20 74 68 65 20 75 70 67 72 61 64 65 0a 66 6f h the upgrade.fo
2530: 72 20 64 65 74 61 69 6c 73 2e 3c 2f 70 3e 0a 0a r details.</p>..
2540: 3c 70 3e 54 6f 20 75 73 65 20 66 6f 73 73 69 6c <p>To use fossil
2550: 2c 20 73 69 6d 70 6c 79 20 74 79 70 65 20 74 68 , simply type th
2560: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 65 78 e name of the ex
2570: 65 63 75 74 61 62 6c 65 20 69 6e 20 79 6f 75 72 ecutable in your
2580: 0a 73 68 65 6c 6c 2c 20 66 6f 6c 6c 6f 77 65 64 .shell, followed
2590: 20 62 79 20 6f 6e 65 20 6f 66 20 74 68 65 20 76 by one of the v
25a0: 61 72 69 6f 75 73 20 62 75 69 6c 74 2d 69 6e 20 arious built-in
25b0: 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 0a 61 72 67 commands and.arg
25c0: 75 6d 65 6e 74 73 20 61 70 70 72 6f 70 72 69 61 uments appropria
25d0: 74 65 20 66 6f 72 20 74 68 61 74 20 63 6f 6d 6d te for that comm
25e0: 61 6e 64 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c and. For exampl
25f0: 65 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 e:</p>..<blockqu
2600: 6f 74 65 3e 3c 62 3e 0a 66 6f 73 73 69 6c 20 68 ote><b>.fossil h
2610: 65 6c 70 0a 3c 2f 62 3e 3c 2f 62 6c 6f 63 6b 71 elp.</b></blockq
2620: 75 6f 74 65 3e 0a 0a 3c 70 3e 49 6e 20 74 68 65 uote>..<p>In the
2630: 20 6e 65 78 74 20 73 65 63 74 69 6f 6e 2c 20 77 next section, w
2640: 68 65 6e 20 77 65 20 73 61 79 20 74 68 69 6e 67 hen we say thing
2650: 73 20 6c 69 6b 65 20 22 75 73 65 20 74 68 65 20 s like "use the
2660: 3c 62 3e 68 65 6c 70 3c 2f 62 3e 0a 63 6f 6d 6d <b>help</b>.comm
2670: 61 6e 64 22 20 77 65 20 6d 65 61 6e 20 74 6f 20 and" we mean to
2680: 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 use the command
2690: 6e 61 6d 65 20 22 68 65 6c 70 22 20 61 73 20 74 name "help" as t
26a0: 68 65 20 66 69 72 73 74 0a 74 6f 6b 65 6e 20 61 he first.token a
26b0: 66 74 65 72 20 74 68 65 20 6e 61 6d 65 20 6f 66 fter the name of
26c0: 20 74 68 65 20 66 6f 73 73 69 6c 20 65 78 65 63 the fossil exec
26d0: 75 74 61 62 6c 65 2c 20 61 73 20 73 68 6f 77 6e utable, as shown
26e0: 20 61 62 6f 76 65 2e 3c 2f 70 3e 0a 0a 3c 68 32 above.</p>..<h2
26f0: 3e 34 2e 30 20 57 6f 72 6b 66 6c 6f 77 3c 2f 68 >4.0 Workflow</h
2700: 32 3e 0a 0a 3c 69 6d 67 20 73 72 63 3d 22 63 6f 2>..<img src="co
2710: 6e 63 65 70 74 32 2e 67 69 66 22 20 61 6c 69 67 ncept2.gif" alig
2720: 6e 3d 22 72 69 67 68 74 22 20 68 73 70 61 63 65 n="right" hspace
2730: 3d 22 31 30 22 3e 0a 0a 3c 70 3e 46 6f 73 73 69 ="10">..<p>Fossi
2740: 6c 20 68 61 73 20 74 77 6f 20 6d 6f 64 65 73 20 l has two modes
2750: 6f 66 20 6f 70 65 72 61 74 69 6f 6e 3a 20 22 61 of operation: "a
2760: 75 74 6f 73 79 6e 63 22 20 61 6e 64 20 22 6e 6f utosync" and "no
2770: 6e 2d 61 75 74 6f 73 79 6e 63 22 2e 0a 41 75 74 n-autosync"..Aut
2780: 6f 73 79 6e 63 20 6d 6f 64 65 20 77 6f 72 6b 73 osync mode works
2790: 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 something like
27a0: 43 56 53 20 6f 72 20 53 56 4e 20 69 6e 20 74 68 CVS or SVN in th
27b0: 61 74 20 69 74 20 61 75 74 6f 6d 61 74 69 63 61 at it automatica
27c0: 6c 6c 79 0a 6b 65 65 70 73 20 79 6f 75 72 20 77 lly.keeps your w
27d0: 6f 72 6b 20 69 6e 20 73 79 6e 63 20 77 69 74 68 ork in sync with
27e0: 20 74 68 65 20 63 65 6e 74 72 61 6c 20 73 65 72 the central ser
27f0: 76 65 72 2e 20 20 4e 6f 6e 2d 61 75 74 6f 73 79 ver. Non-autosy
2800: 6e 63 20 69 73 0a 6d 6f 72 65 20 6c 69 6b 65 20 nc is.more like
2810: 47 49 54 20 6f 72 20 42 69 74 6b 65 65 70 65 72 GIT or Bitkeeper
2820: 20 69 6e 20 74 68 61 74 20 79 6f 75 72 20 6c 6f in that your lo
2830: 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 20 64 cal repository d
2840: 65 76 65 6c 6f 70 73 0a 69 6e 64 65 70 65 6e 64 evelops.independ
2850: 65 6e 74 6c 79 20 6f 66 20 79 6f 75 72 20 63 6f ently of your co
2860: 77 6f 72 6b 65 72 73 20 61 6e 64 20 79 6f 75 20 workers and you
2870: 73 68 61 72 65 20 79 6f 75 72 20 63 68 61 6e 67 share your chang
2880: 65 73 20 6d 61 6e 75 61 6c 6c 79 2e 0a 41 6e 20 es manually..An
2890: 69 6e 74 65 72 65 73 74 69 6e 67 20 66 65 61 74 interesting feat
28a0: 75 72 65 20 6f 66 20 66 6f 73 73 69 6c 20 69 73 ure of fossil is
28b0: 20 74 68 61 74 20 69 74 20 73 75 70 70 6f 72 74 that it support
28c0: 73 20 62 6f 74 68 20 61 75 74 6f 73 79 6e 63 0a s both autosync.
28d0: 61 6e 64 20 6e 6f 6e 2d 61 75 74 6f 73 79 6e 63 and non-autosync
28e0: 20 77 6f 72 6b 20 66 6c 6f 77 73 2e 3c 2f 70 3e work flows.</p>
28f0: 0a 0a 3c 70 3e 54 68 65 20 64 65 66 61 75 6c 74 ..<p>The default
2900: 20 73 65 74 74 69 6e 67 20 66 6f 72 20 66 6f 73 setting for fos
2910: 73 69 6c 20 69 73 20 74 6f 20 62 65 20 69 6e 20 sil is to be in
2920: 61 75 74 6f 73 79 6e 63 20 6d 6f 64 65 2e 20 20 autosync mode.
2930: 59 6f 75 0a 63 61 6e 20 63 68 61 6e 67 65 20 74 You.can change t
2940: 68 65 20 61 75 74 6f 73 79 6e 63 20 73 65 74 74 he autosync sett
2950: 69 6e 67 20 6f 72 20 63 68 65 63 6b 20 74 68 65 ing or check the
2960: 20 63 75 72 72 65 6e 74 20 61 75 74 6f 73 79 6e current autosyn
2970: 63 0a 73 65 74 74 69 6e 67 20 75 73 69 6e 67 20 c.setting using
2980: 63 6f 6d 6d 61 6e 64 73 20 6c 69 6b 65 3a 3c 2f commands like:</
2990: 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e p>..<blockquote>
29a0: 0a 3c 62 3e 66 6f 73 73 69 6c 20 73 65 74 74 69 .<b>fossil setti
29b0: 6e 67 20 61 75 74 6f 73 79 6e 63 20 6f 6e 3c 62 ng autosync on<b
29c0: 72 3e 0a 66 6f 73 73 69 6c 20 73 65 74 74 69 6e r>.fossil settin
29d0: 67 20 61 75 74 6f 73 79 6e 63 20 6f 66 66 3c 62 g autosync off<b
29e0: 72 3e 0a 3c 62 3e 66 6f 73 73 69 6c 20 73 65 74 r>.<b>fossil set
29f0: 74 69 6e 67 73 3c 2f 62 3e 0a 3c 2f 62 6c 6f 63 tings</b>.</bloc
2a00: 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e 42 79 20 64 kquote>..<p>By d
2a10: 65 66 61 75 6c 74 2c 20 66 6f 73 73 69 6c 20 72 efault, fossil r
2a20: 75 6e 73 20 77 69 74 68 20 61 75 74 6f 73 79 6e uns with autosyn
2a30: 63 20 6d 6f 64 65 20 74 75 72 6e 65 64 20 6f 6e c mode turned on
2a40: 2e 20 20 54 68 65 0a 61 75 74 68 6f 72 73 20 66 . The.authors f
2a50: 69 6e 64 20 74 68 61 74 20 70 72 6f 6a 65 63 74 ind that project
2a60: 73 20 72 75 6e 20 6d 6f 72 65 20 73 6d 6f 6f 74 s run more smoot
2a70: 68 6c 79 20 77 68 65 6e 20 61 75 74 6f 73 79 6e hly when autosyn
2a80: 63 20 69 73 20 6f 6e 6c 79 0a 64 69 73 61 62 6c c is only.disabl
2a90: 65 64 20 77 68 65 6e 20 6f 66 66 2d 6e 65 74 77 ed when off-netw
2aa0: 6f 72 6b 2e 3c 2f 70 3e 0a 0a 3c 68 33 3e 34 2e ork.</p>..<h3>4.
2ab0: 31 20 41 75 74 6f 73 79 6e 63 20 57 6f 72 6b 66 1 Autosync Workf
2ac0: 6c 6f 77 3c 2f 68 33 3e 0a 0a 3c 6f 6c 3e 0a 3c low</h3>..<ol>.<
2ad0: 6c 69 3e 3c 70 3e 0a 45 73 74 61 62 6c 69 73 68 li><p>.Establish
2ae0: 20 61 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 a local reposit
2af0: 6f 72 79 20 75 73 69 6e 67 20 65 69 74 68 65 72 ory using either
2b00: 20 74 68 65 20 3c 62 3e 6e 65 77 3c 2f 62 3e 20 the <b>new</b>
2b10: 63 6f 6d 6d 61 6e 64 0a 74 6f 20 73 74 61 72 74 command.to start
2b20: 20 61 20 6e 65 77 20 70 72 6f 6a 65 63 74 2c 20 a new project,
2b30: 6f 72 20 74 68 65 20 3c 62 3e 63 6c 6f 6e 65 3c or the <b>clone<
2b40: 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 6d /b> command to m
2b50: 61 6b 65 20 61 20 63 6c 6f 6e 65 0a 6f 66 20 61 ake a clone.of a
2b60: 20 72 65 70 6f 73 69 74 6f 72 79 20 66 6f 72 20 repository for
2b70: 61 6e 20 65 78 69 73 74 69 6e 67 20 70 72 6f 6a an existing proj
2b80: 65 63 74 2e 20 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a ect. .</p></li>.
2b90: 0a 3c 6c 69 3e 3c 70 3e 0a 45 73 74 61 62 6c 69 .<li><p>.Establi
2ba0: 73 68 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 73 sh one or more s
2bb0: 6f 75 72 63 65 20 74 72 65 65 73 20 62 79 20 63 ource trees by c
2bc0: 68 61 6e 67 69 6e 67 20 79 6f 75 72 20 77 6f 72 hanging your wor
2bd0: 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 0a 74 king directory.t
2be0: 6f 20 77 68 65 72 65 20 79 6f 75 20 77 61 6e 74 o where you want
2bf0: 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 68 65 the root of the
2c00: 20 73 6f 75 72 63 65 20 74 72 65 65 20 74 6f 20 source tree to
2c10: 62 65 2c 20 74 68 65 6e 20 69 73 73 75 69 6e 67 be, then issuing
2c20: 0a 74 68 65 20 3c 62 3e 6f 70 65 6e 3c 2f 62 3e .the <b>open</b>
2c30: 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 74 68 command with th
2c40: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 72 65 e name of the re
2c50: 70 6f 73 69 74 6f 72 79 20 66 69 6c 65 20 61 73 pository file as
2c60: 20 69 74 73 0a 61 72 67 75 6d 65 6e 74 2e 0a 3c its.argument..<
2c70: 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 /p></li>..<li><p
2c80: 3e 0a 54 68 65 20 3c 62 3e 6f 70 65 6e 3c 2f 62 >.The <b>open</b
2c90: 3e 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 > command in the
2ca0: 20 70 72 65 76 69 6f 75 73 20 73 74 65 70 20 70 previous step p
2cb0: 6f 70 75 6c 61 74 65 73 20 79 6f 75 72 20 6c 6f opulates your lo
2cc0: 63 61 6c 20 73 6f 75 72 63 65 0a 74 72 65 65 20 cal source.tree
2cd0: 77 69 74 68 20 61 20 63 6f 70 79 20 6f 66 20 74 with a copy of t
2ce0: 68 65 20 6c 61 74 65 73 74 20 63 68 65 63 6b 2d he latest check-
2cf0: 69 6e 2e 20 20 55 73 75 61 6c 6c 79 20 74 68 69 in. Usually thi
2d00: 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 s is what you wa
2d10: 6e 74 2e 0a 49 6e 20 74 68 65 20 72 61 72 65 20 nt..In the rare
2d20: 63 61 73 65 73 20 77 68 65 72 65 20 69 74 20 69 cases where it i
2d30: 73 20 6e 6f 74 2c 20 75 73 65 20 74 68 65 20 3c s not, use the <
2d40: 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20 63 6f 6d b>update</b> com
2d50: 6d 61 6e 64 20 74 6f 0a 73 77 69 74 63 68 20 74 mand to.switch t
2d60: 6f 20 61 20 6e 65 77 20 63 68 65 63 6b 2d 69 6e o a new check-in
2d70: 2e 20 20 55 73 65 20 74 68 65 20 3c 62 3e 74 69 . Use the <b>ti
2d80: 6d 65 6c 69 6e 65 3c 2f 62 3e 20 6f 72 20 3c 62 meline</b> or <b
2d90: 3e 6c 65 61 76 65 73 3c 2f 62 3e 20 63 6f 6d 6d >leaves</b> comm
2da0: 61 6e 64 73 0a 74 6f 20 69 64 65 6e 74 69 66 79 ands.to identify
2db0: 20 61 6c 74 65 72 6e 61 74 69 76 65 20 63 68 65 alternative che
2dc0: 63 6b 2d 69 6e 73 20 74 6f 20 73 77 69 74 63 68 ck-ins to switch
2dd0: 20 74 6f 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a to..</p></li>..
2de0: 3c 6c 69 3e 3c 70 3e 0a 45 64 69 74 20 74 68 65 <li><p>.Edit the
2df0: 20 63 6f 64 65 2e 20 20 41 64 64 20 6e 65 77 20 code. Add new
2e00: 66 69 6c 65 73 20 74 6f 20 74 68 65 20 73 6f 75 files to the sou
2e10: 72 63 65 20 74 72 65 65 20 75 73 69 6e 67 20 74 rce tree using t
2e20: 68 65 20 3c 62 3e 61 64 64 3c 2f 62 3e 0a 63 6f he <b>add</b>.co
2e30: 6d 6d 61 6e 64 2e 20 20 4f 6d 69 74 20 66 69 6c mmand. Omit fil
2e40: 65 73 20 66 72 6f 6d 20 66 75 74 75 72 65 20 63 es from future c
2e50: 68 65 63 6b 2d 69 6e 73 20 75 73 69 6e 67 20 74 heck-ins using t
2e60: 68 65 20 3c 62 3e 72 6d 3c 2f 62 3e 20 63 6f 6d he <b>rm</b> com
2e70: 6d 61 6e 64 2e 0a 28 45 76 65 6e 20 77 68 65 6e mand..(Even when
2e80: 20 79 6f 75 20 72 65 6d 6f 76 65 20 66 69 6c 65 you remove file
2e90: 73 20 66 72 6f 6d 20 66 75 74 75 72 65 20 63 68 s from future ch
2ea0: 65 63 6b 2d 69 6e 73 2c 20 74 68 6f 73 65 20 66 eck-ins, those f
2eb0: 69 6c 65 73 20 63 6f 6e 74 69 6e 75 65 0a 74 6f iles continue.to
2ec0: 20 65 78 69 73 74 20 69 6e 20 68 69 73 74 6f 72 exist in histor
2ed0: 69 63 61 6c 20 63 68 65 63 6b 2d 69 6e 73 2e 29 ical check-ins.)
2ee0: 20 20 54 65 73 74 20 79 6f 75 72 20 63 68 61 6e Test your chan
2ef0: 67 65 73 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a ges..</p></li>..
2f00: 3c 6c 69 3e 3c 70 3e 0a 43 72 65 61 74 65 20 61 <li><p>.Create a
2f10: 20 6e 65 77 20 63 68 65 63 6b 2d 69 6e 20 75 73 new check-in us
2f20: 69 6e 67 20 74 68 65 20 3c 62 3e 63 6f 6d 6d 69 ing the <b>commi
2f30: 74 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 2e 20 20 t</b> command.
2f40: 59 6f 75 20 77 69 6c 6c 20 62 65 20 70 72 6f 6d You will be prom
2f50: 70 74 65 64 0a 66 6f 72 20 61 20 63 68 65 63 6b pted.for a check
2f60: 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 61 6e 64 20 -in comment and
2f70: 61 6c 73 6f 20 66 6f 72 20 79 6f 75 72 20 47 50 also for your GP
2f80: 47 20 6b 65 79 20 69 66 20 79 6f 75 20 68 61 76 G key if you hav
2f90: 65 20 47 50 47 20 69 6e 73 74 61 6c 6c 65 64 2e e GPG installed.
2fa0: 0a 54 68 65 20 63 6f 6d 6d 69 74 20 63 6f 70 69 .The commit copi
2fb0: 65 73 20 74 68 65 20 65 64 69 74 73 20 79 6f 75 es the edits you
2fc0: 20 68 61 76 65 20 6d 61 64 65 20 69 6e 20 79 6f have made in yo
2fd0: 75 72 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65 0a ur local source.
2fe0: 74 72 65 65 20 69 6e 74 6f 20 79 6f 75 72 20 6c tree into your l
2ff0: 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 2e ocal repository.
3000: 20 20 41 66 74 65 72 20 79 6f 75 72 20 63 6f 6d After your com
3010: 6d 69 74 20 63 6f 6d 70 6c 65 74 65 73 2c 20 66 mit completes, f
3020: 6f 73 73 69 6c 20 77 69 6c 6c 0a 61 75 74 6f 6d ossil will.autom
3030: 61 74 69 63 61 6c 6c 79 20 3c 62 3e 70 75 73 68 atically <b>push
3040: 3c 2f 62 3e 20 79 6f 75 72 20 63 68 61 6e 67 65 </b> your change
3050: 73 20 62 61 63 6b 20 74 6f 20 74 68 65 20 73 65 s back to the se
3060: 72 76 65 72 0a 79 6f 75 20 63 6c 6f 6e 65 64 20 rver.you cloned
3070: 66 72 6f 6d 20 6f 72 20 77 68 61 74 65 76 65 72 from or whatever
3080: 20 73 65 72 76 65 72 20 79 6f 75 20 6d 6f 73 74 server you most
3090: 20 72 65 63 65 6e 74 6c 79 20 73 79 6e 63 65 64 recently synced
30a0: 20 77 69 74 68 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e with..</p></li>
30b0: 0a 0a 3c 6c 69 3e 3c 70 3e 0a 57 68 65 6e 20 79 ..<li><p>.When y
30c0: 6f 75 72 20 63 6f 77 6f 72 6b 65 72 73 20 6d 61 our coworkers ma
30d0: 6b 65 20 74 68 65 69 72 20 6f 77 6e 20 63 68 61 ke their own cha
30e0: 6e 67 65 73 2c 20 79 6f 75 20 63 61 6e 20 6d 65 nges, you can me
30f0: 72 67 65 20 74 68 6f 73 65 20 63 68 61 6e 67 65 rge those change
3100: 73 0a 69 6e 74 6f 20 79 6f 75 72 20 6c 6f 63 61 s.into your loca
3110: 6c 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65 20 74 l local source t
3120: 72 65 65 20 75 73 69 6e 67 20 74 68 65 20 3c 62 ree using the <b
3130: 3e 75 70 64 61 74 65 3c 2f 62 3e 20 63 6f 6d 6d >update</b> comm
3140: 61 6e 64 2e 20 20 0a 49 6e 20 61 75 74 6f 73 79 and. .In autosy
3150: 6e 63 20 6d 6f 64 65 2c 20 3c 62 3e 75 70 64 61 nc mode, <b>upda
3160: 74 65 3c 2f 62 3e 20 77 69 6c 6c 20 66 69 72 73 te</b> will firs
3170: 74 20 67 6f 20 62 61 63 6b 20 74 6f 20 74 68 65 t go back to the
3180: 20 73 65 72 76 65 72 20 79 6f 75 0a 63 6c 6f 6e server you.clon
3190: 65 64 20 66 72 6f 6d 20 6f 72 20 77 69 74 68 20 ed from or with
31a0: 77 68 69 63 68 20 79 6f 75 20 6d 6f 73 74 20 72 which you most r
31b0: 65 63 65 6e 74 6c 79 20 73 79 6e 63 65 64 2c 20 ecently synced,
31c0: 61 6e 64 20 70 75 6c 6c 20 64 6f 77 6e 20 61 6c and pull down al
31d0: 6c 0a 72 65 63 65 6e 74 20 63 68 61 6e 67 65 73 l.recent changes
31e0: 20 69 6e 74 6f 20 79 6f 75 72 20 6c 6f 63 61 6c into your local
31f0: 20 72 65 70 6f 73 69 74 6f 72 79 2e 20 20 54 68 repository. Th
3200: 65 6e 20 69 74 20 77 69 6c 6c 20 6d 65 72 67 65 en it will merge
3210: 20 72 65 63 65 6e 74 0a 63 68 61 6e 67 65 73 20 recent.changes
3220: 69 6e 74 6f 20 79 6f 75 72 20 6c 6f 63 61 6c 20 into your local
3230: 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 49 66 source tree. If
3240: 20 79 6f 75 20 64 6f 20 61 6e 20 3c 62 3e 75 70 you do an <b>up
3250: 64 61 74 65 3c 2f 62 3e 20 61 6e 64 0a 66 69 6e date</b> and.fin
3260: 64 20 74 68 61 74 20 69 74 20 6d 65 73 73 65 73 d that it messes
3270: 20 73 6f 6d 65 74 68 69 6e 67 20 75 70 20 69 6e something up in
3280: 20 79 6f 75 72 20 73 6f 75 72 63 65 20 74 72 65 your source tre
3290: 65 20 28 70 65 72 68 61 70 73 20 61 20 63 6f 2d e (perhaps a co-
32a0: 77 6f 72 6b 65 72 0a 63 68 65 63 6b 65 64 20 69 worker.checked i
32b0: 6e 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 63 n incompatible c
32c0: 68 61 6e 67 65 73 29 20 79 6f 75 20 63 61 6e 20 hanges) you can
32d0: 75 73 65 20 74 68 65 20 3c 62 3e 75 6e 64 6f 3c use the <b>undo<
32e0: 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 0a 74 6f 20 /b> command .to
32f0: 62 61 63 6b 20 6f 75 74 20 74 68 65 20 63 68 61 back out the cha
3300: 6e 67 65 73 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a nges..</p></li>.
3310: 0a 3c 6c 69 3e 3c 70 3e 0a 52 65 70 65 61 74 20 .<li><p>.Repeat
3320: 61 6c 6c 20 6f 66 20 74 68 65 20 61 62 6f 76 65 all of the above
3330: 20 75 6e 74 69 6c 20 79 6f 75 20 68 61 76 65 20 until you have
3340: 67 65 6e 65 72 61 74 65 64 20 67 72 65 61 74 20 generated great
3350: 73 6f 66 74 77 61 72 65 2e 0a 3c 2f 70 3e 3c 2f software..</p></
3360: 6c 69 3e 0a 3c 2f 6f 6c 3e 0a 0a 3c 68 33 3e 34 li>.</ol>..<h3>4
3370: 2e 32 20 4e 6f 6e 2d 41 75 74 6f 73 79 6e 63 20 .2 Non-Autosync
3380: 57 6f 72 6b 66 6c 6f 77 3c 2f 68 33 3e 0a 0a 3c Workflow</h3>..<
3390: 70 3e 57 68 65 6e 20 61 75 74 6f 73 79 6e 63 20 p>When autosync
33a0: 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65 is disabled, the
33b0: 20 3c 62 3e 63 6f 6d 6d 69 74 3c 2f 62 3e 20 63 <b>commit</b> c
33c0: 6f 6d 6d 61 6e 64 20 69 73 20 64 65 63 6f 75 70 ommand is decoup
33d0: 6c 65 64 20 66 72 6f 6d 0a 3c 62 3e 70 75 73 68 led from.<b>push
33e0: 3c 2f 62 3e 20 61 6e 64 20 74 68 65 20 3c 62 3e </b> and the <b>
33f0: 75 70 64 61 74 65 3c 2f 62 3e 20 63 6f 6d 6d 61 update</b> comma
3400: 6e 64 20 69 73 20 64 65 63 6f 75 70 6c 65 64 20 nd is decoupled
3410: 66 72 6f 6d 20 3c 62 3e 70 75 6c 6c 3c 2f 62 3e from <b>pull</b>
3420: 2e 0a 54 68 61 74 20 6d 65 61 6e 73 20 79 6f 75 ..That means you
3430: 20 68 61 76 65 20 74 6f 20 64 6f 20 61 20 66 65 have to do a fe
3440: 77 20 65 78 74 72 61 20 73 74 65 70 73 20 69 6e w extra steps in
3450: 20 6f 72 64 65 72 20 74 6f 20 61 63 63 6f 6d 70 order to accomp
3460: 6c 69 73 68 20 74 68 65 0a 3c 62 3e 70 75 73 68 lish the.<b>push
3470: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 70 75 6c 6c </b> and <b>pull
3480: 3c 2f 62 3e 20 74 61 73 6b 73 20 6d 61 6e 75 61 </b> tasks manua
3490: 6c 6c 79 2e 3c 2f 70 3e 0a 0a 3c 6f 6c 3e 0a 3c lly.</p>..<ol>.<
34a0: 6c 69 3e 3c 70 3e 0a 45 73 74 61 62 6c 69 73 68 li><p>.Establish
34b0: 20 61 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 a local reposit
34c0: 6f 72 79 20 75 73 69 6e 67 20 65 69 74 68 65 72 ory using either
34d0: 20 74 68 65 20 3c 62 3e 6e 65 77 3c 2f 62 3e 20 the <b>new</b>
34e0: 63 6f 6d 6d 61 6e 64 0a 74 6f 20 73 74 61 72 74 command.to start
34f0: 20 61 20 6e 65 77 20 70 72 6f 6a 65 63 74 2c 20 a new project,
3500: 6f 72 20 74 68 65 20 3c 62 3e 63 6c 6f 6e 65 3c or the <b>clone<
3510: 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 6d /b> command to m
3520: 61 6b 65 20 61 20 63 6c 6f 6e 65 0a 6f 66 20 61 ake a clone.of a
3530: 20 72 65 70 6f 73 69 74 6f 72 79 20 66 6f 72 20 repository for
3540: 61 6e 20 65 78 69 73 74 69 6e 67 20 70 72 6f 6a an existing proj
3550: 65 63 74 2e 20 20 20 54 68 65 20 64 65 66 61 75 ect. The defau
3560: 6c 74 20 73 65 74 74 69 6e 67 20 66 6f 72 0a 61 lt setting for.a
3570: 20 6e 65 77 20 72 65 70 6f 73 69 74 6f 72 79 20 new repository
3580: 69 73 20 77 69 74 68 20 61 75 74 6f 73 79 6e 63 is with autosync
3590: 20 6f 6e 2c 20 73 6f 20 79 6f 75 20 77 69 6c 6c on, so you will
35a0: 20 6e 65 65 64 20 74 6f 20 74 75 72 6e 20 69 74 need to turn it
35b0: 20 6f 66 66 0a 75 73 69 6e 67 20 74 68 65 20 3c off.using the <
35c0: 62 3e 73 65 74 74 69 6e 67 20 61 75 74 6f 73 79 b>setting autosy
35d0: 6e 63 20 6f 66 66 3c 2f 62 3e 20 63 6f 6d 6d 61 nc off</b> comma
35e0: 6e 64 20 77 69 74 68 20 61 20 3c 62 3e 2d 52 3c nd with a <b>-R<
35f0: 2f 62 3e 20 6f 70 74 69 6f 6e 0a 74 6f 20 73 70 /b> option.to sp
3600: 65 63 69 66 79 20 74 68 65 20 72 65 70 6f 73 69 ecify the reposi
3610: 74 6f 72 79 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a tory..</p></li>.
3620: 0a 3c 6c 69 3e 3c 70 3e 0a 45 73 74 61 62 6c 69 .<li><p>.Establi
3630: 73 68 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 73 sh one or more s
3640: 6f 75 72 63 65 20 74 72 65 65 73 20 62 79 20 63 ource trees by c
3650: 68 61 6e 67 69 6e 67 20 79 6f 75 72 20 77 6f 72 hanging your wor
3660: 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 0a 74 king directory.t
3670: 6f 20 77 68 65 72 65 20 79 6f 75 20 77 61 6e 74 o where you want
3680: 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 68 65 the root of the
3690: 20 73 6f 75 72 63 65 20 74 72 65 65 20 74 6f 20 source tree to
36a0: 62 65 2c 20 74 68 65 6e 20 69 73 73 75 69 6e 67 be, then issuing
36b0: 0a 74 68 65 20 3c 62 3e 6f 70 65 6e 3c 2f 62 3e .the <b>open</b>
36c0: 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 74 68 command with th
36d0: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 72 65 e name of the re
36e0: 70 6f 73 69 74 6f 72 79 20 66 69 6c 65 20 61 73 pository file as
36f0: 20 69 74 73 0a 61 72 67 75 6d 65 6e 74 2e 0a 3c its.argument..<
3700: 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 /p></li>..<li><p
3710: 3e 0a 54 68 65 20 3c 62 3e 6f 70 65 6e 3c 2f 62 >.The <b>open</b
3720: 3e 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 > command in the
3730: 20 70 72 65 76 69 6f 75 73 20 73 74 65 70 20 70 previous step p
3740: 6f 70 75 6c 61 74 65 73 20 79 6f 75 72 20 6c 6f opulates your lo
3750: 63 61 6c 20 73 6f 75 72 63 65 0a 74 72 65 65 20 cal source.tree
3760: 77 69 74 68 20 61 20 63 6f 70 79 20 6f 66 20 74 with a copy of t
3770: 68 65 20 6c 61 74 65 73 74 20 63 68 65 63 6b 2d he latest check-
3780: 69 6e 2e 20 20 55 73 75 61 6c 6c 79 20 74 68 69 in. Usually thi
3790: 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 s is what you wa
37a0: 6e 74 2e 0a 49 6e 20 74 68 65 20 72 61 72 65 20 nt..In the rare
37b0: 63 61 73 65 73 20 77 68 65 72 65 20 69 74 20 69 cases where it i
37c0: 73 20 6e 6f 74 2c 20 75 73 65 20 74 68 65 20 3c s not, use the <
37d0: 62 3e 75 70 64 61 74 65 3c 2f 62 3e 20 63 6f 6d b>update</b> com
37e0: 6d 61 6e 64 20 74 6f 0a 73 77 69 74 63 68 20 74 mand to.switch t
37f0: 6f 20 61 20 6e 65 77 20 63 68 65 63 6b 2d 69 6e o a new check-in
3800: 2e 20 20 55 73 65 20 74 68 65 20 3c 62 3e 74 69 . Use the <b>ti
3810: 6d 65 6c 69 6e 65 3c 2f 62 3e 20 6f 72 20 3c 62 meline</b> or <b
3820: 3e 6c 65 61 76 65 73 3c 2f 62 3e 20 63 6f 6d 6d >leaves</b> comm
3830: 61 6e 64 73 0a 74 6f 20 69 64 65 6e 74 69 66 79 ands.to identify
3840: 20 61 6c 74 65 72 6e 61 74 69 76 65 20 63 68 65 alternative che
3850: 63 6b 2d 69 6e 73 20 74 6f 20 73 77 69 74 63 68 ck-ins to switch
3860: 20 74 6f 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a to..</p></li>..
3870: 3c 6c 69 3e 3c 70 3e 0a 45 64 69 74 20 74 68 65 <li><p>.Edit the
3880: 20 63 6f 64 65 2e 20 20 41 64 64 20 6e 65 77 20 code. Add new
3890: 66 69 6c 65 73 20 74 6f 20 74 68 65 20 73 6f 75 files to the sou
38a0: 72 63 65 20 74 72 65 65 20 75 73 69 6e 67 20 74 rce tree using t
38b0: 68 65 20 3c 62 3e 61 64 64 3c 2f 62 3e 0a 63 6f he <b>add</b>.co
38c0: 6d 6d 61 6e 64 2e 20 20 4f 6d 69 74 20 66 69 6c mmand. Omit fil
38d0: 65 73 20 66 72 6f 6d 20 66 75 74 75 72 65 20 63 es from future c
38e0: 68 65 63 6b 2d 69 6e 73 20 75 73 69 6e 67 20 74 heck-ins using t
38f0: 68 65 20 3c 62 3e 72 6d 3c 2f 62 3e 20 63 6f 6d he <b>rm</b> com
3900: 6d 61 6e 64 2e 0a 28 45 76 65 6e 20 77 68 65 6e mand..(Even when
3910: 20 79 6f 75 20 72 65 6d 6f 76 65 20 66 69 6c 65 you remove file
3920: 73 20 66 72 6f 6d 20 66 75 74 75 72 65 20 63 68 s from future ch
3930: 65 63 6b 2d 69 6e 73 2c 20 74 68 6f 73 65 20 66 eck-ins, those f
3940: 69 6c 65 73 20 63 6f 6e 74 69 6e 75 65 0a 74 6f iles continue.to
3950: 20 65 78 69 73 74 20 69 6e 20 68 69 73 74 6f 72 exist in histor
3960: 69 63 61 6c 20 63 68 65 63 6b 2d 69 6e 73 2e 29 ical check-ins.)
3970: 20 20 54 65 73 74 20 79 6f 75 72 20 63 68 61 6e Test your chan
3980: 67 65 73 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a ges..</p></li>..
3990: 3c 6c 69 3e 3c 70 3e 0a 43 72 65 61 74 65 20 61 <li><p>.Create a
39a0: 20 6e 65 77 20 63 68 65 63 6b 2d 69 6e 20 75 73 new check-in us
39b0: 69 6e 67 20 74 68 65 20 3c 62 3e 63 6f 6d 6d 69 ing the <b>commi
39c0: 74 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 2e 20 20 t</b> command.
39d0: 59 6f 75 20 77 69 6c 6c 20 62 65 20 70 72 6f 6d You will be prom
39e0: 70 74 65 64 0a 66 6f 72 20 61 20 63 68 65 63 6b pted.for a check
39f0: 2d 69 6e 20 63 6f 6d 6d 65 6e 74 20 61 6e 64 20 -in comment and
3a00: 61 6c 73 6f 20 66 6f 72 20 79 6f 75 72 20 47 50 also for your GP
3a10: 47 20 6b 65 79 20 69 66 20 79 6f 75 20 68 61 76 G key if you hav
3a20: 65 20 47 50 47 20 69 6e 73 74 61 6c 6c 65 64 2e e GPG installed.
3a30: 0a 54 68 65 20 63 6f 6d 6d 69 74 20 63 6f 70 69 .The commit copi
3a40: 65 73 20 74 68 65 20 65 64 69 74 73 20 79 6f 75 es the edits you
3a50: 20 68 61 76 65 20 6d 61 64 65 20 69 6e 20 79 6f have made in yo
3a60: 75 72 20 6c 6f 63 61 6c 20 73 6f 75 72 63 65 0a ur local source.
3a70: 74 72 65 65 20 69 6e 74 6f 20 79 6f 75 72 20 6c tree into your l
3a80: 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 2e ocal repository.
3a90: 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e .</p></li>..<li>
3aa0: 3c 70 3e 55 73 65 20 74 68 65 20 3c 62 3e 70 75 <p>Use the <b>pu
3ab0: 73 68 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 sh</b> command t
3ac0: 6f 20 70 75 73 68 20 79 6f 75 72 20 63 68 61 6e o push your chan
3ad0: 67 65 73 20 6f 75 74 20 74 6f 20 61 20 73 65 72 ges out to a ser
3ae0: 76 65 72 0a 77 68 65 72 65 20 79 6f 75 72 20 63 ver.where your c
3af0: 6f 2d 77 6f 72 6b 65 72 73 20 63 61 6e 20 61 63 o-workers can ac
3b00: 63 65 73 73 20 74 68 65 6d 2e 0a 3c 2f 70 3e 3c cess them..</p><
3b10: 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 57 68 /li>..<li><p>.Wh
3b20: 65 6e 20 63 6f 2d 77 6f 72 6b 65 72 73 20 6d 61 en co-workers ma
3b30: 6b 65 20 74 68 65 69 72 20 6f 77 6e 20 63 68 61 ke their own cha
3b40: 6e 67 65 73 2c 20 75 73 65 20 74 68 65 20 3c 62 nges, use the <b
3b50: 3e 70 75 6c 6c 3c 2f 62 3e 20 63 6f 6d 6d 61 6e >pull</b> comman
3b60: 64 0a 74 6f 20 70 75 6c 6c 20 74 68 6f 73 65 20 d.to pull those
3b70: 63 68 61 6e 67 65 73 20 69 6e 74 6f 20 79 6f 75 changes into you
3b80: 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f r local reposito
3b90: 72 79 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 3c ry. Note that <
3ba0: 62 3e 70 75 6c 6c 3c 2f 62 3e 0a 64 6f 65 73 20 b>pull</b>.does
3bb0: 6e 6f 74 20 6d 6f 76 65 20 74 68 65 20 63 68 61 not move the cha
3bc0: 6e 67 65 73 20 69 6e 74 6f 20 79 6f 75 72 20 6c nges into your l
3bd0: 6f 63 61 6c 20 73 6f 75 72 63 65 20 74 72 65 65 ocal source tree
3be0: 2c 20 6f 6e 6c 79 20 69 6e 74 6f 20 79 6f 75 72 , only into your
3bf0: 0a 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 .local repositor
3c00: 79 2e 0a 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c y..</p></li>..<l
3c10: 69 3e 3c 70 3e 0a 4f 6e 63 65 20 63 68 61 6e 67 i><p>.Once chang
3c20: 65 73 20 61 72 65 20 69 6e 20 79 6f 75 72 20 6c es are in your l
3c30: 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 2c ocal repository,
3c40: 20 75 73 65 0a 75 73 65 20 74 68 65 20 3c 62 3e use.use the <b>
3c50: 75 70 64 61 74 65 3c 2f 62 3e 20 63 6f 6d 6d 61 update</b> comma
3c60: 6e 64 20 74 6f 20 6d 65 72 67 65 20 74 68 65 6d nd to merge them
3c70: 20 74 6f 20 79 6f 75 72 20 6c 6f 63 61 6c 20 73 to your local s
3c80: 6f 75 72 63 65 20 74 72 65 65 2e 0a 49 66 20 79 ource tree..If y
3c90: 6f 75 20 6d 65 72 67 65 20 69 6e 20 73 6f 6d 65 ou merge in some
3ca0: 20 63 68 61 6e 67 65 73 20 61 6e 64 20 66 69 6e changes and fin
3cb0: 64 20 74 68 61 74 20 74 68 65 20 63 68 61 6e 67 d that the chang
3cc0: 65 73 20 64 6f 20 6e 6f 74 20 77 6f 72 6b 20 6f es do not work o
3cd0: 75 74 0a 6f 72 20 61 72 65 20 6e 6f 74 20 74 6f ut.or are not to
3ce0: 20 79 6f 75 72 20 6c 69 6b 69 6e 67 2c 20 79 6f your liking, yo
3cf0: 75 20 63 61 6e 20 62 61 63 6b 20 6f 75 74 20 74 u can back out t
3d00: 68 65 20 63 68 61 6e 67 65 73 20 75 73 69 6e 67 he changes using
3d10: 20 74 68 65 0a 3c 62 3e 75 6e 64 6f 3c 2f 62 3e the.<b>undo</b>
3d20: 20 63 6f 6d 6d 61 6e 64 2e 0a 3c 2f 70 3e 3c 2f command..</p></
3d30: 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 0a 52 65 70 li>..<li><p>.Rep
3d40: 65 61 74 20 61 6c 6c 20 6f 66 20 74 68 65 20 61 eat all of the a
3d50: 62 6f 76 65 20 75 6e 74 69 6c 20 79 6f 75 20 68 bove until you h
3d60: 61 76 65 20 67 65 6e 65 72 61 74 65 64 20 67 72 ave generated gr
3d70: 65 61 74 20 73 6f 66 74 77 61 72 65 2e 0a 3c 2f eat software..</
3d80: 70 3e 3c 2f 6c 69 3e 0a 3c 2f 6f 6c 3e 0a 0a 3c p></li>.</ol>..<
3d90: 68 32 3e 35 2e 30 20 53 65 74 74 69 6e 67 20 55 h2>5.0 Setting U
3da0: 70 20 41 20 46 6f 73 73 69 6c 20 53 65 72 76 65 p A Fossil Serve
3db0: 72 3c 2f 68 32 3e 0a 0a 3c 70 3e 57 69 74 68 20 r</h2>..<p>With
3dc0: 6f 74 68 65 72 20 63 6f 6e 66 69 67 75 72 61 74 other configurat
3dd0: 69 6f 6e 20 6d 61 6e 61 67 65 6d 65 6e 74 20 73 ion management s
3de0: 6f 66 74 77 61 72 65 2c 20 73 65 74 74 69 6e 67 oftware, setting
3df0: 20 75 70 20 61 20 73 65 72 76 65 72 20 69 73 0a up a server is.
3e00: 61 20 6c 6f 74 20 6f 66 20 77 6f 72 6b 20 61 6e a lot of work an
3e10: 64 20 6e 6f 72 6d 61 6c 6c 79 20 74 61 6b 65 73 d normally takes
3e20: 20 74 69 6d 65 2c 20 70 61 74 69 65 6e 63 65 2c time, patience,
3e30: 20 61 6e 64 20 61 20 6c 6f 74 20 6f 66 20 73 79 and a lot of sy
3e40: 73 74 65 6d 0a 6b 6e 6f 77 6c 65 64 67 65 2e 20 stem.knowledge.
3e50: 20 46 6f 73 73 69 6c 20 69 73 20 64 65 73 69 67 Fossil is desig
3e60: 6e 65 64 20 74 6f 20 61 76 6f 69 64 20 74 68 69 ned to avoid thi
3e70: 73 20 66 72 75 73 74 72 61 74 69 6f 6e 2e 20 20 s frustration.
3e80: 53 65 74 74 69 6e 67 20 75 70 0a 61 20 73 65 72 Setting up.a ser
3e90: 76 65 72 20 77 69 74 68 20 66 6f 73 73 69 6c 20 ver with fossil
3ea0: 69 73 20 72 69 64 69 63 75 6c 6f 75 73 6c 79 20 is ridiculously
3eb0: 65 61 73 79 2e 20 20 59 6f 75 20 68 61 76 65 20 easy. You have
3ec0: 74 68 72 65 65 20 6f 70 74 69 6f 6e 73 3a 3c 2f three options:</
3ed0: 70 3e 0a 0a 3c 6f 6c 3e 0a 3c 6c 69 3e 3c 70 3e p>..<ol>.<li><p>
3ee0: 3c 62 3e 3c 61 20 6e 61 6d 65 3d 22 73 61 73 65 <b><a name="sase
3ef0: 72 76 22 3e 53 3c 2f 61 3e 65 74 74 69 6e 67 20 rv">S</a>etting
3f00: 75 70 20 61 20 73 74 61 6e 64 2d 61 6c 6f 6e 65 up a stand-alone
3f10: 20 73 65 72 76 65 72 3c 2f 62 3e 3c 2f 70 3e 0a server</b></p>.
3f20: 0a 3c 70 3e 46 72 6f 6d 20 77 69 74 68 69 6e 20 .<p>From within
3f30: 79 6f 75 72 20 73 6f 75 72 63 65 20 74 72 65 65 your source tree
3f40: 20 6a 75 73 74 20 75 73 65 20 74 68 65 20 3c 62 just use the <b
3f50: 3e 73 65 72 76 65 72 3c 2f 62 3e 20 63 6f 6d 6d >server</b> comm
3f60: 61 6e 64 20 61 6e 64 0a 66 6f 73 73 69 6c 20 77 and and.fossil w
3f70: 69 6c 6c 20 73 74 61 72 74 20 6c 69 73 74 65 6e ill start listen
3f80: 69 6e 67 20 66 6f 72 20 69 6e 63 6f 6d 69 6e 67 ing for incoming
3f90: 20 72 65 71 75 65 73 74 73 20 6f 6e 20 54 43 50 requests on TCP
3fa0: 20 70 6f 72 74 20 38 30 38 30 2e 0a 59 6f 75 20 port 8080..You
3fb0: 63 61 6e 20 70 6f 69 6e 74 20 79 6f 75 72 20 77 can point your w
3fc0: 65 62 20 62 72 6f 77 73 65 72 20 61 74 20 3c 61 eb browser at <a
3fd0: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 6c 6f href="http://lo
3fe0: 63 61 6c 68 6f 73 74 3a 38 30 38 30 2f 22 3e 0a calhost:8080/">.
3ff0: 68 74 74 70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 http://localhost
4000: 3a 38 30 38 30 2f 3c 2f 61 3e 20 61 6e 64 20 62 :8080/</a> and b
4010: 65 67 69 6e 20 65 78 70 6c 6f 72 69 6e 67 2e 20 egin exploring.
4020: 20 4f 72 20 79 6f 75 72 20 63 6f 77 6f 72 6b 65 Or your coworke
4030: 72 73 0a 63 61 6e 20 64 6f 20 70 75 73 68 65 73 rs.can do pushes
4040: 20 6f 72 20 70 75 6c 6c 73 20 61 67 61 69 6e 73 or pulls agains
4050: 74 20 79 6f 75 72 20 73 65 72 76 65 72 2e 20 20 t your server.
4060: 55 73 65 20 74 68 65 20 3c 62 3e 2d 2d 70 6f 72 Use the <b>--por
4070: 74 3c 2f 62 3e 0a 6f 70 74 69 6f 6e 20 74 6f 20 t</b>.option to
4080: 74 68 65 20 73 65 72 76 65 72 20 63 6f 6d 6d 61 the server comma
4090: 6e 64 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 nd to specify a
40a0: 64 69 66 66 65 72 65 6e 74 20 54 43 50 20 70 6f different TCP po
40b0: 72 74 2e 20 20 49 66 0a 79 6f 75 20 64 6f 20 6e rt. If.you do n
40c0: 6f 74 20 68 61 76 65 20 61 20 6c 6f 63 61 6c 20 ot have a local
40d0: 73 6f 75 72 63 65 20 74 72 65 65 2c 20 75 73 65 source tree, use
40e0: 20 74 68 65 20 3c 62 3e 2d 52 3c 2f 62 3e 20 63 the <b>-R</b> c
40f0: 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 0a 6f 70 74 69 ommand-line.opti
4100: 6f 6e 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 on to specify th
4110: 65 20 72 65 70 6f 73 69 74 6f 72 79 20 66 69 6c e repository fil
4120: 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 41 20 73 74 61 e.</p>..<p>A sta
4130: 6e 64 2d 61 6c 6f 6e 65 20 73 65 72 76 65 72 20 nd-alone server
4140: 69 73 20 61 20 67 72 65 61 74 20 77 61 79 20 74 is a great way t
4150: 6f 20 73 65 74 20 6f 66 20 74 72 61 6e 73 69 65 o set of transie
4160: 6e 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 0a 62 nt connections.b
4170: 65 74 77 65 65 6e 20 63 6f 77 6f 72 6b 65 72 73 etween coworkers
4180: 20 66 6f 72 20 64 6f 69 6e 67 20 71 75 69 63 6b for doing quick
4190: 20 70 75 73 68 65 73 20 6f 72 20 70 75 6c 6c 73 pushes or pulls
41a0: 2e 20 20 42 75 74 20 79 6f 75 20 63 61 6e 20 61 . But you can a
41b0: 6c 73 6f 0a 73 65 74 20 75 70 20 61 20 70 65 72 lso.set up a per
41c0: 6d 61 6e 65 6e 74 20 73 74 61 6e 64 2d 61 6c 6f manent stand-alo
41d0: 6e 65 20 73 65 72 76 65 72 20 69 66 20 79 6f 75 ne server if you
41e0: 20 70 72 65 66 65 72 2e 20 20 4a 75 73 74 20 6d prefer. Just m
41f0: 61 6b 65 0a 61 72 72 61 6e 67 65 6d 65 6e 74 73 ake.arrangements
4200: 20 66 6f 72 20 66 6f 73 73 69 6c 20 74 6f 20 62 for fossil to b
4210: 65 20 6c 61 75 6e 63 68 65 64 20 77 69 74 68 20 e launched with
4220: 61 70 70 72 6f 70 72 69 61 74 65 20 61 72 67 75 appropriate argu
4230: 6d 65 6e 74 73 0a 61 66 74 65 72 20 65 76 65 72 ments.after ever
4240: 79 20 72 65 62 6f 6f 74 2e 3c 2f 70 3e 0a 0a 3c y reboot.</p>..<
4250: 70 3e 49 66 20 79 6f 75 20 6a 75 73 74 20 77 61 p>If you just wa
4260: 6e 74 20 61 20 73 65 72 76 65 72 20 74 6f 20 62 nt a server to b
4270: 72 6f 77 73 65 20 74 68 65 20 62 75 69 6c 74 2d rowse the built-
4280: 69 6e 20 66 6f 73 73 69 6c 20 77 65 62 73 69 74 in fossil websit
4290: 65 0a 6c 6f 63 61 6c 6c 79 2c 20 75 73 65 20 74 e.locally, use t
42a0: 68 65 20 3c 62 3e 75 69 3c 2f 62 3e 20 63 6f 6d he <b>ui</b> com
42b0: 6d 61 6e 64 20 69 6e 20 70 6c 61 63 65 20 6f 66 mand in place of
42c0: 20 3c 62 3e 73 65 72 76 65 72 3c 2f 62 3e 2e 20 <b>server</b>.
42d0: 20 54 68 65 0a 3c 62 3e 75 69 3c 2f 62 3e 20 63 The.<b>ui</b> c
42e0: 6f 6d 6d 61 6e 64 20 73 74 61 72 74 73 20 75 70 ommand starts up
42f0: 20 61 20 6c 6f 63 61 6c 20 73 65 72 76 65 72 20 a local server
4300: 74 6f 6f 2c 20 62 75 74 20 69 74 20 61 6c 73 6f too, but it also
4310: 20 74 61 6b 65 73 0a 74 68 65 20 61 64 64 69 74 takes.the addit
4320: 69 6f 6e 61 6c 20 73 74 65 70 20 6f 66 20 61 75 ional step of au
4330: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6c 61 75 6e tomatically laun
4340: 63 68 69 6e 67 20 79 6f 75 72 20 77 65 62 62 72 ching your webbr
4350: 6f 77 73 65 72 20 61 6e 64 0a 70 6f 69 6e 74 69 owser and.pointi
4360: 6e 67 20 61 74 20 74 68 65 20 6e 65 77 20 73 65 ng at the new se
4370: 72 76 65 72 2e 3c 2f 70 3e 0a 3c 2f 6c 69 3e 0a rver.</p>.</li>.
4380: 0a 3c 6c 69 3e 3c 70 3e 3c 62 3e 53 65 74 74 69 .<li><p><b>Setti
4390: 6e 67 20 75 70 20 61 20 43 47 49 20 73 65 72 76 ng up a CGI serv
43a0: 65 72 3c 2f 62 3e 3c 2f 70 3e 0a 0a 3c 70 3e 49 er</b></p>..<p>I
43b0: 66 20 79 6f 75 20 68 61 76 65 20 61 20 77 65 62 f you have a web
43c0: 73 65 72 76 65 72 20 72 75 6e 6e 69 6e 67 20 6f server running o
43d0: 6e 20 79 6f 75 72 20 6d 61 63 68 69 6e 65 20 61 n your machine a
43e0: 6c 72 65 61 64 79 2c 20 79 6f 75 20 63 61 6e 0a lready, you can.
43f0: 73 65 74 20 75 70 20 66 6f 73 73 69 6c 20 74 6f set up fossil to
4400: 20 62 65 20 72 75 6e 20 66 72 6f 6d 20 43 47 49 be run from CGI
4410: 2e 20 20 53 69 6d 70 6c 79 20 63 72 65 61 74 65 . Simply create
4420: 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 73 an executable s
4430: 63 72 69 70 74 0a 74 68 61 74 20 6c 6f 6f 6b 73 cript.that looks
4440: 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 something like
4450: 74 68 69 73 3a 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 this:</p>..<bloc
4460: 6b 71 75 6f 74 65 3e 3c 70 72 65 3e 0a 23 21 2f kquote><pre>.#!/
4470: 75 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e 2f 66 6f usr/local/bin/fo
4480: 73 73 69 6c 0a 72 65 70 6f 73 69 74 6f 72 79 3a ssil.repository:
4490: 20 2f 68 6f 6d 65 2f 6d 65 2f 62 69 67 70 72 6f /home/me/bigpro
44a0: 6a 65 63 74 2e 66 6f 73 73 69 6c 0a 3c 2f 70 72 ject.fossil.</pr
44b0: 65 3e 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a e></blockquote>.
44c0: 0a 3c 70 3e 45 64 69 74 20 74 68 69 73 20 73 63 .<p>Edit this sc
44d0: 72 69 70 74 20 74 6f 20 75 73 65 20 77 68 61 74 ript to use what
44e0: 65 76 65 72 20 70 61 74 68 6e 61 6d 65 73 20 61 ever pathnames a
44f0: 72 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 re appropriate f
4500: 6f 72 0a 79 6f 75 72 20 70 72 6f 6a 65 63 74 2e or.your project.
4510: 20 20 54 68 65 6e 20 70 6f 69 6e 74 20 79 6f 75 Then point you
4520: 72 20 77 65 62 20 62 72 6f 77 73 65 72 20 61 74 r web browser at
4530: 20 74 68 65 20 73 63 72 69 70 74 20 61 6e 64 20 the script and
4540: 6f 66 66 20 79 6f 75 0a 67 6f 2e 3c 2f 70 3e 3c off you.go.</p><
4550: 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e 3c 62 3e /li>..<li><p><b>
4560: 53 65 74 74 69 6e 67 20 75 70 20 61 6e 20 69 6e Setting up an in
4570: 65 74 64 20 73 65 72 76 65 72 3c 2f 62 3e 3c 2f etd server</b></
4580: 70 3e 0a 0a 3c 70 3e 49 66 20 79 6f 75 20 68 61 p>..<p>If you ha
4590: 76 65 20 69 6e 65 74 64 20 6f 72 20 78 69 6e 65 ve inetd or xine
45a0: 74 64 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 79 6f td running on yo
45b0: 75 72 20 73 79 73 74 65 6d 2c 20 79 6f 75 20 63 ur system, you c
45c0: 61 6e 20 73 65 74 0a 74 68 6f 73 65 20 73 65 72 an set.those ser
45d0: 76 69 63 65 73 20 75 70 20 74 6f 20 6c 61 75 6e vices up to laun
45e0: 63 68 20 66 6f 73 73 69 6c 20 74 6f 20 64 65 61 ch fossil to dea
45f0: 6c 20 77 69 74 68 20 69 6e 62 6f 75 6e 64 20 54 l with inbound T
4600: 43 50 2f 49 50 20 63 6f 6e 6e 65 63 74 69 6f 6e CP/IP connection
4610: 73 0a 6f 6e 20 77 68 61 74 65 76 65 72 20 70 6f s.on whatever po
4620: 72 74 20 79 6f 75 20 77 61 6e 74 2e 20 20 53 65 rt you want. Se
4630: 74 20 75 70 20 69 6e 65 74 64 20 6f 72 20 78 69 t up inetd or xi
4640: 6e 65 74 64 20 74 6f 20 6c 61 75 6e 63 68 20 66 netd to launch f
4650: 6f 73 73 69 6c 0a 6c 69 6b 65 20 74 68 69 73 3a ossil.like this:
4660: 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f 74 </p>..<blockquot
4670: 65 3e 3c 70 72 65 3e 0a 2f 75 73 72 2f 6c 6f 63 e><pre>./usr/loc
4680: 61 6c 2f 62 69 6e 2f 66 6f 73 73 69 6c 20 68 74 al/bin/fossil ht
4690: 74 70 20 2f 68 6f 6d 65 2f 6d 65 2f 62 69 67 70 tp /home/me/bigp
46a0: 72 6f 6a 65 63 74 2e 66 6f 73 73 69 6c 0a 3c 2f roject.fossil.</
46b0: 70 72 65 3e 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 pre></blockquote
46c0: 3e 0a 0a 3c 70 3e 41 73 20 62 65 66 6f 72 65 2c >..<p>As before,
46d0: 20 63 68 61 6e 67 65 20 74 68 65 20 66 69 6c 65 change the file
46e0: 6e 61 6d 65 73 20 74 6f 20 77 68 61 74 65 76 65 names to whateve
46f0: 72 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 r is appropriate
4700: 20 66 6f 72 0a 79 6f 75 72 20 73 79 73 74 65 6d for.your system
4710: 2e 20 20 59 6f 75 20 63 61 6e 20 68 61 76 65 20 . You can have
4720: 66 6f 73 73 69 6c 20 72 75 6e 20 61 73 20 61 6e fossil run as an
4730: 79 20 75 73 65 72 20 74 68 61 74 20 68 61 73 20 y user that has
4740: 77 72 69 74 65 0a 70 65 72 6d 69 73 73 69 6f 6e write.permission
4750: 20 6f 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f on the reposito
4760: 72 79 20 61 6e 64 20 6f 6e 20 74 68 65 20 64 69 ry and on the di
4770: 72 65 63 74 6f 72 79 20 74 68 61 74 20 63 6f 6e rectory that con
4780: 74 61 69 6e 73 20 74 68 65 0a 72 65 70 6f 73 69 tains the.reposi
4790: 74 6f 72 79 2e 20 20 42 75 74 20 69 74 20 69 73 tory. But it is
47a0: 20 73 61 66 65 72 20 74 6f 20 72 75 6e 20 66 6f safer to run fo
47b0: 73 73 69 6c 20 61 73 20 72 6f 6f 74 2e 20 20 57 ssil as root. W
47c0: 68 65 6e 20 66 6f 73 73 69 6c 0a 73 65 65 73 20 hen fossil.sees
47d0: 74 68 61 74 20 69 74 20 69 73 20 72 75 6e 6e 69 that it is runni
47e0: 6e 67 20 61 73 20 72 6f 6f 74 2c 20 69 74 20 61 ng as root, it a
47f0: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 70 75 74 utomatically put
4800: 73 20 69 74 73 65 6c 66 20 69 6e 74 6f 0a 61 20 s itself into.a
4810: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f <a href="http://
4820: 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 en.wikipedia.org
4830: 2f 77 69 6b 69 2f 43 68 72 6f 6f 74 22 3e 63 68 /wiki/Chroot">ch
4840: 72 6f 6f 74 20 6a 61 69 6c 3c 2f 61 3e 20 61 6e root jail</a> an
4850: 64 0a 64 72 6f 70 73 20 61 6c 6c 20 70 72 69 76 d.drops all priv
4860: 69 6c 65 67 65 73 20 70 72 69 6f 72 20 74 6f 20 ileges prior to
4870: 72 65 61 64 69 6e 67 20 61 6e 79 20 69 6e 66 6f reading any info
4880: 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 rmation from the
4890: 20 63 6c 69 65 6e 74 2e 0a 53 69 6e 63 65 20 66 client..Since f
48a0: 6f 73 73 69 6c 20 69 73 20 61 20 73 74 61 6e 64 ossil is a stand
48b0: 2d 61 6c 6f 6e 65 20 70 72 6f 67 72 61 6d 2c 20 -alone program,
48c0: 79 6f 75 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 you do not need
48d0: 74 6f 20 70 75 74 20 61 6e 79 74 68 69 6e 67 0a to put anything.
48e0: 69 6e 20 74 68 65 20 63 68 72 6f 6f 74 20 6a 61 in the chroot ja
48f0: 69 6c 20 77 69 74 68 20 66 6f 73 73 69 6c 20 69 il with fossil i
4900: 6e 20 6f 72 64 65 72 20 66 6f 72 20 69 74 20 74 n order for it t
4910: 6f 20 64 6f 20 69 74 73 20 6a 6f 62 2e 3c 2f 70 o do its job.</p
4920: 3e 0a 3c 2f 6c 69 3e 0a 3c 2f 6f 6c 3e 0a 0a 3c >.</li>.</ol>..<
4930: 68 32 3e 36 2e 30 20 52 65 76 69 65 77 20 4f 66 h2>6.0 Review Of
4940: 20 4b 65 79 20 43 6f 6e 63 65 70 74 73 3c 2f 68 Key Concepts</h
4950: 32 3e 0a 0a 3c 75 6c 3e 0a 3c 6c 69 3e 54 68 65 2>..<ul>.<li>The
4960: 20 3c 62 3e 66 6f 73 73 69 6c 3c 2f 62 3e 20 70 <b>fossil</b> p
4970: 72 6f 67 72 61 6d 20 69 73 20 61 20 73 65 6c 66 rogram is a self
4980: 2d 63 6f 6e 74 61 69 6e 65 64 20 73 74 61 6e 64 -contained stand
4990: 2d 61 6c 6f 6e 65 20 65 78 65 63 75 74 61 62 6c -alone executabl
49a0: 65 2e 0a 20 20 20 20 4a 75 73 74 20 70 75 74 20 e.. Just put
49b0: 69 74 20 73 6f 6d 65 77 68 65 72 65 20 6f 6e 20 it somewhere on
49c0: 79 6f 75 72 20 50 41 54 48 20 74 6f 20 69 6e 73 your PATH to ins
49d0: 74 61 6c 6c 20 69 74 2e 3c 2f 6c 69 3e 0a 3c 6c tall it.</li>.<l
49e0: 69 3e 55 73 65 20 74 68 65 20 3c 62 3e 63 6c 6f i>Use the <b>clo
49f0: 6e 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 6e 65 77 ne</b> or <b>new
4a00: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 73 20 74 6f </b> commands to
4a10: 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 72 65 create a new re
4a20: 70 6f 73 69 74 6f 72 79 2e 3c 2f 6c 69 3e 0a 3c pository.</li>.<
4a30: 6c 69 3e 55 73 65 20 74 68 65 20 3c 62 3e 6f 70 li>Use the <b>op
4a40: 65 6e 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 en</b> command t
4a50: 6f 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 73 o create a new s
4a60: 6f 75 72 63 65 20 74 72 65 65 2e 3c 2f 6c 69 3e ource tree.</li>
4a70: 0a 3c 6c 69 3e 55 73 65 20 74 68 65 20 3c 62 3e .<li>Use the <b>
4a80: 61 64 64 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 72 add</b> and <b>r
4a90: 6d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 64 65 6c 65 m</b> or <b>dele
4aa0: 74 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 73 20 te</b> commands
4ab0: 74 6f 20 61 64 64 20 61 6e 64 0a 20 20 20 20 72 to add and. r
4ac0: 65 6d 6f 76 65 20 66 69 6c 65 73 20 66 72 6f 6d emove files from
4ad0: 20 74 68 65 20 6c 6f 63 61 6c 20 73 6f 75 72 63 the local sourc
4ae0: 65 20 74 72 65 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 e tree.</li>.<li
4af0: 3e 55 73 65 20 74 68 65 20 3c 62 3e 63 6f 6d 6d >Use the <b>comm
4b00: 69 74 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 74 it</b> command t
4b10: 6f 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 63 o create a new c
4b20: 68 65 63 6b 2d 69 6e 2e 3c 2f 6c 69 3e 0a 3c 6c heck-in.</li>.<l
4b30: 69 3e 55 73 65 20 74 68 65 20 3c 62 3e 75 70 64 i>Use the <b>upd
4b40: 61 74 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 ate</b> command
4b50: 74 6f 20 6d 65 72 67 65 20 69 6e 20 63 68 61 6e to merge in chan
4b60: 67 65 73 20 66 72 6f 6d 20 6f 74 68 65 72 73 2e ges from others.
4b70: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54 68 65 20 3c 62 </li>.<li>The <b
4b80: 3e 70 75 73 68 3c 2f 62 3e 20 61 6e 64 20 3c 62 >push</b> and <b
4b90: 3e 70 75 6c 6c 3c 2f 62 3e 20 63 6f 6d 6d 61 6e >pull</b> comman
4ba0: 64 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 ds can be used t
4bb0: 6f 20 73 68 61 72 65 20 63 68 61 6e 67 65 73 0a o share changes.
4bc0: 20 20 20 20 6d 61 6e 75 61 6c 6c 79 2c 20 62 75 manually, bu
4bd0: 74 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 68 t these things h
4be0: 61 70 70 65 6e 20 61 75 74 6f 6d 61 74 69 63 61 appen automatica
4bf0: 6c 6c 79 20 69 6e 20 74 68 65 20 64 65 66 61 75 lly in the defau
4c00: 6c 74 0a 20 20 20 20 61 75 74 6f 73 79 6e 63 20 lt. autosync
4c10: 6d 6f 64 65 2e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e mode.</li>.</ul>
4c20: 0a .