New Features
- greatly improve the index
Filedebug output.
This allows tests to rely on it more with insta, and not miss a thing. - allow fixtures to require checked-in archives
Addscripted_fixture_read_only_needs_archive()` for fixtures whose generated
output can vary in byte order across platforms or filesystems. The helper
still validates archive identity, but bypasses GIX_TEST_IGNORE_ARCHIVES and
re-extracts the checked-in archive so tests can opt into frozen fixture bytes
when rerunning the producer is non-deterministic,
for instance due to filesystem order. - add
gitutility to callgiteasily likegit(cwd, "log --oneline") - add
invoke_bashtest helper() - Add
hash_kind_from_env()to obtain the value ofGIX_TEST_FIXTURE_HASH
This is useful when tests want to inspect the hash under test. - use
GIX_TEST_FIXTURE_HASHenvironment variable.
For now, there is no direct way to set it, but that may change
once we have tests that need it. - Add variants of
scripted_fixture_read_onlythat allow for Rust post modification.
That way, we can have the benefit of scripts and Rust for final tweaks. - add rust_fixture_read_only and rust_fixture_writable functions to gix-testtools
Bug Fixes
- disable automatic Git maintenance in gix-testtools, add
apply_git_config_by_environmentutility
Disable maintenance.auto and gc.auto through command-scope Git config for
gix-testtools process execution, including fixture scripts, helper-launched Git,
cargo example builds, git-daemon wrappers, and shell helpers. - also override XDG_CONFIG_HOME for test-scripts and commands runs.
New Features (BREAKING)
-
Make
gix-testtoolsindependent ofgixcrates
This means that a trait implementation has to always be passed
for what boils down to ignore handling.The
standaloneportion of the API is also removed. -
add
object_hash()function and renamehash_kind_from_env()toobject_hash_from_env()
For consistency and convenience.
Bug Fixes (BREAKING)
-
remove
winnowand replace it with hand-implemented parsers everywhere.
This will allow for simplified maintenance and editing (both human and machine)
down the road, and enable additional performance optimisations.Parser compbinators to me ultimately were a failed experiment as I couldn't maintain
them anyway, with it being too difficult for me to grasp and express everything
in its very own kind of language, with a lot of different things to consider.Note that this also removes detailed errors from all parsers that previously
usedwinnow, with the option to re-add those if there is demand. -
rename
Creation::ExecuteScipttoCreation::Execute
This is more fitting since the arrival of Rust-based fixtures.
Commit Statistics
- 70 commits contributed to the release.
- 14 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Release gix-error v0.2.4, gix-date v0.15.4, gix-actor v0.41.1, gix-trace v0.1.20, gix-validate v0.11.2, gix-path v0.12.1, gix-utils v0.3.3, gix-features v0.48.1, gix-hash v0.25.1, gix-hashtable v0.15.1, gix-object v0.61.0, gix-glob v0.26.1, gix-quote v0.7.2, gix-attributes v0.33.1, gix-command v0.9.1, gix-packetline v0.21.4, gix-filter v0.31.0, gix-fs v0.21.2, gix-chunk v0.7.2, gix-commitgraph v0.37.1, gix-revwalk v0.32.0, gix-traverse v0.58.0, gix-worktree-stream v0.33.0, gix-archive v0.33.0, gix-bitmap v0.3.2, gix-tempfile v23.0.1, gix-lock v23.0.1, gix-index v0.52.0, gix-config-value v0.18.1, gix-pathspec v0.18.1, gix-ignore v0.21.1, gix-worktree v0.53.0, gix-imara-diff v0.2.2, gix-diff v0.64.0, gix-blame v0.14.0, gix-ref v0.64.0, gix-sec v0.14.1, gix-config v0.57.0, gix-prompt v0.15.1, gix-url v0.36.1, gix-credentials v0.38.1, gix-discover v0.52.0, gix-dir v0.26.0, gix-mailmap v0.33.1, gix-revision v0.46.0, gix-merge v0.17.0, gix-negotiate v0.32.0, gix-pack v0.71.0, gix-odb v0.81.0, gix-refspec v0.42.0, gix-shallow v0.12.1, gix-transport v0.57.1, gix-protocol v0.62.0, gix-status v0.31.0, gix-submodule v0.31.0, gix-worktree-state v0.31.0, gix v0.84.0, gix-fsck v0.22.0, gitoxide-core v0.58.0, gitoxide v0.54.0, safety bump 27 crates (10c58bb)
- Merge pull request #2612 from GitoxideLabs/improvements (4377485)
spawn_git_daemonnow spawns the git daemon on a free port automatically (123cdaf)- Disable automatic Git maintenance in gix-testtools, add
apply_git_config_by_environmentutility (cad26e9) - Merge pull request #2591 from AaronMoat/untracked-extension-reading (85c6087)
- Greatly improve the index
Filedebug output. (e4bdd1f) - Also override XDG_CONFIG_HOME for test-scripts and commands runs. (83ab103)
- Allow fixtures to require checked-in archives` (36d8498)
- Merge pull request #2578 from cruessler/run-gix-tests-with-sha-256 (2d4a6f2)
- Add
gitutility to callgiteasily likegit(cwd, "log --oneline")(fa02742) - Merge pull request #2590 from GitoxideLabs/independent-testtools (575113d)
- Adapt to changes in
gix-testtools(ce9e6bd) - Make
gix-testtoolsindependent ofgixcrates (c825352) - Merge pull request #2589 from GitoxideLabs/fix-status-in-unborn-repo (ba7d9a4)
- Stabilize filter-driver example use in parallel tests to remove flake (db16a05)
- Merge pull request #2573 from cruessler/run-gix-traverse-tests-with-sha-256 (278d7ec)
- Review (1cd36be)
- Merge pull request #2568 from GitoxideLabs/dependabot/cargo/cargo-56d6b174d8 (ab2fee1)
- Update crates to Rust 2024 edition (2cb17b2)
- Raise MSRV for hash dependency updates (3675a8d)
- Merge pull request #2559 from GitoxideLabs/fix/symlink-prefix-reuse-worktree-escape-GHSA-f89h-2fjh-2r9q (3af9b4a)
- Release gix-fs v0.21.1 (d3e4c17)
- Merge pull request #2543 from cruessler/run-gix-worktree-stream-tests-with-sha-256 (23af41a)
- Adapt to changes in
gix-testtoolsand renamehash_kind->object_hash(d9648e8) - Add
object_hash()function and renamehash_kind_from_env()toobject_hash_from_env()(85961b5) - Merge pull request #2546 from GitoxideLabs/fix-2545 (adb8328)
- Cargo fmt to fix CI (d1237b7)
- Release gix-error v0.2.3, gix-date v0.15.3, gix-actor v0.41.0, gix-path v0.12.0, gix-features v0.48.0, gix-hash v0.25.0, gix-hashtable v0.15.0, gix-object v0.60.0, gix-glob v0.26.0, gix-attributes v0.33.0, gix-command v0.9.0, gix-filter v0.30.0, gix-fs v0.21.0, gix-commitgraph v0.37.0, gix-revwalk v0.31.0, gix-traverse v0.57.0, gix-worktree-stream v0.32.0, gix-archive v0.32.0, gix-tempfile v23.0.0, gix-lock v23.0.0, gix-index v0.51.0, gix-config-value v0.18.0, gix-pathspec v0.18.0, gix-ignore v0.21.0, gix-worktree v0.52.0, gix-imara-diff v0.2.1, gix-diff v0.63.0, gix-blame v0.13.0, gix-ref v0.63.0, gix-sec v0.14.0, gix-config v0.56.0, gix-prompt v0.15.0, gix-url v0.36.0, gix-credentials v0.38.0, gix-discover v0.51.0, gix-dir v0.25.0, gix-mailmap v0.33.0, gix-revision v0.45.0, gix-merge v0.16.0, gix-negotiate v0.31.0, gix-pack v0.70.0, gix-odb v0.80.0, gix-refspec v0.41.0, gix-shallow v0.12.0, gix-transport v0.57.0, gix-protocol v0.61.0, gix-status v0.30.0, gix-submodule v0.30.0, gix-worktree-state v0.30.0, gix v0.83.0, gix-fsck v0.21.0, gitoxide-core v0.57.0, gitoxide v0.53.0, safety bump 48 crates (53f880c)
- Fix CI - and probably prevent
can't connect to localhostin journey tests (09687eb) - Remove
winnowand replace it with hand-implemented parsers everywhere. (91c854e) - Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)
- Update changelogs prior to release (f9fbcba)
- Merge pull request #2511 from GitoxideLabs/improvements (1fc129d)
- Add
invoke_bashtest helper() (33c0a8b) - Merge pull request #2499 from GitoxideLabs/dependabot/cargo/cargo-17cc682121 (44020e0)
- Bump the cargo group with 26 updates (9d04035)
- Merge pull request #2496 from GitoxideLabs/improvements (2aedd14)
- Remove unnecessary message when using fixtures (e68a42a)
- Merge pull request #2448 from cruessler/add-sha-256-to-gix-refspec (9a78ae2)
- Add
hash_kind_from_env()to obtain the value ofGIX_TEST_FIXTURE_HASH(2a5e787) - Make
hash_kind_from_envpublic (726e1b9) - Merge pull request #2480 from GitoxideLabs/report (98bae84)
- Release gix-error v0.2.1, gix-date v0.15.1, gix-path v0.11.2, gix-features v0.46.2, gix-hash v0.23.0, gix-hashtable v0.13.0, gix-object v0.58.0, gix-packetline v0.21.2, gix-filter v0.28.0, gix-fs v0.19.2, gix-commitgraph v0.35.0, gix-revwalk v0.29.0, gix-traverse v0.55.0, gix-worktree-stream v0.30.0, gix-archive v0.30.0, gix-tempfile v21.0.2, gix-lock v21.0.2, gix-index v0.49.0, gix-pathspec v0.16.1, gix-ignore v0.19.1, gix-worktree v0.50.0, gix-diff v0.61.0, gix-blame v0.11.0, gix-ref v0.61.0, gix-sec v0.13.2, gix-config v0.54.0, gix-prompt v0.14.1, gix-credentials v0.37.1, gix-discover v0.49.0, gix-dir v0.23.0, gix-revision v0.43.0, gix-merge v0.14.0, gix-negotiate v0.29.0, gix-pack v0.68.0, gix-odb v0.78.0, gix-refspec v0.39.0, gix-shallow v0.10.0, gix-transport v0.55.1, gix-protocol v0.59.0, gix-status v0.28.0, gix-submodule v0.28.0, gix-worktree-state v0.28.0, gix v0.81.0, gix-fsck v0.19.0, gitoxide-core v0.55.0, gitoxide v0.52.0, safety bump 31 crates (c389a2c)
- Merge pull request #2454 from GitoxideLabs/dependabot/cargo/cargo-da044b9bb0 (6183fd0)
- Bump the cargo group with 68 updates (6bdb331)
- Merge pull request #2441 from cruessler/remove-sha-1-from-default-features (e8bf096)
- Adapt to sha1 not being default feature of
gix-hash(e71c703) - Merge pull request #2442 from GitoxideLabs/report (f7277f3)
- Release gix-error v0.2.0, gix-date v0.15.0, gix-actor v0.40.0, gix-object v0.57.0, gix-quote v0.7.0, gix-attributes v0.31.0, gix-command v0.8.0, gix-filter v0.27.0, gix-chunk v0.7.0, gix-commitgraph v0.34.0, gix-revwalk v0.28.0, gix-traverse v0.54.0, gix-worktree-stream v0.29.0, gix-archive v0.29.0, gix-bitmap v0.3.0, gix-index v0.48.0, gix-pathspec v0.16.0, gix-worktree v0.49.0, gix-diff v0.60.0, gix-blame v0.10.0, gix-ref v0.60.0, gix-config v0.53.0, gix-prompt v0.14.0, gix-url v0.35.2, gix-credentials v0.37.0, gix-discover v0.48.0, gix-dir v0.22.0, gix-mailmap v0.32.0, gix-revision v0.42.0, gix-merge v0.13.0, gix-negotiate v0.28.0, gix-pack v0.67.0, gix-odb v0.77.0, gix-refspec v0.38.0, gix-shallow v0.9.0, gix-transport v0.55.0, gix-protocol v0.58.0, gix-status v0.27.0, gix-submodule v0.27.0, gix-worktree-state v0.27.0, gix v0.80.0, gix-fsck v0.18.0, gitoxide-core v0.54.0, gitoxide v0.51.0, safety bump 42 crates (ecf90fc)
- Merge pull request #2377 from cruessler/add-sha-256-to-gix-commitgraph (228caf7)
- Refactor (8ccd760)
- Use
GIX_TEST_FIXTURE_HASHenvironment variable. (7f50c30) - Merge branch 'release' (9327b73)
- Release gix-error v0.1.0, gix-date v0.14.0, gix-actor v0.39.0, gix-trace v0.1.18, gix-path v0.11.1, gix-features v0.46.1, gix-hash v0.22.1, gix-object v0.56.0, gix-quote v0.6.2, gix-attributes v0.30.1, gix-command v0.7.1, gix-packetline v0.21.1, gix-filter v0.26.0, gix-fs v0.19.1, gix-chunk v0.6.0, gix-commitgraph v0.33.0, gix-revwalk v0.27.0, gix-traverse v0.53.0, gix-worktree-stream v0.28.0, gix-archive v0.28.0, gix-bitmap v0.2.16, gix-tempfile v21.0.1, gix-lock v21.0.1, gix-index v0.47.0, gix-config-value v0.17.1, gix-pathspec v0.15.1, gix-worktree v0.48.0, gix-diff v0.59.0, gix-blame v0.9.0, gix-ref v0.59.0, gix-sec v0.13.1, gix-config v0.52.0, gix-prompt v0.13.1, gix-url v0.35.1, gix-credentials v0.36.0, gix-discover v0.47.0, gix-dir v0.21.0, gix-mailmap v0.31.0, gix-revision v0.41.0, gix-merge v0.12.0, gix-negotiate v0.27.0, gix-pack v0.66.0, gix-odb v0.76.0, gix-refspec v0.37.0, gix-shallow v0.8.1, gix-transport v0.54.0, gix-protocol v0.57.0, gix-status v0.26.0, gix-submodule v0.26.0, gix-worktree-state v0.26.0, gix v0.79.0, safety bump 35 crates (d66ac10)
- Merge pull request #2415 from GitoxideLabs/improvements (5c9e6ae)
- Rename
Creation::ExecuteScipttoCreation::Execute(f4bb106) - Merge pull request #2414 from GitoxideLabs/improvements (a3e7b6e)
- Make sure rust-scripts are always executed in the final destination. (8c97151)
- Merge pull request #2413 from GitoxideLabs/improvements (70a250c)
- Change the signature of
postRust closures to allow returning values. (594fe4c) - Add variants of
scripted_fixture_read_onlythat allow for Rust post modification. (61c504d) - Better docs for Rust fixture method in test tools (fd0328f)
- Merge pull request #2412 from GitoxideLabs/copilot/add-execute-rust-closures-again (675ce68)
- Address Copilot review (b63bf6f)
- Deduplicate testtools marker implementation (fff844b)
- Refactor (ab33ceb)
- Add rust_fixture_read_only and rust_fixture_writable functions to gix-testtools (501da55)
- Merge pull request #2407 from GitoxideLabs/dependabot/cargo/cargo-fb4135702f (8bceefb)
- Bump the cargo group with 59 updates (7ce3c55)
- Merge pull request #2398 from GitoxideLabs/release (3b6650a)