vcs-cli-support 0.1.0

Shared CLI-wrapper plumbing for vcs-toolkit-rs: the argv injection guard, fetch-retry policy, and processkit::Error classifiers.
Documentation
  • Coverage
  • 100%
    7 out of 7 items documented1 out of 5 items with examples
  • Size
  • Source code size: 22.59 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 390.73 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 13s Average build duration of successful builds.
  • all releases: 13s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • ZelAnton/vcs-toolkit-rs
    2 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • ZelAnton

vcs-cli-support

Shared plumbing for the CLI-wrapper crates in vcs-toolkit-rs — the bits vcs-git / vcs-jj / vcs-github all need that touch processkit::Error, so they live here rather than in the std-only vcs-diff:

  • reject_flag_like(program, what, value) — the injection guard for bare positional argv slots: a leading-- or empty value is refused before anything spawns, so a caller string can't smuggle a flag into argv.
  • FETCH_ATTEMPTS / FETCH_BACKOFF — the transient-retry policy for fetch.
  • is_merge_conflict / is_nothing_to_commit / is_transient_fetch_error — classify a returned processkit::Error so callers branch on intent ("conflict, resolve it"; "nothing to commit, no-op"; "transient, retry") instead of matching on error internals.

The wrapper crates re-export the classifiers (e.g. vcs_git::is_merge_conflict) and call reject_flag_like with their own binary name, so you rarely name this crate directly.

Part of vcs-toolkit-rs; used by vcs-git, vcs-jj, vcs-github, and vcs-core.

License

MIT