Skip to content

vcs-git-v0.5.0

Choose a tag to compare

@github-actions github-actions released this 08 Jun 19:16
· 45 commits to main since this release

Added

  • branch_status(dir) -> BranchStatus — a combined branch + working-tree
  • fetch_from(dir, remote) — fetch from a named remote (`fetch --quiet
  • conflicted_files(dir) — paths with unresolved merge conflicts
  • status_tracked(dir)status minus untracked files
  • Git::switch_with_stash(dir, branch) (also on GitAt) — switch branches
  • clone_repo(url, dest, CloneSpec)git clone with a CloneSpec builder
  • Tag operations: tag_create (lightweight, optional rev),
  • show_file(dir, rev, path) — file content at a revision
  • config_get(dir, key)Option<String> (config --get; exit 1 → None
  • remote_add(dir, name, url) and remote_set_url(dir, name, url).
  • blame(dir, path, rev)Vec<BlameLine> (blame --line-porcelain):
  • Sequencer: cherry_pick(dir, rev), revert(dir, rev) (--no-edit +
  • capabilities()GitCapabilities { version: GitVersion } — the installed
  • Injection guards on every exposed positional argument — names, revisions,
  • RefName and RevSpec validating newtypes — optional up-front validation
  • Git::harden() / Git::hardened() — an untrusted-repo execution profile
  • conflict module — a typed model of conflict markers: parse_conflicts

Changed

  • Breaking: four multi-option GitApi methods now take a spec/builder
  • Bumped processkit to 0.8 — the re-exported Error/ProcessResult carry
  • Internal: the CliClient verbs the wrapper bodies call were renamed to one
  • New off-by-default cancellation feature: pulls in processkit's
  • Internal: the diff model + parser (ChangeKind/DiffLine/Hunk/FileDiff/

Fixed

  • diff/diff_text pin the a/b/ diff prefixes (--src-prefix/--dst-prefix),
  • branches/is_merged/tag_list pass --no-column, so a user's
  • Commands whose failure output feeds the error classifiers (the commit,
  • show_file normalises \/ only on Windows — on Unix a backslash is a
  • branch_status runs with GIT_OPTIONAL_LOCKS=0, so the snapshot/poll
  • conflict::parse_conflicts: a repeated |-run line inside a diff3 region is