FossilRepo

Source Blame History 1074 lines
2eca4eb… ragelink 1
2eca4eb… ragelink 2 <!doctype html>
2eca4eb… ragelink 3 <html lang="en" class="no-js">
2eca4eb… ragelink 4 <head>
2eca4eb… ragelink 5
2eca4eb… ragelink 6 <meta charset="utf-8">
2eca4eb… ragelink 7 <meta name="viewport" content="width=device-width,initial-scale=1">
2eca4eb… ragelink 8
2eca4eb… ragelink 9 <meta name="description" content="Self-hosted Fossil forge -- omnibus installer for production Fossil SCM hosting">
2eca4eb… ragelink 10
2eca4eb… ragelink 11
2eca4eb… ragelink 12 <meta name="author" content="CONFLICT LLC">
2eca4eb… ragelink 13
2eca4eb… ragelink 14
2eca4eb… ragelink 15 <link rel="canonical" href="https://fossilrepo.dev/getting-started/first-repo/">
2eca4eb… ragelink 16
2eca4eb… ragelink 17
2eca4eb… ragelink 18 <link rel="prev" href="../configuration/">
2eca4eb… ragelink 19
2eca4eb… ragelink 20
2eca4eb… ragelink 21 <link rel="next" href="../../architecture/overview/">
2eca4eb… ragelink 22
2eca4eb… ragelink 23
2eca4eb… ragelink 24
2eca4eb… ragelink 25
2eca4eb… ragelink 26
2eca4eb… ragelink 27 <link rel="icon" href="../../assets/images/favicon.png">
2eca4eb… ragelink 28 <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
2eca4eb… ragelink 29
2eca4eb… ragelink 30
2eca4eb… ragelink 31
2eca4eb… ragelink 32 <title>First Repository - Fossilrepo</title>
2eca4eb… ragelink 33
2eca4eb… ragelink 34
2eca4eb… ragelink 35
2eca4eb… ragelink 36 <link rel="stylesheet" href="../../assets/stylesheets/main.484c7ddc.min.css">
2eca4eb… ragelink 37
2eca4eb… ragelink 38
2eca4eb… ragelink 39 <link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
2eca4eb… ragelink 40
2eca4eb… ragelink 41
2eca4eb… ragelink 42
2eca4eb… ragelink 43
2eca4eb… ragelink 44
2eca4eb… ragelink 45
2eca4eb… ragelink 46
2eca4eb… ragelink 47
2eca4eb… ragelink 48
2eca4eb… ragelink 49
2eca4eb… ragelink 50
2eca4eb… ragelink 51
2eca4eb… ragelink 52 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
2eca4eb… ragelink 53 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
2eca4eb… ragelink 54 <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
2eca4eb… ragelink 55
2eca4eb… ragelink 56
2eca4eb… ragelink 57
2eca4eb… ragelink 58 <link rel="stylesheet" href="../../assets/css/custom.css">
2eca4eb… ragelink 59
2eca4eb… ragelink 60 <script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
2eca4eb… ragelink 61
2eca4eb… ragelink 62
2eca4eb… ragelink 63
2eca4eb… ragelink 64
2eca4eb… ragelink 65
2eca4eb… ragelink 66 </head>
2eca4eb… ragelink 67
2eca4eb… ragelink 68
2eca4eb… ragelink 69
2eca4eb… ragelink 70
2eca4eb… ragelink 71
2eca4eb… ragelink 72
2eca4eb… ragelink 73
2eca4eb… ragelink 74
2eca4eb… ragelink 75
2eca4eb… ragelink 76 <body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom">
2eca4eb… ragelink 77
2eca4eb… ragelink 78
2eca4eb… ragelink 79 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
2eca4eb… ragelink 80 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
2eca4eb… ragelink 81 <label class="md-overlay" for="__drawer"></label>
2eca4eb… ragelink 82 <div data-md-component="skip">
2eca4eb… ragelink 83
2eca4eb… ragelink 84
2eca4eb… ragelink 85 <a href="#creating-your-first-repository" class="md-skip">
2eca4eb… ragelink 86 Skip to content
2eca4eb… ragelink 87 </a>
2eca4eb… ragelink 88
2eca4eb… ragelink 89 </div>
2eca4eb… ragelink 90 <div data-md-component="announce">
2eca4eb… ragelink 91
2eca4eb… ragelink 92 </div>
2eca4eb… ragelink 93
2eca4eb… ragelink 94
2eca4eb… ragelink 95
2eca4eb… ragelink 96
2eca4eb… ragelink 97 <header class="md-header" data-md-component="header">
2eca4eb… ragelink 98 <nav class="md-header__inner md-grid" aria-label="Header">
2eca4eb… ragelink 99 <a href="../.." title="Fossilrepo" class="md-header__button md-logo" aria-label="Fossilrepo" data-md-component="logo">
2eca4eb… ragelink 100 <div style="display: flex; align-items: center; gap: 0.6rem;">
2eca4eb… ragelink 101 <img src="../../assets/images/conflict-logo.svg" alt="CONFLICT" style="height: 1.4rem; width: auto;">
2eca4eb… ragelink 102 <img src="../../assets/images/fossilrepo-logo.svg" alt="Fossilrepo" style="height: 1.2rem; width: auto;">
2eca4eb… ragelink 103 </div>
2eca4eb… ragelink 104 </a>
2eca4eb… ragelink 105 <label class="md-header__button md-icon" for="__drawer">
2eca4eb… ragelink 106
2eca4eb… ragelink 107 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
2eca4eb… ragelink 108 </label>
2eca4eb… ragelink 109 <div class="md-header__title" data-md-component="header-title">
2eca4eb… ragelink 110 <div class="md-header__ellipsis">
2eca4eb… ragelink 111 <div class="md-header__topic">
2eca4eb… ragelink 112 <span class="md-ellipsis">
2eca4eb… ragelink 113 Fossilrepo
2eca4eb… ragelink 114 </span>
2eca4eb… ragelink 115 </div>
2eca4eb… ragelink 116 <div class="md-header__topic" data-md-component="header-topic">
2eca4eb… ragelink 117 <span class="md-ellipsis">
2eca4eb… ragelink 118
2eca4eb… ragelink 119 First Repository
2eca4eb… ragelink 120
2eca4eb… ragelink 121 </span>
2eca4eb… ragelink 122 </div>
2eca4eb… ragelink 123 </div>
2eca4eb… ragelink 124 </div>
2eca4eb… ragelink 125
2eca4eb… ragelink 126
2eca4eb… ragelink 127 <form class="md-header__option" data-md-component="palette">
2eca4eb… ragelink 128
2eca4eb… ragelink 129
2eca4eb… ragelink 130
2eca4eb… ragelink 131
2eca4eb… ragelink 132 <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
2eca4eb… ragelink 133
2eca4eb… ragelink 134 <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
2eca4eb… ragelink 135 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
2eca4eb… ragelink 136 </label>
2eca4eb… ragelink 137
2eca4eb… ragelink 138
2eca4eb… ragelink 139
2eca4eb… ragelink 140
2eca4eb… ragelink 141
2eca4eb… ragelink 142 <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
2eca4eb… ragelink 143
2eca4eb… ragelink 144 <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
2eca4eb… ragelink 145 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
2eca4eb… ragelink 146 </label>
2eca4eb… ragelink 147
2eca4eb… ragelink 148
2eca4eb… ragelink 149 </form>
2eca4eb… ragelink 150
2eca4eb… ragelink 151
2eca4eb… ragelink 152
2eca4eb… ragelink 153 <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
2eca4eb… ragelink 154
2eca4eb… ragelink 155
2eca4eb… ragelink 156
2eca4eb… ragelink 157
2eca4eb… ragelink 158
2eca4eb… ragelink 159 <label class="md-header__button md-icon" for="__search">
2eca4eb… ragelink 160
2eca4eb… ragelink 161 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
2eca4eb… ragelink 162 </label>
2eca4eb… ragelink 163 <div class="md-search" data-md-component="search" role="dialog">
2eca4eb… ragelink 164 <label class="md-search__overlay" for="__search"></label>
2eca4eb… ragelink 165 <div class="md-search__inner" role="search">
2eca4eb… ragelink 166 <form class="md-search__form" name="search">
2eca4eb… ragelink 167 <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
2eca4eb… ragelink 168 <label class="md-search__icon md-icon" for="__search">
2eca4eb… ragelink 169
2eca4eb… ragelink 170 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
2eca4eb… ragelink 171
2eca4eb… ragelink 172 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
2eca4eb… ragelink 173 </label>
2eca4eb… ragelink 174 <nav class="md-search__options" aria-label="Search">
2eca4eb… ragelink 175
2eca4eb… ragelink 176 <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
2eca4eb… ragelink 177
2eca4eb… ragelink 178 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
2eca4eb… ragelink 179 </button>
2eca4eb… ragelink 180 </nav>
2eca4eb… ragelink 181
2eca4eb… ragelink 182 <div class="md-search__suggest" data-md-component="search-suggest"></div>
2eca4eb… ragelink 183
2eca4eb… ragelink 184 </form>
2eca4eb… ragelink 185 <div class="md-search__output">
2eca4eb… ragelink 186 <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
2eca4eb… ragelink 187 <div class="md-search-result" data-md-component="search-result">
2eca4eb… ragelink 188 <div class="md-search-result__meta">
2eca4eb… ragelink 189 Initializing search
2eca4eb… ragelink 190 </div>
2eca4eb… ragelink 191 <ol class="md-search-result__list" role="presentation"></ol>
2eca4eb… ragelink 192 </div>
2eca4eb… ragelink 193 </div>
2eca4eb… ragelink 194 </div>
2eca4eb… ragelink 195 </div>
2eca4eb… ragelink 196 </div>
2eca4eb… ragelink 197
2eca4eb… ragelink 198
2eca4eb… ragelink 199
2eca4eb… ragelink 200 <div class="md-header__source">
2eca4eb… ragelink 201 <a href="https://github.com/ConflictHQ/fossilrepo" title="Go to repository" class="md-source" data-md-component="source">
2eca4eb… ragelink 202 <div class="md-source__icon md-icon">
2eca4eb… ragelink 203
2eca4eb… ragelink 204 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
2eca4eb… ragelink 205 </div>
2eca4eb… ragelink 206 <div class="md-source__repository">
2eca4eb… ragelink 207 ConflictHQ/fossilrepo
2eca4eb… ragelink 208 </div>
2eca4eb… ragelink 209 </a>
2eca4eb… ragelink 210 </div>
2eca4eb… ragelink 211
2eca4eb… ragelink 212 </nav>
2eca4eb… ragelink 213
2eca4eb… ragelink 214 </header>
2eca4eb… ragelink 215
2eca4eb… ragelink 216 <div class="md-container" data-md-component="container">
2eca4eb… ragelink 217
2eca4eb… ragelink 218
2eca4eb… ragelink 219
2eca4eb… ragelink 220
2eca4eb… ragelink 221
2eca4eb… ragelink 222 <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
2eca4eb… ragelink 223 <div class="md-grid">
2eca4eb… ragelink 224 <ul class="md-tabs__list">
2eca4eb… ragelink 225
2eca4eb… ragelink 226
2eca4eb… ragelink 227
2eca4eb… ragelink 228
2eca4eb… ragelink 229
2eca4eb… ragelink 230
2eca4eb… ragelink 231 <li class="md-tabs__item">
2eca4eb… ragelink 232 <a href="../.." class="md-tabs__link">
2eca4eb… ragelink 233
2eca4eb… ragelink 234
2eca4eb… ragelink 235
2eca4eb… ragelink 236
2eca4eb… ragelink 237
2eca4eb… ragelink 238 Home
2eca4eb… ragelink 239
2eca4eb… ragelink 240 </a>
2eca4eb… ragelink 241 </li>
2eca4eb… ragelink 242
2eca4eb… ragelink 243
2eca4eb… ragelink 244
2eca4eb… ragelink 245
2eca4eb… ragelink 246
2eca4eb… ragelink 247
2eca4eb… ragelink 248
2eca4eb… ragelink 249
2eca4eb… ragelink 250
2eca4eb… ragelink 251
2eca4eb… ragelink 252
2eca4eb… ragelink 253
2eca4eb… ragelink 254 <li class="md-tabs__item md-tabs__item--active">
2eca4eb… ragelink 255 <a href="../prerequisites/" class="md-tabs__link">
2eca4eb… ragelink 256
2eca4eb… ragelink 257
2eca4eb… ragelink 258
2eca4eb… ragelink 259 Getting Started
2eca4eb… ragelink 260
2eca4eb… ragelink 261 </a>
2eca4eb… ragelink 262 </li>
2eca4eb… ragelink 263
2eca4eb… ragelink 264
2eca4eb… ragelink 265
2eca4eb… ragelink 266
2eca4eb… ragelink 267
2eca4eb… ragelink 268
2eca4eb… ragelink 269
2eca4eb… ragelink 270
2eca4eb… ragelink 271
2eca4eb… ragelink 272
2eca4eb… ragelink 273
2eca4eb… ragelink 274 <li class="md-tabs__item">
2eca4eb… ragelink 275 <a href="../../architecture/overview/" class="md-tabs__link">
2eca4eb… ragelink 276
2eca4eb… ragelink 277
2eca4eb… ragelink 278
2eca4eb… ragelink 279 Architecture
2eca4eb… ragelink 280
2eca4eb… ragelink 281 </a>
2eca4eb… ragelink 282 </li>
2eca4eb… ragelink 283
2eca4eb… ragelink 284
2eca4eb… ragelink 285
2eca4eb… ragelink 286
2eca4eb… ragelink 287 </ul>
2eca4eb… ragelink 288 </div>
2eca4eb… ragelink 289 </nav>
2eca4eb… ragelink 290
2eca4eb… ragelink 291
2eca4eb… ragelink 292
2eca4eb… ragelink 293 <main class="md-main" data-md-component="main">
2eca4eb… ragelink 294 <div class="md-main__inner md-grid">
2eca4eb… ragelink 295
2eca4eb… ragelink 296
2eca4eb… ragelink 297
2eca4eb… ragelink 298 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
2eca4eb… ragelink 299 <div class="md-sidebar__scrollwrap">
2eca4eb… ragelink 300 <div class="md-sidebar__inner">
2eca4eb… ragelink 301
2eca4eb… ragelink 302
2eca4eb… ragelink 303
2eca4eb… ragelink 304
2eca4eb… ragelink 305
2eca4eb… ragelink 306
2eca4eb… ragelink 307 <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
2eca4eb… ragelink 308 <label class="md-nav__title" for="__drawer">
2eca4eb… ragelink 309 <a href="../.." title="Fossilrepo" class="md-nav__button md-logo" aria-label="Fossilrepo" data-md-component="logo">
2eca4eb… ragelink 310 <div style="display: flex; align-items: center; gap: 0.6rem;">
2eca4eb… ragelink 311 <img src="../../assets/images/conflict-logo.svg" alt="CONFLICT" style="height: 1.4rem; width: auto;">
2eca4eb… ragelink 312 <img src="../../assets/images/fossilrepo-logo.svg" alt="Fossilrepo" style="height: 1.2rem; width: auto;">
2eca4eb… ragelink 313 </div>
2eca4eb… ragelink 314 </a>
2eca4eb… ragelink 315 Fossilrepo
2eca4eb… ragelink 316 </label>
2eca4eb… ragelink 317
2eca4eb… ragelink 318 <div class="md-nav__source">
2eca4eb… ragelink 319 <a href="https://github.com/ConflictHQ/fossilrepo" title="Go to repository" class="md-source" data-md-component="source">
2eca4eb… ragelink 320 <div class="md-source__icon md-icon">
2eca4eb… ragelink 321
2eca4eb… ragelink 322 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
2eca4eb… ragelink 323 </div>
2eca4eb… ragelink 324 <div class="md-source__repository">
2eca4eb… ragelink 325 ConflictHQ/fossilrepo
2eca4eb… ragelink 326 </div>
2eca4eb… ragelink 327 </a>
2eca4eb… ragelink 328 </div>
2eca4eb… ragelink 329
2eca4eb… ragelink 330 <ul class="md-nav__list" data-md-scrollfix>
2eca4eb… ragelink 331
2eca4eb… ragelink 332
2eca4eb… ragelink 333
2eca4eb… ragelink 334
2eca4eb… ragelink 335
2eca4eb… ragelink 336
2eca4eb… ragelink 337
2eca4eb… ragelink 338 <li class="md-nav__item">
2eca4eb… ragelink 339 <a href="../.." class="md-nav__link">
2eca4eb… ragelink 340
2eca4eb… ragelink 341
2eca4eb… ragelink 342
2eca4eb… ragelink 343 <span class="md-ellipsis">
2eca4eb… ragelink 344
2eca4eb… ragelink 345
2eca4eb… ragelink 346 Home
2eca4eb… ragelink 347
2eca4eb… ragelink 348
2eca4eb… ragelink 349
2eca4eb… ragelink 350 </span>
2eca4eb… ragelink 351
2eca4eb… ragelink 352
2eca4eb… ragelink 353
2eca4eb… ragelink 354 </a>
2eca4eb… ragelink 355 </li>
2eca4eb… ragelink 356
2eca4eb… ragelink 357
2eca4eb… ragelink 358
2eca4eb… ragelink 359
2eca4eb… ragelink 360
2eca4eb… ragelink 361
2eca4eb… ragelink 362
2eca4eb… ragelink 363
2eca4eb… ragelink 364
2eca4eb… ragelink 365
2eca4eb… ragelink 366
2eca4eb… ragelink 367
2eca4eb… ragelink 368
2eca4eb… ragelink 369
2eca4eb… ragelink 370
2eca4eb… ragelink 371
2eca4eb… ragelink 372
2eca4eb… ragelink 373
2eca4eb… ragelink 374
2eca4eb… ragelink 375
2eca4eb… ragelink 376
2eca4eb… ragelink 377
2eca4eb… ragelink 378
2eca4eb… ragelink 379
2eca4eb… ragelink 380 <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
2eca4eb… ragelink 381
2eca4eb… ragelink 382
2eca4eb… ragelink 383
2eca4eb… ragelink 384 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked>
2eca4eb… ragelink 385
2eca4eb… ragelink 386
2eca4eb… ragelink 387 <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="">
2eca4eb… ragelink 388
2eca4eb… ragelink 389
2eca4eb… ragelink 390
2eca4eb… ragelink 391 <span class="md-ellipsis">
2eca4eb… ragelink 392
2eca4eb… ragelink 393
2eca4eb… ragelink 394 Getting Started
2eca4eb… ragelink 395
2eca4eb… ragelink 396
2eca4eb… ragelink 397
2eca4eb… ragelink 398 </span>
2eca4eb… ragelink 399
2eca4eb… ragelink 400
2eca4eb… ragelink 401
2eca4eb… ragelink 402 <span class="md-nav__icon md-icon"></span>
2eca4eb… ragelink 403 </label>
2eca4eb… ragelink 404
2eca4eb… ragelink 405 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
2eca4eb… ragelink 406 <label class="md-nav__title" for="__nav_2">
2eca4eb… ragelink 407 <span class="md-nav__icon md-icon"></span>
2eca4eb… ragelink 408
2eca4eb… ragelink 409
2eca4eb… ragelink 410 Getting Started
2eca4eb… ragelink 411
2eca4eb… ragelink 412
2eca4eb… ragelink 413 </label>
2eca4eb… ragelink 414 <ul class="md-nav__list" data-md-scrollfix>
2eca4eb… ragelink 415
2eca4eb… ragelink 416
2eca4eb… ragelink 417
2eca4eb… ragelink 418
2eca4eb… ragelink 419
2eca4eb… ragelink 420
2eca4eb… ragelink 421
2eca4eb… ragelink 422 <li class="md-nav__item">
2eca4eb… ragelink 423 <a href="../prerequisites/" class="md-nav__link">
2eca4eb… ragelink 424
2eca4eb… ragelink 425
2eca4eb… ragelink 426
2eca4eb… ragelink 427 <span class="md-ellipsis">
2eca4eb… ragelink 428
2eca4eb… ragelink 429
2eca4eb… ragelink 430 Prerequisites
2eca4eb… ragelink 431
2eca4eb… ragelink 432
2eca4eb… ragelink 433
2eca4eb… ragelink 434 </span>
2eca4eb… ragelink 435
2eca4eb… ragelink 436
2eca4eb… ragelink 437
2eca4eb… ragelink 438 </a>
2eca4eb… ragelink 439 </li>
2eca4eb… ragelink 440
2eca4eb… ragelink 441
2eca4eb… ragelink 442
2eca4eb… ragelink 443
2eca4eb… ragelink 444
2eca4eb… ragelink 445
2eca4eb… ragelink 446
2eca4eb… ragelink 447
2eca4eb… ragelink 448
2eca4eb… ragelink 449
2eca4eb… ragelink 450 <li class="md-nav__item">
2eca4eb… ragelink 451 <a href="../installation/" class="md-nav__link">
2eca4eb… ragelink 452
2eca4eb… ragelink 453
2eca4eb… ragelink 454
2eca4eb… ragelink 455 <span class="md-ellipsis">
2eca4eb… ragelink 456
2eca4eb… ragelink 457
2eca4eb… ragelink 458 Installation
2eca4eb… ragelink 459
2eca4eb… ragelink 460
2eca4eb… ragelink 461
2eca4eb… ragelink 462 </span>
2eca4eb… ragelink 463
2eca4eb… ragelink 464
2eca4eb… ragelink 465
2eca4eb… ragelink 466 </a>
2eca4eb… ragelink 467 </li>
2eca4eb… ragelink 468
2eca4eb… ragelink 469
2eca4eb… ragelink 470
2eca4eb… ragelink 471
2eca4eb… ragelink 472
2eca4eb… ragelink 473
2eca4eb… ragelink 474
2eca4eb… ragelink 475
2eca4eb… ragelink 476
2eca4eb… ragelink 477
2eca4eb… ragelink 478 <li class="md-nav__item">
2eca4eb… ragelink 479 <a href="../configuration/" class="md-nav__link">
2eca4eb… ragelink 480
2eca4eb… ragelink 481
2eca4eb… ragelink 482
2eca4eb… ragelink 483 <span class="md-ellipsis">
2eca4eb… ragelink 484
2eca4eb… ragelink 485
2eca4eb… ragelink 486 Configuration
2eca4eb… ragelink 487
2eca4eb… ragelink 488
2eca4eb… ragelink 489
2eca4eb… ragelink 490 </span>
2eca4eb… ragelink 491
2eca4eb… ragelink 492
2eca4eb… ragelink 493
2eca4eb… ragelink 494 </a>
2eca4eb… ragelink 495 </li>
2eca4eb… ragelink 496
2eca4eb… ragelink 497
2eca4eb… ragelink 498
2eca4eb… ragelink 499
2eca4eb… ragelink 500
2eca4eb… ragelink 501
2eca4eb… ragelink 502
2eca4eb… ragelink 503
2eca4eb… ragelink 504
2eca4eb… ragelink 505
2eca4eb… ragelink 506
2eca4eb… ragelink 507
2eca4eb… ragelink 508 <li class="md-nav__item md-nav__item--active">
2eca4eb… ragelink 509
2eca4eb… ragelink 510 <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
2eca4eb… ragelink 511
2eca4eb… ragelink 512
2eca4eb… ragelink 513
2eca4eb… ragelink 514
2eca4eb… ragelink 515
2eca4eb… ragelink 516 <label class="md-nav__link md-nav__link--active" for="__toc">
2eca4eb… ragelink 517
2eca4eb… ragelink 518
2eca4eb… ragelink 519
2eca4eb… ragelink 520 <span class="md-ellipsis">
2eca4eb… ragelink 521
2eca4eb… ragelink 522
2eca4eb… ragelink 523 First Repository
2eca4eb… ragelink 524
2eca4eb… ragelink 525
2eca4eb… ragelink 526
2eca4eb… ragelink 527 </span>
2eca4eb… ragelink 528
2eca4eb… ragelink 529
2eca4eb… ragelink 530
2eca4eb… ragelink 531 <span class="md-nav__icon md-icon"></span>
2eca4eb… ragelink 532 </label>
2eca4eb… ragelink 533
2eca4eb… ragelink 534 <a href="./" class="md-nav__link md-nav__link--active">
2eca4eb… ragelink 535
2eca4eb… ragelink 536
2eca4eb… ragelink 537
2eca4eb… ragelink 538 <span class="md-ellipsis">
2eca4eb… ragelink 539
2eca4eb… ragelink 540
2eca4eb… ragelink 541 First Repository
2eca4eb… ragelink 542
2eca4eb… ragelink 543
2eca4eb… ragelink 544
2eca4eb… ragelink 545 </span>
2eca4eb… ragelink 546
2eca4eb… ragelink 547
2eca4eb… ragelink 548
2eca4eb… ragelink 549 </a>
2eca4eb… ragelink 550
2eca4eb… ragelink 551
2eca4eb… ragelink 552
2eca4eb… ragelink 553 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2eca4eb… ragelink 554
2eca4eb… ragelink 555
2eca4eb… ragelink 556
2eca4eb… ragelink 557
2eca4eb… ragelink 558
2eca4eb… ragelink 559
2eca4eb… ragelink 560 <label class="md-nav__title" for="__toc">
2eca4eb… ragelink 561 <span class="md-nav__icon md-icon"></span>
2eca4eb… ragelink 562 Table of contents
2eca4eb… ragelink 563 </label>
2eca4eb… ragelink 564 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2eca4eb… ragelink 565
2eca4eb… ragelink 566 <li class="md-nav__item">
2eca4eb… ragelink 567 <a href="#via-the-dashboard" class="md-nav__link">
2eca4eb… ragelink 568 <span class="md-ellipsis">
2eca4eb… ragelink 569
2eca4eb… ragelink 570 Via the Dashboard
2eca4eb… ragelink 571
2eca4eb… ragelink 572 </span>
2eca4eb… ragelink 573 </a>
2eca4eb… ragelink 574
2eca4eb… ragelink 575 </li>
2eca4eb… ragelink 576
2eca4eb… ragelink 577 <li class="md-nav__item">
2eca4eb… ragelink 578 <a href="#via-the-cli" class="md-nav__link">
2eca4eb… ragelink 579 <span class="md-ellipsis">
2eca4eb… ragelink 580
2eca4eb… ragelink 581 Via the CLI
2eca4eb… ragelink 582
2eca4eb… ragelink 583 </span>
2eca4eb… ragelink 584 </a>
2eca4eb… ragelink 585
2eca4eb… ragelink 586 </li>
2eca4eb… ragelink 587
2eca4eb… ragelink 588 <li class="md-nav__item">
2eca4eb… ragelink 589 <a href="#what-happens-under-the-hood" class="md-nav__link">
2eca4eb… ragelink 590 <span class="md-ellipsis">
2eca4eb… ragelink 591
2eca4eb… ragelink 592 What Happens Under the Hood
2eca4eb… ragelink 593
2eca4eb… ragelink 594 </span>
2eca4eb… ragelink 595 </a>
2eca4eb… ragelink 596
2eca4eb… ragelink 597 </li>
2eca4eb… ragelink 598
2eca4eb… ragelink 599 <li class="md-nav__item">
2eca4eb… ragelink 600 <a href="#accessing-your-repository" class="md-nav__link">
2eca4eb… ragelink 601 <span class="md-ellipsis">
2eca4eb… ragelink 602
2eca4eb… ragelink 603 Accessing Your Repository
2eca4eb… ragelink 604
2eca4eb… ragelink 605 </span>
2eca4eb… ragelink 606 </a>
2eca4eb… ragelink 607
2eca4eb… ragelink 608 <nav class="md-nav" aria-label="Accessing Your Repository">
2eca4eb… ragelink 609 <ul class="md-nav__list">
2eca4eb… ragelink 610
2eca4eb… ragelink 611 <li class="md-nav__item">
2eca4eb… ragelink 612 <a href="#web-ui" class="md-nav__link">
2eca4eb… ragelink 613 <span class="md-ellipsis">
2eca4eb… ragelink 614
2eca4eb… ragelink 615 Web UI
2eca4eb… ragelink 616
2eca4eb… ragelink 617 </span>
2eca4eb… ragelink 618 </a>
2eca4eb… ragelink 619
2eca4eb… ragelink 620 </li>
2eca4eb… ragelink 621
2eca4eb… ragelink 622 <li class="md-nav__item">
2eca4eb… ragelink 623 <a href="#clone-via-fossil" class="md-nav__link">
2eca4eb… ragelink 624 <span class="md-ellipsis">
2eca4eb… ragelink 625
2eca4eb… ragelink 626 Clone via Fossil
2eca4eb… ragelink 627
2eca4eb… ragelink 628 </span>
2eca4eb… ragelink 629 </a>
2eca4eb… ragelink 630
2eca4eb… ragelink 631 </li>
2eca4eb… ragelink 632
2eca4eb… ragelink 633 <li class="md-nav__item">
2eca4eb… ragelink 634 <a href="#clone-via-git-mirror" class="md-nav__link">
2eca4eb… ragelink 635 <span class="md-ellipsis">
2eca4eb… ragelink 636
2eca4eb… ragelink 637 Clone via Git (Mirror)
2eca4eb… ragelink 638
2eca4eb… ragelink 639 </span>
2eca4eb… ragelink 640 </a>
2eca4eb… ragelink 641
2eca4eb… ragelink 642 </li>
2eca4eb… ragelink 643
2eca4eb… ragelink 644 </ul>
2eca4eb… ragelink 645 </nav>
2eca4eb… ragelink 646
2eca4eb… ragelink 647 </li>
2eca4eb… ragelink 648
2eca4eb… ragelink 649 <li class="md-nav__item">
2eca4eb… ragelink 650 <a href="#next-steps" class="md-nav__link">
2eca4eb… ragelink 651 <span class="md-ellipsis">
2eca4eb… ragelink 652
2eca4eb… ragelink 653 Next Steps
2eca4eb… ragelink 654
2eca4eb… ragelink 655 </span>
2eca4eb… ragelink 656 </a>
2eca4eb… ragelink 657
2eca4eb… ragelink 658 </li>
2eca4eb… ragelink 659
2eca4eb… ragelink 660 </ul>
2eca4eb… ragelink 661
2eca4eb… ragelink 662 </nav>
2eca4eb… ragelink 663
2eca4eb… ragelink 664 </li>
2eca4eb… ragelink 665
2eca4eb… ragelink 666
2eca4eb… ragelink 667
2eca4eb… ragelink 668
2eca4eb… ragelink 669 </ul>
2eca4eb… ragelink 670 </nav>
2eca4eb… ragelink 671
2eca4eb… ragelink 672 </li>
2eca4eb… ragelink 673
2eca4eb… ragelink 674
2eca4eb… ragelink 675
2eca4eb… ragelink 676
2eca4eb… ragelink 677
2eca4eb… ragelink 678
2eca4eb… ragelink 679
2eca4eb… ragelink 680
2eca4eb… ragelink 681
2eca4eb… ragelink 682
2eca4eb… ragelink 683
2eca4eb… ragelink 684
2eca4eb… ragelink 685
2eca4eb… ragelink 686
2eca4eb… ragelink 687
2eca4eb… ragelink 688
2eca4eb… ragelink 689
2eca4eb… ragelink 690
2eca4eb… ragelink 691
2eca4eb… ragelink 692 <li class="md-nav__item md-nav__item--nested">
2eca4eb… ragelink 693
2eca4eb… ragelink 694
2eca4eb… ragelink 695
2eca4eb… ragelink 696
2eca4eb… ragelink 697
2eca4eb… ragelink 698 <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
2eca4eb… ragelink 699
2eca4eb… ragelink 700
2eca4eb… ragelink 701 <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
2eca4eb… ragelink 702
2eca4eb… ragelink 703
2eca4eb… ragelink 704
2eca4eb… ragelink 705 <span class="md-ellipsis">
2eca4eb… ragelink 706
2eca4eb… ragelink 707
2eca4eb… ragelink 708 Architecture
2eca4eb… ragelink 709
2eca4eb… ragelink 710
2eca4eb… ragelink 711
2eca4eb… ragelink 712 </span>
2eca4eb… ragelink 713
2eca4eb… ragelink 714
2eca4eb… ragelink 715
2eca4eb… ragelink 716 <span class="md-nav__icon md-icon"></span>
2eca4eb… ragelink 717 </label>
2eca4eb… ragelink 718
2eca4eb… ragelink 719 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
2eca4eb… ragelink 720 <label class="md-nav__title" for="__nav_3">
2eca4eb… ragelink 721 <span class="md-nav__icon md-icon"></span>
2eca4eb… ragelink 722
2eca4eb… ragelink 723
2eca4eb… ragelink 724 Architecture
2eca4eb… ragelink 725
2eca4eb… ragelink 726
2eca4eb… ragelink 727 </label>
2eca4eb… ragelink 728 <ul class="md-nav__list" data-md-scrollfix>
2eca4eb… ragelink 729
2eca4eb… ragelink 730
2eca4eb… ragelink 731
2eca4eb… ragelink 732
2eca4eb… ragelink 733
2eca4eb… ragelink 734
2eca4eb… ragelink 735
2eca4eb… ragelink 736 <li class="md-nav__item">
2eca4eb… ragelink 737 <a href="../../architecture/overview/" class="md-nav__link">
2eca4eb… ragelink 738
2eca4eb… ragelink 739
2eca4eb… ragelink 740
2eca4eb… ragelink 741 <span class="md-ellipsis">
2eca4eb… ragelink 742
2eca4eb… ragelink 743
2eca4eb… ragelink 744 Overview
2eca4eb… ragelink 745
2eca4eb… ragelink 746
2eca4eb… ragelink 747
2eca4eb… ragelink 748 </span>
2eca4eb… ragelink 749
2eca4eb… ragelink 750
2eca4eb… ragelink 751
2eca4eb… ragelink 752 </a>
2eca4eb… ragelink 753 </li>
2eca4eb… ragelink 754
2eca4eb… ragelink 755
2eca4eb… ragelink 756
2eca4eb… ragelink 757
2eca4eb… ragelink 758
2eca4eb… ragelink 759
2eca4eb… ragelink 760
2eca4eb… ragelink 761
2eca4eb… ragelink 762
2eca4eb… ragelink 763
2eca4eb… ragelink 764 <li class="md-nav__item">
2eca4eb… ragelink 765 <a href="../../architecture/sync-bridge/" class="md-nav__link">
2eca4eb… ragelink 766
2eca4eb… ragelink 767
2eca4eb… ragelink 768
2eca4eb… ragelink 769 <span class="md-ellipsis">
2eca4eb… ragelink 770
2eca4eb… ragelink 771
2eca4eb… ragelink 772 Sync Bridge
2eca4eb… ragelink 773
2eca4eb… ragelink 774
2eca4eb… ragelink 775
2eca4eb… ragelink 776 </span>
2eca4eb… ragelink 777
2eca4eb… ragelink 778
2eca4eb… ragelink 779
2eca4eb… ragelink 780 </a>
2eca4eb… ragelink 781 </li>
2eca4eb… ragelink 782
2eca4eb… ragelink 783
2eca4eb… ragelink 784
2eca4eb… ragelink 785
2eca4eb… ragelink 786 </ul>
2eca4eb… ragelink 787 </nav>
2eca4eb… ragelink 788
2eca4eb… ragelink 789 </li>
2eca4eb… ragelink 790
2eca4eb… ragelink 791
2eca4eb… ragelink 792
2eca4eb… ragelink 793 </ul>
2eca4eb… ragelink 794 </nav>
2eca4eb… ragelink 795 </div>
2eca4eb… ragelink 796 </div>
2eca4eb… ragelink 797 </div>
2eca4eb… ragelink 798
2eca4eb… ragelink 799
2eca4eb… ragelink 800
2eca4eb… ragelink 801 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2eca4eb… ragelink 802 <div class="md-sidebar__scrollwrap">
2eca4eb… ragelink 803 <div class="md-sidebar__inner">
2eca4eb… ragelink 804
2eca4eb… ragelink 805
2eca4eb… ragelink 806 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2eca4eb… ragelink 807
2eca4eb… ragelink 808
2eca4eb… ragelink 809
2eca4eb… ragelink 810
2eca4eb… ragelink 811
2eca4eb… ragelink 812
2eca4eb… ragelink 813 <label class="md-nav__title" for="__toc">
2eca4eb… ragelink 814 <span class="md-nav__icon md-icon"></span>
2eca4eb… ragelink 815 Table of contents
2eca4eb… ragelink 816 </label>
2eca4eb… ragelink 817 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2eca4eb… ragelink 818
2eca4eb… ragelink 819 <li class="md-nav__item">
2eca4eb… ragelink 820 <a href="#via-the-dashboard" class="md-nav__link">
2eca4eb… ragelink 821 <span class="md-ellipsis">
2eca4eb… ragelink 822
2eca4eb… ragelink 823 Via the Dashboard
2eca4eb… ragelink 824
2eca4eb… ragelink 825 </span>
2eca4eb… ragelink 826 </a>
2eca4eb… ragelink 827
2eca4eb… ragelink 828 </li>
2eca4eb… ragelink 829
2eca4eb… ragelink 830 <li class="md-nav__item">
2eca4eb… ragelink 831 <a href="#via-the-cli" class="md-nav__link">
2eca4eb… ragelink 832 <span class="md-ellipsis">
2eca4eb… ragelink 833
2eca4eb… ragelink 834 Via the CLI
2eca4eb… ragelink 835
2eca4eb… ragelink 836 </span>
2eca4eb… ragelink 837 </a>
2eca4eb… ragelink 838
2eca4eb… ragelink 839 </li>
2eca4eb… ragelink 840
2eca4eb… ragelink 841 <li class="md-nav__item">
2eca4eb… ragelink 842 <a href="#what-happens-under-the-hood" class="md-nav__link">
2eca4eb… ragelink 843 <span class="md-ellipsis">
2eca4eb… ragelink 844
2eca4eb… ragelink 845 What Happens Under the Hood
2eca4eb… ragelink 846
2eca4eb… ragelink 847 </span>
2eca4eb… ragelink 848 </a>
2eca4eb… ragelink 849
2eca4eb… ragelink 850 </li>
2eca4eb… ragelink 851
2eca4eb… ragelink 852 <li class="md-nav__item">
2eca4eb… ragelink 853 <a href="#accessing-your-repository" class="md-nav__link">
2eca4eb… ragelink 854 <span class="md-ellipsis">
2eca4eb… ragelink 855
2eca4eb… ragelink 856 Accessing Your Repository
2eca4eb… ragelink 857
2eca4eb… ragelink 858 </span>
2eca4eb… ragelink 859 </a>
2eca4eb… ragelink 860
2eca4eb… ragelink 861 <nav class="md-nav" aria-label="Accessing Your Repository">
2eca4eb… ragelink 862 <ul class="md-nav__list">
2eca4eb… ragelink 863
2eca4eb… ragelink 864 <li class="md-nav__item">
2eca4eb… ragelink 865 <a href="#web-ui" class="md-nav__link">
2eca4eb… ragelink 866 <span class="md-ellipsis">
2eca4eb… ragelink 867
2eca4eb… ragelink 868 Web UI
2eca4eb… ragelink 869
2eca4eb… ragelink 870 </span>
2eca4eb… ragelink 871 </a>
2eca4eb… ragelink 872
2eca4eb… ragelink 873 </li>
2eca4eb… ragelink 874
2eca4eb… ragelink 875 <li class="md-nav__item">
2eca4eb… ragelink 876 <a href="#clone-via-fossil" class="md-nav__link">
2eca4eb… ragelink 877 <span class="md-ellipsis">
2eca4eb… ragelink 878
2eca4eb… ragelink 879 Clone via Fossil
2eca4eb… ragelink 880
2eca4eb… ragelink 881 </span>
2eca4eb… ragelink 882 </a>
2eca4eb… ragelink 883
2eca4eb… ragelink 884 </li>
2eca4eb… ragelink 885
2eca4eb… ragelink 886 <li class="md-nav__item">
2eca4eb… ragelink 887 <a href="#clone-via-git-mirror" class="md-nav__link">
2eca4eb… ragelink 888 <span class="md-ellipsis">
2eca4eb… ragelink 889
2eca4eb… ragelink 890 Clone via Git (Mirror)
2eca4eb… ragelink 891
2eca4eb… ragelink 892 </span>
2eca4eb… ragelink 893 </a>
2eca4eb… ragelink 894
2eca4eb… ragelink 895 </li>
2eca4eb… ragelink 896
2eca4eb… ragelink 897 </ul>
2eca4eb… ragelink 898 </nav>
2eca4eb… ragelink 899
2eca4eb… ragelink 900 </li>
2eca4eb… ragelink 901
2eca4eb… ragelink 902 <li class="md-nav__item">
2eca4eb… ragelink 903 <a href="#next-steps" class="md-nav__link">
2eca4eb… ragelink 904 <span class="md-ellipsis">
2eca4eb… ragelink 905
2eca4eb… ragelink 906 Next Steps
2eca4eb… ragelink 907
2eca4eb… ragelink 908 </span>
2eca4eb… ragelink 909 </a>
2eca4eb… ragelink 910
2eca4eb… ragelink 911 </li>
2eca4eb… ragelink 912
2eca4eb… ragelink 913 </ul>
2eca4eb… ragelink 914
2eca4eb… ragelink 915 </nav>
2eca4eb… ragelink 916 </div>
2eca4eb… ragelink 917 </div>
2eca4eb… ragelink 918 </div>
2eca4eb… ragelink 919
2eca4eb… ragelink 920
2eca4eb… ragelink 921
2eca4eb… ragelink 922 <div class="md-content" data-md-component="content">
2eca4eb… ragelink 923
2eca4eb… ragelink 924 <article class="md-content__inner md-typeset">
2eca4eb… ragelink 925
2eca4eb… ragelink 926
2eca4eb… ragelink 927
2eca4eb… ragelink 928
2eca4eb… ragelink 929
2eca4eb… ragelink 930
2eca4eb… ragelink 931
2eca4eb… ragelink 932
2eca4eb… ragelink 933 <h1 id="creating-your-first-repository">Creating Your First Repository<a class="headerlink" href="#creating-your-first-repository" title="Permanent link">&para;</a></h1>
2eca4eb… ragelink 934 <p>Once fossilrepo is running, you can create your first Fossil repository.</p>
2eca4eb… ragelink 935 <h2 id="via-the-dashboard">Via the Dashboard<a class="headerlink" href="#via-the-dashboard" title="Permanent link">&para;</a></h2>
2eca4eb… ragelink 936 <ol>
2eca4eb… ragelink 937 <li>Log in at <code>http://localhost:8000</code></li>
2eca4eb… ragelink 938 <li>Navigate to <strong>Repositories</strong> in the sidebar</li>
2eca4eb… ragelink 939 <li>Click <strong>Create Repository</strong></li>
2eca4eb… ragelink 940 <li>Enter a name (e.g., <code>my-project</code>)</li>
2eca4eb… ragelink 941 <li>Click <strong>Create</strong></li>
2eca4eb… ragelink 942 </ol>
2eca4eb… ragelink 943 <p>The repository is immediately available at <code>my-project.your-domain.com</code> (production) or through the local Fossil server (development).</p>
2eca4eb… ragelink 944 <h2 id="via-the-cli">Via the CLI<a class="headerlink" href="#via-the-cli" title="Permanent link">&para;</a></h2>
2eca4eb… ragelink 945 <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="c1"># Inside the fossilrepo container</span>
2eca4eb… ragelink 946 <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>django<span class="w"> </span>python<span class="w"> </span>manage.py<span class="w"> </span>fossil_create<span class="w"> </span>my-project
2eca4eb… ragelink 947 </code></pre></div>
2eca4eb… ragelink 948 <p>This runs <code>fossil init</code>, registers the repo in the database, and (in production) Caddy automatically routes the subdomain.</p>
2eca4eb… ragelink 949 <h2 id="what-happens-under-the-hood">What Happens Under the Hood<a class="headerlink" href="#what-happens-under-the-hood" title="Permanent link">&para;</a></h2>
2eca4eb… ragelink 950 <pre class="mermaid"><code>sequenceDiagram
2eca4eb… ragelink 951 participant User
2eca4eb… ragelink 952 participant Django
2eca4eb… ragelink 953 participant Fossil
2eca4eb… ragelink 954 participant Litestream
2eca4eb… ragelink 955 participant S3
2eca4eb… ragelink 956
2eca4eb… ragelink 957 User-&gt;&gt;Django: Create repo "my-project"
2eca4eb… ragelink 958 Django-&gt;&gt;Fossil: fossil init /data/repos/my-project.fossil
2eca4eb… ragelink 959 Fossil--&gt;&gt;Django: Repository created
2eca4eb… ragelink 960 Django-&gt;&gt;Django: Register in database
2eca4eb… ragelink 961 Litestream-&gt;&gt;S3: Begin replicating my-project.fossil
2eca4eb… ragelink 962 Django--&gt;&gt;User: Repository ready</code></pre>
2eca4eb… ragelink 963 <h2 id="accessing-your-repository">Accessing Your Repository<a class="headerlink" href="#accessing-your-repository" title="Permanent link">&para;</a></h2>
2eca4eb… ragelink 964 <h3 id="web-ui">Web UI<a class="headerlink" href="#web-ui" title="Permanent link">&para;</a></h3>
2eca4eb… ragelink 965 <p>Fossil includes a built-in web interface with:</p>
2eca4eb… ragelink 966 <ul>
2eca4eb… ragelink 967 <li><strong>Timeline</strong> -- commit history with diffs</li>
2eca4eb… ragelink 968 <li><strong>Tickets</strong> -- issue tracker</li>
2eca4eb… ragelink 969 <li><strong>Wiki</strong> -- project documentation</li>
2eca4eb… ragelink 970 <li><strong>Forum</strong> -- discussions</li>
2eca4eb… ragelink 971 </ul>
2eca4eb… ragelink 972 <h3 id="clone-via-fossil">Clone via Fossil<a class="headerlink" href="#clone-via-fossil" title="Permanent link">&para;</a></h3>
2eca4eb… ragelink 973 <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>fossil<span class="w"> </span>clone<span class="w"> </span>https://my-project.your-domain.com<span class="w"> </span>my-project.fossil
2eca4eb… ragelink 974 <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>fossil<span class="w"> </span>open<span class="w"> </span>my-project.fossil
2eca4eb… ragelink 975 </code></pre></div>
2eca4eb… ragelink 976 <h3 id="clone-via-git-mirror">Clone via Git (Mirror)<a class="headerlink" href="#clone-via-git-mirror" title="Permanent link">&para;</a></h3>
2eca4eb… ragelink 977 <p>If you've configured the sync bridge:</p>
2eca4eb… ragelink 978 <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/your-org/my-project.git
2eca4eb… ragelink 979 </code></pre></div>
2eca4eb… ragelink 980 <div class="admonition warning">
2eca4eb… ragelink 981 <p class="admonition-title">Read-only mirror</p>
2eca4eb… ragelink 982 <p>Git mirrors are downstream copies. Push changes to the Fossil repo -- they'll sync to Git automatically.</p>
2eca4eb… ragelink 983 </div>
2eca4eb… ragelink 984 <h2 id="next-steps">Next Steps<a class="headerlink" href="#next-steps" title="Permanent link">&para;</a></h2>
2eca4eb… ragelink 985 <ul>
2eca4eb… ragelink 986 <li><a href="../../architecture/sync-bridge/">Configure the sync bridge</a> to mirror to GitHub/GitLab</li>
2eca4eb… ragelink 987 <li><a href="../configuration/#litestream-backups">Set up backups</a> with Litestream</li>
2eca4eb… ragelink 988 <li>Explore the <a href="../../architecture/overview/">architecture overview</a></li>
2eca4eb… ragelink 989 </ul>
2eca4eb… ragelink 990
2eca4eb… ragelink 991
2eca4eb… ragelink 992
2eca4eb… ragelink 993
2eca4eb… ragelink 994
2eca4eb… ragelink 995
2eca4eb… ragelink 996
2eca4eb… ragelink 997
2eca4eb… ragelink 998
2eca4eb… ragelink 999
2eca4eb… ragelink 1000
2eca4eb… ragelink 1001
2eca4eb… ragelink 1002
2eca4eb… ragelink 1003 </article>
2eca4eb… ragelink 1004 </div>
2eca4eb… ragelink 1005
2eca4eb… ragelink 1006
2eca4eb… ragelink 1007 <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
2eca4eb… ragelink 1008
2eca4eb… ragelink 1009 <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
2eca4eb… ragelink 1010 </div>
2eca4eb… ragelink 1011
2eca4eb… ragelink 1012 <button type="button" class="md-top md-icon" data-md-component="top" hidden>
2eca4eb… ragelink 1013
2eca4eb… ragelink 1014 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
2eca4eb… ragelink 1015 Back to top
2eca4eb… ragelink 1016 </button>
2eca4eb… ragelink 1017
2eca4eb… ragelink 1018 </main>
2eca4eb… ragelink 1019
2eca4eb… ragelink 1020 <footer class="md-footer">
2eca4eb… ragelink 1021
2eca4eb… ragelink 1022 <div class="md-footer-meta md-typeset">
2eca4eb… ragelink 1023 <div class="md-footer-meta__inner md-grid">
2eca4eb… ragelink 1024 <div class="md-copyright">
2eca4eb… ragelink 1025
2eca4eb… ragelink 1026 <div class="md-copyright__highlight">
2eca4eb… ragelink 1027 Copyright &copy; 2026 CONFLICT LLC
2eca4eb… ragelink 1028 </div>
2eca4eb… ragelink 1029
2eca4eb… ragelink 1030
2eca4eb… ragelink 1031 Made with
2eca4eb… ragelink 1032 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2eca4eb… ragelink 1033 Material for MkDocs
2eca4eb… ragelink 1034 </a>
2eca4eb… ragelink 1035
2eca4eb… ragelink 1036 </div>
2eca4eb… ragelink 1037
2eca4eb… ragelink 1038
2eca4eb… ragelink 1039 <div class="md-social">
2eca4eb… ragelink 1040
2eca4eb… ragelink 1041
2eca4eb… ragelink 1042
2eca4eb… ragelink 1043
2eca4eb… ragelink 1044
2eca4eb… ragelink 1045
2eca4eb… ragelink 1046
2eca4eb… ragelink 1047
2eca4eb… ragelink 1048 <a href="https://github.com/ConflictHQ/fossilrepo" target="_blank" rel="noopener" title="github.com" class="md-social__link">
2eca4eb… ragelink 1049 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
2eca4eb… ragelink 1050 </a>
2eca4eb… ragelink 1051
2eca4eb… ragelink 1052 </div>
2eca4eb… ragelink 1053
2eca4eb… ragelink 1054 </div>
2eca4eb… ragelink 1055 </div>
2eca4eb… ragelink 1056 </footer>
2eca4eb… ragelink 1057
2eca4eb… ragelink 1058 </div>
2eca4eb… ragelink 1059 <div class="md-dialog" data-md-component="dialog">
2eca4eb… ragelink 1060 <div class="md-dialog__inner md-typeset"></div>
2eca4eb… ragelink 1061 </div>
2eca4eb… ragelink 1062
2eca4eb… ragelink 1063
2eca4eb… ragelink 1064
2eca4eb… ragelink 1065
2eca4eb… ragelink 1066
2eca4eb… ragelink 1067 <script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.instant", "navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.copy", "content.tabs.link", "header.autohide"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
2eca4eb… ragelink 1068
2eca4eb… ragelink 1069
2eca4eb… ragelink 1070 <script src="../../assets/javascripts/bundle.79ae519e.min.js"></script>
2eca4eb… ragelink 1071
2eca4eb… ragelink 1072
2eca4eb… ragelink 1073 </body>
2eca4eb… ragelink 1074 </html>

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button