Provide world Git identity, reflog fallback, object inspection, and which (T73)
This commit is contained in:
+16
-2
@@ -49,6 +49,18 @@ The component uses WASI's `exit-with-code`, not a custom host import.
|
||||
The world host must enable that optional WASI function.
|
||||
The tests pass explicit `-C` paths.
|
||||
|
||||
## Identity
|
||||
|
||||
The host creates `/etc/gitconfig` when it is absent.
|
||||
It sets `user.name = Sausage` and `user.email = sausage@localhost`.
|
||||
Git reads this system configuration unless `GIT_CONFIG_NOSYSTEM` disables it.
|
||||
Local repository configuration overrides these defaults. The host preserves an existing system configuration.
|
||||
The `Sausage-Conversation` trailer retains conversation attribution.
|
||||
|
||||
Reflog-only operations use a fallback committer when no identity exists.
|
||||
They include reset, checkout, branch changes, and reference updates.
|
||||
New commits and annotated tags still require an identity.
|
||||
|
||||
## Agent command forms
|
||||
|
||||
The comparison suite covers per-command `-c key=value` overrides and quiet local commands.
|
||||
@@ -60,10 +72,12 @@ It also checks these forms:
|
||||
- `log --format` and `--pretty=format:` with `%H %h %s %an %ae %ad %d`.
|
||||
- `log A..B`, `--name-only`, `--no-renames`, and `--diff-merges=first-parent`.
|
||||
- `%x00`, `%x1e`, and `%(trailers:key=Sausage-Conversation,valueonly)` in log formats.
|
||||
- `show --stat`, `show HEAD:path`, and merge commits without a combined diff.
|
||||
- `show --stat`, `--oneline`, `--name-only`, `show HEAD:path`, and merge commits without a combined diff.
|
||||
- `cat-file -t`, `-p`, `-s`, and `-e` for object inspection.
|
||||
- `ls-tree [-r] [--name-only] <rev> [path]` for literal paths.
|
||||
- `diff HEAD~1`, `diff A..B`, `--name-only`, `--name-status`, and one literal path after `--`.
|
||||
- `diff --check` and `diff --cached --check` for added whitespace errors and conflict markers.
|
||||
- `branch -a`, `-d`, `-D`, `-m`, and `--show-current`.
|
||||
- `branch -a`, `-d`, `-D`, `-f`, `-m`, and `--show-current`.
|
||||
- `checkout -b`, `switch -c`, and `merge --no-ff`.
|
||||
- `rev-parse --short HEAD`, `ls-files`, and `config --get`.
|
||||
- Quiet `init`, `commit`, branch deletion, `checkout`, `switch`, `merge`, and `rebase`.
|
||||
|
||||
Reference in New Issue
Block a user