Repository navigation
fix!: run commands as argv with no shell - #14
Merged
Merged
Conversation
Commands ran through $SHELL -c (cmd /c on Windows), so quotes, $(), ;
and globs in any argument were interpreted. run() and DirCommand now
take an argv that is spawned directly. A .looprc alias expands into
words (POSIX quoting, nothing expanded or run). A program that cannot
start fails its repo instead of panicking.
--include/--exclude values match a directory's whole path from the
root ('.' for the root), never a substring of its absolute path.
Implements [[tasks/harmony-2756]]
…that cannot run meta selects the repos before calling loop_lib, so LoopConfig no longer has include_filters/exclude_filters. A broken alias or missing directory now fails a dry run too. Implements [[tasks/harmony-2756]]
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
This was referenced Oct 25, 2026
added 2 commits
October 25, 2026 05:38
…tart Implements [[tasks/harmony-2756]]
Implements [[tasks/harmony-2756]]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of the meta fix for fuzz findings fuzz-2026-10-24-01 (shell re-parsing of arguments) and -21 (substring --include/--exclude). Main PR with the full description and verification: gitkb/meta#113 (other PRs: gitkb/meta_plugin_protocol#6 gitkb/loop_cli#13 gitkb/meta_cli#40 gitkb/meta_git_cli#31 gitkb/meta_mcp#11 gitkb/meta_rust_cli#16 gitkb/meta_project_cli#18 )
DirCommand.argvandrun(&config, &[String])replace command strings; commands are spawned directly (no$SHELL -c/cmd /c)..looprcaliases expand into words with shlex. A program that can't start fails its repo instead of panicking.include_filters/exclude_filtersare removed: meta selects repos before calling loop_lib. Dry runs fail when a command can't run (missing dir, broken alias).All PRs share branch
fix/run-commands-as-argvand are tested together by gitkb/meta CI.Also: no panic when the spinner template fails to parse or the thread pool can't start.