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