Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.38.0 (2023-10-12)
A maintenance release without user-facing changes.
Commit Statistics
- 3 commits contributed to the release over the course of 6 calendar days.
- 17 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
0.37.0 (2023-09-24)
A maintenance release without user-facing changes.
Commit Statistics
- 2 commits contributed to the release.
- 16 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-features v0.35.0, gix-actor v0.27.0, gix-object v0.37.0, gix-glob v0.13.0, gix-attributes v0.19.0, gix-filter v0.5.0, gix-fs v0.7.0, gix-commitgraph v0.21.0, gix-revwalk v0.8.0, gix-traverse v0.33.0, gix-worktree-stream v0.5.0, gix-archive v0.5.0, gix-tempfile v10.0.0, gix-lock v10.0.0, gix-ref v0.37.0, gix-config v0.30.0, gix-url v0.24.0, gix-credentials v0.20.0, gix-diff v0.36.0, gix-discover v0.25.0, gix-ignore v0.8.0, gix-index v0.25.0, gix-mailmap v0.19.0, gix-negotiate v0.8.0, gix-pack v0.43.0, gix-odb v0.53.0, gix-pathspec v0.3.0, gix-transport v0.37.0, gix-protocol v0.40.0, gix-revision v0.22.0, gix-refspec v0.18.0, gix-status v0.1.0, gix-submodule v0.4.0, gix-worktree v0.26.0, gix-worktree-state v0.3.0, gix v0.54.0, gitoxide-core v0.32.0, gitoxide v0.30.0, safety bump 37 crates (
7891fb1
) - Prepare changelogs prior to release (
8a60d5b
)
0.36.0 (2023-09-08)
Bug Fixes (BREAKING)
- use
dyn
trait where possible. This reduces compile time due to avoiding duplication.
Commit Statistics
- 7 commits contributed to the release over the course of 17 calendar days.
- 17 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-date v0.8.0, gix-hash v0.13.0, gix-features v0.34.0, gix-actor v0.26.0, gix-object v0.36.0, gix-path v0.10.0, gix-glob v0.12.0, gix-attributes v0.18.0, gix-packetline-blocking v0.16.6, gix-filter v0.4.0, gix-fs v0.6.0, gix-commitgraph v0.20.0, gix-hashtable v0.4.0, gix-revwalk v0.7.0, gix-traverse v0.32.0, gix-worktree-stream v0.4.0, gix-archive v0.4.0, gix-config-value v0.14.0, gix-tempfile v9.0.0, gix-lock v9.0.0, gix-ref v0.36.0, gix-sec v0.10.0, gix-config v0.29.0, gix-prompt v0.7.0, gix-url v0.23.0, gix-credentials v0.19.0, gix-diff v0.35.0, gix-discover v0.24.0, gix-ignore v0.7.0, gix-index v0.24.0, gix-macros v0.1.0, gix-mailmap v0.18.0, gix-negotiate v0.7.0, gix-pack v0.42.0, gix-odb v0.52.0, gix-pathspec v0.2.0, gix-packetline v0.16.6, gix-transport v0.36.0, gix-protocol v0.39.0, gix-revision v0.21.0, gix-refspec v0.17.0, gix-submodule v0.3.0, gix-worktree v0.25.0, gix-worktree-state v0.2.0, gix v0.53.0, safety bump 39 crates (
8bd0456
) - Prepare changelogs for release (
375db06
) - Merge branch
dyn
ification (f658fcc
) - Use
dyn
trait where possible. (072ee32
) - Merge branch ‘adjustments-for-cargo’ (
b7560a2
) - Release gix-date v0.7.4, gix-index v0.23.0, safety bump 5 crates (
3be2b1c
) - Merge branch ‘gix-submodule’ (
363ee77
)
0.35.0 (2023-08-22)
Chore
- switch
nom
to winnow
in remaining uses in gix-object
, gix-ref
, and gix-actor
for ~20% more performance. It's likely that over time, these parsers will get even faster due to improvements to winnow
. Thanks, Ed Page, for single-handedly performing this transition.
Commit Statistics
- 21 commits contributed to the release over the course of 4 calendar days.
- 15 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-date v0.7.3, gix-hash v0.12.0, gix-features v0.33.0, gix-actor v0.25.0, gix-object v0.35.0, gix-path v0.9.0, gix-glob v0.11.0, gix-quote v0.4.7, gix-attributes v0.17.0, gix-command v0.2.9, gix-packetline-blocking v0.16.5, gix-filter v0.3.0, gix-fs v0.5.0, gix-commitgraph v0.19.0, gix-hashtable v0.3.0, gix-revwalk v0.6.0, gix-traverse v0.31.0, gix-worktree-stream v0.3.0, gix-archive v0.3.0, gix-config-value v0.13.0, gix-tempfile v8.0.0, gix-lock v8.0.0, gix-ref v0.35.0, gix-sec v0.9.0, gix-config v0.28.0, gix-prompt v0.6.0, gix-url v0.22.0, gix-credentials v0.18.0, gix-diff v0.34.0, gix-discover v0.23.0, gix-ignore v0.6.0, gix-bitmap v0.2.7, gix-index v0.22.0, gix-mailmap v0.17.0, gix-negotiate v0.6.0, gix-pack v0.41.0, gix-odb v0.51.0, gix-pathspec v0.1.0, gix-packetline v0.16.5, gix-transport v0.35.0, gix-protocol v0.38.0, gix-revision v0.20.0, gix-refspec v0.16.0, gix-submodule v0.2.0, gix-worktree v0.24.0, gix-worktree-state v0.1.0, gix v0.52.0, gitoxide-core v0.31.0, gitoxide v0.29.0, safety bump 41 crates (
30b2761
) - Update changelogs prior to release (
f23ea88
) - Merge branch ‘gix-submodule’ (
8f3f358
) - Cleanup gix-ref-tests (
e0c64fd
) - Just fmt (
0d258f4
) - Switch
nom
to winnow
in remaining uses in gix-object
, gix-ref
, and gix-actor
for ~20% more performance. (ef54aab
) - Upgrade
winnow
to latest patch release (8c41848
) - Switch errors to StrContext (
df226dd
) - Show more error details in parse tests failures (
266864f
) - Upgrade to Winnow 0.5 (
3f8c91f
) - Simplify parsers (
12f03db
) - Simplify LineRef parser (
2fb4a54
) - Resolve 0.4 not-quite deprecations (
f0cbf81
) - Resolve 0.4 deprecations (
9ed7df0
) - Upgrade to Winnow 0.4 (
86ea47f
) - Parse explicitly in prep for 0.4 (
b3f0418
) - Resolve remaining winnow 0.3 deprecations (
fee441d
) - Prefer Parser inherent parsers (
b37a909
) - Prefer built-in Winnow parsers (
ac0e81c
) - Simplify winnow ErrMode construction (
86d7fd1
) - Switch gix to winnow 0.3 (
ee75de1
)
0.34.0 (2023-08-07)
A maintenance release without user-facing changes.
Commit Statistics
- 6 commits contributed to the release over the course of 3 calendar days.
- 4 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-glob v0.10.2, gix-date v0.7.2, gix-validate v0.8.0, gix-object v0.34.0, gix-ref v0.34.0, gix-config v0.27.0, gix-commitgraph v0.18.2, gix-revwalk v0.5.0, gix-revision v0.19.0, gix-refspec v0.15.0, gix-submodule v0.1.0, safety bump 18 crates (
4604f83
) - Prepare changelogs prior to release of
gix-submodule
(f3c4311
) - Merge branch ‘submodules’ (
b629f8a
) - Adjust to changes in
gix-validate
(a8bc0de
) - Merge branch ‘dev-on-linux’ (
6b4a303
) - Fix various tests to run properly on linux (
ef8ccd9
)
0.33.3 (2023-08-02)
Other
- improve documentation about the
Change
type. Further, we update internal logic to decide when to write a reflog for symrefs. Now we will always do it when possible, i.e. there is object ids available.
Commit Statistics
- 5 commits contributed to the release over the course of 2 calendar days.
- 9 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-actor v0.24.2, gix-object v0.33.2, gix-ref v0.33.3, gix-config v0.26.2, gix-prompt v0.5.5, gix-odb v0.50.2, gix-transport v0.34.2, gix-protocol v0.37.0, gix-worktree v0.23.1, gix v0.51.0, safety bump 3 crates (
231ac1c
) - Prepare additional changelogs (
db63815
) - Prepare changelogs (
e4d2890
) - Merge branch ‘fixes-and-improvements’ (
f8b1f55
) - Improve documentation about the
Change
type. (5f6cf22
)
0.33.2 (2023-07-24)
A maintenance release without user-facing changes.
Commit Statistics
- 4 commits contributed to the release.
- 1 day passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-archive v0.2.1, gix-ref v0.33.2, gix-pack v0.40.2, gix v0.50.1 (
13883e5
) - Prepare changelogs (
735c206
) - Merge branch ‘fetch-head-tests’ (
eb2b513
) - Add tests specifically for
FETCH_HEAD
(bdeb1f7
)
0.33.1 (2023-07-22)
A maintenance release without user-facing changes.
Commit Statistics
- 6 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-tempfile v7.0.2, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.1, gix-sec v0.8.4, gix-prompt v0.5.4, gix-url v0.21.1, gix-credentials v0.17.1, gix-diff v0.33.1, gix-discover v0.22.1, gix-ignore v0.5.1, gix-bitmap v0.2.6, gix-index v0.21.1, gix-mailmap v0.16.1, gix-negotiate v0.5.1, gix-pack v0.40.1, gix-odb v0.50.1, gix-packetline v0.16.4, gix-transport v0.34.1, gix-protocol v0.36.1, gix-revision v0.18.1, gix-refspec v0.14.1, gix-worktree v0.23.0, gix v0.50.0 (
107a64e
) - Release gix-features v0.32.1, gix-actor v0.24.1, gix-validate v0.7.7, gix-object v0.33.1, gix-path v0.8.4, gix-glob v0.10.1, gix-quote v0.4.6, gix-attributes v0.16.0, gix-command v0.2.8, gix-packetline-blocking v0.16.4, gix-filter v0.2.0, gix-fs v0.4.1, gix-chunk v0.4.4, gix-commitgraph v0.18.1, gix-hashtable v0.2.4, gix-revwalk v0.4.1, gix-traverse v0.30.1, gix-worktree-stream v0.2.0, gix-archive v0.2.0, gix-config-value v0.12.5, gix-tempfile v7.0.1, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.1, gix-sec v0.8.4, gix-prompt v0.5.4, gix-url v0.21.1, gix-credentials v0.17.1, gix-diff v0.33.1, gix-discover v0.22.1, gix-ignore v0.5.1, gix-bitmap v0.2.6, gix-index v0.21.1, gix-mailmap v0.16.1, gix-negotiate v0.5.1, gix-pack v0.40.1, gix-odb v0.50.1, gix-packetline v0.16.4, gix-transport v0.34.1, gix-protocol v0.36.1, gix-revision v0.18.1, gix-refspec v0.14.1, gix-worktree v0.23.0, gix v0.50.0, safety bump 5 crates (
16295b5
) - Prepare more changelogs (
c4cc5f2
) - Release gix-date v0.7.1, gix-hash v0.11.4, gix-trace v0.1.3, gix-features v0.32.0, gix-actor v0.24.0, gix-validate v0.7.7, gix-object v0.33.0, gix-path v0.8.4, gix-glob v0.10.0, gix-quote v0.4.6, gix-attributes v0.15.0, gix-command v0.2.7, gix-packetline-blocking v0.16.3, gix-filter v0.1.0, gix-fs v0.4.0, gix-chunk v0.4.4, gix-commitgraph v0.18.0, gix-hashtable v0.2.4, gix-revwalk v0.4.0, gix-traverse v0.30.0, gix-worktree-stream v0.2.0, gix-archive v0.2.0, gix-config-value v0.12.4, gix-tempfile v7.0.1, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.0, gix-sec v0.8.4, gix-prompt v0.5.3, gix-url v0.21.0, gix-credentials v0.17.0, gix-diff v0.33.0, gix-discover v0.22.0, gix-ignore v0.5.0, gix-bitmap v0.2.6, gix-index v0.21.0, gix-mailmap v0.16.0, gix-negotiate v0.5.0, gix-pack v0.40.0, gix-odb v0.50.0, gix-packetline v0.16.4, gix-transport v0.34.0, gix-protocol v0.36.0, gix-revision v0.18.0, gix-refspec v0.14.0, gix-worktree v0.22.0, gix v0.49.1 (
5cb3589
) - Update changelogs prior to release (
2fc66b5
) - Update license field following SPDX 2.1 license expression standard (
9064ea3
)
0.33.0 (2023-07-19)
A maintenance release without user-facing changes.
Commit Statistics
- 3 commits contributed to the release.
- 19 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-features v0.32.0, gix-actor v0.24.0, gix-glob v0.10.0, gix-attributes v0.15.0, gix-commitgraph v0.18.0, gix-config-value v0.12.4, gix-fs v0.4.0, gix-object v0.33.0, gix-ref v0.33.0, gix-config v0.26.0, gix-command v0.2.7, gix-url v0.21.0, gix-credentials v0.17.0, gix-diff v0.33.0, gix-discover v0.22.0, gix-filter v0.1.0, gix-ignore v0.5.0, gix-revwalk v0.4.0, gix-traverse v0.30.0, gix-index v0.21.0, gix-mailmap v0.16.0, gix-negotiate v0.5.0, gix-pack v0.40.0, gix-odb v0.50.0, gix-transport v0.34.0, gix-protocol v0.36.0, gix-revision v0.18.0, gix-refspec v0.14.0, gix-worktree v0.22.0, gix v0.49.0 (
68ae3ff
) - Adjust package versions (by cargo-smart-release) (
c70e54f
) - Prepare changelogs prior to release (
e4dded0
)
0.32.1 (2023-06-29)
A maintenance release without user-facing changes.
Commit Statistics
- 3 commits contributed to the release.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-glob v0.9.1, gix-attributes v0.14.1, gix-config-value v0.12.3, gix-ref v0.32.1, gix-sec v0.8.3, gix-config v0.25.1, gix-url v0.20.1, gix-credentials v0.16.1, gix-discover v0.21.1, gix-ignore v0.4.1, gix-pack v0.39.1, gix-odb v0.49.1, gix-worktree v0.21.1, gix v0.48.0 (
69c6a36
) - Prepare changelogs prior to release (
c143cf4
) - Align usage of
gix-path
across all crates (73c1292
)
0.32.0 (2023-06-29)
A maintenance release without user-facing changes.
Commit Statistics
- 3 commits contributed to the release over the course of 6 calendar days.
- 6 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-date v0.7.0, gix-trace v0.1.2, gix-actor v0.23.0, gix-commitgraph v0.17.1, gix-utils v0.1.4, gix-object v0.32.0, gix-ref v0.32.0, gix-config v0.25.0, gix-diff v0.32.0, gix-discover v0.21.0, gix-hashtable v0.2.3, gix-revwalk v0.3.0, gix-traverse v0.29.0, gix-index v0.20.0, gix-mailmap v0.15.0, gix-negotiate v0.4.0, gix-pack v0.39.0, gix-odb v0.49.0, gix-protocol v0.35.0, gix-revision v0.17.0, gix-refspec v0.13.0, gix-worktree v0.21.0, gix v0.48.0, safety bump 20 crates (
27e8c18
) - Prepare changelogs prior to release (
00f96fb
) - Upgrade memmap2 and fastrand dependencies (
6fc7497
)
0.31.0 (2023-06-22)
Chore
- Add
clippy::redundant-closure-for-method-calls
lint
Commit Statistics
- 9 commits contributed to the release over the course of 11 calendar days.
- 15 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-date v0.6.0, gix-hash v0.11.3, gix-trace v0.1.1, gix-features v0.31.0, gix-actor v0.22.0, gix-path v0.8.2, gix-glob v0.9.0, gix-quote v0.4.5, gix-attributes v0.14.0, gix-chunk v0.4.3, gix-commitgraph v0.17.0, gix-config-value v0.12.2, gix-fs v0.3.0, gix-tempfile v7.0.0, gix-utils v0.1.3, gix-lock v7.0.0, gix-validate v0.7.6, gix-object v0.31.0, gix-ref v0.31.0, gix-sec v0.8.2, gix-config v0.24.0, gix-command v0.2.6, gix-prompt v0.5.2, gix-url v0.20.0, gix-credentials v0.16.0, gix-diff v0.31.0, gix-discover v0.20.0, gix-hashtable v0.2.2, gix-ignore v0.4.0, gix-bitmap v0.2.5, gix-revwalk v0.2.0, gix-traverse v0.28.0, gix-index v0.19.0, gix-mailmap v0.14.0, gix-negotiate v0.3.0, gix-pack v0.38.0, gix-odb v0.48.0, gix-packetline v0.16.3, gix-transport v0.33.0, gix-protocol v0.34.0, gix-revision v0.16.0, gix-refspec v0.12.0, gix-worktree v0.20.0, gix v0.47.0, gitoxide-core v0.29.0, gitoxide v0.27.0, safety bump 30 crates (
ea9f942
) - Prepare changelogs prior to release (
18b0a37
) - Merge branch ‘corpus’ (
aa16c8c
) - Change MSRV to 1.65 (
4f635fc
) - Merge branch ‘help-874-redundant-closures’ (
fe59956
) - Add
clippy::redundant-closure-for-method-calls
lint (bcad5c2
) - Merge branch ‘future-dates’ (
8d2e6a9
) - Adapt to changes in
gix-actor
(4a80e86
) - Adapt to changes in
gix-date
(d575336
)
0.30.0 (2023-06-06)
A maintenance release without user-facing changes.
Commit Statistics
- 15 commits contributed to the release over the course of 25 calendar days.
- 38 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-date v0.5.1, gix-hash v0.11.2, gix-features v0.30.0, gix-actor v0.21.0, gix-path v0.8.1, gix-glob v0.8.0, gix-quote v0.4.4, gix-attributes v0.13.0, gix-chunk v0.4.2, gix-commitgraph v0.16.0, gix-config-value v0.12.1, gix-fs v0.2.0, gix-tempfile v6.0.0, gix-utils v0.1.2, gix-lock v6.0.0, gix-validate v0.7.5, gix-object v0.30.0, gix-ref v0.30.0, gix-sec v0.8.1, gix-config v0.23.0, gix-command v0.2.5, gix-prompt v0.5.1, gix-url v0.19.0, gix-credentials v0.15.0, gix-diff v0.30.0, gix-discover v0.19.0, gix-hashtable v0.2.1, gix-ignore v0.3.0, gix-bitmap v0.2.4, gix-traverse v0.26.0, gix-index v0.17.0, gix-mailmap v0.13.0, gix-revision v0.15.0, gix-negotiate v0.2.0, gix-pack v0.36.0, gix-odb v0.46.0, gix-packetline v0.16.2, gix-transport v0.32.0, gix-protocol v0.33.0, gix-refspec v0.11.0, gix-worktree v0.18.0, gix v0.45.0, safety bump 29 crates (
9a9fa96
) - Prepare changelogs prior to release (
8f15cec
) - Merge pull request #878 from blinxen/main (
67da689
) - Include missing changelog file in some crates (
0269eed
) - Merge branch ‘fix-docs’ (
420553a
) - Minor fixes (
89a8cfe
) - Cleaning up documentation (
2578e57
) - Merge branch ‘auto-clippy’ (
dbf8aa1
) - Autofix map-or-unwrap clippy lint (and manual fix what was left) (
2087032
) - Merge branch ‘main’ into auto-clippy (
3ef5c90
) - Auto-fix clippy to remove explicit iter looping (
3eff567
) - Merge branch ‘blinxen/main’ (
9375cd7
) - Include custom clippy settings (
b057500
) - Include license files in all crates (
facaaf6
) - Release gix-object v0.29.2 (
4f879bf
)
0.29.1 (2023-04-29)
Bug Fixes
- symbolic refs are now written with a newline. #(836) This should help some tools to work correctly.
Commit Statistics
- 2 commits contributed to the release.
- 1 day passed between releases.
- 1 commit was understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-ref v0.29.1 (
13e01f5
) - Symbolic refs are now written with a newline. #(836) (
79cc248
)
0.29.0 (2023-04-27)
A maintenance release without user-facing changes.
Commit Statistics
- 3 commits contributed to the release.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-path v0.8.0, gix-glob v0.7.0, gix-attributes v0.12.0, gix-config-value v0.12.0, gix-ref v0.29.0, gix-sec v0.8.0, gix-config v0.22.0, gix-prompt v0.5.0, gix-url v0.18.0, gix-credentials v0.14.0, gix-discover v0.18.0, gix-ignore v0.2.0, gix-pack v0.35.0, gix-odb v0.45.0, gix-transport v0.31.0, gix-protocol v0.32.0, gix-refspec v0.10.1, gix-worktree v0.17.0, gix v0.44.1 (
7ebc9f7
) - Prepare changelogs prior to release (
0135158
) - Bump gix-path v0.8.0, safety bump 20 crates (gix set to 0.44.1 manually) (
43ebaf2
)
0.28.0 (2023-04-26)
Bug Fixes
- speed up finding references by avoiding double-lookup. Previously it would try to find
<root>/HEAD
twice due to a logic issue. - avoid unnecessary check for
remotes/HEAD
if we are looking for HEAD
. This is because we already looked for that in the previous loop, and HEAD/HEAD
makes no sense as this case is made for things like origin
as partial name.
New Features (BREAKING)
Rename serde1
cargo feature to serde
and use the weak-deps cargo capability. With it it's possible to not automatically declare all optional dependencies externally visible features, and thus re-use feature names that oterwise are also a crate name.
Previously I thought that serde1
is for future-proofing and supporting multiple serde versions at the same time. However, it‘s most definitely a burden I wouldn’t want anyway, so using serde
seems to be the way to go into the future.
remove types that are now available in gix-os
Commit Statistics
- 16 commits contributed to the release over the course of 14 calendar days.
- 29 days passed between releases.
- 4 commits were understood as conventional.
- 1 unique issue was worked on: #814
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
- #814
- Rename
serde1
cargo feature to serde
and use the weak-deps cargo capability. (b83ee36
)
- Uncategorized
- Release gix-hash v0.11.1, gix-path v0.7.4, gix-glob v0.6.0, gix-attributes v0.11.0, gix-config-value v0.11.0, gix-fs v0.1.1, gix-tempfile v5.0.3, gix-utils v0.1.1, gix-lock v5.0.1, gix-object v0.29.1, gix-ref v0.28.0, gix-sec v0.7.0, gix-config v0.21.0, gix-prompt v0.4.0, gix-url v0.17.0, gix-credentials v0.13.0, gix-diff v0.29.0, gix-discover v0.17.0, gix-hashtable v0.2.0, gix-ignore v0.1.0, gix-bitmap v0.2.3, gix-traverse v0.25.0, gix-index v0.16.0, gix-mailmap v0.12.0, gix-pack v0.34.0, gix-odb v0.44.0, gix-packetline v0.16.0, gix-transport v0.30.0, gix-protocol v0.31.0, gix-revision v0.13.0, gix-refspec v0.10.0, gix-worktree v0.16.0, gix v0.44.0, safety bump 7 crates (
91134a1
) - Prepare changelogs prior to release (
30a1a71
) - Merge branch ‘faster-discovery’ (
282a1a3
) - Speed up finding references by avoiding double-lookup. (
3e93141
) - Avoid unnecessary check for
remotes/HEAD
if we are looking for HEAD
. (0c79bdf
) - Merge branch ‘fix-823’ (
6ebd61e
) - Thanks clippy (
14e64e7
) - Release gix-utils v0.1.0, gix-hash v0.11.0, gix-date v0.5.0, gix-features v0.29.0, gix-actor v0.20.0, gix-object v0.29.0, gix-archive v0.1.0, gix-fs v0.1.0, safety bump 25 crates (
8dbd0a6
) - Merge branch ‘main’ into dev (
cdef398
) - Rename the serde1 feature to serde (
19338d9
) - Create new
gix-fs
crate to consolidate all filesystem utilities (f8cc33c
) - Merge branch ‘main’ into dev (
23ee47f
) - Merge branch ‘worktree-stack’ (
3d47919
) - Remove types that are now available in
gix-os
(b645d28
) - Release gix-hash v0.10.4, gix-hashtable v0.1.3 (
b574a39
)
0.27.2 (2023-03-28)
Bug Fixes
uncategorized refs should not be per-worktree When creating a new ref from using a Repository instantiated from a linked worktree, if the ref did not fit one of the well-known categories, it would be incorrectly stored as a per-worktree reference instead of a shared reference.
For example, the reference “refs/stacks/linked” does not fit any of the well known categories. According to git-worktree(1), this ref should be shared across all worktrees; i.e. located at $GIT_COMMON_DIR/refs/stacks/linked and not in $GIT_COMMON_DIR/worktrees/linked/refs/stacks/linked.
This change tweaks the control flow so that uncategorized refs correctly fallback to being relative to commondir while still placing refs that are supposed to be per-worktree in the per-worktree location.
Commit Statistics
- 5 commits contributed to the release.
- 13 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
- Uncategorized
- Release gix-ref v0.27.2 (
e965b18
) - Thanks clippy (
fa98a92
) - Merge branch ‘fix-worktree-shared-refs’ (
9531b11
) - Add more tests to validate uncategorized refs in the context of worktrees (
de66453
) - Uncategorized refs should not be per-worktree (
3d6832c
)
0.27.1 (2023-03-14)
A maintenance release without any user-facing changes.
Commit Statistics
- 4 commits contributed to the release over the course of 3 calendar days.
- 3 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-features v0.28.1, gix-tempfile v5.0.1, gix-ref v0.27.1, gix-pack v0.33.1, gix-packetline v0.15.0, gix-transport v0.29.0, gix-protocol v0.30.0, gix v0.42.0, safety bump 3 crates (
c1f1bfb
) - Prepare changelogs prior to release (
c66e298
) - Merge branch ‘shallow-protocol’ (
531dd19
) - Merge branch ‘fix-cred-helper’ (
01277a6
)
0.27.0 (2023-03-10)
A maintenance release without user-facing changes.
Bug Fixes
- implement
Clone
for PartialName
. Also improve documentation for FullName*
and PartialName*
types.
Commit Statistics
- 3 commits contributed to the release.
- 6 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-tempfile v5.0.0, gix-lock v5.0.0, gix-ref v0.27.0, gix-config v0.19.0, gix-url v0.16.0, gix-credentials v0.12.0, gix-discover v0.16.0, gix-index v0.15.0, gix-pack v0.33.0, gix-odb v0.43.0, gix-transport v0.28.0, gix-protocol v0.29.0, gix-worktree v0.15.0, gix v0.41.0, safety bump 12 crates (
29a0870
) - Prepare changelogs prior to release (
e06f5f5
) - Implement
Clone
for PartialName
. (8e8c71b
)
0.26.0 (2023-03-04)
A maintenance release without user-facing changes.
Commit Statistics
- 3 commits contributed to the release.
- 3 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-attributes v0.10.0, gix-ref v0.26.0, gix-config v0.18.0, gix-url v0.15.0, gix-credentials v0.11.0, gix-discover v0.15.0, gix-index v0.14.0, gix-mailmap v0.11.0, gix-odb v0.42.0, gix-transport v0.27.0, gix-protocol v0.28.0, gix-revision v0.12.0, gix-refspec v0.9.0, gix-worktree v0.14.0, gix v0.39.0 (
93e75fe
) - Prepare changelogs prior to release (
895e482
) - Release gix-features v0.28.0, gix-actor v0.19.0, gix-object v0.28.0, gix-diff v0.28.0, gix-traverse v0.24.0, gix-pack v0.32.0, safety bump 20 crates (
0f411e9
)
0.25.0 (2023-03-01)
A maintenance release without user-facing changes.
Commit Statistics
- 8 commits contributed to the release over the course of 2 calendar days.
- 8 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-tempfile v4.1.0, gix-lock v4.0.0, gix-ref v0.25.0, gix-config v0.17.0, gix-url v0.14.0, gix-credentials v0.10.0, gix-diff v0.27.0, gix-discover v0.14.0, gix-hashtable v0.1.2, gix-bitmap v0.2.2, gix-traverse v0.23.0, gix-index v0.13.0, gix-mailmap v0.10.0, gix-pack v0.31.0, gix-odb v0.41.0, gix-transport v0.26.0, gix-protocol v0.27.0, gix-revision v0.11.0, gix-refspec v0.8.0, gix-worktree v0.13.0, gix v0.38.0, safety bump 6 crates (
ea9fd1d
) - Release gix-features v0.27.0, gix-actor v0.18.0, gix-quote v0.4.3, gix-attributes v0.9.0, gix-object v0.27.0, gix-ref v0.25.0, gix-config v0.17.0, gix-url v0.14.0, gix-credentials v0.10.0, gix-diff v0.27.0, gix-discover v0.14.0, gix-hashtable v0.1.2, gix-bitmap v0.2.2, gix-traverse v0.23.0, gix-index v0.13.0, gix-mailmap v0.10.0, gix-pack v0.31.0, gix-odb v0.41.0, gix-transport v0.26.0, gix-protocol v0.27.0, gix-revision v0.11.0, gix-refspec v0.8.0, gix-worktree v0.13.0, gix v0.38.0 (
e6cc618
) - Remove versions from dev-dependencies to workspace crates. (
3cfbf89
) - Adjust manifests prior to release (
addd789
) - Prepare changelogs prior to release (
94c99c7
) - Merge branch ‘adjustments-for-cargo’ (
d686d94
) - Adapt to changes in
gix-tempfile
(bfcd1e3
) - Prepare for git-tempfile release (
56c005b
)
0.24.1 (2023-02-20)
Bug Fixes
note that crates have been renamed from git-*
to gix-*
. This also means that the git-*
prefixed crates of the gitoxide
project are effectively unmaintained. Use the crates with the gix-*
prefix instead.
If you were using git-repository
, then gix
is its substitute.
compatibility with bstr
v1.3, use *.as_bytes()
instead of .as_ref()
. as_ref()
relies on a known target type which isn‘t always present. However, once there is only one implementation, that’s no problem, but when that changes compilation fails due to ambiguity.
Commit Statistics
- 2 commits contributed to the release.
- 3 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like ‘(#ID)’ were seen in commit messages
Commit Details
- Uncategorized
- Release gix-date v0.4.3, gix-hash v0.10.3, gix-features v0.26.5, gix-actor v0.17.2, gix-glob v0.5.5, gix-path v0.7.2, gix-quote v0.4.2, gix-attributes v0.8.3, gix-validate v0.7.3, gix-object v0.26.2, gix-ref v0.24.1, gix-config v0.16.2, gix-command v0.2.4, gix-url v0.13.3, gix-credentials v0.9.2, gix-discover v0.13.1, gix-index v0.12.4, gix-mailmap v0.9.3, gix-pack v0.30.3, gix-packetline v0.14.3, gix-transport v0.25.6, gix-protocol v0.26.4, gix-revision v0.10.4, gix-refspec v0.7.3, gix-worktree v0.12.3, gix v0.36.1 (
9604783
) - Compatibility with
bstr
v1.3, use *.as_bytes()
instead of .as_ref()
. (135d317
)
0.24.0 (2023-02-17)
Refactor (BREAKING)
- 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.
-
file::Store::base
is now file::Store::base()
and read-only That way, file databases can‘t be repositioned anymore, it’s recommended to recreate it if that's desired.
Other (BREAKING)
- remove
Target::must_exist()
It was a remainder of an old API which since has been replaced with a more explicit approach. - Reference::logs() -> Reference::log_iter() The latter now returns a standard Platform to iterate over all reflog entries from oldest to newest or vice versa.
New Features (BREAKING)
upgrade edition to 2021 in most crates. MSRV for this is 1.56, and we are now at 1.60 so should be compatible. This isn‘t more than a patch release as it should break nobody who is adhering to the MSRV, but let’s be careful and mark it breaking.
Note that git-features
and git-pack
are still on edition 2018 as they make use of a workaround to support (safe) mutable access to non-overlapping entries in a slice which doesn't work anymore in edition 2021.
Turn FullNameRef
into an actual reference type. That way Cow<'_, FullNameRef>
works as expected.
Chore (BREAKING)
- replace
quick-error
with thiserror
Changed (BREAKING)
file::Transaction::prepare()
now takes two git_lock::acquisition::Fail
instances. This allows to configure the file-ref lock failure mode differently from the packed-refs lock failure mode, which is exactly what git
does as well defaulting them to 100ms and 1000ms till lock acquisition gives up.
Target(Ref)?::try_name()
now returns Option<&FullNameRef>
. That way, the name is actually directly usable in most methods that require a validated name as input.
Transaction::commit(…)
takes git-actor::SignatureRef
instead of …::Signature
. This makes the API more versatile and corrects a shortcoming that was caused by SignatureRef
previously being unable to serialize itself.
remove FullName::to_ref()
in favor of •::as_ref()
. This became possible now that FullNameRef
is a proper ref, not just ref-like.
rename PartialNameRef
to PartialNameCow
Because this is what it is, which also implies that it's not Copy
anymore which a Ref
would definitely be.
The reason we need this to be a Cow
is to support passing ownership.
remove Store
from public API It is unclear if ref-tables, which are the reason for it to exist in the first place, will fit into the concept as they might not support worktrees. It's entirely unclear how this works.
Maybe there can be a non-worktree version of the store with work-trees only being supported by the file based ref database, and ref-tables remaining a server-side feature.
rename file::Store::base()
to git_dir()
. That way it is clearer what it actually is especially in presence of the newly added file::Store::common_dir()
method.
That way, work-trees can eventually be properly supported.
Target::as_(id|name)
-> Target::try_(id|name)
Conform to naming conventions, whenever something returns an option or Result while there is a more direct name that panics, prefix try_
.
Required object_hash
as parameter when instantiating any Store This is needed to choose the correct kind of object hash in a couple of situations, and future-proofs it for when ref-table arrives.
rename file::Store::packed_buffer()
to …::open_packed_buffer()
This makes much clearer what it actually does, as previously it might have been a stored packed buffer as well.
file::Store::from(PathBuf) removed At this low level, it‘s important to be clear about RefLogs and rather force the caller to specify the ref-log mode. Technically it depends on a few factors, git-repository
deals with them, but certainly shouldn’t default to anything without being clear.
Reference log line access
file::Store::iter() is now a platform, with .all()
and .prefixed(…)
respectively This way, it's possible to keep shared ownership of the packed buffer while allowing the exact same iterator machinery to work as before.
file::ReferenceExt::follow(…) now without packed refs parameter
file::ReferenceExt::peel_to_id_in_place(…)
now without packed-refs buffer It is instead read from the internally synchronized buffer, shared across all instances.
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.
move git_ref::file::WriteRefLog
to git_ref::store::WriteRefLog
Other
add panicking Target::id()
and TargetRef::id()
loose reference iteration with non-dir prefixes… Previously it was expected for the prefix Path
to always exist for the prefix to be valid. This, however, is not similar to packed prefixes, which allow non-dir prefixes as well.
Now we will check if the prefix is actually a directory, and if not split it into its parent directory and the filename portion. The latter is then used for prefix matching file names within that directory.
improve changelog format
Bug Fixes
assure symrefs don‘t get deleted when moving refs to packed-refs. Previously it was possible for symbolic refs to be deleted right after they have been created or updated as they were included in the set of refs that was assumed to be part of packed-refs, which isn’t the case for symbolic refs.
case-insentively conflicting references can be created even on case-insensitie filesystems*. The asterisk indicates that this only works if packed-refs are present and these references are written straight to packed references without ever trying to handle the otherwise conflicting loose reference files.
This is done by leveraging the fact that in presence of packed-refs or a pending creation of packed-refs, there is no need to create per-file locks as concurrent transactions also have to obtain the packed-refs lock and fail (or wait) until it's done.
instead of erroring if loose iteration is performed on missing base, correctly yield zero references. Previously it reported an error, now it does not and instead performs no iteration, which is more helpful to the user of the API I believe as they won't randomly fail just because somebody deleted the refs
folder.
loose ref iteration on a repo with missing ‘ref/’ fails when creating the iterator. Previously, it would fail on first iteration, making it seem like there is one reference even though it's just an error stating that the base cannot be read.
This is clearly worse than making a metadata check on the filesystem, no matter how unlikely the case.
allow symref updates to receive reflogs if these are new… …and well-known on top of that, that means having an exact expectation on what should be present.
This allows symrefs to be created with reflog.
always update modification date when packed refs are forcefully reloaded. The latter happens right after the file was written, which means we definitely have to update our modification date or else the buffer will be read again next time somebody asks for an up-to-date version.
The ordering of operations is such that at worst, the buffer is loaded again instead of keeping an outdated version of it, which would happen if the metadata is read afterwards.
support Rust 1.52
New Features
-
file::Transaction::rollback()
allows to explicitly roll back a pending change. As opposed to dropping the Transaction, this method allows to obtain all edits that would have been applied. - higher performance for edits which would write the same value. Instead of moving them into place, we just drop them, without ever writing into them.
-
transaction::Change::new_value()
to get easy access to new values of references. That's more convenient than matching on the enum. -
FullName::try_from(&BString)
for convenience. Sometimes when matching one only has a &BString
, and it‘s hard to convert it to &BStr
without an extra line of code, it’s cumbersome, so we workaround by adding another conversion. - Add
Reference::delete()
for simple reference deletion - use docsrs feature in code to show what is feature-gated automatically on docs.rs
- pass --cfg docsrs when compiling for https://docs.rs
- Add
store::WriteRefLog::Always
to unconditionally write reflogs. - Allow
Reference
to be serialized/deserialized with serde
. - ref iteration for worktrees. It merges the iteration result of private worktree refs along with all shared common references references.
-
Category::LinkedRef
With it one can access all refs as advertised. -
Category::MainRef
With it it will be possible to compute all paths correctly and actually perform certain operations as documented. -
Category::(WorktreePrivate|Bisect|Rewritten)
-
Category::LinkedPseudoRef
- Add
Category::MainPseudoRef
-
Category::PseudoRef
- add
FullName(Ref)::category_and_shortname()
It's a combination of shorten()
and category()
for convenience. -
Fullname(Ref)::category()
and Category
A way to classify references. - FullName(Ref)::strip_prefix() Get a short-hand for any reference name.
- Add
git_config::values::Path
for a typesafe git path Add a Path
type to the git_config::values
which can be interpolated according to gits own path interpolation rules. - Display implementation for
FullName
. - FullNameRef::file_name()
- Add file::Store::find_packed(…, buffer) This makes the API complete as now there is a methods that uses the internal buffer, or the provided one, where both can have its benefits.
- add Reference::peel_to_id_in_place_packed() and Reference::follow_packed() This allows a stable/non-changing buffer to be used.
- Add
file::Store::iter_(prefixed_)packed()
These methods allow using an own packed buffer, usually obtained through cached_packed_buffer()
. - add
file::Store::cached_packed_buffer()
for packed refs snapshots - add file::Store::try_find_packed(…, packed_buffer) That way, abstractions can still be built that have other ways of managing the packed-refs buffer, allowing it to stay more persistent.
- PartialNameRef<'static>::join() for building paths on the fly
- Allow
PartialNameRef
to be created from owned items
Chore
- uniformize deny attributes
- remove default link to cargo doc everywhere
Documentation
Bug Fixes (BREAKING)
commiting the revlog transaction is now optional. This also means that providing no committer despite one being needed is will cause the transaction to fail entirely with an error.
Doing this allows users who disable the reflog not to have to deal with committer configuration at all.
support for non-'static PackedRefs transactions. When configuring for packed-refs updates, previously one needed to provide a function to find objects that could not borrow data due to implicit 'static requirement. This has been lifted to allow it to access references to data on the stack.
Commit Statistics
- 965 commits contributed to the release over the course of 947 calendar days.
- 69 commits were understood as conventional.
- 23 unique issues were worked on: #198, #222, #251, #254, #259, #263, #266, #279, #293, #298, #301, #329, #331, #333, #364, #384, #393, #427, #450, #470, #595, #691, #XXX
Thanks Clippy
Clippy helped 40 times to make code idiomatic.
Commit Details
- #198
- Fix stop-release-for-changelog logic and fix all affected changelogs (
52b38bc
) - Deduplicate conventional message ids (
e695eda
) - Regenerate all changelogs to get links (
0c81769
) - Mention actual issues that where worked on (
a517e39
) - Respect release-wide ignore list to allow removing entire conventional headlines (
145103d
) - Rebuild all changelogs to assure properly ordered headlines (
4a9a05f
) - Sort all commits by time, descending… (
f536bad
) - Greatly reduce changelog size now that the traversal fix is applied (
a0bc98c
) - Generate changelogs with details (
e1861ca
) - Update all changelogs with details (
58ab2ae
) - Update changelogs (
c857d61
) - Avoid adding newlines which make writing unstable (
6b5c394
) - Fix section headline level (
9d6f263
) - Write first version of changlogs thus far… (
719b6bd
) - Add panicking
Target::id()
and TargetRef::id()
(4ed4b2d
) - Loose reference iteration with non-dir prefixes… (
293bfc0
) - Improve changelog format (
90e6128
)
- #222
- Update changelogs prior to release (
9a493d0
) - Stabilize changelogs (
920e832
) - Update changelogs prior to release (
b3e2252
)
- #251
- PartialNameRef<'static>::join() for building paths on the fly (
c0fc4f6
) - Refactor (
244a646
) - Allow
PartialNameRef
to be created from owned items (b7aab9e
)
- #254
- Adjust changelogs prior to git-pack release (
6776a3f
)
- #259
- Btree/hashmap free lookup of packs in store, keeping things more bundled (
a88981b
)
- #263
- Don't unnecessarily reload the packed-refs buffer under contention (
3ab990e
) - Use a read-lock until mutation is needed, instead of upgradable rw locks (
58294dd
) - Refactor (
e41ab82
) - Add file::Store::find_packed(…, buffer) (
f6181af
) - Add Reference::peel_to_id_in_place_packed() and Reference::follow_packed() (
03bcac2
) - Add
file::Store::iter_(prefixed_)packed()
(6a17416
) - Add
file::Store::cached_packed_buffer()
for packed refs snapshots (9eb3a31
) - Rename
file::Store::packed_buffer()
to …::open_packed_buffer()
(b431fb0
) - Add file::Store::try_find_packed(…, packed_buffer) (
b030884
) - File::Store::from(PathBuf) removed (
80f3d50
) - Put general Store on hold - ref-table is needed to know how to go about it (
bfa417b
) - Don't even think about setting up test duplication for the general store (
72a6464
) - Reference::logs() -> Reference::log_iter() (
951c050
) - Reference log line access (
bfb32ae
) - Add platform for log iteration to hold byte buffers (
1cd2362
) - Assure the packed buffer is reloaded after a modification (
f5570ff
) - Fmt (
fbeddeb
) - File::Store::iter() is now a platform, with
.all()
and .prefixed(…)
respectively (5d498a3
) - Refactor (
5fc3817
) - Refactor packed buffer sharing to allow for sharing snapshots (
00c2545
) - Let file transactions reuse the cached packed buffer (
a9096b9
) - File::ReferenceExt::follow(…) now without packed refs parameter (
4641499
) file::ReferenceExt::peel_to_id_in_place(…)
now without packed-refs buffer (55940eb
)- File::Store::(try_)find(…, packed) was removed (
15d429b
) - Load packed buffer with interior mutability (
ae2eef1
) - Make it possible to return read guards with packed buffers (
f5c3c8f
) file::Store::base
is now file::Store::base()
and read-only (0e18753
)- Refactor, realize why having a packed-buffer with the loose db is valuable (
a76f041
) - A mad attempt to use thread-local everywhere and avoid Sync… (
0af5077
) - Try implementing find_reference to realize that this extra abstraction is overkill (
82ea1b8
) - Look into iteration, but realize that it's harder than finding refs (
fc753a8
) - Sketch of State is seen in store handle and store itself (
f87f852
) - Sketch a store handle (
fc6480b
) - Move
git_ref::file::WriteRefLog
to git_ref::store::WriteRefLog
(9524732
)
- #266
- Upgrade git-ref's os_str_bytes crate to 6.0.0 (
0cfba57
) - Adapt to changes in git-odb (
a44dd4b
) - Remove pack-cache from
Find::try_find(…)
(ebc7f47
) - Clarify that we really need stable pack ids (
cefc0fa
) - Move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (
2290d00
)
- #279
- Adapt to changes in git-hash (
754a663
) - Adjust to changes in git-hash (
9bf25cc
) - Required
object_hash
as parameter when instantiating any Store (dea6659
) - Remove
Target::must_exist()
(c46dec3
) - Adapt to changes in git-hash (
3e75e8c
)
- #293
- #298
- Enforce path conversion on windows gnu, it doesn't seem to like slashes (
4d55a8f
) - Mention that failing path when a ref-file couldn't be read (
ecb539a
) - Use hash_hasher based hash state for better keys/less collisions (
814de07
) - Display implementation for
FullName
. (cf50ae2
) - FullNameRef::file_name() (
28e3251
)
- #301
- Update changelogs prior to release (
84cb256
) - Ref iteration for worktrees. (
4a5176a
) - Down to one borrowcheck error (
7571be5
) - Possibly a step towards solving this traversal… (
c64a77f
) - Prepare for dual-iteration (
200384c
) - Make a common-dir iterator available (
78658c7
) - Refactor (
5521391
) - Try all prefixes when producing a relative path for error purposes (
8cf0302
) - Restore previous non-namespace test (
ba17b40
) - Refactor (
1b3a6da
) - Refactor (
7777f7e
) - Represent loose iteration in terms of the overlay iterator (
ad37a64
) - Start preparing for multi-loose ref iteration, but… (
014459b
) - Validate traversal of main repository refs in presence of worktrees (
f067286
) - Refactor (
c2ac110
) - Simplify worktree test to not include superfluous refs (
c46d838
) - Assure proper handling of transactions in linked worktrees (
07dc555
) - Humble beginnings of transaction testing within worktrees (
6f52606
) - Many more tests around transactions and prefix handling (
8f3a4b5
) - Assure that private worktree refs have their reflogs written (
96efbb1
) - Properly adjust names for prefixed refs for use in packed-refs and filter them (
797af14
) - Prepare for filtering soon to be packed refs by name (
3cea2ad
) - Uncover issue naming of refs written to packed-refs (
1acf875
) - A first test of main worktree transactions incl. changelog (
9c5ab38
) - Adjusts to changes in git-ref (
b362fb5
) Transaction::commit(…)
takes git-actor::SignatureRef
instead of …::Signature
. (3d6299f
)- First rough step towards support iteration (
b987575
) - Prepare for tests that can write into our test repositories (
096ee5f
) - Improve reflog base generation in transactions so it could possibly work (
d69b56e
) - Improve conversions as much as possible (
befe949
) - Validate that owned values indeed can't be passed anymore (
c78008e
) - Avoid using
Cow
at all in favor of a simple &PartialNameref
(1bc9a87
) - This didn't get better, but probably will stay that way (
7da239f
) - See what it means to use
Cow<PartialNameRef>
(2ae129a
) - All custom TryFrom implementations for Cow (
15afec1
) - Cow support for PartialNameRef (
3e470da
) - Adapt to changes in git-ref (
21109ca
) - Remove
FullName::to_ref()
in favor of •::as_ref()
. (f1dbb6b
) - Reflog handling for worktree/ ref-names (
77877e0
) - Parse the worktree name as part of the cateogry (
7666034
) - Refactor (
cebf736
) - More fixes for worktree ref handling (
1aa546d
) - Better packed refs lookup for worktree refs (
2b6982e
) - Fix bugs with name resolution (
3031f99
) - Assure
main-worktree
is also resolved in the main worktree (bc3c05e
) - Assure nobody can bypass the namespace anymore (
0079ab6
) - Frame for tests in worktree and main repositories (
b12884a
) - Assure namespaces are respected when calculating bases (
4aac3c2
) - Fix docs (
e189914
) - Transactions fully rely on proper base (
d3a12e3
) - Packed-refs now use correct common dir (
dd7be18
) - Reflog paths are now computed according to their ref name (
c4d2493
) - Refactor (
e93c222
) - First draft of fixture setup for worktrees (
a25b0bc
) - Use suitable full names for store based packed-refs lookup too (
d25b3ca
) - Packed-refs can now possibly transform names for lookup correctly (
6478736
) - Offer a way to search packed refs by full name only (
ae57e27
) - Also build what should be a valid path for loose-ref lookup (
37deca5
) - Refactor (
19d53fb
) - Refactor (
32b8fde
) - Refactor (
09eb432
) - Refactor (
f83910f
) - Loose ref lookup uses categories for refanames (
61b449c
) - Prepare for switch to category based base-path lookup (
14c6f48
) - Unify pseudo-ref check for find reference (
8c52fe4
) - Admit that we need PartialPathCow and can't work around it (
202bafc
) - Rename
PartialNameRef
to PartialNameCow
(1611c3d
) - Refactor (
4e26e62
) - Refactor (
a611224
) - Refactor (
467d583
) - Refactor (
3574a4e
) Category::LinkedRef
(9cccce3
)Category::MainRef
(eada5df
)Category::(WorktreePrivate|Bisect|Rewritten)
(0304b7f
)Category::LinkedPseudoRef
(612a2db
)- Add
Category::MainPseudoRef
(613b584
) Category::PseudoRef
(6ccfea9
)- Remove
Store
from public API (8a92ec9
) - Rename
file::Store::base()
to git_dir()
. (2becffc
) - Adapt to changes in git-path (
cc2d810
) - Adapt to all changes in git-path with bstr support (
f158648
) - Use
git-path
crate instead of git_features::path
(47e607d
) - Adjustments to go along with changes in git-features (
c55cac6
) - Make fmt (
50ff7aa
) - Performance issue on windows is due to slow process execution speed (
60bcffc
) - Speed up git-pack testing on windows (
8ca400c
)
- #329
- Document all features related to serde1 (
72b97f2
)
- #331
Target(Ref)?::try_name()
now returns Option<&FullNameRef>
. (0f753e9
)- Add
store::WriteRefLog::Always
to unconditionally write reflogs. (4607a18
) - Add
git_config::values::Path
for a typesafe git path (e4d6685
)
- #333
- Use git_features::path everywhere where there is a path conversion (
2e1437c
) - Remove os-str-bytes everywhere (
71a086a
) - Found one valid case for using os-str-bytes (
9c294bf
) - Make real clear panics are only possible on windows (
6b283dc
) - One usage of os_str_bytes down, along with some custom conversion code (
1cc95ce
) - Gitoxide-core without os-str-bytes (
909aa14
) - Don't use os_str_ext in git-features; adapt git-ref (
9258b7b
) - Use new git-features::path module (
7c53b27
)
- #364
- Add
FullName(Ref)::category_and_shortname()
(ecd60d7
) Target::as_(id|name)
-> Target::try_(id|name)
(7984e19
)- Refactor (
b1b9871
) Fullname(Ref)::category()
and Category
(e7e4ba2
)- FullName(Ref)::strip_prefix() (
af2d399
) - Full error handling for CommitRefIter (
b94471a
)
- #384
- No need to isolate archives by crate name (
19d46f3
) - Add archive files via git-lfs (
7202a1c
) - Auto-set commit.gpgsign=false when executing git (
c23feb6
)
- #393
- Add support for disabling archive usage (
624ad2e
)
- #427
- Make fmt (
4b320e7
) - Adapt to changes in git-features (
777b40c
) - Adjust to changes in
git-features
(07168c7
) - Use generalized reload-on-demand in
git-ref
(8d0cce7
) - Now it's possible to update packed refs using the shared code (
78222c2
) - The first step towards using the generalized
ReloadIfChanged
in git-ref (e8de0ef
) - Always update modification date when packed refs are forcefully reloaded. (
1d20035
) - Allow
Reference
to be serialized/deserialized with serde
. (f3c609f
)
- #450
- Support for non-'static PackedRefs transactions. (
328900a
) - Add test to validate new symref reflog behaviour (
8b5cf38
) - Allow symref updates to receive reflogs if these are new… (
6e5c0ae
) transaction::Change::new_value()
to get easy access to new values of references. (370ed3d
)file::Transaction::prepare()
now takes two git_lock::acquisition::Fail
instances. (e699291
)FullName::try_from(&BString)
for convenience. (658c125
)- Improve docs slightly (
4850202
) - Better refmap printing (
6f60a79
) - Fix windows tests (
140e690
) - Fix docs (
dad9cbe
) - Replace
quick-error
with thiserror
(725210d
) - Adjust to changes in
git-validate
(4eac45f
)
- #470
- Update changelogs prior to release (
caa7a1b
)
- #595
- Assure symrefs don't get deleted when moving refs to packed-refs. (
584b705
) - Avoid lock-acquisition for refs which are to be deleted if a global lock is helt. (
66b053d
) - Case-insentively conflicting references can be created even on case-insensitie filesystems*. (
9f84850
) - Instead of erroring if loose iteration is performed on missing base, correctly yield zero references. (
e9853dd
) - Loose ref iteration on a repo with missing ‘ref/’ fails when creating the iterator. (
27386a9
) - First test to validate how collisions are expressed. (
3f54ade
) - Attempt to add the first case-sensitive test… (
063ab73
) file::Transaction::rollback()
allows to explicitly roll back a pending change. (e86e159
)- Higher performance for edits which would write the same value. (
bbdb480
)
- #691
- #XXX
- Prepare changelogs prior to release (
8c0bca3
)
- Uncategorized
- Release gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (
e313112
) - Release gix-features v0.26.4, gix-actor v0.17.1, gix-glob v0.5.3, gix-path v0.7.1, gix-quote v0.4.1, gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (
6efd0d3
) - Release gix-date v0.4.2, gix-hash v0.10.2, gix-features v0.26.4, gix-actor v0.17.1, gix-glob v0.5.3, gix-path v0.7.1, gix-quote v0.4.1, gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (
6ccc88a
) - Merge branch ‘rename-crates’ into inform-about-gix-rename (
c9275b9
) - Rename
git-testtools
to gix-testtools
(b65c33d
) - Adjust to renaming of
git-pack
to gix-pack
(1ee81ad
) - Adjust to renaming of
git-odb
to gix-odb
(476e2ad
) - Adjust to renaming of
git-index
to gix-index
(86db5e0
) - Adjust to renaming of
git-diff
to gix-diff
(49a163e
) - Adjust to renaming of
git-commitgraph
to gix-commitgraph
(f1dd0a3
) - Adjust to renaming of
git-mailmap
to gix-mailmap
(2e28c56
) - Adjust to renaming of
git-discover
to gix-discover
(53adfe1
) - Adjust to renaming of
git-lfs
to gix-lfs
(b9225c8
) - Adjust to renaming of
git-chunk
to gix-chunk
(59194e3
) - Adjust to renaming of
git-bitmap
to gix-bitmap
(75f2a07
) - Adjust to renaming for
git-protocol
to gix-protocol
(823795a
) - Adjust to renaming of
git-refspec
to gix-refspec
(c958802
) - Adjust to renaming of
git-revision
to gix-revision
(ee0ee84
) - Adjust to renaming of
git-transport
to gix-transport
(b2ccf71
) - Adjust to renaming of
git-credentials
to gix-credentials
(6b18abc
) - Adjust to renaming of
git-prompt
to gix-prompt
(6a4654e
) - Adjust to renaming of
git-command
to gix-command
(d26b8e0
) - Adjust to renaming of
git-packetline
to gix-packetline
(5cbd22c
) - Adjust to renaming of
git-worktree
to gix-worktree
(73a1282
) - Adjust to renamining of
git-hashtable
to gix-hashtable
(26a0c98
) - Adjust to renamining of
git-worktree
to gix-worktree
(108bb1a
) - Adjust to renaming of
git-url
to gix-url
(b50817a
) - Adjust to renaming of
git-date
to gix-date
(9a79ff2
) - Adjust to renamining of
git-attributes
to gix-attributes
(4a8b3b8
) - Adjust to renaminig of
git-quote
to gix-quote
(648025b
) - Adjust to renaming of
git-config
to gix-config
(3a861c8
) - Adjust to renaming of
git-ref
to gix-ref
(1f5f695
) - Rename
git-ref
to gix-ref
(a56e628
) - Adjust to renaming of
git-lock
to gix-lock
(2028e78
) - Adjust to renaming of
git-tempfile
to gix-tempfile
(b6cc3eb
) - Adjust to renaming of
git-object
to gix-object
(fc86a1e
) - Adjust to renaming of
git-actor
to gix-actor
(4dc9b44
) - Adjust to renaming of
git-validate
to gix-validate
(5e40ad0
) - Adjust to renaming of
git-hash
to gix-hash
(4a9d025
) - Adjust to renaming of
git-features
to gix-features
(e2dd68a
) - Adjust to renaming of
git-glob
to gix-glob
(35b2a3a
) - Adjust to renaming of
git-sec
to gix-sec
(eabbb92
) - Adapt to renaming of
git-path
to gix-path
(d3bbcfc
) - Adjust to rename of
git-config-value
to gix-config-value
(622b3e1
) - Release git-features v0.26.4 (
109f434
) - Release git-features v0.26.3 (
1ecfb7f
) - Merge branch ‘rename-crates’ (
6461c3d
) - Rename
git-repository
to gix
(7bed2a9
) - Release git-date v0.4.2, git-hash v0.10.2, git-features v0.26.2, git-actor v0.17.1, git-glob v0.5.3, git-path v0.7.1, git-quote v0.4.1, git-attributes v0.8.2, git-config-value v0.10.1, git-tempfile v3.0.2, git-lock v3.0.2, git-validate v0.7.2, git-object v0.26.1, git-ref v0.24.0, git-sec v0.6.2, git-config v0.16.0, git-command v0.2.3, git-prompt v0.3.2, git-url v0.13.2, git-credentials v0.9.1, git-diff v0.26.1, git-discover v0.13.0, git-hashtable v0.1.1, git-bitmap v0.2.1, git-traverse v0.22.1, git-index v0.12.3, git-mailmap v0.9.2, git-chunk v0.4.1, git-pack v0.30.2, git-odb v0.40.2, git-packetline v0.14.2, git-transport v0.25.4, git-protocol v0.26.3, git-revision v0.10.2, git-refspec v0.7.2, git-worktree v0.12.2, git-repository v0.34.0, safety bump 3 crates (
c196d20
) - Prepare changelogs prior to release (
7c846d2
) - Merge branch ‘Lioness100/main’ (
1e544e8
) - Revert obtai -> obtained (
cd84c1a
) - Fix typos (
39ed9ed
) - Thanks clippy (
bac57dd
) - Make fmt (
e22080e
) - Merge branch ‘adjustments-for-cargo’ (
7bba270
) - Assure single-threaded git-ref tests may run. (
17c0776
) - Break cyclical dev dependencies (
1fea18f
) - Commiting the revlog transaction is now optional. (
65c5589
) - Release git-date v0.4.1, git-features v0.26.1, git-glob v0.5.2, git-attributes v0.8.1, git-tempfile v3.0.1, git-ref v0.23.1, git-sec v0.6.1, git-config v0.15.1, git-prompt v0.3.1, git-url v0.13.1, git-discover v0.12.1, git-index v0.12.2, git-mailmap v0.9.1, git-pack v0.30.1, git-odb v0.40.1, git-transport v0.25.3, git-protocol v0.26.2, git-revision v0.10.1, git-refspec v0.7.1, git-worktree v0.12.1, git-repository v0.33.0 (
5b5b380
) - Prepare changelogs prior to release (
93bef97
) - Merge branch ‘patch-1’ (
b93f0c4
) - Thanks clippy (
9e04685
) - Release git-ref v0.23.0, git-config v0.15.0, git-command v0.2.2, git-diff v0.26.0, git-discover v0.12.0, git-mailmap v0.9.0, git-pack v0.30.0, git-odb v0.40.0, git-transport v0.25.2, git-protocol v0.26.1, git-revision v0.10.0, git-refspec v0.7.0, git-worktree v0.12.0, git-repository v0.32.0 (
ffb5b6a
) - Prepare changelogs prior to release (
4381a03
) - Release git-date v0.4.0, git-actor v0.17.0, git-object v0.26.0, git-traverse v0.22.0, git-index v0.12.0, safety bump 15 crates (
0e3d0a5
) - Release git-features v0.26.0, git-actor v0.16.0, git-attributes v0.8.0, git-object v0.25.0, git-ref v0.22.0, git-config v0.14.0, git-command v0.2.1, git-url v0.13.0, git-credentials v0.9.0, git-diff v0.25.0, git-discover v0.11.0, git-traverse v0.21.0, git-index v0.11.0, git-mailmap v0.8.0, git-pack v0.29.0, git-odb v0.39.0, git-transport v0.25.0, git-protocol v0.26.0, git-revision v0.9.0, git-refspec v0.6.0, git-worktree v0.11.0, git-repository v0.31.0, safety bump 24 crates (
5ac9fbe
) - Prepare changelogs prior to release (
30d8ca1
) - Release git-date v0.3.1, git-features v0.25.0, git-actor v0.15.0, git-glob v0.5.1, git-path v0.7.0, git-attributes v0.7.0, git-config-value v0.10.0, git-lock v3.0.1, git-validate v0.7.1, git-object v0.24.0, git-ref v0.21.0, git-sec v0.6.0, git-config v0.13.0, git-prompt v0.3.0, git-url v0.12.0, git-credentials v0.8.0, git-diff v0.24.0, git-discover v0.10.0, git-traverse v0.20.0, git-index v0.10.0, git-mailmap v0.7.0, git-pack v0.28.0, git-odb v0.38.0, git-packetline v0.14.1, git-transport v0.24.0, git-protocol v0.25.0, git-revision v0.8.0, git-refspec v0.5.0, git-worktree v0.10.0, git-repository v0.30.0, safety bump 26 crates (
e6b9906
) - Prepare chnagelogs prior to git-repository release (
7114bbb
) - Merge branch ‘main’ into read-split-index (
c57bdde
) - Merge branch ‘adjustments-for-cargo’ (
083909b
) - Thanks clippy (
f1160fb
) - Adapt to changes in
git-features::fs
. (35f7d59
) - Adjust to changes in
git-testtools
(4eb842c
) - Release git-hash v0.10.1, git-hashtable v0.1.0 (
7717170
) - Merge branch ‘main’ into http-config (
6b9632e
) - Release git-features v0.24.1, git-actor v0.14.1, git-index v0.9.1 (
7893502
) - Merge branch ‘main’ into http-config (
bcd9654
) - Make fmt (
0abab7d
) - Release git-hash v0.10.0, git-features v0.24.0, git-date v0.3.0, git-actor v0.14.0, git-glob v0.5.0, git-path v0.6.0, git-quote v0.4.0, git-attributes v0.6.0, git-config-value v0.9.0, git-tempfile v3.0.0, git-lock v3.0.0, git-validate v0.7.0, git-object v0.23.0, git-ref v0.20.0, git-sec v0.5.0, git-config v0.12.0, git-command v0.2.0, git-prompt v0.2.0, git-url v0.11.0, git-credentials v0.7.0, git-diff v0.23.0, git-discover v0.9.0, git-bitmap v0.2.0, git-traverse v0.19.0, git-index v0.9.0, git-mailmap v0.6.0, git-chunk v0.4.0, git-pack v0.27.0, git-odb v0.37.0, git-packetline v0.14.0, git-transport v0.23.0, git-protocol v0.24.0, git-revision v0.7.0, git-refspec v0.4.0, git-worktree v0.9.0, git-repository v0.29.0, git-commitgraph v0.11.0, gitoxide-core v0.21.0, gitoxide v0.19.0, safety bump 28 crates (
b2c301e
) - Prepare changelogs prior to release (
e4648f8
) - Merge branch ‘version2021’ (
0e4462d
) - Upgrade edition to 2021 in most crates. (
3d8fa8f
) - Release git-glob v0.4.2, git-config-value v0.8.2, git-lock v2.2.0, git-ref v0.19.0, git-config v0.11.0, git-discover v0.8.0, git-index v0.8.0, git-transport v0.22.0, git-protocol v0.23.0, git-worktree v0.8.0, git-repository v0.28.0, gitoxide-core v0.20.0, gitoxide v0.18.0, safety bump 9 crates (
0c253b1
) - Prepare changelogs prior to release (
fe5721f
) - Merge branch ‘http-config’ (
665b53e
) - Don‘t assert on state that is based on a transaction that isn’t committed (
00f6f7a
) - Thanks clippy (
fe7d6f9
) - Assure reflogs aren't skipped just because there is no per-loose lock file. (
130d13b
) - Refactor (
f17c6b6
) - Refactor (
c1d2aea
) - Refactor (
b0a231a
) - Thanks clippy (
5f7fe69
) - 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
) - 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 (
3eaedda
) - 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
) - Prepare changelogs for release (
d232567
) - Merge branch ‘main’ into new-http-impl (
702a161
) - Make fmt (
53acf25
) - Merge branch ‘fetch-pack’ (
3c49400
) - Merge branch ‘fix-git-features’ (
82fd251
) - Merge branch ‘diff’ (
25a7726
) - Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates (
29a043b
) - Merge branch ‘filter-refs’ (
3773b92
) - Release git-features v0.22.6 (
c9eda72
) - Merge branch ‘filter-refs’ (
e10554d
) - Merge branch ‘filter-refs-by-spec’ (
5c05198
) - Merge branch ‘main’ into filter-refs-by-spec (
9aa1d3d
) - Release git-features v0.22.4, git-url v0.8.0, safety bump 4 crates (
1d4600a
) - Merge branch ‘main’ into filter-refs-by-spec (
1f6e5ab
) - Merge branch ‘fix-522’ (
5869e9f
) - Release git-hash v0.9.9 (
da0716f
) - Merge branch ‘main’ into index-from-tree (
bc64b96
) - Release git-path v0.4.2, git-config-value v0.7.0 (
c48fb31
) - Merge branch ‘main’ into filter-refs-by-spec (
cef0b51
) - Release git-object v0.20.3, git-ref v0.15.4, git-config v0.7.1, git-diff v0.18.0, git-traverse v0.16.3, git-pack v0.22.0, git-odb v0.32.0, git-url v0.7.3, git-transport v0.19.3, git-protocol v0.19.1, git-refspec v0.1.1, git-repository v0.23.0, safety bump 6 crates (
85a3bed
) - Add
Reference::delete()
for simple reference deletion (2d0b639
) - Release git-attributes v0.3.3, git-ref v0.15.3, git-index v0.4.3, git-worktree v0.4.3, git-testtools v0.8.0 (
baad4ce
) - Prepare changelogs prior to release of git-testtools (
7668e38
) - Release git-features v0.22.3, git-revision v0.4.4 (
c2660e2
) - Merge branch ‘main’ into filter-refs-by-spec (
cfa1440
) - Release git-date v0.0.5, git-hash v0.9.8, git-features v0.22.2, git-actor v0.11.3, git-glob v0.3.2, git-quote v0.2.1, git-attributes v0.3.2, git-tempfile v2.0.4, git-lock v2.1.1, git-validate v0.5.5, git-object v0.20.2, git-ref v0.15.2, git-sec v0.3.1, git-config v0.7.0, git-credentials v0.4.0, git-diff v0.17.2, git-discover v0.4.1, git-bitmap v0.1.2, git-index v0.4.2, git-mailmap v0.3.2, git-chunk v0.3.1, git-traverse v0.16.2, git-pack v0.21.2, git-odb v0.31.2, git-packetline v0.12.7, git-url v0.7.2, git-transport v0.19.2, git-protocol v0.19.0, git-revision v0.4.2, git-refspec v0.1.0, git-worktree v0.4.2, git-repository v0.22.0, safety bump 4 crates (
4974eca
) - Release git-path v0.4.1 (
5e82346
) - Merge branch ‘main’ into remote-ls-refs (
e2ee3de
) - Merge branch ‘docsrs-show-features’ (
31c2351
) - Use docsrs feature in code to show what is feature-gated automatically on docs.rs (
b1c40b0
) - Uniformize deny attributes (
f7f136d
) - Pass --cfg docsrs when compiling for https://docs.rs (
5176771
) - Remove default link to cargo doc everywhere (
533e887
) - Merge branch ‘main’ into remote-ls-refs (
bd5f3e8
) - Release git-date v0.0.3, git-actor v0.11.1, git-attributes v0.3.1, git-tempfile v2.0.3, git-object v0.20.1, git-ref v0.15.1, git-config v0.6.1, git-diff v0.17.1, git-discover v0.4.0, git-bitmap v0.1.1, git-index v0.4.1, git-mailmap v0.3.1, git-traverse v0.16.1, git-pack v0.21.1, git-odb v0.31.1, git-packetline v0.12.6, git-url v0.7.1, git-transport v0.19.1, git-protocol v0.18.1, git-revision v0.4.0, git-worktree v0.4.1, git-repository v0.21.0, safety bump 5 crates (
c96473d
) - Prepare changelogs prior to reelase (
c06ae1c
) - Release git-hash v0.9.7, git-features v0.22.1 (
232784a
) - Merge branch ‘main’ into write-index-v2 (
a938986
) - Merge branch ‘main’ into remote-ls-refs (
de61c4d
) - Thanks clippy (
4bd747c
) - Merge branch ‘rev-parse-delegate’ (
2f506c7
) - Thanks clippy (
763cec8
) - Merge pull request #2 from SidneyDouw/main (
ce885ad
) - Merge branch ‘Byron:main’ into main (
9b9ea02
) - Merge branch ‘main’ into rev-parse-delegate (
6da8250
) - Merge branch ‘main’ into pathspec (
7b61506
) - Merge branch ‘kianmeng-fix-typos’ (
4e7b343
) - Fix typos (
e9fcb70
) - Release git-hash v0.9.6, git-features v0.22.0, git-date v0.0.2, git-actor v0.11.0, git-glob v0.3.1, git-path v0.4.0, git-attributes v0.3.0, git-tempfile v2.0.2, git-object v0.20.0, git-ref v0.15.0, git-sec v0.3.0, git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0, safety bump 22 crates (
4737b1e
) - Prepare changelog prior to release (
3c50625
) - Merge branch ‘config-cascade’ (
f144eaf
) - Merge pull request #1 from Byron/main (
085e76b
) - Merge branch ‘config-comfort’ (
84b98d9
) - Assure document-features are available in all ‘usable’ and ‘early’ crates (
238581c
) - Merge branch ‘main’ into pathspec (
89ea12b
) - Merge branch ‘main’ into cont_include_if (
daa71c3
) - Thanks clippy (
e1003d5
) - Generally avoid using
target_os = "windows"
in favor of cfg(windows)
and negations (91d5402
) - Merge branch ‘main’ into cont_include_if (
41ea8ba
) - Release git-path v0.3.0, safety bump 14 crates (
400c9be
) - Release git-date v0.0.1, git-hash v0.9.5, git-features v0.21.1, git-actor v0.10.1, git-path v0.2.0, git-attributes v0.2.0, git-ref v0.14.0, git-sec v0.2.0, git-config v0.5.0, git-credentials v0.2.0, git-discover v0.2.0, git-pack v0.20.0, git-odb v0.30.0, git-url v0.6.0, git-transport v0.18.0, git-protocol v0.17.0, git-revision v0.2.1, git-worktree v0.3.0, git-repository v0.19.0, safety bump 13 crates (
a417177
) - Update changelogs prior to release (
bb424f5
) - Make fmt (
c665aef
) - Merge branch ‘main’ into SidneyDouw-pathspec (
a22b1d8
) - Merge branch ‘main’ into git_includeif (
598c853
) - Release git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0 (
349c590
) - Fix git-ref dependencies (
633e571
) - Release git-hash v0.9.4, git-features v0.21.0, git-actor v0.10.0, git-glob v0.3.0, git-path v0.1.1, git-attributes v0.1.0, git-sec v0.1.0, git-config v0.3.0, git-credentials v0.1.0, git-validate v0.5.4, git-object v0.19.0, git-diff v0.16.0, git-lock v2.1.0, git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0, safety bump 20 crates (
654cf39
) - Make fmt (
e043807
) - Merge branch ‘refs-and-worktrees’ (
8131227
) - Thanks clippy (
4cff7a8
) - Thanks clippy (
a20d282
) - Thanks clippy (
c208912
) - Merge branch ‘main’ into refs-and-worktrees (
9cf0c7b
) - Merge branch ‘davidkna-remote-branch-name’ (
068a2de
) - Turn
FullNameRef
into an actual reference type. (0ace957
) - A sketch to show how Cow could work (
c6b2705
) - Thanks clippy (
61d6d93
) - Thanks clippy (
6291015
) - Thanks clippy (
22ee920
) - Refactor (
6149978
) - Thanks clippy (
405d94d
) - Thanks clippy (
a7ac64c
) - Merge branch ‘main’ into msrv-for-windows (
7cb1972
) - Merge branch ‘worktree-stack’ (
98da8ba
) - Merge branch ‘main’ into repo-status (
0eb2372
) - Merge branch ‘test-archive-support’ (
350df01
) - Merge branch ‘main’ into repo-status (
4086335
) - Merge branch ‘worktree-stack’ (
e90d3fd
) - Fix clippy - many false positives this time (
045e6fa
) - Fix clippy - many false positives this time (
099bd5b
) - 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
) - Refactor (
2abedb8
) - Release git-diff v0.14.0, git-bitmap v0.1.0, git-index v0.2.0, git-tempfile v2.0.1, git-lock v2.0.0, git-mailmap v0.1.0, git-traverse v0.13.0, git-pack v0.17.0, git-quote v0.2.0, git-odb v0.27.0, git-packetline v0.12.4, git-url v0.4.0, git-transport v0.16.0, git-protocol v0.15.0, git-ref v0.12.0, git-worktree v0.1.0, git-repository v0.15.0, cargo-smart-release v0.9.0, safety bump 5 crates (
e58dc30
) - 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
) - Thanks clippy (
2066a80
) - Merge branch ‘main’ into mailmap (
b2df941
) - Merge branch ‘describe-rev’ (
77b7cd9
) - Adapt to breaking changes in git-actor (
40c48c3
) - Merge branch ‘svetli-n-path_value’ (
e8383ca
) - Release git-tempfile v2.0.0, safety bump 6 crates (
90b1c42
) - Merge branch ‘unify-path-encoding’ (
566ff8a
) - Thanks clippy (
a8e9497
) - Thanks clippy (
f242a24
) - Release git-actor v0.8.1 (
08fe550
) - Release git-hash v0.9.2, git-object v0.17.1, git-pack v0.16.1 (
0db19b8
) - Release git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (
b286b24
) - Release 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 (
42ebb53
) - Release 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 (
1b76119
) - Release 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 (
8f57c29
) - Release 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 (
d78aab7
) - 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
) - Prepar changelogs for cargo-smart-release release (
8900d69
) - Support Rust 1.52 (
42e0487
) - 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
) - Merge branch ‘sync-db-draft’ (
7d2e20c
) - Thanks clippy (
7dd2313
) - Release 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 (
d3f9227
) - 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
) - Thanks clippy (
a74f27c
) - Merge branch ‘pack-consistency’ (
5982406
) - Release 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 (
f606fa9
) - 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
) - 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
) - Release git-hash v0.7.0, git-features v0.16.5, git-actor v0.5.3, git-config v0.1.7, 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 (
59ffbd9
) - 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
) - Update changelogs just for fun (
21541b3
) - Merge branch ‘changelog-generation’ (
bf0106e
) - Bump git-traverse v0.9.0, safety bump 8 crates (
d39fabb
) - Release git-ref v0.7.3 (
b0a9815
) - Update changelogs once more… (
d57d279
) - Update changelogs retro-actively… (
78cfe0a
) - Release git-ref v0.7.2 (
e940e9a
) - [#195] Fix previously incorrect usage of io::Kind::Other… (
4dae07d
) - Thanks clippy (
4701296
) - Release git-ref v0.7.1 (
d34191d
) - Bump git-object v0.14.0 (
d4fc81f
) - Merge branch ‘repository-integration’ (
49f5453
) - [repository #190] refactor (
e7188e0
) - [ref #190] refactor (
010be48
) - [ref #190] fix tests (
e426e15
) - [ref #190] don't provide namespace support for loose and packed refs… (
c663da1
) - [ref #190] find() with namespace support (
1240c21
) - [ref #190] prepare test for namespaced find(…) (
5fcd0e4
) - [repository #190] leverage git-ref namespace support (
1aa9c11
) - [ref #190] iteration with namespace support (
d5987d4
) - [ref #190] refactor (
3c7968c
) - [repository #190] prepare for namespacing support on file store level (
d2d1db6
) - [repository #190] refactor (
609c249
) - [ref #190] refactor (
1ef6cb3
) - [repository #190] fix build (
f5e118c
) - [repository #190] note a known limitation about finding references in namespaces… (
d335731
) - [ref #190] more assetions to understand ‘find(…)’ for namespaced refs… (
f58a0ff
) - [repository #190] transparent namespace support (
d14f073
) - [ref #190] Make References sortable (
16b2232
) - [repository #190] cleanup usage of bstr… (
e4411ff
) - [ref #190] more conversion trait impls (
1795a33
) - Bump git-hash v0.6.0 (
6efd90d
) - [repository #190] obtain the kind fo hash used in a repo (
a985491
) - [ref #190] refactor (
e34be7e
) - [ref #190] more Target conversions… (
1fe1b42
) - [repository #190] refactor (
7a111b1
) - [ref #190] refactor (
49fe1dc
) - [ref #190] reverse reflog ergonomics (
2de86f9
) - [ref #190] check for zero sized buffers in reverse log iterators… (
998c7c6
) - [ref #190] move remaining file store functions to extension trait (
60fc215
) - [ref #190] Move file-log-specific functionality into own extension trait. (
0b635e9
) - [repository #190] a major step forward with
head()
access (43ac4f5
) - [ref #190] cache peeled objects properly (
2cb511e
) - [ref #190] fix docs (
3e64ec1
) - Bump git-ref v0.7.0 (
ac4413c
) - [ref #190] fix remaining tests (
df21f25
) - Thanks clippy (
14dff63
) - [ref #190] Use Raw Reference everywhere for great simplification… (
7aeea9c
) - [ref #190] raw reference peeling (
9473a71
) - [ref #190] introduce Raw reference type that simplifies everything… (
8634341
) - [ref #190] more tests (
980e16a
) - [ref #190] deletions also use PreviousValue now (
74f85b1
) - [ref #190] refactor (
0e65559
) - [ref #190] be explicit about what the previous reflog oid is for… (
c04c8b9
) - [ref #190] don't claim there was a previous oid unnecessarily… (
68f7fc2
) - [ref #190] refactor (
07126d6
) - [ref #190] Allow for explicit expected previous values (
1a4786f
) - [ref #190] prepare massive refactoring to get additional constraint (
9741987
) - [refs #190] refactor; handle value-checks in dereffed symlinks correctly (
63bedc7
) - [ref #190] refactor (
3f36a01
) - [object #190] More conversion methods for Object (
78bacf9
) - [odb #180] refactor (
eff21da
) - [pack #179] refactor (
ab6554b
) - [object #177] fix docs (
2fd23ed
) - [object #177] tag::RefIter -> TagRefIter (
28587c6
) - [object #177] migrate immutable::tree to crate::tree (
fa5cd06
) - [object #177] move immutable::* to crate::*Ref, start
iter
adjustments (461dc53
) - [object #177] rename immutable::* to immutable::*Ref (
6deb012
) - Release git-object v0.13.0 (
708fc5a
) - Merge branch ‘git-ref-refactor’ (
5dbf753
) - [ref #175] follow (try_)find(_what) naming convention (
679895c
) - [ref #175] fix docs (
dd1edc3
) - [ref #175] refactor log line (
7ac948a
) - [ref #175] refactor (
1243459
) - [ref #175] make ‘mutable’ module private (
a80dbcf
) - Release git-actor v0.5.0 (
a684b0f
) - [actor #175] refactor (
ec88c59
) - [ref #175] refactor (
292e567
) - Release git-actor v0.4.0 (
16358c9
) - [actor #173] rename immutable::Signature to SignatureRef! (
96461ac
) - Release git-lock v1.0.0 (
f38f72c
) - Release git-tempfile v1.0.0 (
1238535
) - Merge branch ‘Byron:main’ into main (
dc58eca
) - Upgrade to nom-7 (
f0aa3e1
) - [repository #165] fix docs (
b4fdfd7
) - Release git-ref v0.6.0 (
0bb4c13
) - [ref #165] refactor (
66624c3
) - [repository #165] refactor (
00ec15d
) - Release git-ref v0.5.4 (
bc5d860
) - [smart-release #162] FAIL: one level down, using the cache isn't really working… (
65db010
) - [ref] Out of bounds check to prevent legitimate panic (
303608c
) - Apply nightly rustfmt rules. (
5e0edba
) - Release git-ref v0.5.3 (
e6a8020
) - [ref #157] Support for unsorted packed refs and those without header (
2724688
) - Release git-ref v0.5.2 (
50dcca9
) - Remove dev-dependency cycles by removing their version (
c40faca
) - Release git-diff v0.8.0, git-odb v0.20.0, git-pack v0.8.0, git-traverse v0.7.0 (
f123f69
) - Release git-diff v0.7.0, git-odb v0.19.0, git-pack v0.7.0, git-traverse v0.6.0 (
c67291f
) - Release git-object v0.12.0 (
7006150
) - Release git-actor-0.3.1 (
727087d
) - [utils #154] commit manifest changes; create tags (
95dcd9d
) - (cargo-release) version 0.3.0 (
263088b
) - (cargo-release) version 0.18.0 (
b327590
) - (cargo-release) version 0.17.0 (
c52a491
) - (cargo-release) version 0.6.0 (
d58f37e
) - (cargo-release) version 0.11.0 (
a5be31c
) - (cargo-release) version 0.5.0 (
bf15c2a
) - (cargo-release) version 0.3.0 (
64efc05
) - (cargo-release) version 0.4.0 (
70ef344
) - Revert “[ref] break dev-dependency cycle” (
436e89b
) - (cargo-release) version 0.5.1 (
6f61fca
) - [ref] break dev-dependency cycle (
d5af428
) - (cargo-release) version 0.5.0 (
ae02dab
) - (cargo-release) version 0.4.0 (
0d5c8b9
) - (cargo-release) version 0.16.0 (
1231dbd
) - (cargo-release) version 0.2.0 (
20d8e27
) - (cargo-release) version 0.5.0 (
0e11e98
) - (cargo-release) version 0.2.0 (
8ff5115
) - [ref] refactor (
501182b
) - [ref #152] remaining tests for transaction namespacing (
63d80c0
) - [ref #152] first succeeding test for namespace rewriting (
758c8f6
) - [ref #152] first failing test for namespaced updates (
a81f1d4
) - [ref #152] refactor (
f9c63fb
) - [ref #152] namespace prefix stripping and fixed test expectations (
bce135b
) - [ref #152] a test for namespaced iteration (
2338c6e
) - [ref #152] packed-refs are optional for generalized iteration, too (
88525a9
) - [ref #152] FAIL: cleanup iter API by allowing Optionpacked::Buffer (
1836243
) - [ref #152] prepare namespaced iteration tests (
cf5abc9
) - [ref #152] no silent failure if path conversion isn't possible (
8df04d8
) - [ref #152] introduce Namespace type (
67d5c85
) - [ref #152] sketch API for namespaces (
138be95
) - [ref #152] docs (
8d6c856
) - [ref #152] refactor (
bfb82fb
) - [ref #152] all tests and impl for refname expansion (
9cef2f2
) - [ref #152] refactor (
431dd86
) - [ref #152] basic test setup for namespace expansion (
e852399
) - Clippy on tests and thanks clippy (
a77a71c
) - Thanks clippy (
e1964e4
) - [ref #140] finish implementation of tag peeling, with test (
c06e729
) - [ref #140] refactor (
edcc395
) - [ref #140] sketch ref tag peeling (
ef90652
) - [ref #140] refactor (
8e1a730
) - [ref #139] add missing docs (
5422ec8
) - [ref #139] my first empty test but where else to document this :)? (
0f00065
) - [ref #139] refactor (
a8f5d8d
) - [ref #139] peeling for all refs to be written to a pack (
cc891a1
) - [ref #139] refactor (
7e15817
) - [ref #139] Allow packed-refs creation in the presence of updates (
0cf7314
) - [ref #139] impl of loose ref deletion, but it doens't work yet… (
f6631ad
) - [ref #139] a failing test for pruning loose refs into packed refs (
437c610
) - [ref #139] refactor (
62558cb
) - [ref #139] a first sketch to resolve object chains for packed ref peeling (
54bc116
) - [ref #139] Allow ‘git pack-ref --no-purge’ essentially (
c32d8b7
) - [ref #139] refactor (
e5fbc4c
) - [ref #139] refactor (
4e1b95e
) - [ref #139] refactor (
42215a1
) - [ref #139] a complete test for the first packed-refs mode (
f332dcf
) - [ref #138] delete packed-refs when it's empty after rewrite (
8b7c359
) - [ref #138] refactor (
3fc0014
) - [ref #138] no need for preprocessing, input is already checked (
a6fca6e
) - [ref #138] less is more… (
6f39713
) - Thanks clippy (
169a39d
) - [ref] the first green packed deletion… (
76a23b0
) - [ref] refactor (packed refs aren't changed in memory) (
0a7e8ce
) - [ref] basic packed transaction commit impl, but it doesn't work yet (
1913099
) - [ref] fix order of operations when committing the transaction (
be5774a
) - [ref] refactor (
69d53f9
) - [ref] first revised sketch of packed-refs writing (
f942c76
) - [ref] work on first naive transaction, but… (
b08cc4a
) - [ref] tests incorporating packed-ref deletion (
399096e
) - [ref] validate packed refs are taken into consideration during create/update (
25999b4
) - [ref] allow creating new packed-refs files as well; prepare test arena (
8494c74
) - [ref] refactor (
e379177
) - [ref] refactor (
a844146
) - [ref] refactor (
bd94ea5
) - [ref] actually make use of packed refs in file transactions (
7746238
) - [ref] refactor (
7a7b0dc
) - [ref] refactor (
74ed358
) - [ref] first basic sketch of packed-ref transaction (
8aac30c
) - [ref] on the way to requiring a packed transaction for file transactions (
85f30ac
) - [ref] prepare existing refs to take packed-refs into account… (
5849b44
) - [ref] remove one todo, add another… (
46c47ab
) - [ref] all todos done (
7632573
) - [ref] refactor (
fb37e96
) - [ref] refactor (
23ea139
) - [ref] rev-iter for overlay references (
8b28d4a
) - [ref] refactor (
a80b8c1
) - [ref] tests for remaining todos (
0ef6b3d
) - [ref] remove loose::Reference backref to simplify everything (
9f1d960
) - Revert “[ref] back-reference of packed refs to their packed buffer” (
464aefe
) - Revert “[ref] FAIL: let‘s not add more back-refs, let’s add less” (
eaf4e9a
) - [ref] FAIL: let‘s not add more back-refs, let’s add less (
8e90d75
) - [ref] back-reference of packed refs to their packed buffer (
da860ef
) - [ref] refactor (
61972a2
) - [ref] refactor (
f03c614
) - Thanks clippy (
08f8bc4
) - [ref] probably fix windows (
6eb2532
) - [ref] refactor (
3df606a
) - [ref] test for peel one level of packed ref (
3d8602f
) - [ref] assure packed-refs have a consistent target after peeling. (
29a352a
) - Thanks clippy (
321908e
) - [ref] improve import paths (
2dbe785
) - [ref] refactor (
49fc212
) - [ref] prepare to create loose:Reference (
8ed3916
) - [ref] refactor (
f222525
) - [ref] finally peeling works again (
d5bd75a
) - [ref] packed-refs are now enforcing valid names (
5d92919
) - [ref] prepare peel test; realize another refactoring requirement (
62f7155
) - [ref] refactor (
ae4d5da
) - [ref] refactor (
e26c72f
) - [ref] refactor (
f4bb7a0
) - [ref] another test to run into one more todo (
13502f5
) - [ref] some TODOs to not forget (
4d6a75c
) - [ref] and it compiles again, may todos left (
16618b9
) - [ref] all required Reference methods are defined, but… (
3c976a6
) - [ref] refactor (
65f7a7d
) - [ref] changing the ref type means a lot of breakage and some unsolved problems (
407dc4d
) - [ref] refactor to be able to use loose_then_packed::Reference for top-level find (
2c4e45a
) - [ref] figure out how peeling works with packed-refs… (
2801f7a
) - Revert “[ref] FAIL: actually it's enough to give access to ‘packed’ when peeling only” (
8dc6295
) - [ref] FAIL: actually it's enough to give access to ‘packed’ when peeling only (
5173a97
) - [ref] put packed-ref lookups into the correct spot (
6d11e22
) - [ref] remove over-complicated refs store trait which… (
1cc876c
) - [ref] refactor (
62e682c
) - [ref] API sketch for allowing packed-refs to be used in find() (
ca736ab
) - [ref] fix windows build (
f99851b
) - [ref] assure names are using forward slashes in file-based refs (
ff695e4
) - [ref] prefix iteration for all references (
228ca00
) - [ref] improve structure; fix docs (
aa6052a
) - [ref] overlay really seems to work (
d2ec30a
) - [ref] more detailed overlay test (
d747d73
) - Thanks clippy (
636e1fd
) - [ref] fix windows build… (
65e6953
) - [ref] first successful test for overlay iterator (
5f92488
) - [ref] conversion for packed refs (
929bb0f
) - [ref] loose refs iteration in overlay iterator (
0b0f64d
) - [ref] leverage sorted file iteration (
036257e
) - [ref] add setup for parallel file traversal tests (
1306647
) - [ref] reproducible loose ref iteration with built-in sorting (
e138748
) - [ref] sketch remaining overlay types, now on to ‘next()’ (
6792cf1
) - [ref] a way to obtain valid ref names along with their path for overlay iteration (
bbaa1eb
) - [ref] first steps towards test and impl for overlay iterator (
f5d07b6
) - [ref] add missing docs (
e6052a5
) - [ref] all remaining tests (
ee9bc21
) - [ref] first successful test for prefix filtering in packed refs (
430549d
) - [ref] run all performance tests (
3635b25
) - [ref] simple performance tests to get an idea of what it can do… (
06bedcd
) - [ref] perf ‘test’ for ref iteration (
922d129
) - Thanks clippy (
a39a68a
) - [ref] rename find_one to ‘find’ in git-ref… (
ae7746a
) - [ref] refactor (
758c090
) - [ref] finish packed find() lookup testing (
5f67c19
) - [ref] refactor (
953939c
) - [ref] prevent unnecessary rounds for full names that aren't found (
fb765de
) - [ref] Assure ref-misses misses aren't parse-errors (
d9d1360
) - [ref] basic lookup rule impl; needs more test cases (
3226f77
) - [ref] fix compile warning on windows (
c328774
) - [ref] a test case specifically for lookup rules (
ab3a34f
) - Remove unnecessary pub(crate) exports (
3d2456e
) - [ref] refactor (
140da9a
) - [ref] improve parse failure handling in packed-ref lookup (
ba62aab
) - [ref] refactor (
959abc7
) - [ref] prepare for proper full-name conversion (
0e6d3f2
) - [ref] searching fully qualified reference names actually works. (
9b2579c
) - [ref] prepare find() impl… (
b26dd1e
) - [ref] assure packed-refs buffers are sorted (
a797493
) - [ref] refactor (
897a49a
) - [ref] windows fix; now maybe? (
0e1a204
) - [ref] windows pathname replacement: \ -> /… (
94a1e02
) - [ref] fix one test failure on windows (
21f1031
) - [ref] rough frame for finding packed refs (
a24a54f
) - [ref] learn more about the windows issue… (
dde6276
) - [ref] refactor (
c150aba
) - [ref] prefixed loose ref iteration (
49ce1e2
) - [ref] refactor; tests for prefix iteration (
63566eb
) - [ref] loose ref iteration with broken ref support (
2d1234f
) - [ref] maybe fix windows (
6fc7784
) - [ref] first rough implementation of loose ref iteration (
918af42
) - [ref] packed-refs iteration… (
ea97e06
) - [ref] docs for packed refs iterator (
02690bc
) - [ref] fix ‘small’ build (
5fd10fe
) - [ref] packed-refs iteration works, incl. decent error handling (
e5a6b9d
) - [ref] the first packed-refs iterator tests (
f6d769e
) - [ref] refactor (
207a799
) - [ref] flexible and simple support for different hash lengths (
9c2edd5
) - Revert “[ref] parameterize all uses of hash length…” (
21f187e
) - [ref] sketch of iterator (
6c05243
) - [ref] refactor (
79184cf
) - [ref] parameterize all uses of hash length… (
5c7285e
) - [ref] less lenient packed-ref header parsing (
45b41e0
) - Thanks clippy (
33f1b00
) - [ref] refactor (
de526b3
) - [ref] first working packed ref line parsing (
bc60229
) - [ref] first test for line (and peeled ref) parsin (
7af27c5
) - [ref] refactor (
b74913e
) - [ref] refactor (
d0eb819
) - [ref] packed refs header line parsing (
fde5543
) - [ref] first rough steps to testing parsing a little (
57659e9
) - [ref] sketch packed refs, but… (
8951b3f
) - [ref] refactor + docs review (
4b9b034
) - [ref] the last TODO is gone (
01dc422
) - [ref] down to the last todo (
23cea99
) - [ref] two more tests but only one todo down (
bf947d6
) - [ref] the drop test (
e472bde
) - [ref] refactor (
059f836
) - [ref] refactor (
7faf6f2
) - [ref] adjust expectation to not do any special HEAD business (
49d294a
) - Revert “[ref] FAIL: realize that HEAD-reverse-lookup isn't done in transactions…” (
8b0d7b6
) - [ref] FAIL: realize that HEAD-reverse-lookup isn't done in transactions… (
6098ba0
) - [ref] test to validate HEAD update as special case of… (
276aa9a
) - [ref] refactor (
861483a
) - [ref] validate non-empty directories (
8fb625d
) - [ref] moving a ref onto empty directories works now… (
a237f77
) - [ref] refactor (
ed40a87
) - [ref] another complex test works (
ebdbfae
) - [ref] fix build (
b4dcdfc
) - [ref] try fix windows, once again (
95e74dd
) - [ref] refactor (
a261b82
) - [ref] probably fix windows (
a8b7c8d
) - [ref] allow reflogs to be created in place of empty directory trees (
80a6e0e
) - [tempfile] a way to delete empty dirs recursively (
6025aa0
) - [ref] refactor (
21920ec
) - [ref] refactor directory handling (
45dbf22
) - [ref] refactor (
92867c5
) - [ref] handle existng empty directories more gracefully… (
0849c70
) - Thanks clippy (
d967e30
) - [ref] handle create-or-append when writing valid reflog files… (
9175085
) - [ref] refactor (
1ee3419
) - [ref] auto-creation logic for reflogs (
80f71dc
) - [ref] reflog creation test is quite complete (
b67e79c
) - [ref] allow commiter to be passed for use in reflog (
80f5627
) - [ref] tests for converting reflock paths into log paths (
1f2e754
) - [ref] refactor (
a29fcf1
) - [ref] frame for reflog creation or update (
81cb790
) - [ref] refactor (
a76929b
) - [ref] disambiguate create-or-update logic (
585f369
) - [ref] write out Create-or-Update logic to see that's its probably not going to cut it. (
54d084f
) - [ref] show how the original name can be displayed for lock failures… (
07f0c2d
) - [ref] write peeled previous OID through to parent refs (
3355dd8
) - [ref] fix child link transformation (
5d9a685
) - [ref] refactor (
2f92f36
) - [ref] sketch of inverting parent links for later oid lookup (
a050f18
) - [ref] refactor (
1e88948
) - [ref] add reflog message to change… (
b31e103
) - [ref] sketch more detailed test for updating reflogs (
5a657cd
) - Thanks clippy (
eb8ea22
) - [ref] the last deletion test (
258a494
) - [ref] refactor (
db76cfd
) - [ref] deletion won't have problems with broken refs (
286b5c1
) - Thanks clippy (
e5da69e
) - [ref] add failing deletion test for broken refs (
578413f
) - [ref] another del test (
d935d6f
) - [ref] another deletion test (
8b756e0
) - [ref] another deletion test (
69ede1b
) - [ref] refactor (
d05a646
) - [ref] Make sure edit preprocessing happens in the right order (
2d5f9aa
) - [ref] refactor (
dd9c99b
) - [ref] refactor (
97fc864
) - Thanks clippy (
f436f18
) - [ref] splitting handles reference cycles (
09b4fc1
) - [ref] splitting actually works! (
a9f824b
) - [ref] first stab at splitting refs, needs more elaboration to fulfil expectations (
66b1f37
) - [ref] refactor (
eb0328f
) - [ref] first part of ref splitting is tested (
ce7f83b
) - [ref] refactor; prep slitting tests (
7ffc619
) - [ref] refactor (
683651d
) - [ref] first sketch of generalized splitting of edits (
1f2efdc
) - [ref] working on splits really shows that we want more than one enum maybe… (
1b62838
) - [ref] need ref splitting for the first time. (
f52989f
) - [ref] better deletion tests; more useful return value (
96848f6
) - Thanks clippy (
ef9bfd2
) - [ref] another deletion test succeeds (
6037900
) - [ref] refactor, not quite sure about delete mode… (
683991a
) - [ref] another test; failing for now (
1908b69
) - [ref] another test green (
104598e
) - [ref] first succeeding deletion test (
3445d7d
) - [ref] refactor (
d2e2e8f
) - [ref] first deletion tests (
e41f8c8
) - [ref] write more details on how prepare and commit should work overall. (
a7d988b
) - [ref] refactor; get closer to what git does… (
488f311
) - [ref] refactor (
58a5653
) - [ref] first very basic ref writing (
7ebed3f
) - [ref] remove complexity in the name of performance, fix windows… (
77c3f24
) - [ref] (probably) fix windows (
7c1eead
) - Thanks clippy (
6865549
) - [ref] slowly getting there (
6506924
) - [ref] a way to determine if a reflog exists. (
e6fbba8
) - [ref] reference::log_iter_rev() (
1f7af5d
) - [ref] reference.log_iter() works, but… (
c298473
) - [ref] [FAIL] try to forward iterator creation to reference… (
ef1737c
) - [ref] refactor (
129bccf
) - [ref] refactor (
96dd98b
) - [ref] refactor (
a7dd994
) - [ref] refactor (
3460127
) - [ref] store ref log reverse iterator (
34d7957
) - [ref] store can provide reflog forward iter… (
9adb9ca
) - [ref] more assertions (
8000677
) - [ref] a fully implemented first test with assertions (
29a5893
) - [ref] sketch more tests that will be needed (
01690be
) - [ref] add control over handling lock failures during transaction (
7c4057a
) - [ref] generic operation on input edits, split-suitable now (
7f4f637
) - [ref] try using borrow on a slice intead of iterator… (
b2371d9
) - [ref] duplicate ref edit checks… (
3ec0182
) - [ref] a more fleshed out API for file transactions (
918123f
) - [ref] on the way towards realistic transactions… (
c808cb1
) - [ref] on the way to setup the first transaction test (
29c0b51
) - [ref] file store can ignore all writes; sketch transaction API (
52a81e9
) - [ref] refactor (
6a84790
) - [ref] log line writing (
3da8fcf
) - [ref] Line::from_bytes(…); iter uses that now (
7895995
) - [ref] test for small buffer sizes (
6183772
) - [ref] handle multiple buffer reloads (
4559c7a
) - [ref] refactor (
65e333d
) - [ref] refactor (
2b416ee
) - [ref] refactor (
82b18e5
) - [ref] multi-line reverse iteration works, without window shift for now (
f1e3861
) - [ref] first reverse iter test succeeding (
8875601
) - [ref] let's not forget to simply not try to return borrowed things from iterators (
bcc934d
) - [ref] FAIL: try it with included buffer (
189080e
) - [ref] FAIL another attempt this time without iterator… (
5e73dc2
) - [ref] FAIL at attempt to to have self-referential iterators :D… (
bc4012e
) - [ref] first test for reverse iterator and more boilerplate (
40db355
) - [ref] refactor (
4daddb1
) - [ref] sketch of reverse iterator (
c581d16
) - [ref] thanks clippy (
4ba3b08
) - [ref] significantly simplify error messages… (
b15cb16
) - [ref] don't include terminators to get slightly nicer error messges (
09bbc6d
) - [ref] another test for iter::forward() (
1d84302
) - [ref] a forward iterator with a single test (
917040c
) - [ref] log line docs (
10ab8e0
) - [ref] refactor (
cd89e21
) - [ref] more context for line parsing (
ddb5f9d
) - [ref] refactor (
a08fb77
) - [ref] be truly zero copy and delay work to when it's first asked for (
b4e594b
) - [actor] FAIL an attempt to remove btoi errors (
3f99cf5
) - [actor] pure nom error handling… (
78cbe18
) - [ref] refactor (
8694488
) - [ref] getting there! (
bd73d8e
) - [ref] a step forward to nom error handling, but… (
426ae5b
) - [ref] try really hard to use generic verbose nom errors but… (
1031625
) - [ref] tests and impl for happy cases (
7be82f0
) - [ref] the first test for log line parsing; make serde1 work (
cba3cdc
) - [refs] try to get structure in place for reflog parsing (
727c66a
) - [refs] sketch more of transactions so it has all it needs (
8f9a015
) - [refs] allow writing any valid ref value instead of limiting ourselves to object ids (
114fce8
) - [refs] finish transaction sketch (or so it seems) (
976a079
) - [refs] this gets more and more interesting (
e056495
) - [refs] finish research for transactions and their flags (
2eb3bcc
) - [refs] sketch some parts of a transaction based on git source (
d9a5d32
) - (cargo-release) version 0.3.0 (
87db688
) - (cargo-release) version 0.3.0 (
6b33678
) - (cargo-release) version 0.2.0 (
3286e42
) - [git-refs] a way to build a big packed-refs file (
5113529
) - (cargo-release) version 0.4.0 (
866f86f
) - [git-repository] traversal program uses new facilities, and it's cumbersome (
29ea2de
) - [git-repository] most of the git repository discovery (
72a49c8
) - [git-ref] refactor (
0c795c5
) - [git-ref] fix docs (
4fbc476
) - [git-ref] docs complete (
93a1f4e
) - [git-ref] nicer semantics for peel_in_place_to_id() (
d3250a7
) - Revert “[git-ref] refactor (Option<Result… -> Result<Option…” (
d4046e9
) - [git-ref] refactor (Option<Result… -> Result<Option… (
774e86c
) - [git-ref] refactor (
928b637
) - [git-ref] more docs (
f962c74
) - [git-ref] refactor (
415f15a
) - [git-ref] a bunch of docs (
7cfc5ab
) - Thanks clippy (
93915fa
) - [git-ref] peel to id done (
f74771c
) - [git-ref] first working peel-to-id() (
3574f87
) - [git-ref] frame for peel_to_id (
3710b6c
) - [git-ref] peeling without an iterator, fine (
b118946
) - [git-ref] first stab at reference iteration… (
806d10e
) - [git-ref] refactor (
c363269
) - [git-ref] find_one_existing(…) for convenience (
7a443ff
) - [git-ref] some find failure cases (
d855051
) - [git-ref] handle all find_one cases as per docs (
3c0acc6
) - [git-ref] more ways of finding reference (
b3c4e92
) - [git-ref] the first green find_one test (
30177e8
) - Thanks clippy (
8f0e9ed
) - [git-ref] first basic impl shows validation needs a little adjustment (
8b901c7
) - [git-ref] a sketch of find_one - easiest for the caller for sure (
ec96256
) - [git-ref] refactor (
5bac585
) - [git-ref] frame for loose store reference lookup (
30b0d54
) - (cargo-release) version 0.2.0 (
1327894
) - [git-ref] use git-validate crate (
6b4f937
) - [git-ref] Setup more tests to realize we really want validate::tag (
54ee5b5
) - [git-ref] frame for validation (
9656ac6
) - [git-ref] failure tests (
567e86c
) - [git-ref] more tests (
048fb77
) - [git-ref] refactor (
77d0cc0
) - [git-ref] don't support serde for now (
2a6295b
) - [git-ref] refactor (
02e545b
) - [git-ref] first basic 'ref: ' parsing (
60fa3ba
) - [git-ref] refactor (
9a30f87
) - [git-ref] the first succeeding test (
cebfdb4
) - [git-ref] the first failing test (
7e802a0
) - [git-ref] sketch ref creation (
c5241b8
) - [git-ref] A sketch of how it looks like with Store backref (
1a08f1c
) - [git-ref] more scaffolding (
8c6e884
) - [git-ref] clear it out and move existing functionality to git-object (
fa548ce
) - (cargo-release) version 0.5.0 (
b6b5856
) - [pack-gen] refactor (
61554e2
) - (cargo-release) version 0.4.1 (
25d2c2e
) - Document
git-ref
(91dce23
) - Remove dash in all repository links (
98c1360
) - Merge from main. (
b59bd5e
) - Refactor (
ba1d883
) - (cargo-release) version 0.4.0 (
f9dd225
) - Allow dual-licensing with Apache 2.0 (
ea353eb
) - Refactor (
63c1292
) - Bump minor version to 0.3 (
4351e28
) - Update to quick-error 2.0 (
4b1b784
) - (cargo-release) version 0.2.0 (
d350a13
) - Switch to latest quick-error (
9760856
) - Assert we don't exeed package sizes (
df66d74
) - Refactor (
6ad9304
) - Refactor (
1fd90f7
) - Test for common ascii control characters (
ae0c885
) - All test for valid ref name except for ascii control chars (
a157acf
) - Add new ‘git-ref’ crate; place ref name validation code there (
1a0e84e
)
0.23.1 (2023-01-10)
A maintenance release without user-facing changes.
0.23.0 (2023-01-09)
A maintenance release without user-facing changes.
0.22.0 (2022-12-30)
A maintenance release without user-facing changes.
0.21.0 (2022-12-19)
A maintenance release without user-facing changes.
0.20.0 (2022-11-21)
New Features (BREAKING)
upgrade edition to 2021 in most crates. MSRV for this is 1.56, and we are now at 1.60 so should be compatible. This isn‘t more than a patch release as it should break nobody who is adhering to the MSRV, but let’s be careful and mark it breaking.
Note that gix-features
and gix-pack
are still on edition 2018 as they make use of a workaround to support (safe) mutable access to non-overlapping entries in a slice which doesn't work anymore in edition 2021.
0.19.0 (2022-11-17)
New Features
-
file::Transaction::rollback()
allows to explicitly roll back a pending change. As opposed to dropping the Transaction, this method allows to obtain all edits that would have been applied. - higher performance for edits which would write the same value. Instead of moving them into place, we just drop them, without ever writing into them.
Bug Fixes
assure symrefs don‘t get deleted when moving refs to packed-refs. Previously it was possible for symbolic refs to be deleted right after they have been created or updated as they were included in the set of refs that was assumed to be part of packed-refs, which isn’t the case for symbolic refs.
case-insensitively conflicting references can be created even on case-insensitive filesystems*. The asterisk indicates that this only works if packed-refs are present and these references are written straight to packed references without ever trying to handle the otherwise conflicting loose reference files.
This is done by leveraging the fact that in presence of packed-refs or a pending creation of packed-refs, there is no need to create per-file locks as concurrent transactions also have to obtain the packed-refs lock and fail (or wait) until it's done.
instead of erroring if loose iteration is performed on missing base, correctly yield zero references. Previously it reported an error, now it does not and instead performs no iteration, which is more helpful to the user of the API I believe as they won't randomly fail just because somebody deleted the refs
folder.
loose ref iteration on a repo with missing ‘ref/’ fails when creating the iterator. Previously, it would fail on first iteration, making it seem like there is one reference even though it's just an error stating that the base cannot be read.
This is clearly worse than making a metadata check on the filesystem, no matter how unlikely the case.
0.18.0 (2022-11-06)
Bug Fixes
allow symref updates to receive reflogs if these are new… …and well-known on top of that, that means having an exact expectation on what should be present.
This allows symrefs to be created with reflog.
Bug Fixes (BREAKING)
- support for non-'static PackedRefs transactions. When configuring for packed-refs updates, previously one needed to provide a function to find objects that could not borrow data due to implicit 'static requirement. This has been lifted to allow it to access references to data on the stack.
0.17.0 (2022-10-10)
New Features
-
transaction::Change::new_value()
to get easy access to new values of references. That's more convenient than matching on the enum. -
FullName::try_from(&BString)
for convenience. Sometimes when matching one only has a &BString
, and it‘s hard to convert it to &BStr
without an extra line of code, it’s cumbersome, so we workaround by adding another conversion.
Changed (BREAKING)
-
file::Transaction::prepare()
now takes two gix_lock::acquisition::Fail
instances. This allows to configure the file-ref lock failure mode differently from the packed-refs lock failure mode, which is exactly what git
does as well defaulting them to 100ms and 1000ms till lock acquisition gives up.
0.16.0 (2022-09-20)
Chore (BREAKING)
- replace
quick-error
with thiserror
0.15.4 (2022-08-28)
New Features
- Add
Reference::delete()
for simple reference deletion
0.15.3 (2022-08-27)
Maintenance release without user-facing changes.
0.15.2 (2022-08-24)
Chore
- uniformize deny attributes
- remove default link to cargo doc everywhere
New Features
- use docsrs feature in code to show what is feature-gated automatically on docs.rs
- pass --cfg docsrs when compiling for https://docs.rs
0.15.1 (2022-08-17)
Bug Fixes
always update modification date when packed refs are forcefully reloaded. The latter happens right after the file was written, which means we definitely have to update our modification date or else the buffer will be read again next time somebody asks for an up-to-date version.
The ordering of operations is such that at worst, the buffer is loaded again instead of keeping an outdated version of it, which would happen if the metadata is read afterwards.
0.15.0 (2022-07-22)
New Features
- Add
store::WriteRefLog::Always
to unconditionally write reflogs. - Allow
Reference
to be serialized/deserialized with serde
.
Changed (BREAKING)
-
Target(Ref)?::try_name()
now returns Option<&FullNameRef>
. That way, the name is actually directly usable in most methods that require a validated name as input.
0.14.0 (2022-06-13)
A maintenance release without user-facing changes.
0.13.0 (2022-05-18)
New Features
- ref iteration for worktrees. It merges the iteration result of private worktree refs along with all shared common references references.
-
Category::LinkedRef
With it one can access all refs as advertised. -
Category::MainRef
With it it will be possible to compute all paths correctly and actually perform certain operations as documented. -
Category::(WorktreePrivate|Bisect|Rewritten)
-
Category::LinkedPseudoRef
- Add
Category::MainPseudoRef
-
Category::PseudoRef
Changed (BREAKING)
Transaction::commit(…)
takes gix-actor::SignatureRef
instead of …::Signature
. This makes the API more versatile and corrects a shortcoming that was caused by SignatureRef
previously being unable to serialize itself.
remove FullName::to_ref()
in favor of •::as_ref()
. This became possible now that FullNameRef
is a proper ref, not just ref-like.
rename PartialNameRef
to PartialNameCow
Because this is what it is, which also implies that it's not Copy
anymore which a Ref
would definitely be.
The reason we need this to be a Cow
is to support passing ownership.
remove Store
from public API It is unclear if ref-tables, which are the reason for it to exist in the first place, will fit into the concept as they might not support worktrees. It's entirely unclear how this works.
Maybe there can be a non-worktree version of the store with work-trees only being supported by the file based ref database, and ref-tables remaining a server-side feature.
rename file::Store::base()
to git_dir()
. That way it is clearer what it actually is especially in presence of the newly added file::Store::common_dir()
method.
That way, work-trees can eventually be properly supported.
New Features (BREAKING)
- Turn
FullNameRef
into an actual reference type. That way Cow<'_, FullNameRef>
works as expected.
0.12.1 (2022-04-05)
Changed (BREAKING)
rename PartialNameRef
to PartialNameCow
Because this is what it is, which also implies that it's not Copy
anymore which a Ref
would definitely be.
The reason we need this to be a Cow
is to support passing ownership.
remove Store
from public API It is unclear if ref-tables, which are the reason for it to exist in the first place, will fit into the concept as they might not support worktrees. It's entirely unclear how this works.
Maybe there can be a non-worktree version of the store with work-trees only being supported by the file based ref database, and ref-tables remaining a server-side feature.
rename file::Store::base()
to git_dir()
. That way it is clearer what it actually is especially in presence of the newly added file::Store::common_dir()
method.
That way, work-trees can eventually be properly supported.
New Features
- add
FullName(Ref)::category_and_shortname()
It's a combination of shorten()
and category()
for convenience. -
Category::LinkedRef
With it one can access all refs as advertised. -
Category::MainRef
With it it will be possible to compute all paths correctly and actually perform certain operations as documented. -
Category::(WorktreePrivate|Bisect|Rewritten)
-
Category::LinkedPseudoRef
- Add
Category::MainPseudoRef
-
Category::PseudoRef
0.12.0 (2022-04-03)
New Features
-
Fullname(Ref)::category()
and Category
A way to classify references. - FullName(Ref)::strip_prefix() Get a short-hand for any reference name.
- Add
gix_config::values::Path
for a typesafe git path Add a Path
type to the gix_config::values
which can be interpolated according to gits own path interpolation rules. - FullNameRef::file_name()
- Display implementation for
FullName
.
Bug Fixes
Changed (BREAKING)
-
Target::as_(id|name)
-> Target::try_(id|name)
Conform to naming conventions, whenever something returns an option or Result while there is a more direct name that panics, prefix try_
.
0.11.0 (2022-01-23)
New Features
- FullNameRef::file_name()
- Add file::Store::find_packed(…, buffer) This makes the API complete as now there is a methods that uses the internal buffer, or the provided one, where both can have its benefits.
- add Reference::peel_to_id_in_place_packed() and Reference::follow_packed() This allows a stable/non-changing buffer to be used.
Bug Fixes
Changed (BREAKING)
- Required
object_hash
as parameter when instantiating any Store This is needed to choose the correct kind of object hash in a couple of situations, and future-proofs it for when ref-table arrives. - remove
Target::must_exist()
It was a remainder of an old API which since has been replaced with a more explicit approach. - remove pack-cache from
Find::try_find(…)
With the new architecture this can be an implementation detail without forcing it to be Sync. - move gix_pack::data::Object to gix_object::Data, massively alter gix_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases.
0.10.0 (2021-11-29)
With this release, file::Store
is easier to use due to thread-safe handling of an internal and shared packed-buffer instance. An API for passing it as parameter like before is still present, allowing to use a ‘frozen’ version of the packed buffer for any amount of operations.
New Features
Add file::Store::iter_(prefixed_)packed()
.
These methods allow using an own packed buffer, usually obtained through cached_packed_buffer()
.
add file::Store::cached_packed_buffer()
for packed refs snapshots
add file::Store::try_find_packed(…, packed_buffer) That way, abstractions can still be built that have other ways of managing the packed-refs buffer, allowing it to stay more persistent.
Changed (BREAKING)
rename file::Store::packed_buffer()
to …::open_packed_buffer()
This makes much clearer what it actually does, as previously it might have been a stored packed buffer as well.
file::Store::from(PathBuf) removed At this low level, it‘s important to be clear about RefLogs and rather force the caller to specify the ref-log mode. Technically it depends on a few factors, gix
deals with them, but certainly shouldn’t default to anything without being clear.
Reference log line access Reference::log_iter(…)
now is a platform instead of a forward iterator, which requires a call to .all()
to return the forward iterator like previously.
Reference::log_iter_rev(…)
was removed in favor of Reference::log_iter(…).rev()
.
file::Store::iter() is now a platform, with .all()
and .prefixed(…)
respectively This way, it's possible to keep shared ownership of the packed buffer while allowing the exact same iterator machinery to work as before.
file::ReferenceExt::follow(…) now without packed refs parameter
file::ReferenceExt::peel_to_id_in_place(…)
now without packed-refs buffer It is instead read from the internally synchronized buffer, shared across all instances.
file::Store::(try_)find(…, packed) was removed The packed buffer is now handled internally while loading it on demand. When compiled with gix-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.
move gix_ref::file::WriteRefLog
to gix_ref::store::WriteRefLog
Other (BREAKING)
- Reference::logs() -> Reference::log_iter() The latter now returns a standard Platform to iterate over all reflog entries from oldest to newest or vice versa.
Refactor (BREAKING)
-
file::Store::base
is now file::Store::base()
and read-only That way, file databases can‘t be repositioned anymore, it’s recommended to recreate it if that's desired.
0.9.1 (2021-11-16)
New Features
- PartialNameRef<'static>::join() for building paths on the fly
- Allow
PartialNameRef
to be created from owned items
v0.9.0 (2021-10-19)
A maintenance release to properly dealing with previously breaking changes in gix-hash
.
v0.8.0 (2021-10-15)
This release contains no functional changes, but is considered breaking for safety reasons as gix-traverse
is signalling a breaking change.
Other
loose reference iteration with non-dir prefixes… Previously it was expected for the prefix Path
to always exist for the prefix to be valid. This, however, is not similar to packed prefixes, which allow non-dir prefixes as well.
Now we will check if the prefix is actually a directory, and if not split it into its parent directory and the filename portion. The latter is then used for prefix matching file names within that directory.
improve changelog format
Other
- add panicking
Target::id()
and TargetRef::id()
v0.7.3 (2021-09-10)
- Compatibility with Rust 1.55. It informed about the incorrect usage of
std::io::ErrorKind::Other
which this crate also dependent on causing runtime bugs. The latter were detected by tests and this release contains the fix to not rely on certain behaviour anymore.
Other
loose reference iteration with non-dir prefixes… Previously it was expected for the prefix Path
to always exist for the prefix to be valid. This, however, is not similar to packed prefixes, which allow non-dir prefixes as well.
Now we will check if the prefix is actually a directory, and if not split it into its parent directory and the filename portion. The latter is then used for prefix matching file names within that directory.
v0.7.2 (2021-09-10)
Other
v0.7.1 (2021-09-08)
v0.7.0 (2021-09-07)
Breaking
- Replace
transaction::Create
with transaction::PreviousValue
and remove transaction::Create
- Remove
file::Reference
in favor of Reference
- Move
file::log::Line
to log::Line
TargetRef::Symbolic(&BStr)
-> TargetRef::Symbolic(FullNameRef)
- replace
Transaction::namespace()
with file::Store::namespace
v0.6.1
Bugfixes
- splits of edits to symbolic references will now ‘move’ the desired previous values down to the referents while resorting to not having any requirements in the symbolic ref instead.
v0.6.0 (2021-08-27)
BREAKING
- rename
file::Store::packed()
to file::Store::packed_buffer()
v0.5.4 (2021-08-17)
v0.5.3 (2021-08-15)
v0.5.2 (2021-08-13)
v0.5.1 (2021-08-10)
v0.5.0 (2021-08-10)
v0.4.1 (2020-12-19)
v0.4.0 (2020-09-12)
v0.3.0 (2020-08-12)
v0.2.0 (2020-07-23)
v0.1.0 (2020-07-15)