Skip to content

dx_process: shared git and bounded capture helpers (part of #10054) - #10132

Draft
TrapsterDK wants to merge 2 commits into
mainfrom
dx-process-git
Draft

TrapsterDK wants to merge 2 commits into
mainfrom
dx-process-git

Conversation

@TrapsterDK

@TrapsterDK TrapsterDK commented Nov 9, 2026 •

Copy link
Copy Markdown
Collaborator

Part of #10054

Adds dx_process::capture (git(cwd), run_captured, run_checked, run_captured_with_input, RunError) with one timeout, stderr capture, a shared error type and git env scrubbing. run_command_with_input in lifecycle feeds stdin.

Moved onto it: umbrella, adopt (scaffold, build_output, git_changes, preset, families), config, upgrade, bench, update_pr, update_outdated, audit, image_scan, tool_resolve, go_api, api_compat, and the worktree git runner.

Tests: new capture_tests.rs covers timeout, spawn failure, stderr capture, output bound, stdin and git env. Passed locally: //cli/process:dx_process_test, //cli/worktree:all, //cli/tool_resolve:all, //cli/audit:dx_audit_test, //cli/adopt:all, //deploy/rules:dx_deploy_tools_test, //cli/cli:dx_cli_test.

Not run: clippy/lint (a dx lint run was stopped after a long wait), dx check --affected (generate fails on unrelated consumer fixtures), nested-Bazel and consumer tests.

Remaining for #10054:

  • Test-only Command::new("git") in upgrade/config/init tests, crates.rs, pypi.rs, npm.rs, go_api.rs tests.
  • deploy/release (candidate.rs, bin_bump_version.rs), which needs a dx_process dep.
  • Other tool launches in quality/, tools/ and cli/shim; launcher sites in cli/adopt/src/launcher.rs and cli/plan/src/slots.rs.

Latest commit also moved github.rs notes git, and the umbrella, audit_live, generated_drift, scaffold and build_output test git calls. Passed: //cli/adopt:dx_adopt_test, //deploy/rules:dx_deploy_tools_test, //cli/cli:dx_cli_test. Lint not run.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Xut2hwESun1HL2eSVd1d5B

TrapsterDK and others added 2 commits November 9, 2026 17:17
Add dx_process::capture with git(), run_captured(), run_checked() and
run_captured_with_input(): one timeout, stderr capture, RunError and
git env scrubbing. Move the direct git and tool launches in cli/,
deploy/rules and the worktree crate onto them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Xut2hwESun1HL2eSVd1d5B

This branch has not been deployed

No deployments
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