Tags give the ability to mark specific points in history as being important
-
-
git-glob-v0.2.0
ab6bed7e · ·### Changed (BREAKING) - `parse()` returns a `Pattern`. This is much more ergonomic as this is the only things we are ever interested in for matching. If necessary, from there one can also use the parts individually or alter them. ### Commit Statistics - 50 commits contributed to the release over the course of 6 calendar days. - 6 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #301 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 3 times to make code idiomatic. ### Commit Details * **#301** - `parse()` returns a `Pattern`. (6ce3611) - docs for git-glob (8f4969f) - all wildmatch tests succeed (d3a7349) - add all character classes sans some of the more obscure ones (538d41d) - frame for character classes (6b8d0d2) - fix all remaining bracket tests… (3afe2d2) - more bracket-range tests succeed (c64f71c) - make bracket matching work better (97aa9ed) - refactor (fa0440f) - first steps towards bracket matching (54fe029) - adjust wildmatch corpus expectations as it won't match our preprocessor (48990af) - fix another issue around double-star (d15c2fb) - fix another special case (09095df) - fix double-star matches (43371b6) - fix single-level double-star (e5a7995) - fix backslash handling; improve star handling (7907cb4) - new wildcard tests to help fix star matching (d21c654) - All our simple wildmatches are working, a good start (321c4d2) - maybe even working double-star handling (48c57ff) - slowly move towards star/double-star (4efd215) - question mark support (e83c8df) - very basic beginnings of wildmatch (334c624) - fix logic in wildmatch tests; validate feasibility of all test cases (1336bc9) - test corpus for wildcard matches (bd8f95f) - frame for wildmatch function and its tests (04ca834) - more tests for early exit in case no-wildcard prefix doesn't match (1ff348c) - more non-basename shortcuts, and only wildcard matches left (45c6259) - make much clearer how base-path works and put in safe-guards (5bf503a) - test that bases are ignored for basenames (1b26848) - refactor (056b368) - a way to set a globs base path (3d58db8) - get to the point where globs probably should have a base (2632988) - refactor (f2f3f53) - prepare for handling absolute patterns (df9778b) - Keep track of absolute patterns, those that have to start with it (3956480) - basename parsing with simple pattern skips (d18ef14) - git-baseline now acts like a massive regression test (fe3d0a7) - adjust signatures to know enough to implement git-like matching (b947ff9) - refactor; roughly sort regex by simplicity (a7c3a63) - Also parse the position of the first wildcard (4178a63) - prepare for upcoming wildcard-length field in glob pattern (a11f5d4) - refactor (f285ca0) - basic infrastructure for running git-baseline against our implementation (027869d) - baseline tests for matches and no-matches (621c2ca) - bring in all ~140 tests for git pattern matching, git-ignore styile (f9ab830) - refactor (dbe7305) - refactor (8a54341) * **Uncategorized** - thanks clippy (b1a6100) - thanks clippy (1393403) - thanks clippy (683233e) -
git-glob-v0.1.0
0f66c5d5 · ·Initial release with pattern parsing functionality. ### Commit Statistics - 2 commits contributed to the release. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #301 ### Commit Details * **#301** - prepare changelog prior to release (2794bb2) - Add git-glob crate with pattern matching parsing from git-attributes::ignore (b3efc94) -
v0.12.0
f041c00a · ·### New Features - Add `gix repo commit describe` It supports typical but basic flags mostly similar to the ones in git. ### Commit Statistics - 5 commits contributed to the release over the course of 1 calendar day. - 2 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #298 ### Commit Details * **#298** - Use all tags by default, instead of requiring annotated tags (00c42ca) - support for the --max-candidates flag (b9e6754) - Reduce amount of max candidates, add --debug flag (c8c13e3) - Add `gix repo commit describe` (7e99e6a) - a first sketch of the `gix repo describe` plumbing command (2d6ccef) -
gitoxide-core-v0.14.0
f041c00a · ·### New Features - Add `gix repo commit describe` It supports typical but basic flags mostly similar to the ones in git. - `Commit::describe()` A way to fluidly configure a `git describe` operation and run it. Along that, a new `Tag` top-level object was added as well to provide convenient access to otherwise lower-level objects. It's not strictly required for our implementation here but it's needed for a symmetric API. ### Commit Statistics - 7 commits contributed to the release. - 2 days passed between releases. - 2 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #298 ### Commit Details * **#298** - restrict signature changes to 'Ancestores::sorting()` (d71bd9d) - Adjust to changes in git-traverse (8240622) - support for the --max-candidates flag (b9e6754) - Reduce amount of max candidates, add --debug flag (c8c13e3) - Add `gix repo commit describe` (7e99e6a) - `Commit::describe()` (654f4af) * **Uncategorized** - Release git-config v0.2.1, git-diff v0.15.0, git-traverse v0.14.0, git-pack v0.18.0, git-odb v0.28.0, git-ref v0.12.1, git-revision v0.1.0, git-repository v0.16.0, gitoxide-core v0.14.0, gitoxide v0.12.0, safety bump 6 crates (b612021) -
git-repository-v0.16.0
f041c00a · ·### New Features - auto-calculation of a good hex-len, like what git does If the `core.abbrev` value isn't set or is set to `auto`. - `Commit::describe()` A way to fluidly configure a `git describe` operation and run it. Along that, a new `Tag` top-level object was added as well to provide convenient access to otherwise lower-level objects. It's not strictly required for our implementation here but it's needed for a symmetric API. ### Commit Statistics - 19 commits contributed to the release. - 2 days passed between releases. - 2 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #298 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 5 times to make code idiomatic. ### Commit Details * **#298** - Use all tags by default, instead of requiring annotated tags (00c42ca) - Fix off-by-one error (d5b8fd5) - auto-calculation of a good hex-len, like what git does (47556f6) - Parse the hex-len from config on repo-initialization (aee55c0) - Support for simple BString powered string values (2381c5d) - refactor configuration handling to allow pre-parsing of common values (e3d280f) - restrict signature changes to 'Ancestores::sorting()` (d71bd9d) - Adjust to changes in git-traverse (8240622) - set MSRV to 1.54 as we really need VecDeque::binary_search (514e468) - support for the --max-candidates flag (b9e6754) - Reduce amount of max candidates, add --debug flag (c8c13e3) - Use hashed-hasher for an eek of performance (324a839) - `Commit::describe()` (654f4af) * **Uncategorized** - Release git-config v0.2.1, git-diff v0.15.0, git-traverse v0.14.0, git-pack v0.18.0, git-odb v0.28.0, git-ref v0.12.1, git-revision v0.1.0, git-repository v0.16.0, gitoxide-core v0.14.0, gitoxide v0.12.0, safety bump 6 crates (b612021) - thanks clippy (7887d8b) - thanks clippy (0f5a943) - thanks clippy (9407532) - thanks clippy (60cb858) - thanks clippy (f2faa00) -
git-revision-v0.1.0
f041c00a · ·### Refactor (BREAKING) - <csr-id-0a7776b8cce4c40c391f46542f6e7ba6830d6fc0/> Make `describe::Format` more consistent with other builder APIs Configuration methods now take an argument which makes it more straightforward to use for most. ### Commit Statistics - 41 commits contributed to the release over the course of 56 calendar days. - 59 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 3 unique issues were worked on: #298, #301, #364 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 5 times to make code idiomatic. ### Commit Details * **#298** - fix git-revision dependencies (c336b03) - fix ordering of commits to actually be by commit-time, then topo-time (8286eac) - support for the --max-candidates flag (b9e6754) - Reduce amount of max candidates, add --debug flag (c8c13e3) - Use hashed-hasher for an eek of performance (324a839) - early-abort if all work is done during traversal (5b2aa70) - Make `describe::Format` more consistent with other builder APIs (0a7776b) - All documentation for the git-revision crate (8e0fb0a) - support for 'first-parent' traversal (52eae32) - support for fallbacks if no candidate available (39708a7) - describe-format with support for 'always' display style (79f386d) - finish depth computation works! (2e80e36) - prepare for finish-computation impl (9e10c7a) - Prepare test for 'gave_up_on' to motivate implementing finish_computation() (966ec3f) - use thiserror instead of quickerror (7dcd2a5) - Use quickerror to handle all error branches (1243417) - Some TODOs to not forget where to continue (84c0f15) - git-describe complete formatting (eefa6c5) - frame for testing describe(), first sketch of signature with return value (5841f47) - first failing test for describe() (23b1973) * **#301** - sort parents by most recent to find recent tags first (d240740) - refactor; first green tests (92a37ed) - no need for ordering by date, keep it simple (02909ea) - a step closer to the first successful test (710d46b) - a step towards traversing the graph (48cba41) - refactor (e22e2dd) - the trivial part of the actual implementation (92a67a6) * **#364** - More speedy access to author/committer (6129607) * **Uncategorized** - Release git-config v0.2.1, git-diff v0.15.0, git-traverse v0.14.0, git-pack v0.18.0, git-odb v0.28.0, git-ref v0.12.1, git-revision v0.1.0, git-repository v0.16.0, gitoxide-core v0.14.0, gitoxide v0.12.0, safety bump 6 crates (b612021) - thanks clippy (4d4fda6) - thanks clippy (f2faa00) - thanks clippy (9f18dca) - Merge branch 'for-onefetch' (8e5cb65) - Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates (f0cbb24) - Merge branch 'svetli-n-refactor_git_config_tests' (babaa9f) - make fmt (7cf3545) - Remove serde support for describe types due to warning (2ba33c8) - thanks clippy (2c8a504) - INTERMEDIATE RESET ME (a4de008) - thanks clippy (f1ef59d) - Merge branch 'AP2008-implement-worktree' (f32c669) -
git-ref-v0.12.1
b6120216 · ·### New Features - add `FullName(Ref)::category_and_shortname()` It's a combination of `shorten()` and `category()` for convenience. ### Commit Statistics - 2 commits contributed to the release over the course of 2 calendar days. - 2 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #364 ### Commit Details * **#364** - add `FullName(Ref)::category_and_shortname()` (ecd60d7) * **Uncategorized** - refactor (2abedb8) -
git-odb-v0.28.0
b6120216 · ·### New Features - Handle::packed_object_count() Provide packed objects numbers and cache the value for fast access later on. ### Changed (BREAKING) - Remove deprecated compound and linked object databases The dynamic/general store is the only maintained can-do-it-all DB now. ### Commit Statistics - 2 commits contributed to the release over the course of 1 calendar day. - 2 days passed between releases. - 2 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #298 ### Commit Details * **#298** - Handle::packed_object_count() (84ec54e) * **Uncategorized** - Remove deprecated compound and linked object databases (8c5ae77) -
git-pack-v0.18.0
b6120216 · ·### Changed (BREAKING) - Remove deprecated compound and linked object databases The dynamic/general store is the only maintained can-do-it-all DB now. ### Commit Statistics - 3 commits contributed to the release over the course of 1 calendar day. - 2 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #298 ### Commit Details * **#298** - restrict signature changes to 'Ancestores::sorting()` (d71bd9d) - Adjust to changes in git-traverse (8240622) * **Uncategorized** - Remove deprecated compound and linked object databases (8c5ae77) -
git-traverse-v0.14.0
b6120216 · ·### Bug Fixes (BREAKING) - commit traversal now sorts by commit-time more thoroughly Previously the sorting was only partial as it was only among parents. Now it is full and among all currently visible commits. That way it is similar to what `git log` would produce. ### Commit Statistics - 3 commits contributed to the release. - 2 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #298 ### Commit Details * **#298** - restrict signature changes to 'Ancestores::sorting()` (d71bd9d) - commit traversal now sorts by commit-time more thoroughly (dcdf657) - higher-performance 'seen' tracking for commit traversal (8c530d1) -
git-diff-v0.15.0
b6120216 · ·### Changed (BREAKING) - Remove deprecated compound and linked object databases The dynamic/general store is the only maintained can-do-it-all DB now. ### Commit Statistics - 4 commits contributed to the release over the course of 1 calendar day. - 2 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #298 ### Commit Details * **#298** - restrict signature changes to 'Ancestores::sorting()` (d71bd9d) - Adjust to changes in git-traverse (8240622) * **Uncategorized** - remove left-over attribute (27df580) - Remove deprecated compound and linked object databases (8c5ae77) -
git-config-v0.2.1
b6120216 · ·### Features - New `values::String` data type which makes it easier to obtain string values to work with as binary string. ### Commit Statistics - 4 commits contributed to the release over the course of 2 calendar days. - 3 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #298 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#298** - prepare changelog prior to release (fc8f52d) - Support for simple BString powered string values (2381c5d) * **Uncategorized** - thanks clippy (7887d8b) - Merge branch 'for-onefetch' (8e5cb65) -
git-testtools-v0.6.0
45386a0b · ·### Test - <csr-id-1d5ab44145ccbc2064ee8cc7acebb62db82c45aa/> ensure tests use 'merge.ff false' and recreate fixtures on each run ### Commit Statistics - 25 commits contributed to the release over the course of 210 calendar days. - 223 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 7 unique issues were worked on: #198, #266, #293, #298, #301, #364, #366 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#198** - fix windows tests by transforming line endings (e276d77) * **#266** - a failing test to show the handle-stability doesn't quite work yet (5562e88) - refactor (c499843) * **#293** - REUC reading works (29c1af9) - use parking_lot mutex to avoid poison errors (d8ca74f) - base setup for index testing (aa60fdf) * **#298** - upgrade parking_lot and cargo_toml (f95c1a0) * **#301** - refactor (9ea1e44) * **#364** - add test-tools changelog prior to release (1ebc16a) * **#366** - quickfix for unintentionally using 'unicode' feature of bytecode (fb5593a) * **Uncategorized** - Merge branch 'for-onefetch' (8e5cb65) - Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates (f0cbb24) - Merge branch 'main' into mailmap (b2df941) - thanks clippy (1038dab) - add `fixture_bytes` to test tools (85e3820) - Commit to using 'unicode' feature of bstr as git-object wants it too (471fa62) - Merge branch 'AP2008-implement-worktree' (f32c669) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - Release git-hash v0.9.2, git-object v0.17.1, git-pack v0.16.1 (0db19b8) - Merge branch 'index-information' (025f157) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - ensure tests use 'merge.ff false' and recreate fixtures on each run (1d5ab44) - Release git-hash v0.8.0, git-features v0.17.0, git-actor v0.6.0, git-object v0.15.0, git-diff v0.11.0, git-traverse v0.10.0, git-pack v0.13.0, git-odb v0.23.0, git-packetline v0.12.0, git-transport v0.13.0, git-protocol v0.12.0, git-ref v0.9.0, git-repository v0.11.0, git-commitgraph v0.6.0, gitoxide-core v0.12.0, gitoxide v0.10.0, cargo-smart-release v0.5.0, safety bump 16 crates (0e02953) - Adjusting changelogs prior to release of git-hash v0.7.0, git-features v0.16.5, git-actor v0.5.3, git-validate v0.5.3, git-object v0.14.1, git-diff v0.10.0, git-tempfile v1.0.3, git-lock v1.0.1, git-traverse v0.9.0, git-pack v0.12.0, git-odb v0.22.0, git-packetline v0.11.0, git-url v0.3.4, git-transport v0.12.0, git-protocol v0.11.0, git-ref v0.8.0, git-repository v0.10.0, cargo-smart-release v0.4.0, safety bump 3 crates (a474395) - Bump git-hash v0.6.0 (6efd90d) -
v0.11.0
ab08a7f0 · ·Adapt to changes in `git-features` which change `Send + Sync` to `Send + Clone`. This happens to allow non-sync implementations (i.e. thread-local), along with `Sync` ones which usually are `Clone` too as they are passed by immutable reference (which is `Clone + Copy`). ### Refactor (BREAKING) - Remove light* features, add 'lean-async' in its place; remove termion support ### Changed (BREAKING) - remove `Option<impl Progress>` in favor of `impl Progress` - remove unnecessary `Arc` around `should_interrupt` flag - remove Sha1 mentions in `index::verify::Mode::*` variants The hash is repository defined and not hard-coded - Remove lean plumbing CLI ### Bug Fixes - Collect all stdout messages in line renderer as well Otherwise the threaded line renderer will interfere with genuine program output. ### New Features - `gix mailmap verify` command - `ein find --debug` to learn why it is slow - --counting-threads flag to configure amount of threads when counting The efficiency of multi-threaded counting is low per core, and despite some speedups might be desirable, one might not want to commit all cores to this amount of waste. - in-manifest and in-bin documentation of feature toggles Unfortunately, these don't show up on docs.rs due to it being a abinary only crate. One could consider throwing in a lib just for good measure. ### Commit Statistics - 61 commits contributed to the release over the course of 126 calendar days. - 165 days passed between releases. - 10 commits where understood as [conventional](https://www.conventionalcommits.org). - 12 unique issues were worked on: #215, #263, #266, #279, #287, #289, #293, #298, #301, #329, #366, #67 ### Commit Details * **#215** - Collect all stdout messages in line renderer as well (57ca045) - Fix compile warning (e4514a8) - Remove reference of pretty-cli in code tree (4bd2f29) - Remove lean plumbing CLI (51bf03f) - Remove light* features, add 'lean-async' in its place; remove termion support (4d2d433) * **#263** - fmt (fbeddeb) - A mad attempt to use thread-local everywhere and avoid Sync… (0af5077) * **#266** - Provide handle with a snapshot of the store's state (6e0cd6d) * **#279** - Fast-path multi-pack index verification in the CLI (bcde935) - Basic multi-pack index creation (89428b2) - 'index' with its own sub-commands (c4c5678) - even nicer printing (d2bea27) - remove `Option<impl Progress>` in favor of `impl Progress` (bf04644) - remove unnecessary `Arc` around `should_interrupt` flag (d851bed) - remove Sha1 mentions in `index::verify::Mode::*` variants (c2679a0) * **#287** - share and pass cli arguments for pack verification (db43e47) - Very rough version of repository verification (80a4a7a) - Adjustments to deal with changes to git-pack/git-odb (fcf8fde) * **#289** - 'pack' with its own sub-commands (fb64af4) - 'remote' with its own sub-commands (8677f7e) - 'commitgraph' with its own sub-commands (db0251e) * **#293** - faster writing to stdout/stderr for plumbing commands (d04dc01) - Add 'index verify' subcommand to 'gix' (1ac2c21) - Flag to hide extension details (34ea001) - Print basic index information, including the tree extension (9277cf8) - Basic entry information (239e7b2) - refactor (8bf585d) - JSON output for index entries (3fc1622) * **#298** - Simplify command-line options declaration (f790a55) - frame for printing index information (9ea98fd) * **#301** - greatly simplify render-line logic (a8fa53a) - pass thread-limit along to checkout (07e9081) - add thread-count and chunk-size computation; interrupt capability (8cbe85d) - a first sketch of access odb information using a sub-command (89b628a) - sub-command to print multi-index entries (6c10e09) - pack multi-index info subcommand (21c2dd5) - refactor (e6a3d43) - detailed report about issues after checkout (613483b) - keep-going support on the command-line (73a7393) - add tree-info subcommand to more easily test actual tree-traversal performance (29fb0c8) - frame for traversing tree entries (0e55fbb) - Properly use 'max-performance' feature toggle to get pack caches :D (a39d476) - allow writing empty files during checkout but also query the odb (5388d80) - support for repo to write actual objects (5494fb3) - basic version of index checkout via command-line (f23b8d2) - support for unicode-precomposition for gix apps (e90c123) * **#329** - in-manifest and in-bin documentation of feature toggles (25da30f) * **#366** - frame for printing mailmap entries using git-repository (2a01f47) - gix mailmap verify can now detect collisions (f89fe2f) - `gix mailmap verify` command (384ed66) * **#67** - --counting-threads flag to configure amount of threads when counting (0090961) * **Uncategorized** - make fmt (7cf3545) - small build now uses the line renderer as well (652a0ac) - Upgrade to prodash 19 (90c6c5a) - `ein find --debug` to learn why it is slow (70109be) - Merge branch 'short-id' (5849d5b) - fix clap warnings (aa51e05) - Merge branch 'AP2008-implement-worktree' (f32c669) - improve CLI docs (866530a) - rename 'gix commitgraph' back to 'gix commit-graph' (d6a72e7) - thanks clippy (b0f7328) -
gitoxide-core-v0.13.0
ab08a7f0 · ·### Refactor (BREAKING) - clarify different repository types much better - Remove light* features, add 'lean-async' in its place; remove termion support - remove pack-cache from `Find::try_find(…)` With the new architecture this can be an implementation detail without forcing it to be Sync. - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases. ### Other - Try to make Handle usable for pack creation It's nearly there, but for some reason the boxed dyn traits don't get to be Send even though it's specified. ### Bug Fixes - Allow resolution of in-pack ref-deltas This finally allows delta tree caches to be used on typical small packs returned by GitHub. - keep non "git" repository name extensions When converting a remote URL to a destination directory name, keep extension strings if they are not equal to "git". For example, - Avoid the dashmap being cloned for each thread Intead, share it by reference, it's sync after all. This issue was introduced when switching to a `Send + Clone` model, instead of `Send + Sync`, to allow thread-local caches in database handles of all kinds. ### New Features - ein tool estimate-hours with shallow clone support - `ein tool estimate-hours` now supports mailmaps - `gix repository mailmap entries` - `gix mailmap verify` command - unstable mailmap module - `ein find` with support for worktree checkouts - `ein find --debug` to learn why it is slow - --counting-threads flag to configure amount of threads when counting The efficiency of multi-threaded counting is low per core, and despite some speedups might be desirable, one might not want to commit all cores to this amount of waste. - in-manifest and in-lib documentation of feature toggles ### Changed (BREAKING) - file::Store::(try_)find(…, packed) was removed The packed buffer is now handled internally while loading it on demand. When compiled with `git-features/parallel` the `file::Store` remains send and sync. The packed refs buffer is shared across clones and it's recommended to clone one `file::Store` instance per thread, each of which can use its own namespace. - parallel utilities now use `Send + Clone` insted of `Send + Sync` This helps to assure that thread-local computations always work with the kind of types we provide. The ones that are carrying out actions are notably not `Sync` anymore. We cater to that by defining our bounds accordingly, but for those who want to use other utilities that need Sync, using types like `Repository` and `thread_local!()` is the only way to make this work. - Rename gix->ein and gixp->gix - remove `Option<impl Progress>` in favor of `impl Progress` - multi-index integrity check; use `integrity::Outcome` for various integrity checks - remove unnecessary `Arc` around `should_interrupt` flag - remove Sha1 mentions in `index::verify::Mode::*` variants The hash is repository defined and not hard-coded - introduce `index::File::verify_integrity(…, pack: Option<PackContext>, …)`, replacing tuple This allows for more documentation on what input is required there and generally makes for an easier to use API. - consistently use `object_hash` instead of `hash_kind` ### Commit Statistics - 143 commits contributed to the release over the course of 156 calendar days. - 165 days passed between releases. - 26 commits where understood as [conventional](https://www.conventionalcommits.org). - 14 unique issues were worked on: #215, #247, #263, #266, #279, #287, #293, #298, #301, #329, #333, #364, #366, #67 ### Commit Details * **#215** - Remove light* features, add 'lean-async' in its place; remove termion support (4d2d433) * **#247** - Rename gix->ein and gixp->gix (e8b0919) * **#263** - Adjust to chagne signature of peel_to_id_in_place (again?) (dd5341f) - file::Store::(try_)find(…, packed) was removed (15d429b) - parallel utilities now use `Send + Clone` insted of `Send + Sync` (e7526b2) - A mad attempt to use thread-local everywhere and avoid Sync… (0af5077) * **#266** - upgrade dependencies (c301abe) - Make single-threaded programs possible to use with git-repository (dde5c6b) - Use new store in git-repository (2f9e342) - Use handle with default cache configuration in 'ein hours' (f71806f) - adapt to changes in git-repository (fae309b) - Adjust object-acess to test new contains method (8488b41) - Adjustments to match changes in `git-repository` (117d5f8) - Adapt to changes in git-repository (3ab9b03) - Adapt to changes in git-repository (3266c47) - Adjust pack-create to changes in git-pack (12db899) - Cache-creators are indeed shared across threads, must be sync (c326cb3) - Try to make Handle usable for pack creation (424c9b3) - Inform when multi-threaded counting is rejected (cc3b070) - remove pack-cache from `Find::try_find(…)` (ebc7f47) - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (2290d00) * **#279** - Fast-path multi-pack index verification in the CLI (bcde935) - Add a less thorough and faster way of verifying multi-indices (7517482) - Handle large multi-pack indices correctly (4f6b030) - Fix progress and handling of large of multi-pack index offsets (5dc1f81) - Basic multi-pack index creation (89428b2) - Add frame for writing a multi-pack index (9ce1e7f) - adjust to changes in git_pack (7907ca8) - even nicer printing (d2bea27) - nicer printing of index verification results (e3dfa12) - very first experimental support for multi-pack index verification (bb35c69) - remove `Option<impl Progress>` in favor of `impl Progress` (bf04644) - multi-index integrity check; use `integrity::Outcome` for various integrity checks (6829e5e) - remove unnecessary `Arc` around `should_interrupt` flag (d851bed) - remove Sha1 mentions in `index::verify::Mode::*` variants (c2679a0) - introduce `index::File::verify_integrity(…, pack: Option<PackContext>, …)`, replacing tuple (80b120d) - refactor (005fba7) - consistently use `object_hash` instead of `hash_kind` (de4fa64) - Adjust to changes in git-odb (710780c) - adapt to changes in git-pack (28dba20) - Deal with changes to git-odb `Write` trait (4d67122) - adapt to changes to `git-odb` (5b0e2b9) - adapt to changes in git-hash (82fec95) * **#287** - lower-case json fields for consistency (f6c0e6d) - basic output for 'repo verify' json only (9f8d61f) - share and pass cli arguments for pack verification (db43e47) - Allow resolution of in-pack ref-deltas (84ade1d) - Very rough version of repository verification (80a4a7a) - frame for loose-db validation (a24307d) - Adjustments to deal with changes to git-pack/git-odb (fcf8fde) * **#293** - Assert store tree cache matches actual source objects (b062bec) - Sketch a surprisingly difficult way of loading objects in verify_extension() (3baeab4) - Also verify the index of the default workspace (15b8372) - First stab at tree verification (f928350) - Add 'index verify' subcommand to 'gix' (1ac2c21) - Now we are able to load indices correctly (762efa3) - refactor (3541e33) - Print extension names instead of count (1cc07e0) - Flag to hide extension details (34ea001) - refactor (d0725bd) - Fix tree-extension loading for empty trees (2e13989) - Print basic index information, including the tree extension (9277cf8) - Basic entry information (239e7b2) - refactor (8bf585d) - JSON output for index entries (3fc1622) - fix build (e3977fe) - refactor (9b28b18) * **#298** - adapt to changes in `git-repository' (16a1c36) - clarify different repository types much better (bbc6efe) - Also print stage of entries (003515f) - simple printing of basic entry information (329538b) - frame for printing index information (9ea98fd) * **#301** - pass thread-limit along to checkout (07e9081) - conversions from Rc to arc for Handle (c19331e) - proper handling of interruptions during checkout (7575a58) - add thread-count and chunk-size computation; interrupt capability (8cbe85d) - refactor (542f49b) - return proper errors during checkout object lookup (f9beac0) - more safety around recursion and invariants when resolving ref-deltas (dddb4a5) - elaborate odb info and simple entries printing (0f65282) - a first sketch of access odb information using a sub-command (89b628a) - sub-command to print multi-index entries (6c10e09) - pack multi-index info subcommand (21c2dd5) - bring back more detailed errors in case of keep-going (8198817) - use progress to print errors right when they happen (af03686) - detailed report about issues after checkout (613483b) - keep-going support on the command-line (73a7393) - add tree-info subcommand to more easily test actual tree-traversal performance (29fb0c8) - fix 'tree entries' performance by not decoding every object (53e79c8) - first basic tree visualization with --recursive and flat display (111400f) - frame for traversing tree entries (0e55fbb) - fix progress - there is no max value for bytes written (537e5aa) - allow writing empty files during checkout but also query the odb (5388d80) - support for repo to write actual objects (5494fb3) - basic version of index checkout via command-line (f23b8d2) * **#329** - in-manifest and in-lib documentation of feature toggles (aa3795d) - Document all features related to serde1 (72b97f2) * **#333** - Use git_features::path everywhere where there is a path conversion (2e1437c) - remove os-str-bytes everywhere (71a086a) - gitoxide-core without os-str-bytes (909aa14) * **#364** - add some precaution to avoid strange interactions with packs (b052a9a) - ein tool estimate-hours with shallow clone support (30b22a8) - simplify estimate-hours by just looking at the author signature (beb478f) - Adjust to breaking changes in `git-traverse` (d79b506) - Full error handling for CommitRefIter (b94471a) * **#366** - `ein tool estimate-hours` now supports mailmaps (def80df) - `gix repository mailmap entries` (d2388d8) - frame for printing mailmap entries using git-repository (2a01f47) - gix mailmap verify can now detect collisions (f89fe2f) - `gix mailmap verify` command (384ed66) - unstable mailmap module (e3bc1b4) * **#67** - --counting-threads flag to configure amount of threads when counting (0090961) - Avoid the dashmap being cloned for each thread (6d3f52d) * **Uncategorized** - Merge branch 'for-onefetch' (8e5cb65) - Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates (f0cbb24) - Merge branch 'svetli-n-refactor_git_config_tests' (babaa9f) - make fmt (7cf3545) - adapt to breaking changes in git-actor (40c48c3) - `ein find` with support for worktree checkouts (3f28e20) - `ein find --debug` to learn why it is slow (70109be) - thanks clippy (804d5f1) - thanks clippy (5db3993) - Release git-tempfile v2.0.0, safety bump 6 crates (90b1c42) - upgrade document-features (c35e62e) - Merge branch 'AP2008-implement-worktree' (f32c669) - Release git-hash v0.9.2, git-object v0.17.1, git-pack v0.16.1 (0db19b8) - Merge branch 'index-verification' (ad3c803) - Release git-config v0.1.11 (a605b67) - Merge branch 'index-information' (025f157) - thanks clippy (3aba4b4) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - thanks clippy (5a68d2f) - Merge branch 'use-midx-in-store' (338521b) - keep non "git" repository name extensions (d33795f) - thanks clippy (533a532) - Release git-chunk v0.2.0, safety bump 4 crates (b792fab) - Merge branch 'oknozor-feat/traversal-sort-by-committer-date' (6add377) - Fix pack/create (4d8de93) - Release git-features v0.18.0, git-actor v0.7.0, git-config v0.1.9, git-object v0.16.0, git-diff v0.12.0, git-traverse v0.11.0, git-pack v0.15.0, git-odb v0.25.0, git-packetline v0.12.2, git-transport v0.14.0, git-protocol v0.13.0, git-ref v0.10.0, git-repository v0.13.0, cargo-smart-release v0.7.0, safety bump 12 crates (acd3737) - Adjust changelogs prior to release (ec38950) - Merge branch 'git-loose-objects' of https://github.com/xmo-odoo/gitoxide into xmo-odoo-git-loose-objects (ee737cd) - Adjusting changelogs prior to release of git-config v0.1.8, git-object v0.15.1, git-diff v0.11.1, git-traverse v0.10.1, git-pack v0.14.0, git-odb v0.24.0, git-packetline v0.12.1, git-transport v0.13.1, git-protocol v0.12.1, git-ref v0.9.1, git-repository v0.12.0, cargo-smart-release v0.6.0, safety bump 5 crates (39b40c8) - Merge branch 'header-field-multi-improve' of https://github.com/xmo-odoo/gitoxide into xmo-odoo-header-field-multi-improve (d88e377) -
git-commitgraph-v0.7.0
ab08a7f0 · ·A maintenance release, triggered by putting too many adjustments into a single commit. ### Changed (BREAKING) - Change accessors named `hash_kind()` to `object_hash()` for consistency ### New Features - Add support for hashes of different size Even though right now, there is only Sha1, in future it's easy to support other hash sizes. ### Commit Statistics - 30 commits contributed to the release over the course of 125 calendar days. - 165 days passed between releases. - 2 commits where understood as [conventional](https://www.conventionalcommits.org). - 3 unique issues were worked on: #279, #293, #329 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 3 times to make code idiomatic. ### Commit Details * **#279** - Also consider the size of the fanout table as part of the min size (8190708) - use latest capabilities of `git-hash` (a489ac2) - cargo fmt (8b9da35) - Access pack-indices and pack-offsets of multi-pack indices (c2a6918) - adapt to changes in git-hash (5eb0230) - Change accessors named `hash_kind()` to `object_hash()` for consistency (2ef9a84) - adjust to changes in git-hash (9bf25cc) - Adjust to changes in git-hash and git-pack (0cae25b) - Add support for hashes of different size (265b8ec) - refactor (501b85b) - refactor (8c9c7fc) - Use `git-chunk` crate for all chunk-related operations (0cd7f3b) - First round of introducing git-chunk (51b991b) - Adapt to latest changes to git-chunk (743d696) * **#293** - remove byteorder dependency from git-commitgraph (c526811) - use memmap2 in git-commitgraph (0c946f5) * **#329** - Document all features related to serde1 (72b97f2) * **Uncategorized** - Merge branch 'for-onefetch' (8e5cb65) - Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates (f0cbb24) - Merge branch 'AP2008-implement-worktree' (f32c669) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - Release git-hash v0.9.2, git-object v0.17.1, git-pack v0.16.1 (0db19b8) - Merge branch 'index-information' (025f157) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - thanks clippy (53bd30f) - thanks clippy (6cc1bd1) - Release git-chunk v0.2.0, safety bump 4 crates (b792fab) - thanks clippy (7dd2313) - Release git-features v0.18.0, git-actor v0.7.0, git-config v0.1.9, git-object v0.16.0, git-diff v0.12.0, git-traverse v0.11.0, git-pack v0.15.0, git-odb v0.25.0, git-packetline v0.12.2, git-transport v0.14.0, git-protocol v0.13.0, git-ref v0.10.0, git-repository v0.13.0, cargo-smart-release v0.7.0, safety bump 12 crates (acd3737) - Adjust changelogs prior to release (ec38950) -
cargo-smart-release-v0.9.0
e58dc308 · ·A quality-of-life release which should make publishing of inter-dependent crates much more reliable. ### New Features - Wait for previously published crates explicitly to avoid running into publish failures due to the previously published crate not present even after 3 attempts. ### Bug Fixes - improve headline parsing for git-conventional messages. It is now case-insensitive, which prevents it from getting tripped up in some cases. - Don't pass judgement on usefulness of certain kinds of git-conventional messages. Previously we would intentionally avoid writing out information about refactors or chores as they are not deemed useful in a changelog. However, this can be confusing for anyone but the original author. We now write them as seen. Future iterations on this may consider adding more options to configure which sections should go into the changelog. ### Refactor (BREAKING) - <csr-id-bbc6efeceb26050973e1425e68a52e51b9df4572/> clarify different repository types much better ### Commit Statistics - 24 commits contributed to the release over the course of 69 calendar days. - 69 days passed between releases. - 4 commits where understood as [conventional](https://www.conventionalcommits.org). - 4 unique issues were worked on: #298, #317, #318, #364 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#298** - fix docs; consistent naming of 'repo' (1f79bc3) - adapt to changes in `git-repository' (16a1c36) - clarify different repository types much better (bbc6efe) - upgrade parking_lot and cargo_toml (f95c1a0) * **#317** - Fix broken link in README; clarify 'pre-release' (375cd12) - Fix broken link in README; clarify 'pre-release' (1e2fa21) - Disambiguate usage of pre-release in stability guide (498072e) * **#318** - Don't pass judgement on usefulness of certain kinds of git-conventional messages (1feb118) * **#364** - prepare smart-release changelog (bba56ea) - dial down log level for unparseable items again (2990f6b) - smart-release tries harder to wait for previously published packages (e175621) - consolidate naming of directories, use same convention as git2 (a7dbed1) * **Uncategorized** - Merge branch 'svetli-n-refactor_git_config_tests' (babaa9f) - thanks clippy (3079e11) - adapt to breaking changes in git-actor (40c48c3) - fix clap warnings (aa51e05) - Release git-tempfile v2.0.0, safety bump 6 crates (90b1c42) - adapt cargo-smart-release to changes in git-tempfile (46282ff) - Merge branch 'AP2008-implement-worktree' (f32c669) - improve headline parsing for git-conventional messages. (f9daba4) - highlight (non-fatal) errors when losslessly parsing changelogs (51d1c68) - Better not have items within items in changelogs (6946125) - upgrade dependencies (968df47) - Merge branch 'index-information' (025f157) -
git-repository-v0.15.0
e58dc308 · ·### New Features - support for object replacement The Repository now respects replacement refs created by `git replace` and picks up environment variables for its configuration as well. Which environment variables are used is fully configurable. - support for trimming of whitespace around name and email It's separated from parsing to assure we can round-trip, but it's made easy to obtain trimmed results using new methods. This high-level git-repository will also trim by default now. - `Repository::head_commit()` A shortcut to get to the commit much faster. - `ein tool estimate-hours` now supports mailmaps - `Repository::head_id()` A long-needed shortcut. - `gix repository mailmap entries` - unstable mailmap module - `Commit::short_id()` - in-manifest and in-lib documentation of feature toggles - `easy::Commit::time()` to access the committers time conveniently. - easy::Head::name() to learn about the name of the HEAD ref It's mainly for completeness to provide people with with a `FullNameRef` of HEAD. - `easy::Head::peel_to_commit_in_place()` It allows to quickly get a commit from the head, something most people want when getting started with any kind of tool. - `Repsitory::load_index()` This method makes the index of the default workspace available. ### Bug Fixes - Properly classify worktrees as non-bare, helps with `ein t find` They use git-files which point to the actual repository data. ### Changed (BREAKING) - Easier access to local and remote branches ### New Features (BREAKING) - `interrupt::Iter`, rename `interrupt::Iter` -> `interrupt::IterWithError` - Let 'easy::Object::try_into_…()` return `try_into::Error`. That way, the typical usage of `try_into_commit()?` will not result in a strange error about `Object` not being convertible into some error. We think having a real error there is the least surprising. ### Bug Fixes (BREAKING) - do not install signal handlers by default The previous behaviour is meant to be convenient for the casual user even though it ends up being surprising when used in applications that install their own signal handlers and need more control over how the program shuts down. This is now fixed by **requiring an explicit `setup()`** call before the first tempfile is created, which makes it a breaking change. ### Other (BREAKING) - `Id::prefix` -> `Id::shorten()` It's definitely more intuitive that way. ### Refactor (BREAKING) - disoolve 'easy' module by moving everything one level up - clarify different repository types much better ### Commit Statistics - 85 commits contributed to the release over the course of 68 calendar days. - 69 days passed between releases. - 21 commits where understood as [conventional](https://www.conventionalcommits.org). - 7 unique issues were worked on: #293, #298, #301, #329, #336, #364, #366 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 5 times to make code idiomatic. ### Commit Details * **#293** - `easy::Commit::time()` to access the committers time conveniently. (9f5663e) - easy::Head::name() to learn about the name of the HEAD ref (7c88b62) - fix build (d89a587) - `Repsitory::load_index()` (1c22d76) * **#298** - actual default hex-len for short-ids is 7, but… (36e004b) - quick sketch of how the retrieval of ints from config could look like (af6326f) - frame for simplified config access via Repository (eba2b9a) - fix docs; consistent naming of 'repo' (1f79bc3) - rename `sync::Handle` into `ThreadSafeRepository` (1cc4faa) - disoolve 'easy' module by moving everything one level up (c10f07c) - prepare for moving `git-repository::easy:: one level up (ccecb9a) - make config available in easy::Repository (fbdb1a2) - refactor (591b533) - refactor (a1a846a) - clarify different repository types much better (bbc6efe) - docs (a45f378) - First stab at Oid::prefix() (35e77c1) - `easy::Head::peel_to_commit_in_place()` (3b0913a) - Let 'easy::Object::try_into_…()` return `try_into::Error`. (813a3be) * **#301** - `interrupt::Iter`, rename `interrupt::Iter` -> `interrupt::IterWithError` (8945d95) - refactor (9ea1e44) - unset the pack cache if GITOXIDE_DISABLE_PACK_CACHE is set (6d8bc49) - frame for traversing tree entries (0e55fbb) - basic version of index checkout via command-line (f23b8d2) - support for unicode-precomposition for gix apps (e90c123) - `Commit::short_id()` (1be00cf) - verify that Id::prefix() makes use of the git configuration (76e9110) * **#329** - in-manifest and in-lib documentation of feature toggles (c7dff9e) - Document all features related to serde1 (72b97f2) * **#336** - do not install signal handlers by default (c863ea5) * **#364** - support for object replacement (1322dbf) - initialize replacements in a configurable way (6a27985) - add some precaution to avoid strange interactions with packs (b052a9a) - commit traversals on shallow clones are non-fatal by default (1a75357) - adapt to changes in git-ref (f606f88) - support for trimming of whitespace around name and email (a39bf71) - Add and improve Debug implementation on major types (d23c3d4) - also inform about average and max commit sizes (5052a4e) - Adjust to breaking changes in `git-traverse` (d79b506) - fix install_dir(); refactor (11644bd) - `Repository::head_commit()` (0057804) - `Repository::head_id()` (f0d8a49) - fix docs (29822c6) - `Id::prefix` -> `Id::shorten()` (5f75953) - refactor (b1b9871) - Easier access to local and remote branches (a8b6589) - Fix lifetime declarations to allow ancestors().all() chaining (df24f16) - consolidate naming of directories, use same convention as git2 (a7dbed1) - Full error handling for CommitRefIter (b94471a) - More speedy access to author/committer (6129607) - adjust to changes in git-actor (e5c0200) - cleaner API for detaching objects, now for commits as well (59d75fc) * **#366** - `ein tool estimate-hours` now supports mailmaps (def80df) - `gix repository mailmap entries` (d2388d8) - frame for printing mailmap entries using git-repository (2a01f47) - the first possibly working version of loading a mailmap with multiple sources (98d745e) - frame for `Repository::load_mailmap_into()` (c8c87ec) - unstable mailmap module (e3bc1b4) * **Uncategorized** - Merge branch 'for-onefetch' (8e5cb65) - Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates (f0cbb24) - Merge branch 'svetli-n-refactor_git_config_tests' (babaa9f) - make fmt (7cf3545) - Properly classify worktrees as non-bare, helps with `ein t find` (c329dd7) - fix MSRV (1bf5d11) - thanks clippy (8e2e4e3) - Merge branch 'short-id' (5849d5b) - Set the MSRV version explicitly in git-repository (bbf6799) - thanks clippy (4618f8a) - thanks clippy (5db3993) - remove unused dependency (2fbc93c) - thanks clippy (d5911b5) - Release git-tempfile v2.0.0, safety bump 6 crates (90b1c42) - upgrade document-features (c35e62e) - Merge branch 'AP2008-implement-worktree' (f32c669) - Release git-actor v0.8.1 (08fe550) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - fix lint (b339b41) - remove debug-helper (c243215) - Release git-hash v0.9.2, git-object v0.17.1, git-pack v0.16.1 (0db19b8) - Don't use bleeding edge features (3de0ab1) - reference statistics for stats example (83b99ce) - Merge branch 'index-verification' (ad3c803) - Release git-config v0.1.11 (a605b67) - thanks clippy (2f25bf1) - Merge branch 'index-information' (025f157) -
git-worktree-v0.1.0
e58dc308 · ·An initial release with the ability to checkout indices with simple files only. ### Commit Statistics - 95 commits contributed to the release over the course of 59 calendar days. - 84 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 6 unique issues were worked on: #298, #301, #331, #333, #364, #366 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 5 times to make code idiomatic. ### Commit Details * **#298** - Use hash_hasher based hash state for better keys/less collisions (814de07) * **#301** - refactor (f86eacc) - use io-close instead of close-file - works (279461b) - better error handling on close (a28c9b3) - try close_file crate and see tests fail for some reason (c7e1400) - more multi-threaded test stability (be5a19e) - avoid racyness in worktree tests (c8a1319) - stabilize assertions in parallel mode (21d6f88) - a reducer which produces progress reporting each time it feeds (e83079d) - call chunk processing in threaded processor (6bfd865) - conversions from Rc to arc for Handle (c19331e) - basic parallelization, without proper reducer, just so it compiles (5f29c0f) - decouple amount of bytes written from progress (9ecdade) - parallel and non-parallel tests (1cd7eb3) - switch index checkout to chunk-based operation (e5f6943) - proper handling of interruptions during checkout (7575a58) - add thread-count and chunk-size computation; interrupt capability (8cbe85d) - refactor (542f49b) - refactor (c3c31af) - fix windows test expecations for good (81bcb8d) - try to fix windows once again (ff95265) - some more debugging on windows (0c18443) - debug mode for windows (8f3bc5a) - See if we can remove symlinks this way on windows (0bc9489) - delete directories recursively on overwrite-existing (ea561e6) - better symlink checking on ubuntu (facad25) - overwrite-existing support with tests (49d1d34) - Fix dir-cache to properly handle its valiity which fixes test (52c0058) - delayed symlink creation for everyone, but… (ab5cd3d) - delayed symlink creation for windows, but… (77b053d) - prepare for first overwrite test… (cd6e086) - fix case-insensitive tests (ccd25cb) - Allow symlinks to dirs to be returned, too (d3d7a7c) - try to fix tests on linux (9f9d36d) - a stab at making file writes safer… (805c0da) - mior refactor and notes towards parallelization (99de1ef) - return proper errors during checkout object lookup (f9beac0) - switch worktree to thiserror (bacc654) - sub-command to print multi-index entries (6c10e09) - bring back more detailed errors in case of keep-going (8198817) - use progress to print errors right when they happen (af03686) - implement 'keep-going' for index checkout (ecebc55) - Support for forceful removal of symlinks or files during dir creation (749c310) - forbid symlinks and files in the path (de58f50) - avoid popping the entire cached path (a3501df) - basic impl of the dir cache which already avoids unnecessary allocations (cb36d56) - sketch out dir cache and realize that git uses chdir (f4621cc) - allow writing empty files during checkout but also query the odb (5388d80) - basic version of index checkout via command-line (f23b8d2) - basic progress reporting for checkout (039e822) - support for unicode-precomposition for gix apps (e90c123) - fix symlink creation on windows, hopefully (4b1650b) - gather more information about test failure on windows (be5e3fb) - hopefully fix symlink creation on windows (acb8acd) - refactor (48dc401) - also validate symlink collisions (322c316) - fix compile warnings (58145bc) - try to fix windows (5c1e727) - finally an understanding on collision checking (0454e4a) - Add check_stat and trust_ctime options to index checkout (1a502c7) - validate that colliding files are checked out (09fecd9) - support for executable bit check (267e3a7) - probe precompose unicode (0c1c006) - refactor (fc816bd) - determine filesystem case (f8e1de0) - basic test for filesystem probing (adbed12) - symlink probing (1bfbf1d) - make clear that we are currently only dealing with checkout during clone (178beb4) - refactor for checkout to use fs::Context (8914fcc) - document-features support for git-index and git-worktree (1367cf5) - Support for 'serde1' feature in git-worktree (f11929c) - sketch filesystem context, without probing for now (de3749e) - refactor (004394a) - restructure tests (831c429) - make fmt (636fa8a) - strucural refactor (cdca1df) - Allow mutation of entries during iteration, while obtaining their path (d0c4563) - refactor (72af261) * **#331** - Fix build (f6d9693) * **#333** - Use git_features::path everywhere where there is a path conversion (2e1437c) * **#364** - update changelogs prior to release (746a676) * **#366** - the first possibly working version of loading a mailmap with multiple sources (98d745e) * **Uncategorized** - Merge branch 'for-onefetch' (8e5cb65) - Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates (f0cbb24) - make fmt (7cf3545) - thanks clippy (07a4094) - thanks clippy (0e2a243) - thanks clippy (3229240) - thanks clippy (a8e9497) - thanks clippy (e04cba8) - Refactored code and tests (a4b880c) - Refactored tests (25a9dc1) - Reduce io calls (e838eaa) - Refactor errors and remove unwraps (eaee855) - Implemented git-worktree (4177d72)