You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Document where per-project GitButler state lives and how to override it, including the channel-specific config keys and path constraints.
Motivation: make the new storage path setting discoverable in the debugging docs for users who need to inspect or relocate repository-local GitButler state.
Refs: gitbutlerapp/gitbutler#12646
Co-authored-by: Sebastian Thiel <sebastian.thiel@icloud.com>
Copy file name to clipboardExpand all lines: content/docs/development/debugging.mdx
+48Lines changed: 48 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -151,6 +151,54 @@ The `settings.json` are some top level preferences you've set.
151
151
152
152
Finally, the `keys` directory holds the SSH key that we generate for you in case you don't want to go through creating your own. It's only used if you want to use it to sign commits or use it for authentication.
153
153
154
+
### Per-project repository data
155
+
156
+
Most repository-specific GitButler state lives next to the repository itself, inside the `.git` directory. By default, GitButler stores that data in `.git/gitbutler` for
157
+
release builds, nightly builds and developer builds.
158
+
159
+
You can override that location with a Git config change, here for the stable build:
- Nightly builds use `gitbutler.nightly.storagePath`
184
+
- Developer builds use `gitbutler.dev.storagePath`
185
+
186
+
There are a couple of constraints on the configured path:
187
+
188
+
- Relative paths are resolved relative to the repository's `.git` directory
189
+
- If the resolved path stays inside `.git`, it must be under a top-level directory whose name starts with `gitbutler`, case-insensitive
190
+
- You cannot point it at `.git` itself
191
+
- If the resolved path ends up outside `.git`, GitButler appends a project-path specific identifier so multiple repositories can share the same base directory safely
If you use a path outside `.git`, GitButler treats it as a base directory. For example, `../../gitbutler-projects` becomes something like `../../gitbutler-projects/<project-handle>` after resolution.
0 commit comments