Skip to content

fix!: run commands as argv with no shell - #14

Merged
gold-silver-copper merged 4 commits into
mainfrom
fix/run-commands-as-argv
Oct 25, 2026
Merged

gold-silver-copper merged 4 commits into
mainfrom
fix/run-commands-as-argv

Conversation

@gold-silver-copper

@gold-silver-copper gold-silver-copper commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

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.argv and run(&config, &[String]) replace command strings; commands are spawned directly (no $SHELL -c / cmd /c). .looprc aliases expand into words with shlex. A program that can't start fails its repo instead of panicking. include_filters/exclude_filters are 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-argv and are tested together by gitkb/meta CI.

Also: no panic when the spinner template fails to parse or the thread pool can't start.

gold-silver-copper and others added 2 commits October 25, 2026 04:34
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]]
@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 079b68fe-3c5c-4ff0-b893-cf2d66a204ad
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

t added 2 commits October 25, 2026 05:38
Implements [[tasks/harmony-2756]]
@gold-silver-copper
gold-silver-copper merged commit bc743f1 into main Oct 25, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant