vcs-testkit 0.1.0

Test fixtures for git/jj automation: throwaway repos, sandboxes, and a seeded bare remote.
Documentation
# Changelog — vcs-testkit

All notable changes to the `vcs-testkit` crate are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this crate adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
This crate is versioned and published independently of the other workspace
crates; tag releases as `vcs-testkit-v<version>`.

## [Unreleased]

### Added
-

### Changed
-

### Fixed
-

## [0.1.0] - 2026-06-08

### Added
- Initial release: `TempDir` (unique, remove-on-drop), `configure_identity`,
  `GitSandbox` (init on `main` + deterministic identity; `commit_file`,
  `branch`, `checkout`, `rev_parse`, raw `git`), `BareRemote::seeded` (local
  clone/fetch/push fixture), and `JjSandbox` (`describe`, `new_change`,
  `bookmark`, raw `jj`). Synchronous, dependency-free, panics on failure —
  consolidates the scaffolding previously duplicated across the
  `vcs-git`/`vcs-jj`/`vcs-core` test suites.

### Changed
-

### Fixed
- Sandboxes are isolated from the **host** VCS configuration: every git
  invocation runs with `GIT_CONFIG_NOSYSTEM=1` and `GIT_CONFIG_GLOBAL`/
  `GIT_CONFIG_SYSTEM` redirected to a nonexistent path (plus `--template=` on
  `init`), so a host-global `init.templateDir`/`core.hooksPath` can no longer
  inject hooks that execute during sandbox commits. jj invocations run with
  `JJ_CONFIG` isolated and `JJ_USER`/`JJ_EMAIL` pinned, making the
  `jj git init`-created working-copy commit's author deterministic
  (`test@example.com`) instead of inheriting the host identity. Repo-local
  hooks a test installs on purpose still run (`core.hooksPath` is deliberately
  not touched).

[Unreleased]: https://github.com/ZelAnton/vcs-toolkit-rs/compare/vcs-testkit-v0.1.0...HEAD
[0.1.0]: https://github.com/ZelAnton/vcs-toolkit-rs/releases/tag/vcs-testkit-v0.1.0