Tags give the ability to mark specific points in history as being important
-
git-repository-v0.27.0
f0cab317 · ·### Changed (BREAKING) - Move `object::tree::diff::change::DiffPlatform` to `object::blob::diff::Platform`. - new `DiffPlatform::counts()`, open `DiffPlatform` for use of `git-diff::blob::*`. ### Commit Statistics - 8 commits contributed to the release. - 1 day passed between releases. - 2 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details * **Uncategorized** - prepare changelogs prior to release (f5f3a9e) - Merge branch 'fixes-for-crates-index-diff' (255be4d) - remove unused import; fix docs (efe0a51) - plan for more tests for line diffs (58934a4) - Fix borrowcheck issues by being less specific (aff6820) - a hunk based mechanism for line diffs is nearly there, just has lifetime issues (b1fc68f) - Move `object::tree::diff::change::DiffPlatform` to `object::blob::diff::Platform`. (c50868c) - new `DiffPlatform::counts()`, open `DiffPlatform` for use of `git-diff::blob::*`. (4ee3271) -
git-transport-v0.21.2
f0cab317 · ·### Fixes - enable clones from `kernel.org` via `https`. This failed as it wouldn't send the service announcement in protocol V2, which was thought to be mandatory at least when judging from `github.com`. ### Commit Statistics - 6 commits contributed to the release over the course of 1 calendar day. - 1 day passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **Uncategorized** - prepare changelogs prior to release (f5f3a9e) - fix build (910d665) - thanks clippy (0dc4c6f) - Move HTTP service checks up to the HTTP layer (blocking & async) (3046646) - Fix fixture to work with test setup. (cf9a53b) - fix error when no service annoucment is sent by the server (a1d876f) -
git-odb-v0.36.0
f0cab317 · ·A maintenance release without user-facing changes. ### Commit Statistics - 1 commit contributed to the release. - 1 day passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details * **Uncategorized** - prepare changelogs prior to release (f5f3a9e) -
git-pack-v0.26.0
f0cab317 · ·A maintenance release without user-facing changes. ### Commit Statistics - 2 commits contributed to the release over the course of 1 calendar day. - 1 day passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details * **Uncategorized** - prepare changelogs prior to release (f5f3a9e) - Fix spelling where -> were (57355c7) -
git-index-v0.7.1
f0cab317 · ·A maintenance release without user-facing changes. ### Commit Statistics - 3 commits contributed to the release. - 1 day passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details * **Uncategorized** - prepare changelogs prior to release (f5f3a9e) - Merge branch 'fixes-for-crates-index-diff' (255be4d) - remove unused import; fix docs (efe0a51) -
git-diff-v0.22.0
f0cab317 · ·### Changed (BREAKING) - re-export the `imara-diff` crate as `git_diff::blob::*`. It's flexible API needs nothing more and can be wrapped into more convenient APIs from higher-level crates. Note that despite being limited to `blob`, technically `imara-diff` can handle diffing any kind of sequence. - remove `text::with(…)` as it's not usable in practice. The only viable API for now, and not a bad one at that, is the one `imara-diff` provides. ### Commit Statistics - 6 commits contributed to the release. - 1 day passed between releases. - 2 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details * **Uncategorized** - prepare changelogs prior to release (f5f3a9e) - Merge branch 'fixes-for-crates-index-diff' (255be4d) - re-export the `imara-diff` crate as `git_diff::blob::*`. (16b5533) - remove `text::with(…)` as it's not usable in practice. (68a3365) - Show how the current API isn't actually working well (bd971e7) - refactor (395a590) -
cargo-smart-release-v0.14.0
a1c68da4 · ·### Bug Fixes - `where -> were` typo fix. ### Commit Statistics - 6 commits contributed to the release over the course of 27 calendar days. - 27 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #560 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#560** - `where -> were` typo fix. (0eca94d) * **Uncategorized** - Release git-features v0.23.1, git-glob v0.4.1, git-config-value v0.8.1, git-tempfile v2.0.6, git-object v0.22.1, git-ref v0.18.0, git-sec v0.4.2, git-config v0.10.0, git-prompt v0.1.1, git-url v0.10.1, git-credentials v0.6.1, git-diff v0.21.0, git-discover v0.7.0, git-index v0.7.0, git-pack v0.25.0, git-odb v0.35.0, git-transport v0.21.1, git-protocol v0.22.0, git-refspec v0.3.1, git-worktree v0.7.0, git-repository v0.26.0, git-commitgraph v0.10.0, gitoxide-core v0.19.0, gitoxide v0.17.0, safety bump 9 crates (d071583) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - thanks clippy (04cfa63) - Merge branch 'main' into gix-clone (3b48317) - adapt to changes in `git-repository` (3ad7581) -
v0.17.0
d071583c · ·### New Features - `gix remote ref-map --show-unmapped-remote-refs`. That way it's more obvious to see what was filtered out by ref-specs. It's also great to validate that server-side filtering via ref-prefix will not send refs that are referred to by symbolic refs that are not filtered out. That should be fine as it's all about objects, it's just something to deal with as we may have to deal with symbolic refs that aren't in the set of refs the server sent to us. - diff algorithm is controlled by git configuration `diff.algorithm` - `ein t hours` allows to specify the amount of worker threads. ### Bug Fixes - collect `stderr` and print it afterwards to avoid intersection with line progress. Previously it would happen that stderr would be printed directly and mix with the line progress (as in `-v`) which also prints to stderr. Now errors are collected and output at the end once the line renderer was already shutdown. ### Changed (BREAKING) - remote `lock_mode` from all methods dealing with reference edits. It is now read from `core.filesRefLockTimeout` accordingly. ### New Features (BREAKING) - remove `gix remote --url` in favor of determining the intention similar to `git fetch` ### Commit Statistics - 65 commits contributed to the release over the course of 47 calendar days. - 47 days passed between releases. - 6 commits were understood as [conventional](https://www.conventionalcommits.org). - 2 unique issues were worked on: #450, #536 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#450** - keep track of several branch related keys (443a75a) - `gix remote ref-map --show-unmapped-remote-refs`. (e973dfe) - update progress as we now respect `diff.algorithm` (30d32e7) - apply configuration overrides to newborn repo during clone (c8ef759) - collect `stderr` and print it afterwards to avoid intersection with line progress. (3a05328) - reduce verbosity of `clone` and print once entire clone is done (9a476df) - first rough sketch of `gix clone` (23a5e8b) - progress totals (planned, devitaion) (63947ae) - prepare attribute-group setup as far as possible. (f5e2eeb) - update usage of `core.checkState` (8b2aba1) - update progress based on filesystem config usage (de13c66) - inform about even more keys in `gix progress` (0e9bd41) - plan more core filesystem attributes (d10a82e) - update `init.defaultBranch` - now used by custom initialization. (4d6d7bb) - support for handshake information in `gix fetch` (c47dcc6) - fix build (d034882) - remove `gix remote --url` in favor of determining the intention similar to `git fetch` (92bbe33) - support for `--url` for arbitrary urls when fetching (8c7351c) - Frame for `gix fetch` (5b72d27) - update progress information to include packedRefsTimeout (fd18320) - remote `lock_mode` from all methods dealing with reference edits. (3a0fb1b) - add information about planned lock timeout support (from configuration) (7076891) - Add remotes.<group> as planned feature for remotes (3c188b2) - slightly nicer styling of config keys (eade88f) - complete listing of records based on current usage, probably (6abd5a4) - add more records (5c0d0ab) - Add tabled for nicer printing (65e6496) - refactor (b42b08a) - add support for more types of configurations (317e02a) - A very first version of `gix progress show` (92e082a) * **#536** - `ein t hours` allows to specify the amount of worker threads. (20259da) * **Uncategorized** - Merge branch 'write-sparse-index' (ba17db0) - plan `index.version` for when we can write V4 indices. (da96d34) - notes about the split-index extension. (ad44982) - take note of additional options for promisor packs and partial clone filters (1ec27f8) - make note of `extension.worktreeConfig` (fe1e646) - Merge branch 'main' into write-sparse-index (c4e6849) - add `init.templateDir` to `gix progress` (9fab050) - make fmt (ea2136b) - Merge branch 'gix-clone' (def53b3) - diff algorithm is controlled by git configuration `diff.algorithm` (b1edb9e) - Merge branch 'main' into gix-clone (fa27570) - Merge branch 'imra-diff' (f53f942) - adapt to changes in `git-diff` for a 2x speedup when calculating line changes (296f3b6) - update `gix progress` records (b05a2e7) - Merge branch 'main' into gix-clone (de4fe06) - Mark the upcoming usage of init.defaultBranch. (6225f35) - Merge branch 'fix-gix-index-from-tree' (da5f63c) - write index without output path to memory only. (c8d0345) - Merge branch 'gix-index-from-tree' (8c24386) - refactor (67f2247) - refactor (01ab5ca) - update with various configuration variables relevant to checking out worktrees (09d767a) - Merge branch 'clone' (507dc7e) - update usage of clone related configuration (1a1e862) - update progress with intended uses of `clone.` variables (8b804a3) - Merge branch 'main' into new-http-impl (702a161) - make fmt (53acf25) - Merge branch 'fetch-pack' (f47c891) - Merge branch 'fetch-pack' (3c49400) - update docs (c5c0ac5) - input id can now be a commit or tree as prefix or full object id (8ef3fcb) - thanks clippy (8dadd70) - Merge branch 'fix-odb-race' (b862fc5) - Merge branch 'diff' (25a7726) -
gitoxide-core-v0.19.0
d071583c · ·### New Features - `gix remote ref-map --show-unmapped-remote-refs`. That way it's more obvious to see what was filtered out by ref-specs. It's also great to validate that server-side filtering via ref-prefix will not send refs that are referred to by symbolic refs that are not filtered out. That should be fine as it's all about objects, it's just something to deal with as we may have to deal with symbolic refs that aren't in the set of refs the server sent to us. - `ein t hours` allows to specify the amount of worker threads. - `ein tool hours -l|f` ignores merge commits entirely. These need special treatment to count correctly, and are out of scope for now. ### Bug Fixes - collect `stderr` and print it afterwards to avoid intersection with line progress. Previously it would happen that stderr would be printed directly and mix with the line progress (as in `-v`) which also prints to stderr. Now errors are collected and output at the end once the line renderer was already shutdown. - `ein t organize` won't complain about file:// urls anymore, but skip them. - `ein tool hours -l` should now count lines correctly. - `ein tool hours` now properly calculates per-user lines of code. ### New Features (BREAKING) - remove `gix remote --url` in favor of determining the intention similar to `git fetch` ### Commit Statistics - 81 commits contributed to the release over the course of 47 calendar days. - 47 days passed between releases. - 8 commits were understood as [conventional](https://www.conventionalcommits.org). - 3 unique issues were worked on: #450, #536, #XXX ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details * **#450** - fix build (f5155e0) - refactor (4dd67db) - adapt to changes in `git-protocol` (f409e4a) - adapt to changes in `git-protocol` (64db0b2) - adjust to changes in `git-protocol` (ffefe88) - `gix remote ref-map --show-unmapped-remote-refs`. (e973dfe) - adjust to changes in `git-repository` (fc26e4c) - apply configuration overrides to newborn repo during clone (c8ef759) - collect `stderr` and print it afterwards to avoid intersection with line progress. (3a05328) - inform about conflicts after checking out a clone (91798ae) - avoid showing thread progress during clone-pack-resolution (056f4dd) - adjust to changes in `git-repository` (d2ebe34) - less noisy way of writing trait bounds (b593806) - fix async build (ae3ced2) - reduce verbosity of `clone` and print once entire clone is done (9a476df) - upgrade to `prodash` v21 (a0655dc) - Make it possible to ignore specs that don't match when iterating mappings. (bc991ff) - first rough sketch of `gix clone` (23a5e8b) - also inform about the location of the new pack and index files (d782ff0) - adjust fetch-progress range (6e2a237) - support for handshake information in `gix fetch` (c47dcc6) - first sketch of printing fetch results, but… (13ac9ba) - first basic printing of result when no change was found (cd1d2aa) - better error messages if no ref-specs are provided where needed (981488b) - fix journeytests (9c9df03) - fix build (d034882) - Fetch works, but needs more printing of information after the fact (57fab9a) - a sketch of how fetching could work, but it fails with the line-reader for some reason (ac17e11) - remove `gix remote --url` in favor of determining the intention similar to `git fetch` (92bbe33) - support for `--url` for arbitrary urls when fetching (8c7351c) - Frame for `gix fetch` (5b72d27) - adapt to changes in `git-pack` (474156f) - adapt to changes in `git-pack` (d5254c2) - fix build (d1cb6cc) - Allow to turn remote-filtering off. (38373bc) * **#536** - `ein t hours` allows to specify the amount of worker threads. (20259da) * **#XXX** - `ein tool hours -l` should now count lines correctly. (69ef31f) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (c4e6849) - make fmt (ea2136b) - Merge branch 'gix-clone' (def53b3) - fix build and docs (971fe0c) - Merge branch 'main' into gix-clone (fa27570) - Merge branch 'imra-diff' (f53f942) - adapt to changes in `git-diff` for a 2x speedup when calculating line changes (296f3b6) - Merge branch 'main' into gix-clone (de4fe06) - Merge branch 'fix-gix-index-from-tree' (da5f63c) - write index without output path to memory only. (c8d0345) - thanks clippy (59dfc7e) - Use `git::File::write*` methods to write the index (3efc6dc) - adjust to changes in `git-index` (fc65db0) - adjust to changes in `git-index` (fa6bcde) - adjust to changes in `git-index` (b77a390) - adjust to changes in `git-index` (dab3a45) - thanks clippy (6be3207) - Merge branch 'gix-index-from-tree' (8c24386) - Auto-tree conversion in `index from-tree` (bae4589) - refactor (67f2247) - refactor (01ab5ca) - Release git-hash v0.9.11, git-features v0.23.0, git-actor v0.13.0, git-attributes v0.5.0, git-object v0.22.0, git-ref v0.17.0, git-sec v0.4.1, git-config v0.9.0, git-url v0.10.0, git-credentials v0.6.0, git-diff v0.20.0, git-discover v0.6.0, git-traverse v0.18.0, git-index v0.6.0, git-mailmap v0.5.0, git-pack v0.24.0, git-odb v0.34.0, git-packetline v0.13.1, git-transport v0.21.0, git-protocol v0.21.0, git-revision v0.6.0, git-refspec v0.3.0, git-worktree v0.6.0, git-repository v0.25.0, safety bump 24 crates (104d922) - Merge branch 'clone' (507dc7e) - fix build (314b5e0) - Merge branch 'main' into new-http-impl (702a161) - Merge branch 'crates-index-diff-fixes' (b09bad7) - adapt to changes in `git-pack` (4edaec8) - make fmt (53acf25) - Merge branch 'fetch-pack' (f47c891) - Merge branch 'fetch-pack' (3c49400) - refactor… (f9f5f6a) - input id can now be a commit or tree as prefix or full object id (8ef3fcb) - print information about filtered ref-specs as well. (8b6ecb2) - Properly compute progress range of stat commits by considering skipped merges (2637587) - don't account for main thread which won't be busy quickly. (5f4215f) - Merge branch 'fix-odb-race' (b862fc5) - Merge branch 'main' into fix-odb-race (30712dc) - `ein tool hours -l|f` ignores merge commits entirely. (23f8402) - `ein t organize` won't complain about file:// urls anymore, but skip them. (05387a6) - refactor (17b0462) - Also inform about files/lines remaining (bd76cbd) - `ein tool hours` now properly calculates per-user lines of code. (4feca8e) - Merge branch 'diff' (25a7726) -
git-commitgraph-v0.10.0
d071583c · ·A maintenance release without user-facing changes. ### Commit Statistics - 4 commits contributed to the release over the course of 47 calendar days. - 47 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details * **Uncategorized** - prepare changelogs prior to release (423af90) - Release git-hash v0.9.11, git-features v0.23.0, git-actor v0.13.0, git-attributes v0.5.0, git-object v0.22.0, git-ref v0.17.0, git-sec v0.4.1, git-config v0.9.0, git-url v0.10.0, git-credentials v0.6.0, git-diff v0.20.0, git-discover v0.6.0, git-traverse v0.18.0, git-index v0.6.0, git-mailmap v0.5.0, git-pack v0.24.0, git-odb v0.34.0, git-packetline v0.13.1, git-transport v0.21.0, git-protocol v0.21.0, git-revision v0.6.0, git-refspec v0.3.0, git-worktree v0.6.0, git-repository v0.25.0, safety bump 24 crates (104d922) - Merge branch 'fix-git-features' (82fd251) - Merge branch 'diff' (25a7726) -
git-repository-v0.26.0
d071583c · ·### New Features - diff algorithm is controlled by git configuration `diff.algorithm` - Query of `core.logAllRefUpdates` is now fallible. This is the same behaviour as shown by `git`, which requires valid values or aborts. - automatically handle `.keep` files after writing a pack bundle to disk. The logic implemented here tries to do the right thing, that is when we have reason to believe that the objects in the pack are linked up with a ref, we delete the keep file automatically. However, if there was no local ref edit as the ref specs didn't contain local destinations, or if the pack was empty, then keep the .keep file and leave it to the caller to handle. - Use `core.askpass` when building the credential helper. Previously it would only consider the environment variable, which can still override the provided git-configuration at core.askpass . - `remote::fetch::Prepare::handshake_outcome()` to obtain server information right after listing refs. - `open::Options::config_overrides()` for early configuration; support for `init.defaultBranch`. ### Bug Fixes - don't allow non-bare repositories to be initialized into non-empty directories. - `init_bare()` now creates the destination directory if it doesn't exist. - build correct path for `$HOME/.config/…` files. The special per-user `ignore` and `attributes` files can also be defaulted if some environment variables are set and may be accessed. Previously the default for `$HOME` was incorrect, as it was missing the intermediate `.config/` directory. This is now present to build paths exactly like git. - ref-map filtering now uses correct prefixes. Previously specs could get filtered out server-side as a matching prefix was entirely missing. ### Changed (BREAKING) - `Repository::branch_remote_name()` returns `reference::remote::Name`. That way it's made clear the remote can also be a URL, while rejecting illformed UTF8. The latter isn't valid for remote names anyway as these only support a very limited character set. Note that this error currently is degenerated, making it appear if the remote name doesn't exists if illformed UTF-8 is found in what appears to be a symbolic ref. - be specific about the kind of `diff::Error`, moving it to `diff::for_each::Error`. ### New Features (BREAKING) - `Tree::lookup_entry*()` returns attached `Entry` type. That way chaining gets even easier. ### Bug Fixes (BREAKING) - `create::into(…)` takes `create::Kind` to determine if it's bare or not. First of all, `bare` is not an option anymore, but a parameter as it can't be defaulted. Other public signatures change as well to accomodate for it. ### Other (BREAKING) - <csr-id-c6f92c15529ddff7539667b74bafa2348f3040e3/> `DiffPlatform::text()` to `*::lines()`. This is more specific as one could also do character changes in a single line, and it adapts the signature to the new `imra-diff` powered mechanism, for a 2x speed boost. ### Commit Statistics - 113 commits contributed to the release over the course of 27 calendar days. - 27 days passed between releases. - 15 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 12 times to make code idiomatic. ### Commit Details * **#450** - make last test work to allow us to clone properly (3890f1a) - initail implementation of writing branch tracking information (e2a5714) - adapt to changes in `git-protocol` (d61eb2c) - Don't deviate by creating strange reflogs (with null-source & null-destination) (f1b5570) - Support unborn remotes and pick up their default branch name. (619fd61) - adapt to changes in `git-protocol` (179ccd7) - prepare test for handling the 'unborn' lsrefs extension (547e450) - fix: support for proper identification of '.' remote paths in `reference::remote::Name` (b219033) - `Repository::branch_remote_name()` returns `reference::remote::Name`. (449ff06) - failing test for us setting up remote information after cloning (07efbce) - update docs (c788b51) - refactor (7bd5263) - definitely write all non-symbolic refs into packed-refs (b62d5b4) - auto-pack references when creating them during clone (a9a621e) - refactor (728f688) - use `tempfile` via `git-testools` (2c9edff) - failing test to show we don't pack refs yet (58cc01a) - sort out last test-case to assure setting symbolic refs is safe (d06900d) - adjust to changes in `git-ref` (669249a) - assure that inital refs are placed into the correct spot (3e4c0cb) - and show that we don't manage to write the reflog for some reason (a70a6aa) - the first successful test showing that we can write symbolic refs (2330305) - figure out more details on how to handle symbolic refs just enough (86a18bd) - finally figure out how symbolic ref updates should work (376829a) - first step towards supporting writing of symbolic refs locally (61cd430) - failing test to check for presence of remote HEAD (2f649e9) - thanks clippy (767fb7b) - Use correct diff algorithm when diffing text (6fe93c2) - refactor (71c6a20) - be specific about the kind of `diff::Error`, moving it to `diff::for_each::Error`. (71f15fc) - initial support for obtaining the `diff.algorithm` lazily (f362ab2) - refactor (af0c28d) - proper reflog entries for all other updated refs during cloning (ff4412e) - show that HEAD's referent also has the correct reflog (c25cb00) - the first test to prove that HEAD reflogs are correct (1e7fd4e) - canonicalize URL right away for it to manifest in the changelog (3cfe13d) - Query of `core.logAllRefUpdates` is now fallible. (072f5bc) - Fully reload in-memory configuration after configuration changes… (bc5b4e7) - allow to re-read the logallrefupdates config after overrides (ff06de4) - re-apply overrides more correctly after clone, however… (372e9d4) - validate that the remote HEAD branch overrides local init.defaultBranch settings (1c3dd3a) - assure stored file urls are absolute (5d7a055) - make it possible to clone empty remote repositories (e97eeda) - refactor (d29bb62) - test for cloning empty repositories (0aa97fe) - checkout returns index checkout result (2ef8d53) - avoid showing thread progress during clone-pack-resolution (056f4dd) - `create::into(…)` takes `create::Kind` to determine if it's bare or not. (2bece79) - less noisy way of writing trait bounds (b593806) - upgrade to `prodash` v21 (a0655dc) - don't allow non-bare repositories to be initialized into non-empty directories. (f869b22) - assure the reflog settings aren't permanently overidden during init/fetch (bc5e3e4) - Make it possible to ignore specs that don't match when iterating mappings. (bc991ff) - `init_bare()` now creates the destination directory if it doesn't exist. (91baefa) - first rough sketch of `gix clone` (23a5e8b) - the first working checkout as per simple simple test (9ce28ac) - finally perform actual checkout, but test fails without clear reason (3821b4f) - prepare attribute-group setup as far as possible. (f5e2eeb) - build correct path for `$HOME/.config/…` files. (5c11b84) - sketch access to the attributes file, realize that there is an issue to be fixed first (0081e2f) - refactor (28de9df) - read core.checkstat to configure the checkout as well (05a666c) - refactor (2f1c9dc) - don't be lenient towards paths that can't be interpolated in case of excludes file (3df7788) - collect all filesystem attributes affecting checkout (91b360f) - prepare to move checkout_options into `config` (e731757) - Use `core.askpass` when building the credential helper. (8b9fbd4) - obtain worker count from configuration; prep for more options (d947d8b) - write index from root tree and get ready for checkout (485a252) - prepare checkout, but needs to be able to create an index from a tree (e462bd5) - also update the HEAD reference after a fetch (e561021) - ref-map filtering now uses correct prefixes. (275e80f) - prepare for handling the server object-format correctly. (54c91eb) - a sketch to check and update the object format upon cloning. (ebfd7d6) - refactor (36c5ca9) - `remote::fetch::Prepare::handshake_outcome()` to obtain server information right after listing refs. (a9d1449) - refactor (992522a) - `open::Options::config_overrides()` for early configuration; support for `init.defaultBranch`. (0b5c53e) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - fix tests on windows (f2a8a45) - thanks clippy (04cfa63) - Merge branch 'main' into write-sparse-index (c4e6849) - make fmt (ea2136b) - Merge branch 'gix-clone' (def53b3) - thanks clippy (3495c56) - fix build and docs (971fe0c) - diff algorithm is controlled by git configuration `diff.algorithm` (b1edb9e) - Merge branch 'main' into gix-clone (fa27570) - Merge branch 'imra-diff' (f53f942) - fix docs (7d5fb3c) - thanks clippy (24254a4) - `DiffPlatform::text()` to `*::lines()`. (c6f92c1) - thanks clippy (d2f56df) - Merge branch 'main' into gix-clone (3b48317) - thanks clippy (93e7691) - automatically handle `.keep` files after writing a pack bundle to disk. (2eaf69e) - thanks clippy (6f8356c) - thanks clippy (700cc2d) - thanks clippy (73b6ec0) - thanks clippy (f22bdc0) - Merge branch 'main' into gix-clone (de4fe06) - thanks clippy (6ac6580) - thanks clippy (c6e7663) - Mark the upcoming usage of init.defaultBranch. (6225f35) - realize that we don't know hot to set HEAD correctly just yet (11d636c) - Merge branch 'fix-gix-index-from-tree' (da5f63c) - adjust to changes in `git-index` (fa6bcde) - fix docs (34b3e03) - sketch of method to checkout the main worktree (a88d5a3) - finish sketch of `fetch_and_checkout()` (e39a9d5) - sketch checkout API and refactor (9145a32) - `Tree::lookup_entry*()` returns attached `Entry` type. (7413a28) -
git-worktree-v0.7.0
d071583c · ·A maintenance release without user-facing changes. ### Commit Statistics - 11 commits contributed to the release over the course of 25 calendar days. - 27 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#450** - make it possible to clone empty remote repositories (e97eeda) - refactor (dd3b336) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - thanks clippy (04cfa63) - Merge branch 'main' into write-sparse-index (c4e6849) - Merge branch 'gix-clone' (def53b3) - improved working of docs (1ef704e) - Merge branch 'main' into gix-clone (de4fe06) - Merge branch 'fix-gix-index-from-tree' (da5f63c) - fix build (bb81abe) -
git-refspec-v0.3.1
d071583c · ·### New Features - add `RefSpecRef::expand_prefix()` method to avoid missing prefixes. The current implementation might cause refspecs to end up ignored as they don't have a prefix, and in protocol V2 it would then fail to add a ref-spec filter which causes them to be missed. With `expand_prefix()`, we assure that there are all possible prefixes that can contain partial names, similar to what git does. ### Bug Fixes - `HEAD` may now return itself as prefix in `RefSpecRef::prefix()` and `expanded_prefix()`. Previously, the expanded prefix would be a list of possibilities, even though it's such a common case that we really want to avoid spamming the remote about it when asking for HEAD during clone for instance. ### Commit Statistics - 11 commits contributed to the release over the course of 24 calendar days. - 27 days passed between releases. - 2 commits were understood as [conventional](https://www.conventionalcommits.org). - 2 unique issues were worked on: #450, #571 ### Commit Details * **#450** - improve docs for `Instruction` (911f68f) - `HEAD` may now return itself as prefix in `RefSpecRef::prefix()` and `expanded_prefix()`. (d53ddcd) - fix docs (9d0f31e) - add `RefSpecRef::expand_prefix()` method to avoid missing prefixes. (21b21b6) * **#571** - refactor (ef7467c) - assure sub-branches can be matched correctly (c9383c6) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (c4e6849) - Merge branch 'gix-clone' (def53b3) - Merge branch 'main' into gix-clone (91bf67a) - Merge branch 'fix-571' (2514334) -
git-protocol-v0.22.0
d071583c · ·### Changed (BREAKING) - `fetch::Ref::unpack()` returns `Option<oid>`. That way the caller has to be aware of the possibility of an unborn branch (probably the only unborn branch) on the remote. ### New Features (BREAKING) - Support for `unborn` ls-refs capability if server supports it. We can also parse it, adding yet another variant to `fetch::Refs`. ### Commit Statistics - 12 commits contributed to the release over the course of 23 calendar days. - 27 days passed between releases. - 2 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details * **#450** - don't degenerate information about the unborn fetch ref's path. (42c977f) - `fetch::Ref::unpack()` returns `Option<oid>`. (cd867ad) - Support for `unborn` ls-refs capability if server supports it. (02e37f0) - less noisy way of writing trait bounds (b593806) - upgrade to `prodash` v21 (a0655dc) - improve docs slightly (306ebef) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - thanks clippy (04cfa63) - Merge branch 'main' into write-sparse-index (c4e6849) - Merge branch 'gix-clone' (def53b3) - thanks clippy (bc9c780) -
git-transport-v0.21.1
d071583c · ·### Bug Fixes - Allow `client::connect()` to function with `http-client-reqwest` enabled. - `client::Capabilities` lifetimes now point to `'a` instead of `'self`. This generally makes returned values longer, and as long as one would expect. ### Commit Statistics - 25 commits contributed to the release over the course of 24 calendar days. - 27 days passed between releases. - 2 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Commit Details * **#450** - `client::Capabilities` lifetimes now point to `'a` instead of `'self`. (4b5d6df) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'git_protocol_host' (d13c590) - Avoid invalid invocations of `git` by removing `GIT_CONFIG_COUNT` (aa315b4) - fix connections over the git:// protocol not specifying the host (8f985d4) - Merge branch 'main' into write-sparse-index (c4e6849) - make fmt (ea2136b) - Merge branch 'gix-clone' (def53b3) - Merge branch 'main' into gix-clone (fa27570) - Merge branch 'main' into write-sparse-index (70963f5) - Merge branch 'paulyoung/reqwest-body' (c9c1658) - Merge branch 'main' into gix-clone (64f81d7) - Ensure body can be read before configure_request (9065a88) - Merge branch 'paulyoung/reqwest-configuration' (93f2dd8) - turn unwrap into an explicit expectation (57d9078) - Allow `configure_request` to return an error as well. (f5e14c3) - remove unused field (8a0a5d6) - Configure Request instead of ClientBuilder (0885e6e) - Resolve issues with configure function (9124583) - Sketch out configuring a reqwest client builder (74573df) - Merge branch 'main' into gix-clone (de4fe06) - Allow `client::connect()` to function with `http-client-reqwest` enabled. (375051f) - refactor (d3c6ae1) - fix formatting (a962eb5) - Fix "http not compiled in" w/ http-client-reqwest (dff418d) -
git-odb-v0.35.0
d071583c · ·A maintenance release without user-facing changes. ### Commit Statistics - 4 commits contributed to the release over the course of 2 calendar days. - 27 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - thanks clippy (04cfa63) - adjust memory-size expectations to deal with Rust 1.65 and below (a93c470) -
git-pack-v0.25.0
d071583c · ·### New Features - `Bundle::write…` also produces a `.keep` file These files are placed before moving the coresponding pack and index files into place to prevent them from being picked up for collection while their refs are still being placed. The caller is responsible for deleting them once refs integrate the contained objects into the commit graph. ### Commit Statistics - 8 commits contributed to the release over the course of 20 calendar days. - 27 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#450** - less noisy way of writing trait bounds (b593806) - upgrade to `prodash` v21 (a0655dc) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (c4e6849) - Merge branch 'gix-clone' (def53b3) - Merge branch 'main' into gix-clone (3b48317) - thanks clippy (93e7691) - `Bundle::write…` also produces a `.keep` file (450257e) -
git-index-v0.7.0
d071583c · ·### New Features - Clnoe for `File` - `decode::Options::default_from_object_hash()` An easier way to initialize decode options, providing only the mandatory information. - `File::write()` for secure and complete writing of index files. ### Other - <csr-id-4a6d46f3ab3d15eb851c92f7e49eb6772bc4023b/> sketch out how a write implementation could work ### Changed (BREAKING) - `write::Options::object_hash` is now implied by the `State` itself. The `State`, once initialized, knows the kind of object hash it uses and there is no need to specify it again. This affects some method signatures which now work without `object_hash`. - `decode::Options::object_hash` is now a parameter to methods. It's not actually an option that could be defaulted, but an integral piece of knowledge that must always be defined by the caller. This also makes `decode::Options::default()` available once again. - seal `File` members to preserve consistency better. This also makes sure that it's obvious if the `checksum` is actually already computed. ### Reverted (BREAKING) - `decode::Options::default()` - remove `Default` impl. The contained `git_hash::Kind` can't actually be defaulted as we have to know the actual kind used in the repository. - remove `write::Options::default()`. In practice it's required to inform about the hash kind to use and it's possibly incorrect to assume Sha1. ### Commit Statistics - 46 commits contributed to the release over the course of 26 calendar days. - 27 days passed between releases. - 9 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 4 times to make code idiomatic. ### Commit Details * **#450** - Clnoe for `File` (458e1bc) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'write-sparse-index' (ba17db0) - thanks clippy (49b539b) - Remove tests and scaffolding code that probably won't be implemented soon. (177d1c8) - refactor (0a74625) - Act like git and write a sparse index even if it contains no dir entries anymore. (53af48c) - bake knowledge about sparse related config parameters into types. (e61957e) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - thanks clippy (04cfa63) - Merge branch 'main' into write-sparse-index (c4e6849) - make fmt (ea2136b) - Merge branch 'gix-clone' (def53b3) - add and use `checked_is_sparse()` instead of cached `is_sparse` flag (e41ad0f) - refactor (3683963) - thanks clippy (646b868) - added fixture, adjusted tests, refactor (3173c0b) - Make clear in code that mandatory extensions will always be written… (3e37443) - respect the current 'is_sparse()` state when writing. (2012b27) - refactor (a929bcf) - thanks clippy (5bfd947) - sketch out how a write implementation could work (4a6d46f) - regenerated archive (cd1c752) - updated docs (77a9d42) - added first tests and implementation for writing the `sdir` extension (66a675f) - capability to write `sdir`extension (762e4cb) - added tests for reading sparse indexes (ddaa003) - add temporary sparse index playground testfile (5589a7f) - add sparse index text fixtures (8a8a53e) - add `is_sparse` access method for `State` (7f012cf) - Merge branch 'main' into gix-clone (de4fe06) - Merge branch 'fix-gix-index-from-tree' (da5f63c) - `write::Options::object_hash` is now implied by the `State` itself. (59f6791) - `decode::Options::object_hash` is now a parameter to methods. (908163a) - `decode::Options::default_from_object_hash()` (9e03110) - refactor (6fb3255) - seal `File` members to preserve consistency better. (92dda50) - `decode::Options::default()` - remove `Default` impl. (bd312ac) - fix tests (fc5cee1) - assure we also write V3 files, validate auto-version discovery (abc3cf8) - loose fixtures are usable more easily now (b86012b) - remove `write::Options::default()`. (2da5a62) - `File::write()` for secure and complete writing of index files. (eedcffa) - prepare test for writing a complete index file from arbitrary state (281f5b8) - Merge branch 'gix-index-from-tree' (8c24386) - refactor (08d5c0b) -
git-discover-v0.7.0
d071583c · ·A maintenance release without user-facing changes. ### Commit Statistics - 3 commits contributed to the release over the course of 2 calendar days. - 27 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - thanks clippy (04cfa63) -
git-diff-v0.21.0
d071583c · ·### Changed (BREAKING) - replace `similar` with `imara-diff`. The latter clearly has a more complex call signature, but that also makes it far more powerful which will pay off with better performance. ### Other (BREAKING) - <csr-id-fed47d45b7e39958921a230b485b5b0384c8672f/> rename `lines` module to `text`. Thanks to `imara-diff`, diffs can easily abstract over different kinds of tokens, at the expense of a much more complex call signature. ### Commit Statistics - 10 commits contributed to the release over the course of 9 calendar days. - 27 days passed between releases. - 2 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - Adapt in-memory size check to Rust 1.65 and below (1919e8e) - Merge branch 'main' into write-sparse-index (c4e6849) - Merge branch 'gix-clone' (def53b3) - adjust docs (381924c) - Merge branch 'main' into gix-clone (fa27570) - Merge branch 'imra-diff' (f53f942) - rename `lines` module to `text`. (fed47d4) - replace `similar` with `imara-diff`. (ee26ddf)