summaryrefslogtreecommitdiff
path: root/modules/system-utils.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-10 14:17:25 -0500
committerCraig Jennings <c@cjennings.net>2026-05-10 14:17:25 -0500
commitc94dccc417cfc1b1d8acf919de86cb7da4bf44e9 (patch)
tree0de03243523ad55075811044fbdb0973234e7e39 /modules/system-utils.el
parenta97733decda25108bcc628b9fb3d744c913b1661 (diff)
downloaddotemacs-c94dccc417cfc1b1d8acf919de86cb7da4bf44e9.tar.gz
dotemacs-c94dccc417cfc1b1d8acf919de86cb7da4bf44e9.zip
refactor(system-lib): extract cj/process-output-or-error and cj/git-output-or-error from coverage-core
Phase 2.3 of utility-consolidation. `cj/--coverage-git-string' was a generic argv-based runner ("run program, return stdout, raise user-error on non-zero with status+output in the message") trapped inside coverage-core. Lift the generic shape into `cj/process-output-or-error' and add `cj/git-output-or-error' as a one-line wrapper that supplies "git" as the program. Both live in system-lib.el. Future callers I have in mind: reconcile-open-repos shell-style git calls (the high-priority data-safety task), vc-config clipboard cloning, mail integrations that touch git for commit signatures. Six Normal/Boundary/Error tests cover success/no-args/non-zero-exit for the generic runner, the user-error message content (program name, exit status, trimmed output), and the git wrapper's program argument routing. Migrate coverage-core's `cj/--coverage-git-merge-base' and `cj/--coverage-git-diff' to call the new git wrapper. Drop the local `cj/--coverage-git-string' definition. Add `(require \='system-lib)' to coverage-core.el per the Phase 2 exit criterion.
Diffstat (limited to 'modules/system-utils.el')
0 files changed, 0 insertions, 0 deletions