From 02f7797aaf6ab9e5c4a2a89ab0efb33b43349e90 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 16 Oct 2026 11:20:03 +0200 Subject: docs(git): the git config page, and replace-all appending on no match Co-Authored-By: Claude Opus 5.5 --- docs/superpowers/specs/2026-10-16-git-config-design.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/superpowers/specs/2026-10-16-git-config-design.md b/docs/superpowers/specs/2026-10-16-git-config-design.md index e9975fc..4d463d7 100644 --- a/docs/superpowers/specs/2026-10-16-git-config-design.md +++ b/docs/superpowers/specs/2026-10-16-git-config-design.md @@ -39,7 +39,9 @@ reimplement git's quoting. - `add `: `git config --global --add `. - `unset `: `git config --global --fixed-value --unset `. Removes only that value. - - git's stderr passes through and its exit status is the helper's. + - A write prints nothing on success; on failure, git's message on stdout + (for the page) and exit 1. `set` and `unset` first check the old value + is still there: `--replace-all` with no match appends and exits 0. - `Git.js` (`.pragma library`): `parse(text)` turns the `-z` output into `[{section, key, value}]` in file order, `section` being everything before the last dot (`color.branch.remote` is section `color.branch`). Tested by -- cgit v1.2.3