@procedures/git 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @procedures/git
2
2
 
3
+ ## 0.9.1
4
+
5
+ ### Patch Changes
6
+
7
+ - b5db4d8: Under the root of the files of a host, the `git.*` procedures are confined, not refused (roadmap R33, tracker item O35). Without a root, nothing changes. PATCH: a procedure that the root refused now works in the root.
8
+
9
+ - The core: `ProcedureContext.fsRoot` is the root of a confined call. `confineToRoot()` of `@procedures/fs` gives it to the handler of each confined procedure and of each program procedure.
10
+ - The working folder `cwd` of each `git.*` procedure must be in the root, and its default is the root. The pathspecs, the `path` of `git.blame` and of the worktree procedures, and the `dest` of `git.clone` must be in the root too.
11
+ - Under a root, git runs with `GIT_CEILING_DIRECTORIES` at the parent of the root, so it finds no repository above the root. The configuration of the system does not apply. The global configuration has only `user.name`, `user.email` and `init.defaultBranch` of the host.
12
+ - The `-c` options turn off the hooks (an empty `core.hooksPath`) and `core.fsmonitor`. Only the transports https, http, ssh and git are permitted. Git does not go into a submodule.
13
+ - Before the first command in a folder, git examines the repository. A repository outside the root (through a `.git` file or an alternate object folder), a repository with submodules, and a configuration key that starts a program are refused: `filter.*`, `diff.external`, `core.sshCommand`, `credential.helper`, `include.path` and the others. The error names each key.
14
+ - `git.clone` and `git.remote.set` refuse a URL with `::` under a root.
15
+ - `@procedures/git` now depends on `@procedures/fs` (for the rules of `@procedures/fs/root`).
16
+ - Updated dependencies [61d60c6]
17
+ - Updated dependencies [79f750a]
18
+ - Updated dependencies [d0c9856]
19
+ - Updated dependencies [b5db4d8]
20
+ - @procedures/client@0.9.1
21
+ - @procedures/fs@0.9.1
22
+ - @procedures/shell@0.9.1
23
+
3
24
  ## 0.9.0
4
25
 
5
26
  ### Patch Changes
package/README.md CHANGED
@@ -1179,6 +1179,19 @@ const customStatusProcedure = createProcedure()
1179
1179
  registerProcedures([customStatusProcedure]);
1180
1180
  ```
1181
1181
 
1182
+ ## The root of the files
1183
+
1184
+ A host with a root (`mark --fs-root`, `procedure-server --fs-root`, `MCP_FS_ROOT`) confines each `git.*` procedure to the root (roadmap R33, tracker item O35). Without a root, nothing changes.
1185
+
1186
+ - The working folder `cwd` must be in the root, and its default is the root. The pathspecs `paths`, the `path` of `git.blame` and of the worktree procedures, and the `dest` of `git.clone` start at `cwd`. They must be in the root too.
1187
+ - `GIT_CEILING_DIRECTORIES` is the parent of the root, so git does not find a repository above the root.
1188
+ - The configuration of the system does not apply. The global configuration has only `user.name`, `user.email` and `init.defaultBranch` of the host, so a credential helper of the host does not apply.
1189
+ - Git starts no hook and no `core.fsmonitor` program. Only the transports https, http, ssh and git are permitted, and git does not go into a submodule.
1190
+ - Before the first command in a folder, the procedure examines the repository. It refuses a repository outside the root, a repository with submodules, and a configuration key that starts a program. Examples are `filter.*.clean`, `core.sshCommand`, `credential.helper` and `include.path`.
1191
+ - A refusal is `FORBIDDEN` with the reason `outside-root`. The error names each refused key.
1192
+
1193
+ The list of the keys is in [CAPABILITIES-2026-10.md](../documentation/CAPABILITIES-2026-10.md#git-under-a-root).
1194
+
1182
1195
  ## Error Handling
1183
1196
 
1184
1197
  All git procedures may throw errors for invalid operations: