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
+51Lines changed: 51 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -151,6 +151,57 @@ 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:
157
+
158
+
-`.git/gitbutler` on release builds
159
+
-`.git/gitbutler.nightly` on nightly builds
160
+
-`.git/gitbutler.dev` on developer builds
161
+
162
+
You can override that location with a Git config key:
- Nightly builds use `gitbutler.nightly.storagePath`
187
+
- Developer builds use `gitbutler.dev.storagePath`
188
+
189
+
There are a couple of constraints on the configured path:
190
+
191
+
- Relative paths are resolved relative to the repository's `.git` directory
192
+
- If the resolved path stays inside `.git`, it must be under a top-level directory whose name starts with `gitbutler`, case-insensitive
193
+
- You cannot point it at `.git` itself
194
+
- 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