summaryrefslogtreecommitdiffstats
path: root/vendor/gix-ref
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gix-ref')
-rw-r--r--vendor/gix-ref/.cargo-checksum.json2
-rw-r--r--vendor/gix-ref/CHANGELOG.md2105
-rw-r--r--vendor/gix-ref/Cargo.toml26
-rw-r--r--vendor/gix-ref/LICENSE-APACHE191
-rw-r--r--vendor/gix-ref/LICENSE-MIT21
-rw-r--r--vendor/gix-ref/src/fullname.rs3
-rw-r--r--vendor/gix-ref/src/lib.rs2
-rw-r--r--vendor/gix-ref/src/name.rs4
-rw-r--r--vendor/gix-ref/src/store/file/log/line.rs2
-rw-r--r--vendor/gix-ref/src/store/file/loose/reflog.rs2
-rw-r--r--vendor/gix-ref/src/store/file/overlay_iter.rs4
-rw-r--r--vendor/gix-ref/src/store/file/raw_ext.rs6
-rw-r--r--vendor/gix-ref/src/store/file/transaction/commit.rs6
-rw-r--r--vendor/gix-ref/src/store/file/transaction/prepare.rs29
-rw-r--r--vendor/gix-ref/src/store/general/handle/find.rs2
-rw-r--r--vendor/gix-ref/src/store/general/init.rs2
-rw-r--r--vendor/gix-ref/src/store/packed/transaction.rs2
-rw-r--r--vendor/gix-ref/src/transaction/mod.rs12
18 files changed, 2367 insertions, 54 deletions
diff --git a/vendor/gix-ref/.cargo-checksum.json b/vendor/gix-ref/.cargo-checksum.json
index 81c1f8d9e..085a13aaf 100644
--- a/vendor/gix-ref/.cargo-checksum.json
+++ b/vendor/gix-ref/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"722588b75f0712bd638a45a4290a6a4366dde2f8d89034c56ebe04683a1daa9e","src/fullname.rs":"bf5474ae029a6537d67380ba372521740ef01236d5e2c5cae14801cc2a55a615","src/lib.rs":"e53195d9b6c59867b637239953cbabebcfe5cfe53af285a7211b84876b383e7d","src/log.rs":"93deed22815142228ec068da01bb43156b15319e549b8f5122c8183d97e2d1a6","src/name.rs":"49667688878b612836737072f04b6bc8b8d6ccdeb6f8128d9fab5632fa385b54","src/namespace.rs":"4526a9de69bc32a4fc57d386ab3e2706ebd9e8897cdc12a53c475b0a617cb3ac","src/parse.rs":"c6956a4303e996955285d3fc255bd38734c832bc877d5ae63a77ee292989c0cf","src/peel.rs":"fb576b55b4d17fe9abc12cf1fb55753937810feeb8f79a36c52ae2ac8a3abff0","src/raw.rs":"d2ebd06b2b34553732a771a3e61102b0e786bdfb7960d095d001372c4c9a1f6e","src/store/file/find.rs":"22f544ecbffb08334ce2433d7ecfdba2971bedbf2bf5984387eebf0d02050eb5","src/store/file/log/iter.rs":"cfba6583d0fbf21e16d515e14d6e71a624291bc6910dde60642c309b24a9c275","src/store/file/log/line.rs":"fbfd0faff68ec950ef35b17f3cfd535ffe02b6b1f23540a93134daf81900a728","src/store/file/log/mod.rs":"2f3ce7b943f3fdd4dfdfd7b18f051a38d7e5e64067d144315faa4b47c22dc10b","src/store/file/loose/iter.rs":"f1236fd18e467863f1227862226643cc05af22708485ae1475ce1a69c0502287","src/store/file/loose/mod.rs":"2abb44cb8509f1040cad946fe2b641862aa4734cf43988561ebddc503ade4fb6","src/store/file/loose/reference/decode.rs":"e0dee458982c0d24052b57a356a347ec0eb01ffd7e829e593551974c0fd4c038","src/store/file/loose/reference/logiter.rs":"dc25b669f26f9c6c8aaf2186e48714bec065e80e9d06112b31e462bbd5c0f2f2","src/store/file/loose/reference/mod.rs":"bfbf39a4c7b9ff8dac40a6fcc334992fbe778de86d86787cf8c7ac5467d65304","src/store/file/loose/reflog.rs":"2aeef1c5a64ee5bfb76008d8eda0010da121abd23b54582c95b2a980bd55dbbc","src/store/file/loose/reflog/create_or_update/tests.rs":"0a782c2fe0900c92aa02894d48b10b99835ce202964213acdaee167e59533cc0","src/store/file/mod.rs":"dab1cabd111bcd68c0ec62ba0b9034f9665a79673cae23bcff269fa4b162ceb9","src/store/file/overlay_iter.rs":"3712a348e723a9643289185aa18770c3bd23d956da21e67d1ff90f4dd0d155ad","src/store/file/packed.rs":"1a4c2dfe39fdfe94ff6b045a1021ff3fd8f15332558eb23b7ce330e1abb258c7","src/store/file/raw_ext.rs":"2478fb22c1129d72af102a08e5058af7e7e3224c91f05d485622fe4688ffd817","src/store/file/transaction/commit.rs":"bd0c3d2aa89814a4ba586ed17a4874ce282a64d1de97f7f2b3e66794a11f8f8e","src/store/file/transaction/mod.rs":"857cbf3e9aedcd659f47389638347506d52b59263bad2c2ea48046e2a33d18af","src/store/file/transaction/prepare.rs":"13187385a24c6e935e29d19776c2ae35e79c0ae57722db73348935c8643b0c7b","src/store/general/handle/find.rs":"ae228a17df534d8231d68093c209d02de03d102fac1a76a8b12906248c50412e","src/store/general/handle/mod.rs":"5f6c9bc2a2a20bc08807bdf2324e2f22461dbed609cebe5dfa25d6c096514f40","src/store/general/init.rs":"107b62c8ca50d84f95b56c8894572147a5aee585ca52cd6db6213c87db91779d","src/store/general/mod.rs":"0ed6247438790f38b75ab62bffa70ddb73c873fd2d05552c19af1fdaf604773b","src/store/mod.rs":"d160b6f8a2388fe6978cd94675af910d85f2030168bba4a173a30384948ac3ec","src/store/packed/buffer.rs":"2aeabde07415b2f3f080b6a1a5501e637f2ff99d0c2630530851d0acbd82e1d6","src/store/packed/decode.rs":"380fab290cd3d81ba77b7f87f4610dd47c9755a896359b33579bf9b8f09a16db","src/store/packed/decode/tests.rs":"5e66f4ca73b65336dcac8580243b5a53b6a0bf842579396ab08dc9d6a8386dd8","src/store/packed/find.rs":"8edd89aec77c292909323b8fe504962f352e5ef16ebf1a55a6205bb752f061e2","src/store/packed/iter.rs":"6aaa45aac6141f6c9c93cf56384a4b77c9a75ffd430ebbf8329a08a72688a6e6","src/store/packed/mod.rs":"711cf43cf67dff52dab1ccc7624962f805b4f4c1337ce5bfca3d315261bdf607","src/store/packed/transaction.rs":"5c9bddcd756262791dc706c008d5766eb61227d016eb2fda95c798fa64ca6f58","src/target.rs":"dce5cedb767a4ec03d3882881c5aa4af4fbf2d68240233386650badee73086fe","src/transaction/ext.rs":"7936d319b9e2230b8040c0c55a06dc5282f0e0f75f8a654c0d5d0163ecb86af5","src/transaction/mod.rs":"590a68708dd98069504f2a9d58e9adfd4ad001f673b832798ad0ec71d36ca3b9"},"package":"b8212ecfe41815a2f1b059d82171d6276758cfac5506a5e0f04ad45ef0b1924a"} \ No newline at end of file
+{"files":{"CHANGELOG.md":"f3bfaae973304b569a8cfd1547a4dae53f35cf213869065cde55c8f4b1b6e4e9","Cargo.toml":"83ba65a3c9457b9089bdf513f9fe8b6108086def2e6c91c6e081d2912e4eae6a","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","src/fullname.rs":"ccadae09f2b92ccad9673d99f99785fa7a1d94a917dc208498de1b64a2c5e316","src/lib.rs":"ad09e55cccdab1308f488ae2fdde80cb65f05b4136dd083998f67fdd472a6a63","src/log.rs":"93deed22815142228ec068da01bb43156b15319e549b8f5122c8183d97e2d1a6","src/name.rs":"cd073b78c041f437f08b6e58c239f68c11c4c424314ac8d1bd7382d1fabe8363","src/namespace.rs":"4526a9de69bc32a4fc57d386ab3e2706ebd9e8897cdc12a53c475b0a617cb3ac","src/parse.rs":"c6956a4303e996955285d3fc255bd38734c832bc877d5ae63a77ee292989c0cf","src/peel.rs":"fb576b55b4d17fe9abc12cf1fb55753937810feeb8f79a36c52ae2ac8a3abff0","src/raw.rs":"d2ebd06b2b34553732a771a3e61102b0e786bdfb7960d095d001372c4c9a1f6e","src/store/file/find.rs":"22f544ecbffb08334ce2433d7ecfdba2971bedbf2bf5984387eebf0d02050eb5","src/store/file/log/iter.rs":"cfba6583d0fbf21e16d515e14d6e71a624291bc6910dde60642c309b24a9c275","src/store/file/log/line.rs":"84fa545a5c6bffd749160ff0680bdd73ab0774a95684786cc7359283d920d44b","src/store/file/log/mod.rs":"2f3ce7b943f3fdd4dfdfd7b18f051a38d7e5e64067d144315faa4b47c22dc10b","src/store/file/loose/iter.rs":"f1236fd18e467863f1227862226643cc05af22708485ae1475ce1a69c0502287","src/store/file/loose/mod.rs":"2abb44cb8509f1040cad946fe2b641862aa4734cf43988561ebddc503ade4fb6","src/store/file/loose/reference/decode.rs":"e0dee458982c0d24052b57a356a347ec0eb01ffd7e829e593551974c0fd4c038","src/store/file/loose/reference/logiter.rs":"dc25b669f26f9c6c8aaf2186e48714bec065e80e9d06112b31e462bbd5c0f2f2","src/store/file/loose/reference/mod.rs":"bfbf39a4c7b9ff8dac40a6fcc334992fbe778de86d86787cf8c7ac5467d65304","src/store/file/loose/reflog.rs":"89dcc313f3457dc14eb4746b75b54cd03e9b40a774a2628390bf76d862a1c9f7","src/store/file/loose/reflog/create_or_update/tests.rs":"0a782c2fe0900c92aa02894d48b10b99835ce202964213acdaee167e59533cc0","src/store/file/mod.rs":"dab1cabd111bcd68c0ec62ba0b9034f9665a79673cae23bcff269fa4b162ceb9","src/store/file/overlay_iter.rs":"e73d38e758d3dd4c3157c0f21522d7d8d3444896783b70214ad8ad58538beb60","src/store/file/packed.rs":"1a4c2dfe39fdfe94ff6b045a1021ff3fd8f15332558eb23b7ce330e1abb258c7","src/store/file/raw_ext.rs":"bcaf41242fe8f16bf1d5994a6e73398aa034395c57f52080f6d4cd7267fc297e","src/store/file/transaction/commit.rs":"f041ff0e0a834c66d378cc041d57dad2cd620bcaf26f4c8292976a1297bdec4b","src/store/file/transaction/mod.rs":"857cbf3e9aedcd659f47389638347506d52b59263bad2c2ea48046e2a33d18af","src/store/file/transaction/prepare.rs":"2f87481c6962d92203035242903e0a2efd00c4e55ec596adbe8bb5245ba2406a","src/store/general/handle/find.rs":"ce98351447a6f6c3cf27995430198eb4af14ba3f80b3605de230ab549db8773e","src/store/general/handle/mod.rs":"5f6c9bc2a2a20bc08807bdf2324e2f22461dbed609cebe5dfa25d6c096514f40","src/store/general/init.rs":"85eb831b21a74a8584a841d6b68798dc47c771c5f14ee5f8a02bb926f74d20ce","src/store/general/mod.rs":"0ed6247438790f38b75ab62bffa70ddb73c873fd2d05552c19af1fdaf604773b","src/store/mod.rs":"d160b6f8a2388fe6978cd94675af910d85f2030168bba4a173a30384948ac3ec","src/store/packed/buffer.rs":"2aeabde07415b2f3f080b6a1a5501e637f2ff99d0c2630530851d0acbd82e1d6","src/store/packed/decode.rs":"380fab290cd3d81ba77b7f87f4610dd47c9755a896359b33579bf9b8f09a16db","src/store/packed/decode/tests.rs":"5e66f4ca73b65336dcac8580243b5a53b6a0bf842579396ab08dc9d6a8386dd8","src/store/packed/find.rs":"8edd89aec77c292909323b8fe504962f352e5ef16ebf1a55a6205bb752f061e2","src/store/packed/iter.rs":"6aaa45aac6141f6c9c93cf56384a4b77c9a75ffd430ebbf8329a08a72688a6e6","src/store/packed/mod.rs":"711cf43cf67dff52dab1ccc7624962f805b4f4c1337ce5bfca3d315261bdf607","src/store/packed/transaction.rs":"5d74a2eeb0115e31d7a094c523de4ee37448758233def9ff0e1e31b18473c859","src/target.rs":"dce5cedb767a4ec03d3882881c5aa4af4fbf2d68240233386650badee73086fe","src/transaction/ext.rs":"7936d319b9e2230b8040c0c55a06dc5282f0e0f75f8a654c0d5d0163ecb86af5","src/transaction/mod.rs":"9b02111c0a1e19d74736be436bae635aa12d099eb75f068d8d1a28d05ab05fef"},"package":"ebdd999256f4ce8a5eefa89999879c159c263f3493a951d62aa5ce42c0397e1c"} \ No newline at end of file
diff --git a/vendor/gix-ref/CHANGELOG.md b/vendor/gix-ref/CHANGELOG.md
new file mode 100644
index 000000000..17c34858d
--- /dev/null
+++ b/vendor/gix-ref/CHANGELOG.md
@@ -0,0 +1,2105 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## 0.30.0 (2023-06-06)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 14 commits contributed to the release over the course of 25 calendar days.
+ - 38 days passed between releases.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 0 issues like '(#ID)' were seen in commit messages
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **Uncategorized**
+ - Prepare changelogs prior to release ([`8f15cec`](https://github.com/Byron/gitoxide/commit/8f15cec1ec7d5a9d56bb158f155011ef2bb3539b))
+ - Merge pull request #878 from blinxen/main ([`67da689`](https://github.com/Byron/gitoxide/commit/67da6894c8d8a24b982c732a1753a3e0a3300cc3))
+ - Include missing changelog file in some crates ([`0269eed`](https://github.com/Byron/gitoxide/commit/0269eedc08c21589b5381d9b7d7fcc7004160bf8))
+ - Merge branch 'fix-docs' ([`420553a`](https://github.com/Byron/gitoxide/commit/420553a10d780e0b2dc466cac120989298a5f187))
+ - Minor fixes ([`89a8cfe`](https://github.com/Byron/gitoxide/commit/89a8cfe40e5c3a9d4a4181fa055e3f4a529a8081))
+ - Cleaning up documentation ([`2578e57`](https://github.com/Byron/gitoxide/commit/2578e576bfa365d194a23a1fb0bf09be230873de))
+ - Merge branch 'auto-clippy' ([`dbf8aa1`](https://github.com/Byron/gitoxide/commit/dbf8aa19d19109195d0274928eae4b94f248cd88))
+ - Autofix map-or-unwrap clippy lint (and manual fix what was left) ([`2087032`](https://github.com/Byron/gitoxide/commit/2087032b5956dcd82bce6ac57e530e8724b57f17))
+ - Merge branch 'main' into auto-clippy ([`3ef5c90`](https://github.com/Byron/gitoxide/commit/3ef5c90aebce23385815f1df674c1d28d58b4b0d))
+ - Auto-fix clippy to remove explicit iter looping ([`3eff567`](https://github.com/Byron/gitoxide/commit/3eff567c683b5c650c14792b68968cbdbc90ec5c))
+ - Merge branch 'blinxen/main' ([`9375cd7`](https://github.com/Byron/gitoxide/commit/9375cd75b01aa22a0e2eed6305fe45fabfd6c1ac))
+ - Include custom clippy settings ([`b057500`](https://github.com/Byron/gitoxide/commit/b057500dd3e6b75be3ebcd258cda0b946bedd9e1))
+ - Include license files in all crates ([`facaaf6`](https://github.com/Byron/gitoxide/commit/facaaf633f01c857dcf2572c6dbe0a92b7105c1c))
+ - Release gix-object v0.29.2 ([`4f879bf`](https://github.com/Byron/gitoxide/commit/4f879bf35653bdc8f9729d524c6e8e1fb3c6886b))
+</details>
+
+## 0.29.1 (2023-04-29)
+
+### Bug Fixes
+
+ - <csr-id-79cc2482aac9408630e38f7441310d7febabe0fe/> symbolic refs are now written with a newline. #(836)
+ This should help some tools to work correctly.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 2 commits contributed to the release.
+ - 1 day passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 0 issues like '(#ID)' were seen in commit messages
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **Uncategorized**
+ - Release gix-ref v0.29.1 ([`13e01f5`](https://github.com/Byron/gitoxide/commit/13e01f5742ed2121f00f4b16c1df0cce5e7708ef))
+ - Symbolic refs are now written with a newline. #(836) ([`79cc248`](https://github.com/Byron/gitoxide/commit/79cc2482aac9408630e38f7441310d7febabe0fe))
+</details>
+
+## 0.29.0 (2023-04-27)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 3 commits contributed to the release.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 0 issues like '(#ID)' were seen in commit messages
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **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`](https://github.com/Byron/gitoxide/commit/7ebc9f734ec4371dd27daa568c0244185bb49eb5))
+ - Prepare changelogs prior to release ([`0135158`](https://github.com/Byron/gitoxide/commit/013515897215400539bfd53c25548bd054186ba6))
+ - Bump gix-path v0.8.0, safety bump 20 crates (gix set to 0.44.1 manually) ([`43ebaf2`](https://github.com/Byron/gitoxide/commit/43ebaf267557218865862538ffc7bdf00558492f))
+</details>
+
+## 0.28.0 (2023-04-26)
+
+### Bug Fixes
+
+ - <csr-id-3e93141b48ac3e0298c3165e7de0043187e373b9/> speed up finding references by avoiding double-lookup.
+ Previously it would try to find `<root>/HEAD` twice due to a logic issue.
+ - <csr-id-0c79bdf47ff18553edd330de9a82895393a55c54/> 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)
+
+ - <csr-id-b83ee366a3c65c717beb587ad809268f1c54b8ad/> 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.
+ - <csr-id-b645d28f9641c6b4022e1e37ad9fe528922ec747/> remove types that are now available in `gix-os`
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 16 commits contributed to the release over the course of 14 calendar days.
+ - 29 days passed between releases.
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 1 unique issue was worked on: [#814](https://github.com/Byron/gitoxide/issues/814)
+
+### Thanks Clippy
+
+<csr-read-only-do-not-edit/>
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **[#814](https://github.com/Byron/gitoxide/issues/814)**
+ - Rename `serde1` cargo feature to `serde` and use the weak-deps cargo capability. ([`b83ee36`](https://github.com/Byron/gitoxide/commit/b83ee366a3c65c717beb587ad809268f1c54b8ad))
+ * **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`](https://github.com/Byron/gitoxide/commit/91134a11c8ba0e942f692488ec9bce9fa1086324))
+ - Prepare changelogs prior to release ([`30a1a71`](https://github.com/Byron/gitoxide/commit/30a1a71f36f24faac0e0b362ffdfedea7f9cdbf1))
+ - Merge branch 'faster-discovery' ([`282a1a3`](https://github.com/Byron/gitoxide/commit/282a1a3f29572250e6d741c6daa97b0bed679753))
+ - Speed up finding references by avoiding double-lookup. ([`3e93141`](https://github.com/Byron/gitoxide/commit/3e93141b48ac3e0298c3165e7de0043187e373b9))
+ - Avoid unnecessary check for `remotes/HEAD` if we are looking for `HEAD`. ([`0c79bdf`](https://github.com/Byron/gitoxide/commit/0c79bdf47ff18553edd330de9a82895393a55c54))
+ - Merge branch 'fix-823' ([`6ebd61e`](https://github.com/Byron/gitoxide/commit/6ebd61e548a36a04e413ac725a03e607a3588334))
+ - Thanks clippy ([`14e64e7`](https://github.com/Byron/gitoxide/commit/14e64e74649cfb1f2f99da87015939af98fae5c8))
+ - 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`](https://github.com/Byron/gitoxide/commit/8dbd0a60557a85acfa231800a058cbac0271a8cf))
+ - Merge branch 'main' into dev ([`cdef398`](https://github.com/Byron/gitoxide/commit/cdef398c4a3bd01baf0be2c27a3f77a400172b0d))
+ - Rename the serde1 feature to serde ([`19338d9`](https://github.com/Byron/gitoxide/commit/19338d934b6712b7d6bd3fa3b2e4189bf7e6c8a1))
+ - Create new `gix-fs` crate to consolidate all filesystem utilities ([`f8cc33c`](https://github.com/Byron/gitoxide/commit/f8cc33cb372dd2b4bbe4a09cf4f64916681ab1dd))
+ - Merge branch 'main' into dev ([`23ee47f`](https://github.com/Byron/gitoxide/commit/23ee47fb24c197f8437bd426544b2aa74e005bdc))
+ - Merge branch 'worktree-stack' ([`3d47919`](https://github.com/Byron/gitoxide/commit/3d47919c1a2f83fc7c1fd7ae590d098057a22626))
+ - Remove types that are now available in `gix-os` ([`b645d28`](https://github.com/Byron/gitoxide/commit/b645d28f9641c6b4022e1e37ad9fe528922ec747))
+ - Release gix-hash v0.10.4, gix-hashtable v0.1.3 ([`b574a39`](https://github.com/Byron/gitoxide/commit/b574a3904203762a6b9e475e16a7c358d7616599))
+</details>
+
+## 0.27.2 (2023-03-28)
+
+### Bug Fixes
+
+ - <csr-id-3d6832cb0ea5dc4b3d798fd4ff86602df8d54407/> 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
+
+<csr-read-only-do-not-edit/>
+
+ - 5 commits contributed to the release.
+ - 13 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 0 issues like '(#ID)' were seen in commit messages
+
+### Thanks Clippy
+
+<csr-read-only-do-not-edit/>
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **Uncategorized**
+ - Release gix-ref v0.27.2 ([`e965b18`](https://github.com/Byron/gitoxide/commit/e965b18aedcf13ec4538bc7bc700269a56ca615e))
+ - Thanks clippy ([`fa98a92`](https://github.com/Byron/gitoxide/commit/fa98a922ed3f253c16abd420342f1f59ec53226d))
+ - Merge branch 'fix-worktree-shared-refs' ([`9531b11`](https://github.com/Byron/gitoxide/commit/9531b119c86a0887453fca84325ee6133bab24e7))
+ - Add more tests to validate uncategorized refs in the context of worktrees ([`de66453`](https://github.com/Byron/gitoxide/commit/de66453731a2be80527fda69c438fe7aff4b9d47))
+ - Uncategorized refs should not be per-worktree ([`3d6832c`](https://github.com/Byron/gitoxide/commit/3d6832cb0ea5dc4b3d798fd4ff86602df8d54407))
+</details>
+
+## 0.27.1 (2023-03-14)
+
+A maintenance release without any user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 4 commits contributed to the release over the course of 3 calendar days.
+ - 3 days passed between releases.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 0 issues like '(#ID)' were seen in commit messages
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **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`](https://github.com/Byron/gitoxide/commit/c1f1bfb8dc0e73993678353e4492d0614b642ed1))
+ - Prepare changelogs prior to release ([`c66e298`](https://github.com/Byron/gitoxide/commit/c66e2982577e4cd9faef63798986b8cf8ece93a2))
+ - Merge branch 'shallow-protocol' ([`531dd19`](https://github.com/Byron/gitoxide/commit/531dd19502b8b635fb1a60f747eb381fd12e00ca))
+ - Merge branch 'fix-cred-helper' ([`01277a6`](https://github.com/Byron/gitoxide/commit/01277a681e4997896e04567490c572b5af606f35))
+</details>
+
+## 0.27.0 (2023-03-10)
+
+A maintenance release without user-facing changes.
+
+### Bug Fixes
+
+ - <csr-id-8e8c71ba1238f0c8177f84810c2d9ed165010d7e/> implement `Clone` for `PartialName`.
+ Also improve documentation for `FullName*` and `PartialName*` types.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 3 commits contributed to the release.
+ - 6 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 0 issues like '(#ID)' were seen in commit messages
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **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`](https://github.com/Byron/gitoxide/commit/29a087043d1feb2f127b065341c8028d0bd0301e))
+ - Prepare changelogs prior to release ([`e06f5f5`](https://github.com/Byron/gitoxide/commit/e06f5f523e83f4da390eddbebcb9a2d58674587b))
+ - Implement `Clone` for `PartialName`. ([`8e8c71b`](https://github.com/Byron/gitoxide/commit/8e8c71ba1238f0c8177f84810c2d9ed165010d7e))
+</details>
+
+## 0.26.0 (2023-03-04)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 3 commits contributed to the release.
+ - 3 days passed between releases.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 0 issues like '(#ID)' were seen in commit messages
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **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`](https://github.com/Byron/gitoxide/commit/93e75fed454ed8b342231bde4638db90e407ce52))
+ - Prepare changelogs prior to release ([`895e482`](https://github.com/Byron/gitoxide/commit/895e482badf01e953bb9144001eebd5e1b1c4d84))
+ - 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`](https://github.com/Byron/gitoxide/commit/0f411e93ec812592bb9d3a52b751399dd86f76f7))
+</details>
+
+## 0.25.0 (2023-03-01)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 8 commits contributed to the release over the course of 2 calendar days.
+ - 8 days passed between releases.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 0 issues like '(#ID)' were seen in commit messages
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **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`](https://github.com/Byron/gitoxide/commit/ea9fd1d9b60e1e9e17042e9e37c06525823c40a5))
+ - 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`](https://github.com/Byron/gitoxide/commit/e6cc6184a7a49dbc2503c1c1bdd3688ca5cec5fe))
+ - Remove versions from dev-dependencies to workspace crates. ([`3cfbf89`](https://github.com/Byron/gitoxide/commit/3cfbf89f8630dfc71c9085eee6ca286a5c96ad84))
+ - Adjust manifests prior to release ([`addd789`](https://github.com/Byron/gitoxide/commit/addd78958fdd1e54eb702854e96079539d01965a))
+ - Prepare changelogs prior to release ([`94c99c7`](https://github.com/Byron/gitoxide/commit/94c99c71520f33269cc8dbc26f82a74747cc7e16))
+ - Merge branch 'adjustments-for-cargo' ([`d686d94`](https://github.com/Byron/gitoxide/commit/d686d94e1030a8591ba074757d56927a346c8351))
+ - Adapt to changes in `gix-tempfile` ([`bfcd1e3`](https://github.com/Byron/gitoxide/commit/bfcd1e3a8f2d05d0d6d1f5cf06d369ac9e6e4cdf))
+ - Prepare for git-tempfile release ([`56c005b`](https://github.com/Byron/gitoxide/commit/56c005b13c44376f71e61781e73c0bf93416d0e4))
+</details>
+
+## 0.24.1 (2023-02-20)
+
+### Bug Fixes
+
+ - <csr-id-e14dc7d475373d2c266e84ff8f1826c68a34ab92/> 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.
+ - <csr-id-135d317065aae87af302beb6c26bb6ca8e30b6aa/> 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
+
+<csr-read-only-do-not-edit/>
+
+ - 2 commits contributed to the release.
+ - 3 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 0 issues like '(#ID)' were seen in commit messages
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **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`](https://github.com/Byron/gitoxide/commit/96047839a20a657a559376b0b14c65aeab96acbd))
+ - Compatibility with `bstr` v1.3, use `*.as_bytes()` instead of `.as_ref()`. ([`135d317`](https://github.com/Byron/gitoxide/commit/135d317065aae87af302beb6c26bb6ca8e30b6aa))
+</details>
+
+## 0.24.0 (2023-02-17)
+
+<csr-id-ebc7f47708a63c3df4415ba0e702660d976dfb3e/>
+<csr-id-2290d006705ff47ad780b009fe58ee422b3285af/>
+<csr-id-0e1875363fea09452789d7a90fc6860a7996d6d3/>
+<csr-id-c46dec311c76a83dba136be5dba6b70d739c354d/>
+<csr-id-951c050ecbb70c9de216603e55c7cfbc89a067e3/>
+<csr-id-725210dc401406fe9450eae9d375b0238d645027/>
+<csr-id-4ed4b2da50557aff540685441f4b5c7d5e582977/>
+<csr-id-293bfc0278c5983c0beaec93253fb51f00d81156/>
+<csr-id-90e6128727932f917c485f411e623fc6a9c2ad4d/>
+<csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/>
+<csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/>
+
+### Refactor (BREAKING)
+
+ - <csr-id-ebc7f47708a63c3df4415ba0e702660d976dfb3e/> remove pack-cache from `Find::try_find(…)`
+ With the new architecture this can be an implementation detail without
+ forcing it to be Sync.
+ - <csr-id-2290d006705ff47ad780b009fe58ee422b3285af/> 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.
+ - <csr-id-0e1875363fea09452789d7a90fc6860a7996d6d3/> `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)
+
+ - <csr-id-c46dec311c76a83dba136be5dba6b70d739c354d/> remove `Target::must_exist()`
+ It was a remainder of an old API which since has been replaced
+ with a more explicit approach.
+ - <csr-id-951c050ecbb70c9de216603e55c7cfbc89a067e3/> 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)
+
+ - <csr-id-3d8fa8fef9800b1576beab8a5bc39b821157a5ed/> 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.
+ - <csr-id-0ace957c595c8a38afb7de1462cdc73b617d2a76/> Turn `FullNameRef` into an actual reference type.
+ That way `Cow<'_, FullNameRef>` works as expected.
+
+### Chore (BREAKING)
+
+ - <csr-id-725210dc401406fe9450eae9d375b0238d645027/> replace `quick-error` with `thiserror`
+
+### Changed (BREAKING)
+
+ - <csr-id-e699291097cec346374a30c325848f787ca9d736/> `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.
+ - <csr-id-0f753e922e313f735ed267f913366771e9de1111/> `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.
+ - <csr-id-3d6299f47f41397c1c72035a86b94d1c263b5b98/> `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.
+ - <csr-id-f1dbb6bd4534527b6f1f2aba2a562dd4e64cf55d/> remove `FullName::to_ref()` in favor of `•::as_ref()`.
+ This became possible now that `FullNameRef` is a proper ref, not just
+ ref-like.
+ - <csr-id-1611c3ddff6c930deaa4c2440383f5684c029b28/> 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.
+ - <csr-id-8a92ec9834b6d5aa3057c5509f6c13b6a6cd6e1b/> 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.
+ - <csr-id-2becffc85ff6225522fe38482739fb1406ae1060/> 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.
+ - <csr-id-7984e19417dff13445f3ef2e15dea96bbd194ce5/> `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_`.
+ - <csr-id-dea6659a404bf8b2ad1290549653c776ec04f964/> 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.
+ - <csr-id-b431fb0fb58b5e2e8aadbbd6aead55c0e42bd67b/> 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.
+ - <csr-id-80f3d504eeb669f16c5621fac06f6c763ce84e47/> 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.
+ - <csr-id-bfb32aee4e64fd6b1f18c830623cc3fddd059874/> Reference log line access
+ - <csr-id-5d498a33236391d8e456f267b1bf6af24de66f11/> 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.
+ - <csr-id-4641499abe00acf6eef0ab6d6bf261b0a27795f8/> file::ReferenceExt::follow(…) now without packed refs parameter
+ - <csr-id-55940eb8316d83ac1376c57ba25b3115d62f2012/> `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.
+ - <csr-id-15d429bb50602363292453606902bdce5042d9a5/> 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.
+ - <csr-id-95247322a8191edfa7fac9c5aa72b40239f3aa88/> move `git_ref::file::WriteRefLog` to `git_ref::store::WriteRefLog`
+
+### Other
+
+ - <csr-id-4ed4b2da50557aff540685441f4b5c7d5e582977/> add panicking `Target::id()` and `TargetRef::id()`
+ - <csr-id-293bfc0278c5983c0beaec93253fb51f00d81156/> 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.
+ - <csr-id-90e6128727932f917c485f411e623fc6a9c2ad4d/> improve changelog format
+
+### Bug Fixes
+
+ - <csr-id-584b705cee8be3fb68c67dcb8535b981d1efc5f4/> 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.
+ - <csr-id-9f848506f5a42abc954612ea375f845e3b23ae5a/> 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.
+ - <csr-id-e9853dd640cf4545134aa6e0d093e560af090a2b/> 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.
+ - <csr-id-27386a96ddc022ba75730901f8bb098b9d5ff9d4/> 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.
+ - <csr-id-6e5c0ae63deed181419232c61896e22404e4c84a/> 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.
+ - <csr-id-1d2003519e3b0f745af1524a32f2816475024b31/> 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.
+ - <csr-id-42e0487286c1f745837c0ce337ed7c9d86b14516/> support Rust 1.52
+
+### New Features
+
+ - <csr-id-e86e159e00c9b54803abbfa09809707be7ac8aee/> `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.
+ - <csr-id-bbdb4804d8c3bd6a1fb8bea97adce509c90c5ca8/> 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.
+ - <csr-id-370ed3dcc393eca7a393ea0150f698a9fc844320/> `transaction::Change::new_value()` to get easy access to new values of references.
+ That's more convenient than matching on the enum.
+ - <csr-id-658c1257c073507327d9a50c1c89b49d17e9ccbc/> `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.
+ - <csr-id-2d0b63997b276a53b3cf8f09fac51f8e3f044bcd/> Add `Reference::delete()` for simple reference deletion
+ - <csr-id-b1c40b0364ef092cd52d03b34f491b254816b18d/> use docsrs feature in code to show what is feature-gated automatically on docs.rs
+ - <csr-id-517677147f1c17304c62cf97a1dd09f232ebf5db/> pass --cfg docsrs when compiling for https://docs.rs
+ - <csr-id-4607a18e24b8270c182663a434b79dff8761db0e/> Add `store::WriteRefLog::Always` to unconditionally write reflogs.
+ - <csr-id-f3c609f0af00aa280649975b0705a3cfaad8a0e5/> Allow `Reference` to be serialized/deserialized with `serde`.
+ - <csr-id-4a5176a78b64981ce5612b88c7736b7323aa8cdd/> ref iteration for worktrees.
+ It merges the iteration result of private worktree refs along with
+ all shared common references references.
+ - <csr-id-9cccce35e527cdda58e01b03cd335a527418cf14/> `Category::LinkedRef`
+ With it one can access all refs as advertised.
+ - <csr-id-eada5dfdd4981dbb032e8f155e3829eb5d1f380f/> `Category::MainRef`
+ With it it will be possible to compute all paths correctly and actually
+ perform certain operations as documented.
+ - <csr-id-0304b7fad3ae5e3ac1fea71e30658474a770184b/> `Category::(WorktreePrivate|Bisect|Rewritten)`
+ - <csr-id-612a2dbf7f70a8eb44b7278fccd4f1589749968a/> `Category::LinkedPseudoRef`
+ - <csr-id-613b5844e74535d391339bd8e7c106e18257b917/> Add `Category::MainPseudoRef`
+ - <csr-id-6ccfea97d30dbfa013e1633c77c5a26ab5cbaf8f/> `Category::PseudoRef`
+ - <csr-id-ecd60d7a75d4aef7c37cd0b28b57a8aea1166858/> add `FullName(Ref)::category_and_shortname()`
+ It's a combination of `shorten()` and `category()` for convenience.
+ - <csr-id-e7e4ba2739e5a15e826b5b4d9ef2b45a1cb016cc/> `Fullname(Ref)::category()` and `Category`
+ A way to classify references.
+ - <csr-id-af2d399261e4131299c2279904a1f224c116db66/> FullName(Ref)::strip_prefix()
+ Get a short-hand for any reference name.
+ - <csr-id-e4d6685064ad2b433f8acd3a74b320bf0169a994/> 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.
+ - <csr-id-cf50ae2b33da0161d801b4c0a9cd8b5d24bb3510/> Display implementation for `FullName`.
+ - <csr-id-28e3251ee1996f638eaa0bc7b39b06be436f6eb7/> FullNameRef::file_name()
+ - <csr-id-f6181afef285b32968b852467235edf3d7d99a66/> 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.
+ - <csr-id-03bcac2763076bfd720b99d60fd036b4d5d00995/> add Reference::peel_to_id_in_place_packed() and Reference::follow_packed()
+ This allows a stable/non-changing buffer to be used.
+ - <csr-id-6a17416557112a6464e548c5de1c46e563b3a187/> Add `file::Store::iter_(prefixed_)packed()`
+ These methods allow using an own packed buffer, usually obtained through
+ `cached_packed_buffer()`.
+ - <csr-id-9eb3a31d1f9f519e153e8df3fc3faaff278aed85/> add `file::Store::cached_packed_buffer()` for packed refs snapshots
+ - <csr-id-b030884447284daf0f2251f574c0ddf9993b2792/> 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.
+ - <csr-id-c0fc4f6f1b42c117275be85e1c2e6893b58007ba/> PartialNameRef<'static>::join() for building paths on the fly
+ - <csr-id-b7aab9efd42975e8f2dcb5c97e51495996175702/> Allow `PartialNameRef` to be created from owned items
+
+### Chore
+
+ - <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> uniformize deny attributes
+ - <csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/> remove default link to cargo doc everywhere
+
+### Documentation
+
+ - <csr-id-39ed9eda62b7718d5109135e5ad406fb1fe2978c/> fix typos
+
+### Bug Fixes (BREAKING)
+
+ - <csr-id-65c5589a419b2856c1576d838d4444554d7a582b/> 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.
+ - <csr-id-328900add089f40d3bf9f1019c9f31663da387e2/> 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
+
+<csr-read-only-do-not-edit/>
+
+ - 965 commits contributed to the release over the course of 947 calendar days.
+ - 69 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 23 unique issues were worked on: [#198](https://github.com/Byron/gitoxide/issues/198), [#222](https://github.com/Byron/gitoxide/issues/222), [#251](https://github.com/Byron/gitoxide/issues/251), [#254](https://github.com/Byron/gitoxide/issues/254), [#259](https://github.com/Byron/gitoxide/issues/259), [#263](https://github.com/Byron/gitoxide/issues/263), [#266](https://github.com/Byron/gitoxide/issues/266), [#279](https://github.com/Byron/gitoxide/issues/279), [#293](https://github.com/Byron/gitoxide/issues/293), [#298](https://github.com/Byron/gitoxide/issues/298), [#301](https://github.com/Byron/gitoxide/issues/301), [#329](https://github.com/Byron/gitoxide/issues/329), [#331](https://github.com/Byron/gitoxide/issues/331), [#333](https://github.com/Byron/gitoxide/issues/333), [#364](https://github.com/Byron/gitoxide/issues/364), [#384](https://github.com/Byron/gitoxide/issues/384), [#393](https://github.com/Byron/gitoxide/issues/393), [#427](https://github.com/Byron/gitoxide/issues/427), [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470), [#595](https://github.com/Byron/gitoxide/issues/595), [#691](https://github.com/Byron/gitoxide/issues/691), [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
+
+### Thanks Clippy
+
+<csr-read-only-do-not-edit/>
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 40 times to make code idiomatic.
+
+### Commit Details
+
+<csr-read-only-do-not-edit/>
+
+<details><summary>view details</summary>
+
+ * **[#198](https://github.com/Byron/gitoxide/issues/198)**
+ - Fix stop-release-for-changelog logic and fix all affected changelogs ([`52b38bc`](https://github.com/Byron/gitoxide/commit/52b38bc4856be5ba8b5372a3dd20f5d06504e7ed))
+ - Deduplicate conventional message ids ([`e695eda`](https://github.com/Byron/gitoxide/commit/e695eda8cd183f703d9a3e59b7c3c7fa496ea1d2))
+ - Regenerate all changelogs to get links ([`0c81769`](https://github.com/Byron/gitoxide/commit/0c817690bd444f52bed2936b2b451cafd87dde92))
+ - Mention actual issues that where worked on ([`a517e39`](https://github.com/Byron/gitoxide/commit/a517e39a81145b331f6c7a6cc2fc22e25daf42e2))
+ - Respect release-wide ignore list to allow removing entire conventional headlines ([`145103d`](https://github.com/Byron/gitoxide/commit/145103d4aa715386da9d4953f7f85fadc49fff9a))
+ - Rebuild all changelogs to assure properly ordered headlines ([`4a9a05f`](https://github.com/Byron/gitoxide/commit/4a9a05f95930bad5938d4ce9c517ebf0e0b990f1))
+ - Sort all commits by time, descending… ([`f536bad`](https://github.com/Byron/gitoxide/commit/f536bad20ffbac4dc353dfeb1a917bb88becbb78))
+ - Greatly reduce changelog size now that the traversal fix is applied ([`a0bc98c`](https://github.com/Byron/gitoxide/commit/a0bc98c06c349de2fd6e0d4593606e68b98def72))
+ - Generate changelogs with details ([`e1861ca`](https://github.com/Byron/gitoxide/commit/e1861caa435d312953a9fea7ceff6d2e07b03443))
+ - Update all changelogs with details ([`58ab2ae`](https://github.com/Byron/gitoxide/commit/58ab2aee23ba70a536e9487b44fb04c610374d1a))
+ - Update changelogs ([`c857d61`](https://github.com/Byron/gitoxide/commit/c857d61ce3ce342012a2c4ba10a8327822aa530e))
+ - Avoid adding newlines which make writing unstable ([`6b5c394`](https://github.com/Byron/gitoxide/commit/6b5c394f49282a8d09c2a9ffece840e4683572db))
+ - Fix section headline level ([`9d6f263`](https://github.com/Byron/gitoxide/commit/9d6f263beef289d227dec1acc2d4240087cb9be6))
+ - Write first version of changlogs thus far… ([`719b6bd`](https://github.com/Byron/gitoxide/commit/719b6bdf543b8269ccafad9ad6b46e0c55efaa38))
+ - Add panicking `Target::id()` and `TargetRef::id()` ([`4ed4b2d`](https://github.com/Byron/gitoxide/commit/4ed4b2da50557aff540685441f4b5c7d5e582977))
+ - Loose reference iteration with non-dir prefixes… ([`293bfc0`](https://github.com/Byron/gitoxide/commit/293bfc0278c5983c0beaec93253fb51f00d81156))
+ - Improve changelog format ([`90e6128`](https://github.com/Byron/gitoxide/commit/90e6128727932f917c485f411e623fc6a9c2ad4d))
+ * **[#222](https://github.com/Byron/gitoxide/issues/222)**
+ - Update changelogs prior to release ([`9a493d0`](https://github.com/Byron/gitoxide/commit/9a493d0651b0b6d71cf230dc510a658be7f8cb19))
+ - Stabilize changelogs ([`920e832`](https://github.com/Byron/gitoxide/commit/920e83219911df1c440d3fe42fd5ec3a295b0bb8))
+ - Update changelogs prior to release ([`b3e2252`](https://github.com/Byron/gitoxide/commit/b3e2252f7461a003d9a4612da60ba931dd8c0bef))
+ * **[#251](https://github.com/Byron/gitoxide/issues/251)**
+ - PartialNameRef<'static>::join() for building paths on the fly ([`c0fc4f6`](https://github.com/Byron/gitoxide/commit/c0fc4f6f1b42c117275be85e1c2e6893b58007ba))
+ - Refactor ([`244a646`](https://github.com/Byron/gitoxide/commit/244a646370dcc4e35478825922b86fe59646d86c))
+ - Allow `PartialNameRef` to be created from owned items ([`b7aab9e`](https://github.com/Byron/gitoxide/commit/b7aab9efd42975e8f2dcb5c97e51495996175702))
+ * **[#254](https://github.com/Byron/gitoxide/issues/254)**
+ - Adjust changelogs prior to git-pack release ([`6776a3f`](https://github.com/Byron/gitoxide/commit/6776a3ff9fa5a283da06c9ec5723d13023a0b267))
+ * **[#259](https://github.com/Byron/gitoxide/issues/259)**
+ - Btree/hashmap free lookup of packs in store, keeping things more bundled ([`a88981b`](https://github.com/Byron/gitoxide/commit/a88981b6f38b86624588f0c8ff200d17f38d0263))
+ * **[#263](https://github.com/Byron/gitoxide/issues/263)**
+ - Don't unnecessarily reload the packed-refs buffer under contention ([`3ab990e`](https://github.com/Byron/gitoxide/commit/3ab990ebbaf7feb999340e86933bbdc823166669))
+ - Use a read-lock until mutation is needed, instead of upgradable rw locks ([`58294dd`](https://github.com/Byron/gitoxide/commit/58294ddf13c17e64dc224cc01ec70c3006cb14bc))
+ - Refactor ([`e41ab82`](https://github.com/Byron/gitoxide/commit/e41ab820a32177e54b9cd53856cc2cdd4a72271f))
+ - Add file::Store::find_packed(…, buffer) ([`f6181af`](https://github.com/Byron/gitoxide/commit/f6181afef285b32968b852467235edf3d7d99a66))
+ - Add Reference::peel_to_id_in_place_packed() and Reference::follow_packed() ([`03bcac2`](https://github.com/Byron/gitoxide/commit/03bcac2763076bfd720b99d60fd036b4d5d00995))
+ - Add `file::Store::iter_(prefixed_)packed()` ([`6a17416`](https://github.com/Byron/gitoxide/commit/6a17416557112a6464e548c5de1c46e563b3a187))
+ - Add `file::Store::cached_packed_buffer()` for packed refs snapshots ([`9eb3a31`](https://github.com/Byron/gitoxide/commit/9eb3a31d1f9f519e153e8df3fc3faaff278aed85))
+ - Rename `file::Store::packed_buffer()` to `…::open_packed_buffer()` ([`b431fb0`](https://github.com/Byron/gitoxide/commit/b431fb0fb58b5e2e8aadbbd6aead55c0e42bd67b))
+ - Add file::Store::try_find_packed(…, packed_buffer) ([`b030884`](https://github.com/Byron/gitoxide/commit/b030884447284daf0f2251f574c0ddf9993b2792))
+ - File::Store::from(PathBuf) removed ([`80f3d50`](https://github.com/Byron/gitoxide/commit/80f3d504eeb669f16c5621fac06f6c763ce84e47))
+ - Put general Store on hold - ref-table is needed to know how to go about it ([`bfa417b`](https://github.com/Byron/gitoxide/commit/bfa417baa79fb7ba3c1b5f559ef5b12278dbc839))
+ - Don't even think about setting up test duplication for the general store ([`72a6464`](https://github.com/Byron/gitoxide/commit/72a6464ed8bf869704615bc5f4f98b604f2d8001))
+ - Reference::logs() -> Reference::log_iter() ([`951c050`](https://github.com/Byron/gitoxide/commit/951c050ecbb70c9de216603e55c7cfbc89a067e3))
+ - Reference log line access ([`bfb32ae`](https://github.com/Byron/gitoxide/commit/bfb32aee4e64fd6b1f18c830623cc3fddd059874))
+ - Add platform for log iteration to hold byte buffers ([`1cd2362`](https://github.com/Byron/gitoxide/commit/1cd23621f9d5a7ad22b0216aec9866cf3786b007))
+ - Assure the packed buffer is reloaded after a modification ([`f5570ff`](https://github.com/Byron/gitoxide/commit/f5570ff0e0d134144e86e3b06f426e2827469a88))
+ - Fmt ([`fbeddeb`](https://github.com/Byron/gitoxide/commit/fbeddebcab999f4898f768a3184906091f8ce0b8))
+ - File::Store::iter() is now a platform, with `.all()` and `.prefixed(…)` respectively ([`5d498a3`](https://github.com/Byron/gitoxide/commit/5d498a33236391d8e456f267b1bf6af24de66f11))
+ - Refactor ([`5fc3817`](https://github.com/Byron/gitoxide/commit/5fc381718693256562474d2b6bf551e4eb366293))
+ - Refactor packed buffer sharing to allow for sharing snapshots ([`00c2545`](https://github.com/Byron/gitoxide/commit/00c254525d4e028a16cb70028be1311432d006fc))
+ - Let file transactions reuse the cached packed buffer ([`a9096b9`](https://github.com/Byron/gitoxide/commit/a9096b9e6b09ef5394b71a58cba3bc2b72a66a8b))
+ - File::ReferenceExt::follow(…) now without packed refs parameter ([`4641499`](https://github.com/Byron/gitoxide/commit/4641499abe00acf6eef0ab6d6bf261b0a27795f8))
+ - `file::ReferenceExt::peel_to_id_in_place(…)` now without packed-refs buffer ([`55940eb`](https://github.com/Byron/gitoxide/commit/55940eb8316d83ac1376c57ba25b3115d62f2012))
+ - File::Store::(try_)find(…, packed) was removed ([`15d429b`](https://github.com/Byron/gitoxide/commit/15d429bb50602363292453606902bdce5042d9a5))
+ - Load packed buffer with interior mutability ([`ae2eef1`](https://github.com/Byron/gitoxide/commit/ae2eef11152b6c16dd08cb244b78b582e6351ec7))
+ - Make it possible to return read guards with packed buffers ([`f5c3c8f`](https://github.com/Byron/gitoxide/commit/f5c3c8f7309bf53b9e53f786e75931d701a8585c))
+ - `file::Store::base` is now `file::Store::base()` and read-only ([`0e18753`](https://github.com/Byron/gitoxide/commit/0e1875363fea09452789d7a90fc6860a7996d6d3))
+ - Refactor, realize why having a packed-buffer with the loose db is valuable ([`a76f041`](https://github.com/Byron/gitoxide/commit/a76f04166f652ebb3304b396f5dadf302270854d))
+ - A mad attempt to use thread-local everywhere and avoid Sync… ([`0af5077`](https://github.com/Byron/gitoxide/commit/0af5077e1f028c1c69bbdc098bb567e486282c37))
+ - Try implementing find_reference to realize that this extra abstraction is overkill ([`82ea1b8`](https://github.com/Byron/gitoxide/commit/82ea1b822ac658efecb0f74643fb5d62a8269e89))
+ - Look into iteration, but realize that it's harder than finding refs ([`fc753a8`](https://github.com/Byron/gitoxide/commit/fc753a8503592752d95db2aecaa33dc3615aa1fd))
+ - Sketch of State is seen in store handle and store itself ([`f87f852`](https://github.com/Byron/gitoxide/commit/f87f85261f661c337b0f1638e1eabeca6957381c))
+ - Sketch a store handle ([`fc6480b`](https://github.com/Byron/gitoxide/commit/fc6480ba1323cf3c606a1cded100ba3ea3e983e0))
+ - Move `git_ref::file::WriteRefLog` to `git_ref::store::WriteRefLog` ([`9524732`](https://github.com/Byron/gitoxide/commit/95247322a8191edfa7fac9c5aa72b40239f3aa88))
+ * **[#266](https://github.com/Byron/gitoxide/issues/266)**
+ - Upgrade git-ref's os_str_bytes crate to 6.0.0 ([`0cfba57`](https://github.com/Byron/gitoxide/commit/0cfba573eb85c5e990635363ac169b0114bba671))
+ - Adapt to changes in git-odb ([`a44dd4b`](https://github.com/Byron/gitoxide/commit/a44dd4b5d1910856d7a21e156e7bca3138c04484))
+ - Remove pack-cache from `Find::try_find(…)` ([`ebc7f47`](https://github.com/Byron/gitoxide/commit/ebc7f47708a63c3df4415ba0e702660d976dfb3e))
+ - Clarify that we really need stable pack ids ([`cefc0fa`](https://github.com/Byron/gitoxide/commit/cefc0faf8c28939449f5df57e9f4fff14da08ea1))
+ - Move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait ([`2290d00`](https://github.com/Byron/gitoxide/commit/2290d006705ff47ad780b009fe58ee422b3285af))
+ * **[#279](https://github.com/Byron/gitoxide/issues/279)**
+ - Adapt to changes in git-hash ([`754a663`](https://github.com/Byron/gitoxide/commit/754a66344ff2cfcfc4a7a3d72f1240e939c48055))
+ - Adjust to changes in git-hash ([`9bf25cc`](https://github.com/Byron/gitoxide/commit/9bf25cc4f2e44821f93e85997677bc4e86a67bd4))
+ - Required `object_hash` as parameter when instantiating any Store ([`dea6659`](https://github.com/Byron/gitoxide/commit/dea6659a404bf8b2ad1290549653c776ec04f964))
+ - Remove `Target::must_exist()` ([`c46dec3`](https://github.com/Byron/gitoxide/commit/c46dec311c76a83dba136be5dba6b70d739c354d))
+ - Adapt to changes in git-hash ([`3e75e8c`](https://github.com/Byron/gitoxide/commit/3e75e8cd4c55f339525914fdc69e7a7da1fb06d4))
+ * **[#293](https://github.com/Byron/gitoxide/issues/293)**
+ - Git-ref uses memmap2 ([`4dec3ea`](https://github.com/Byron/gitoxide/commit/4dec3ead7c28e88de1eb8e1576b9b29b1c0953c7))
+ * **[#298](https://github.com/Byron/gitoxide/issues/298)**
+ - Enforce path conversion on windows gnu, it doesn't seem to like slashes ([`4d55a8f`](https://github.com/Byron/gitoxide/commit/4d55a8f99f2a0b7c0c4ed70a615b7e58b5bee04b))
+ - Mention that failing path when a ref-file couldn't be read ([`ecb539a`](https://github.com/Byron/gitoxide/commit/ecb539a4c12696ecb4384af2a16c381fb7980d95))
+ - Use hash_hasher based hash state for better keys/less collisions ([`814de07`](https://github.com/Byron/gitoxide/commit/814de079f4226f42efa49ad334a348bce67184e4))
+ - Display implementation for `FullName`. ([`cf50ae2`](https://github.com/Byron/gitoxide/commit/cf50ae2b33da0161d801b4c0a9cd8b5d24bb3510))
+ - FullNameRef::file_name() ([`28e3251`](https://github.com/Byron/gitoxide/commit/28e3251ee1996f638eaa0bc7b39b06be436f6eb7))
+ * **[#301](https://github.com/Byron/gitoxide/issues/301)**
+ - Update changelogs prior to release ([`84cb256`](https://github.com/Byron/gitoxide/commit/84cb25614a5fcddff297c1713eba4efbb6ff1596))
+ - Ref iteration for worktrees. ([`4a5176a`](https://github.com/Byron/gitoxide/commit/4a5176a78b64981ce5612b88c7736b7323aa8cdd))
+ - Down to one borrowcheck error ([`7571be5`](https://github.com/Byron/gitoxide/commit/7571be5388d766afd88f224a6eab652659d38bfe))
+ - Possibly a step towards solving this traversal… ([`c64a77f`](https://github.com/Byron/gitoxide/commit/c64a77f09e2d8a1904704aaab4018a66a7e8417b))
+ - Prepare for dual-iteration ([`200384c`](https://github.com/Byron/gitoxide/commit/200384c4efbfb7438d192c7060b594f01df6b189))
+ - Make a common-dir iterator available ([`78658c7`](https://github.com/Byron/gitoxide/commit/78658c75c02fc9fc1b31fe2e24dd19ec16a8d477))
+ - Refactor ([`5521391`](https://github.com/Byron/gitoxide/commit/5521391d8b2369ffa5f78617b97793276480a96b))
+ - Try all prefixes when producing a relative path for error purposes ([`8cf0302`](https://github.com/Byron/gitoxide/commit/8cf0302bc75aed6e78adf7b855b0a28f2fa15616))
+ - Restore previous non-namespace test ([`ba17b40`](https://github.com/Byron/gitoxide/commit/ba17b40d7e22f1607ee7d8d206a136d307289591))
+ - Refactor ([`1b3a6da`](https://github.com/Byron/gitoxide/commit/1b3a6dacd55894f12dfa58ae5726f3b231dbe165))
+ - Refactor ([`7777f7e`](https://github.com/Byron/gitoxide/commit/7777f7e62e54d80e183d6bfc831950ca9c40e40d))
+ - Represent loose iteration in terms of the overlay iterator ([`ad37a64`](https://github.com/Byron/gitoxide/commit/ad37a64550e9e14bbdb88c04d2f1a367af01ca62))
+ - Start preparing for multi-loose ref iteration, but… ([`014459b`](https://github.com/Byron/gitoxide/commit/014459bf200204f69fc63481cd4e50caf70f21da))
+ - Validate traversal of main repository refs in presence of worktrees ([`f067286`](https://github.com/Byron/gitoxide/commit/f06728662834b89449cc4ec379a80ab778544e3b))
+ - Refactor ([`c2ac110`](https://github.com/Byron/gitoxide/commit/c2ac1107e840cf64d9ac33bc66d2a56586e0d06a))
+ - Simplify worktree test to not include superfluous refs ([`c46d838`](https://github.com/Byron/gitoxide/commit/c46d8383db0c6c2c57a3bf0544520d8dc05adf5d))
+ - Assure proper handling of transactions in linked worktrees ([`07dc555`](https://github.com/Byron/gitoxide/commit/07dc5558cb872112d7c47494390b3e0db110edb6))
+ - Humble beginnings of transaction testing within worktrees ([`6f52606`](https://github.com/Byron/gitoxide/commit/6f52606c395eee0b3cc98c11c84a17dd2636295d))
+ - Many more tests around transactions and prefix handling ([`8f3a4b5`](https://github.com/Byron/gitoxide/commit/8f3a4b5587f37c1a9894b13617133c50bd3d2a1d))
+ - Assure that private worktree refs have their reflogs written ([`96efbb1`](https://github.com/Byron/gitoxide/commit/96efbb10ab6c50606bc7fbacb9fdace77b5859e9))
+ - Properly adjust names for prefixed refs for use in packed-refs and filter them ([`797af14`](https://github.com/Byron/gitoxide/commit/797af14a44d1208848253ad27c6d4ec8e4e45831))
+ - Prepare for filtering soon to be packed refs by name ([`3cea2ad`](https://github.com/Byron/gitoxide/commit/3cea2ad03de875a1613580eeac1b5aeca9934ef0))
+ - Uncover issue naming of refs written to packed-refs ([`1acf875`](https://github.com/Byron/gitoxide/commit/1acf87531fb41ebc7b6200417b05cbd9cfc58313))
+ - A first test of main worktree transactions incl. changelog ([`9c5ab38`](https://github.com/Byron/gitoxide/commit/9c5ab38a1fbe45c95b6073949ddec4c3f42e9dbe))
+ - Adjusts to changes in git-ref ([`b362fb5`](https://github.com/Byron/gitoxide/commit/b362fb594546400e6c42688103df438954df7eeb))
+ - `Transaction::commit(…)` takes `git-actor::SignatureRef` instead of `…::Signature`. ([`3d6299f`](https://github.com/Byron/gitoxide/commit/3d6299f47f41397c1c72035a86b94d1c263b5b98))
+ - First rough step towards support iteration ([`b987575`](https://github.com/Byron/gitoxide/commit/b98757562527b703740e96086204577287351e81))
+ - Prepare for tests that can write into our test repositories ([`096ee5f`](https://github.com/Byron/gitoxide/commit/096ee5fc9b226b26b808d9aa14dc3c53e125b356))
+ - Improve reflog base generation in transactions so it could possibly work ([`d69b56e`](https://github.com/Byron/gitoxide/commit/d69b56e7f0104a0d8981777f1d3947b8a6a0b39e))
+ - Improve conversions as much as possible ([`befe949`](https://github.com/Byron/gitoxide/commit/befe949b40d6201d35e4622725f5ad3c6d0315d4))
+ - Validate that owned values indeed can't be passed anymore ([`c78008e`](https://github.com/Byron/gitoxide/commit/c78008e4d8b7cc68c2c04d344ec3388fe42d9d9f))
+ - Avoid using `Cow` at all in favor of a simple `&PartialNameref` ([`1bc9a87`](https://github.com/Byron/gitoxide/commit/1bc9a875d2b09b906f40db9e2c031c99e4fd9928))
+ - This didn't get better, but probably will stay that way ([`7da239f`](https://github.com/Byron/gitoxide/commit/7da239fb0ee42fd5148fa6524e5bfecf51d19cee))
+ - See what it means to use `Cow<PartialNameRef>` ([`2ae129a`](https://github.com/Byron/gitoxide/commit/2ae129ad6183f36179031ea905d8974705e70da8))
+ - All custom TryFrom implementations for Cow<PartialNameRef> ([`15afec1`](https://github.com/Byron/gitoxide/commit/15afec1efbc01fbb52af8f88720c874e6aa2d2b1))
+ - Cow support for PartialNameRef ([`3e470da`](https://github.com/Byron/gitoxide/commit/3e470da2d26f9b2c6bec9b28a9a108b8c032f007))
+ - Adapt to changes in git-ref ([`21109ca`](https://github.com/Byron/gitoxide/commit/21109ca9ab21df0ab45f3be552e83114817e98d0))
+ - Remove `FullName::to_ref()` in favor of `•::as_ref()`. ([`f1dbb6b`](https://github.com/Byron/gitoxide/commit/f1dbb6bd4534527b6f1f2aba2a562dd4e64cf55d))
+ - Reflog handling for worktree/ ref-names ([`77877e0`](https://github.com/Byron/gitoxide/commit/77877e09de324c7c32f5a170e853760f7b192aa4))
+ - Parse the worktree name as part of the cateogry ([`7666034`](https://github.com/Byron/gitoxide/commit/7666034a9b998eef7a2edaff0a8e6904babb5a13))
+ - Refactor ([`cebf736`](https://github.com/Byron/gitoxide/commit/cebf73655c887d57bbe597938cfa376fac96b44c))
+ - More fixes for worktree ref handling ([`1aa546d`](https://github.com/Byron/gitoxide/commit/1aa546dea7f1aa8f6baf348f4398aa100fbd18a2))
+ - Better packed refs lookup for worktree refs ([`2b6982e`](https://github.com/Byron/gitoxide/commit/2b6982e89db0f2229bdafa314eadbfb7ee637195))
+ - Fix bugs with name resolution ([`3031f99`](https://github.com/Byron/gitoxide/commit/3031f996fdc2312f847da82f251f0a3f7875d40a))
+ - Assure `main-worktree` is also resolved in the main worktree ([`bc3c05e`](https://github.com/Byron/gitoxide/commit/bc3c05e811b25be93294bebae96a0bba0afcf0f9))
+ - Assure nobody can bypass the namespace anymore ([`0079ab6`](https://github.com/Byron/gitoxide/commit/0079ab61c8f2818632949ed227e7251dd37a2a33))
+ - Frame for tests in worktree and main repositories ([`b12884a`](https://github.com/Byron/gitoxide/commit/b12884ad9596805521fe8c556c48d78669dd7ea5))
+ - Assure namespaces are respected when calculating bases ([`4aac3c2`](https://github.com/Byron/gitoxide/commit/4aac3c248ed46963166defa46e80740d135906ed))
+ - Fix docs ([`e189914`](https://github.com/Byron/gitoxide/commit/e1899143f12c16360998ac27bce326343254a638))
+ - Transactions fully rely on proper base ([`d3a12e3`](https://github.com/Byron/gitoxide/commit/d3a12e31c8eae9209489d35b4b2e5d4835e85bde))
+ - Packed-refs now use correct common dir ([`dd7be18`](https://github.com/Byron/gitoxide/commit/dd7be189ea1d5c15385a7eee54368b2b2510ed2d))
+ - Reflog paths are now computed according to their ref name ([`c4d2493`](https://github.com/Byron/gitoxide/commit/c4d2493dc5f3e0d2c7fca71ae672af167b8ff1a5))
+ - Refactor ([`e93c222`](https://github.com/Byron/gitoxide/commit/e93c222c947f57d9df523372613265d6286f64ce))
+ - First draft of fixture setup for worktrees ([`a25b0bc`](https://github.com/Byron/gitoxide/commit/a25b0bccfa001273057089fecca637c2d1fc591a))
+ - Use suitable full names for store based packed-refs lookup too ([`d25b3ca`](https://github.com/Byron/gitoxide/commit/d25b3ca01450c308e08e060c3959aaca09b9415f))
+ - Packed-refs can now possibly transform names for lookup correctly ([`6478736`](https://github.com/Byron/gitoxide/commit/6478736b5a2f86fd369a40f55b3697089e4ee93b))
+ - Offer a way to search packed refs by full name only ([`ae57e27`](https://github.com/Byron/gitoxide/commit/ae57e2766c4594b8336b36d4cfecb3c41d83e391))
+ - Also build what should be a valid path for loose-ref lookup ([`37deca5`](https://github.com/Byron/gitoxide/commit/37deca572eeeada79bfcbb4f815d50d4d5be2dc7))
+ - Refactor ([`19d53fb`](https://github.com/Byron/gitoxide/commit/19d53fb1b8c13ca13d2111a840de1b6ef91780ec))
+ - Refactor ([`32b8fde`](https://github.com/Byron/gitoxide/commit/32b8fde5f8941d3799d461e1d258f6627c064891))
+ - Refactor ([`09eb432`](https://github.com/Byron/gitoxide/commit/09eb432f21e6999ed565437aba1d3550fe33ed8d))
+ - Refactor ([`f83910f`](https://github.com/Byron/gitoxide/commit/f83910fe56b07b8dfabedeeaefd02070c15dd6f3))
+ - Loose ref lookup uses categories for refanames ([`61b449c`](https://github.com/Byron/gitoxide/commit/61b449ce8bf0d281839ba333af0dc33bf18556a1))
+ - Prepare for switch to category based base-path lookup ([`14c6f48`](https://github.com/Byron/gitoxide/commit/14c6f48d28d6f2e0a0dd778ec8205d04c731aeb2))
+ - Unify pseudo-ref check for find reference ([`8c52fe4`](https://github.com/Byron/gitoxide/commit/8c52fe42ead34de18de3b649ca91bc5616da5e57))
+ - Admit that we need PartialPathCow and can't work around it ([`202bafc`](https://github.com/Byron/gitoxide/commit/202bafcaeb122f9d61b0ad4855e1aaf90c69107c))
+ - Rename `PartialNameRef` to `PartialNameCow` ([`1611c3d`](https://github.com/Byron/gitoxide/commit/1611c3ddff6c930deaa4c2440383f5684c029b28))
+ - Refactor ([`4e26e62`](https://github.com/Byron/gitoxide/commit/4e26e62f62bffbc5744650d173061a8270e1cd68))
+ - Refactor ([`a611224`](https://github.com/Byron/gitoxide/commit/a6112249689438058724d859a87f0a4a64ed02e4))
+ - Refactor ([`467d583`](https://github.com/Byron/gitoxide/commit/467d5839af2098911bf5551b6dfa6db0a2b20300))
+ - Refactor ([`3574a4e`](https://github.com/Byron/gitoxide/commit/3574a4eaee78dc41c22d85af47cfd27b2c7c2303))
+ - `Category::LinkedRef` ([`9cccce3`](https://github.com/Byron/gitoxide/commit/9cccce35e527cdda58e01b03cd335a527418cf14))
+ - `Category::MainRef` ([`eada5df`](https://github.com/Byron/gitoxide/commit/eada5dfdd4981dbb032e8f155e3829eb5d1f380f))
+ - `Category::(WorktreePrivate|Bisect|Rewritten)` ([`0304b7f`](https://github.com/Byron/gitoxide/commit/0304b7fad3ae5e3ac1fea71e30658474a770184b))
+ - `Category::LinkedPseudoRef` ([`612a2db`](https://github.com/Byron/gitoxide/commit/612a2dbf7f70a8eb44b7278fccd4f1589749968a))
+ - Add `Category::MainPseudoRef` ([`613b584`](https://github.com/Byron/gitoxide/commit/613b5844e74535d391339bd8e7c106e18257b917))
+ - `Category::PseudoRef` ([`6ccfea9`](https://github.com/Byron/gitoxide/commit/6ccfea97d30dbfa013e1633c77c5a26ab5cbaf8f))
+ - Remove `Store` from public API ([`8a92ec9`](https://github.com/Byron/gitoxide/commit/8a92ec9834b6d5aa3057c5509f6c13b6a6cd6e1b))
+ - Rename `file::Store::base()` to `git_dir()`. ([`2becffc`](https://github.com/Byron/gitoxide/commit/2becffc85ff6225522fe38482739fb1406ae1060))
+ - Adapt to changes in git-path ([`cc2d810`](https://github.com/Byron/gitoxide/commit/cc2d81012d107da7a61bf4de5b28342dea5083b7))
+ - Adapt to all changes in git-path with bstr support ([`f158648`](https://github.com/Byron/gitoxide/commit/f158648aef8ad94d86550ceb2eeb20efb3df7596))
+ - Use `git-path` crate instead of `git_features::path` ([`47e607d`](https://github.com/Byron/gitoxide/commit/47e607dc256a43a3411406c645eb7ff04239dd3a))
+ - Adjustments to go along with changes in git-features ([`c55cac6`](https://github.com/Byron/gitoxide/commit/c55cac6a1ada77619bb5723717a5a6d757499fa9))
+ - Make fmt ([`50ff7aa`](https://github.com/Byron/gitoxide/commit/50ff7aa7fa86e5e2a94fb15aab86470532ac3f51))
+ - Performance issue on windows is due to slow process execution speed ([`60bcffc`](https://github.com/Byron/gitoxide/commit/60bcffc2d2921f01a0c8f42da9b43cd731eaf55d))
+ - Speed up git-pack testing on windows ([`8ca400c`](https://github.com/Byron/gitoxide/commit/8ca400c8647e0e59a96a936d41c2dc2d07c6bf2d))
+ * **[#329](https://github.com/Byron/gitoxide/issues/329)**
+ - Document all features related to serde1 ([`72b97f2`](https://github.com/Byron/gitoxide/commit/72b97f2ae4dc7642b160f183c6d5df4502dc186f))
+ * **[#331](https://github.com/Byron/gitoxide/issues/331)**
+ - `Target(Ref)?::try_name()` now returns `Option<&FullNameRef>`. ([`0f753e9`](https://github.com/Byron/gitoxide/commit/0f753e922e313f735ed267f913366771e9de1111))
+ - Add `store::WriteRefLog::Always` to unconditionally write reflogs. ([`4607a18`](https://github.com/Byron/gitoxide/commit/4607a18e24b8270c182663a434b79dff8761db0e))
+ - Add `git_config::values::Path` for a typesafe git path ([`e4d6685`](https://github.com/Byron/gitoxide/commit/e4d6685064ad2b433f8acd3a74b320bf0169a994))
+ * **[#333](https://github.com/Byron/gitoxide/issues/333)**
+ - Use git_features::path everywhere where there is a path conversion ([`2e1437c`](https://github.com/Byron/gitoxide/commit/2e1437cb0b5dc77f2317881767f71eaf9b009ebf))
+ - Remove os-str-bytes everywhere ([`71a086a`](https://github.com/Byron/gitoxide/commit/71a086aaf0835c31c834aa32d968552de490f2e7))
+ - Found one valid case for using os-str-bytes ([`9c294bf`](https://github.com/Byron/gitoxide/commit/9c294bff45f8f04affd690327559e0e2c2415fa9))
+ - Make real clear panics are only possible on windows ([`6b283dc`](https://github.com/Byron/gitoxide/commit/6b283dc7b9339fd65ea35f56eb29f121f571caf7))
+ - One usage of os_str_bytes down, along with some custom conversion code ([`1cc95ce`](https://github.com/Byron/gitoxide/commit/1cc95cefbd132a4277ec52c2147f7c81fea92d48))
+ - Gitoxide-core without os-str-bytes ([`909aa14`](https://github.com/Byron/gitoxide/commit/909aa1402c82c3128052023613a297b213716e3d))
+ - Don't use os_str_ext in git-features; adapt git-ref ([`9258b7b`](https://github.com/Byron/gitoxide/commit/9258b7baf0895593c13a152ff9e6f52e036cebe1))
+ - Use new git-features::path module ([`7c53b27`](https://github.com/Byron/gitoxide/commit/7c53b275a71b9d2ee477bd19464d49a97e031e0c))
+ * **[#364](https://github.com/Byron/gitoxide/issues/364)**
+ - Add `FullName(Ref)::category_and_shortname()` ([`ecd60d7`](https://github.com/Byron/gitoxide/commit/ecd60d7a75d4aef7c37cd0b28b57a8aea1166858))
+ - `Target::as_(id|name)` -> `Target::try_(id|name)` ([`7984e19`](https://github.com/Byron/gitoxide/commit/7984e19417dff13445f3ef2e15dea96bbd194ce5))
+ - Refactor ([`b1b9871`](https://github.com/Byron/gitoxide/commit/b1b9871e8b0c2bcbdee0c3ea4c060b4a7c32bc15))
+ - `Fullname(Ref)::category()` and `Category` ([`e7e4ba2`](https://github.com/Byron/gitoxide/commit/e7e4ba2739e5a15e826b5b4d9ef2b45a1cb016cc))
+ - FullName(Ref)::strip_prefix() ([`af2d399`](https://github.com/Byron/gitoxide/commit/af2d399261e4131299c2279904a1f224c116db66))
+ - Full error handling for CommitRefIter ([`b94471a`](https://github.com/Byron/gitoxide/commit/b94471a0ced50204156cf5d4126c676f0258a5eb))
+ * **[#384](https://github.com/Byron/gitoxide/issues/384)**
+ - No need to isolate archives by crate name ([`19d46f3`](https://github.com/Byron/gitoxide/commit/19d46f35440419b9911b6e2bca2cfc975865dce9))
+ - Add archive files via git-lfs ([`7202a1c`](https://github.com/Byron/gitoxide/commit/7202a1c4734ad904c026ee3e4e2143c0461d51a2))
+ - Auto-set commit.gpgsign=false when executing git ([`c23feb6`](https://github.com/Byron/gitoxide/commit/c23feb64ad157180cfba8a11c882b829733ea8f6))
+ * **[#393](https://github.com/Byron/gitoxide/issues/393)**
+ - Add support for disabling archive usage ([`624ad2e`](https://github.com/Byron/gitoxide/commit/624ad2ef42172556efe942129f6f46dd627250d5))
+ * **[#427](https://github.com/Byron/gitoxide/issues/427)**
+ - Make fmt ([`4b320e7`](https://github.com/Byron/gitoxide/commit/4b320e773368ac5e8c38dd8a779ef3d6d2d024ec))
+ - Adapt to changes in git-features ([`777b40c`](https://github.com/Byron/gitoxide/commit/777b40cc33f0cc952bc2a7cbb01c0c3c1b261e5b))
+ - Adjust to changes in `git-features` ([`07168c7`](https://github.com/Byron/gitoxide/commit/07168c704c1f8ba1eeb4dcec65b7d34ddca3e147))
+ - Use generalized reload-on-demand in `git-ref` ([`8d0cce7`](https://github.com/Byron/gitoxide/commit/8d0cce7d1521374d5199552fc69a417a957519bc))
+ - Now it's possible to update packed refs using the shared code ([`78222c2`](https://github.com/Byron/gitoxide/commit/78222c2e39aa24c84852e999448c042f2fd37db4))
+ - The first step towards using the generalized `ReloadIfChanged` in git-ref ([`e8de0ef`](https://github.com/Byron/gitoxide/commit/e8de0ef38db2f2d83cb277ed101464f23c0e98e4))
+ - Always update modification date when packed refs are forcefully reloaded. ([`1d20035`](https://github.com/Byron/gitoxide/commit/1d2003519e3b0f745af1524a32f2816475024b31))
+ - Allow `Reference` to be serialized/deserialized with `serde`. ([`f3c609f`](https://github.com/Byron/gitoxide/commit/f3c609f0af00aa280649975b0705a3cfaad8a0e5))
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - Support for non-'static PackedRefs transactions. ([`328900a`](https://github.com/Byron/gitoxide/commit/328900add089f40d3bf9f1019c9f31663da387e2))
+ - Add test to validate new symref reflog behaviour ([`8b5cf38`](https://github.com/Byron/gitoxide/commit/8b5cf385cb6cf31ad438398ddcc5668a01b6fb3d))
+ - Allow symref updates to receive reflogs if these are new… ([`6e5c0ae`](https://github.com/Byron/gitoxide/commit/6e5c0ae63deed181419232c61896e22404e4c84a))
+ - `transaction::Change::new_value()` to get easy access to new values of references. ([`370ed3d`](https://github.com/Byron/gitoxide/commit/370ed3dcc393eca7a393ea0150f698a9fc844320))
+ - `file::Transaction::prepare()` now takes two `git_lock::acquisition::Fail` instances. ([`e699291`](https://github.com/Byron/gitoxide/commit/e699291097cec346374a30c325848f787ca9d736))
+ - `FullName::try_from(&BString)` for convenience. ([`658c125`](https://github.com/Byron/gitoxide/commit/658c1257c073507327d9a50c1c89b49d17e9ccbc))
+ - Improve docs slightly ([`4850202`](https://github.com/Byron/gitoxide/commit/485020252da95b1369326156ebd8ff6052f591ec))
+ - Better refmap printing ([`6f60a79`](https://github.com/Byron/gitoxide/commit/6f60a793297e2a29cf835591add6669c067da3e5))
+ - Fix windows tests ([`140e690`](https://github.com/Byron/gitoxide/commit/140e6903d9bd9d9b393b717988f00e42c52a4d36))
+ - Fix docs ([`dad9cbe`](https://github.com/Byron/gitoxide/commit/dad9cbeb853c0cc5128360b05c04b5a3da7ec75e))
+ - Replace `quick-error` with `thiserror` ([`725210d`](https://github.com/Byron/gitoxide/commit/725210dc401406fe9450eae9d375b0238d645027))
+ - Adjust to changes in `git-validate` ([`4eac45f`](https://github.com/Byron/gitoxide/commit/4eac45f89d4581a7be8eedcc931512cd52c255a9))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - Update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **[#595](https://github.com/Byron/gitoxide/issues/595)**
+ - Assure symrefs don't get deleted when moving refs to packed-refs. ([`584b705`](https://github.com/Byron/gitoxide/commit/584b705cee8be3fb68c67dcb8535b981d1efc5f4))
+ - Avoid lock-acquisition for refs which are to be deleted if a global lock is helt. ([`66b053d`](https://github.com/Byron/gitoxide/commit/66b053dd070cc05dbcec9b251bfab32a00f75b68))
+ - Case-insentively conflicting references can be created even on case-insensitie filesystems*. ([`9f84850`](https://github.com/Byron/gitoxide/commit/9f848506f5a42abc954612ea375f845e3b23ae5a))
+ - Instead of erroring if loose iteration is performed on missing base, correctly yield zero references. ([`e9853dd`](https://github.com/Byron/gitoxide/commit/e9853dd640cf4545134aa6e0d093e560af090a2b))
+ - Loose ref iteration on a repo with missing 'ref/' fails when creating the iterator. ([`27386a9`](https://github.com/Byron/gitoxide/commit/27386a96ddc022ba75730901f8bb098b9d5ff9d4))
+ - First test to validate how collisions are expressed. ([`3f54ade`](https://github.com/Byron/gitoxide/commit/3f54ade216cfdfbba8d4a74f544ccf0436225d46))
+ - Attempt to add the first case-sensitive test… ([`063ab73`](https://github.com/Byron/gitoxide/commit/063ab73d77a480191d10338964f4a6209aec3cb6))
+ - `file::Transaction::rollback()` allows to explicitly roll back a pending change. ([`e86e159`](https://github.com/Byron/gitoxide/commit/e86e159e00c9b54803abbfa09809707be7ac8aee))
+ - Higher performance for edits which would write the same value. ([`bbdb480`](https://github.com/Byron/gitoxide/commit/bbdb4804d8c3bd6a1fb8bea97adce509c90c5ca8))
+ * **[#691](https://github.com/Byron/gitoxide/issues/691)**
+ - Set `rust-version` to 1.64 ([`55066ce`](https://github.com/Byron/gitoxide/commit/55066ce5fd71209abb5d84da2998b903504584bb))
+ * **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
+ - Prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
+ * **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`](https://github.com/Byron/gitoxide/commit/e31311257bd138b52042dea5fc40c3abab7f269b))
+ - 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`](https://github.com/Byron/gitoxide/commit/6efd0d31fbeca31ab7319aa2ac97bb31dc4ce055))
+ - 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`](https://github.com/Byron/gitoxide/commit/6ccc88a8e4a56973b1a358cf72dc012ee3c75d56))
+ - Merge branch 'rename-crates' into inform-about-gix-rename ([`c9275b9`](https://github.com/Byron/gitoxide/commit/c9275b99ea43949306d93775d9d78c98fb86cfb1))
+ - Rename `git-testtools` to `gix-testtools` ([`b65c33d`](https://github.com/Byron/gitoxide/commit/b65c33d256cfed65d11adeff41132e3e58754089))
+ - Adjust to renaming of `git-pack` to `gix-pack` ([`1ee81ad`](https://github.com/Byron/gitoxide/commit/1ee81ad310285ee4aa118118a2be3810dbace574))
+ - Adjust to renaming of `git-odb` to `gix-odb` ([`476e2ad`](https://github.com/Byron/gitoxide/commit/476e2ad1a64e9e3f0d7c8651d5bcbee36cd78241))
+ - Adjust to renaming of `git-index` to `gix-index` ([`86db5e0`](https://github.com/Byron/gitoxide/commit/86db5e09fc58ce66b252dc13b8d7e2c48e4d5062))
+ - Adjust to renaming of `git-diff` to `gix-diff` ([`49a163e`](https://github.com/Byron/gitoxide/commit/49a163ec8b18f0e5fcd05a315de16d5d8be7650e))
+ - Adjust to renaming of `git-commitgraph` to `gix-commitgraph` ([`f1dd0a3`](https://github.com/Byron/gitoxide/commit/f1dd0a3366e31259af029da73228e8af2f414244))
+ - Adjust to renaming of `git-mailmap` to `gix-mailmap` ([`2e28c56`](https://github.com/Byron/gitoxide/commit/2e28c56bb9f70de6f97439818118d3a25859698f))
+ - Adjust to renaming of `git-discover` to `gix-discover` ([`53adfe1`](https://github.com/Byron/gitoxide/commit/53adfe1c34e9ea3b27067a97b5e7ac80b351c441))
+ - Adjust to renaming of `git-lfs` to `gix-lfs` ([`b9225c8`](https://github.com/Byron/gitoxide/commit/b9225c830daf1388484ee7e05f727990fdeff43c))
+ - Adjust to renaming of `git-chunk` to `gix-chunk` ([`59194e3`](https://github.com/Byron/gitoxide/commit/59194e3a07853eae0624ebc4907478d1de4f7599))
+ - Adjust to renaming of `git-bitmap` to `gix-bitmap` ([`75f2a07`](https://github.com/Byron/gitoxide/commit/75f2a079b17489f62bc43e1f1d932307375c4f9d))
+ - Adjust to renaming for `git-protocol` to `gix-protocol` ([`823795a`](https://github.com/Byron/gitoxide/commit/823795addea3810243cab7936cd8ec0137cbc224))
+ - Adjust to renaming of `git-refspec` to `gix-refspec` ([`c958802`](https://github.com/Byron/gitoxide/commit/c9588020561577736faa065e7e5b5bb486ca8fe1))
+ - Adjust to renaming of `git-revision` to `gix-revision` ([`ee0ee84`](https://github.com/Byron/gitoxide/commit/ee0ee84607c2ffe11ee75f27a31903db68afed02))
+ - Adjust to renaming of `git-transport` to `gix-transport` ([`b2ccf71`](https://github.com/Byron/gitoxide/commit/b2ccf716dc4425bb96651d4d58806a3cc2da219e))
+ - Adjust to renaming of `git-credentials` to `gix-credentials` ([`6b18abc`](https://github.com/Byron/gitoxide/commit/6b18abcf2856f02ab938d535a65e51ac282bf94a))
+ - Adjust to renaming of `git-prompt` to `gix-prompt` ([`6a4654e`](https://github.com/Byron/gitoxide/commit/6a4654e0d10ab773dd219cb4b731c0fc1471c36d))
+ - Adjust to renaming of `git-command` to `gix-command` ([`d26b8e0`](https://github.com/Byron/gitoxide/commit/d26b8e046496894ae06b0bbfdba77196976cd975))
+ - Adjust to renaming of `git-packetline` to `gix-packetline` ([`5cbd22c`](https://github.com/Byron/gitoxide/commit/5cbd22cf42efb760058561c6c3bbcd4dab8c8be1))
+ - Adjust to renaming of `git-worktree` to `gix-worktree` ([`73a1282`](https://github.com/Byron/gitoxide/commit/73a12821b3d9b66ec1714d07dd27eb7a73e3a544))
+ - Adjust to renamining of `git-hashtable` to `gix-hashtable` ([`26a0c98`](https://github.com/Byron/gitoxide/commit/26a0c98d0a389b03e3dc7bfc758b37155e285244))
+ - Adjust to renamining of `git-worktree` to `gix-worktree` ([`108bb1a`](https://github.com/Byron/gitoxide/commit/108bb1a634f4828853fb590e9fc125f79441dd38))
+ - Adjust to renaming of `git-url` to `gix-url` ([`b50817a`](https://github.com/Byron/gitoxide/commit/b50817aadb143e19f61f64e19b19ec1107d980c6))
+ - Adjust to renaming of `git-date` to `gix-date` ([`9a79ff2`](https://github.com/Byron/gitoxide/commit/9a79ff2d5cc74c1efad9f41e21095ae498cce00b))
+ - Adjust to renamining of `git-attributes` to `gix-attributes` ([`4a8b3b8`](https://github.com/Byron/gitoxide/commit/4a8b3b812ac26f2a2aee8ce8ca81591273383c84))
+ - Adjust to renaminig of `git-quote` to `gix-quote` ([`648025b`](https://github.com/Byron/gitoxide/commit/648025b7ca94411fdd0d90c53e5faede5fde6c8d))
+ - Adjust to renaming of `git-config` to `gix-config` ([`3a861c8`](https://github.com/Byron/gitoxide/commit/3a861c8f049f6502d3bcbdac752659aa1aeda46a))
+ - Adjust to renaming of `git-ref` to `gix-ref` ([`1f5f695`](https://github.com/Byron/gitoxide/commit/1f5f695407b034377d94b172465ff573562b3fc3))
+ - Rename `git-ref` to `gix-ref` ([`a56e628`](https://github.com/Byron/gitoxide/commit/a56e6281d8a3e26a36dc63bb84ede7f6ecf9fddc))
+ - Adjust to renaming of `git-lock` to `gix-lock` ([`2028e78`](https://github.com/Byron/gitoxide/commit/2028e7884ae1821edeec81612f501e88e4722b17))
+ - Adjust to renaming of `git-tempfile` to `gix-tempfile` ([`b6cc3eb`](https://github.com/Byron/gitoxide/commit/b6cc3ebb5137084a6327af16a7d9364d8f092cc9))
+ - Adjust to renaming of `git-object` to `gix-object` ([`fc86a1e`](https://github.com/Byron/gitoxide/commit/fc86a1e710ad7bf076c25cc6f028ddcf1a5a4311))
+ - Adjust to renaming of `git-actor` to `gix-actor` ([`4dc9b44`](https://github.com/Byron/gitoxide/commit/4dc9b44dc52f2486ffa2040585c6897c1bf55df4))
+ - Adjust to renaming of `git-validate` to `gix-validate` ([`5e40ad0`](https://github.com/Byron/gitoxide/commit/5e40ad078af3d08cbc2ca81ce755c0ed8a065b4f))
+ - Adjust to renaming of `git-hash` to `gix-hash` ([`4a9d025`](https://github.com/Byron/gitoxide/commit/4a9d0257110c3efa61d08c8457c4545b200226d1))
+ - Adjust to renaming of `git-features` to `gix-features` ([`e2dd68a`](https://github.com/Byron/gitoxide/commit/e2dd68a417aad229e194ff20dbbfd77668096ec6))
+ - Adjust to renaming of `git-glob` to `gix-glob` ([`35b2a3a`](https://github.com/Byron/gitoxide/commit/35b2a3acbc8f2a03f151bc0a3863163844e0ca86))
+ - Adjust to renaming of `git-sec` to `gix-sec` ([`eabbb92`](https://github.com/Byron/gitoxide/commit/eabbb923bd5a32fc80fa80f96cfdc2ab7bb2ed17))
+ - Adapt to renaming of `git-path` to `gix-path` ([`d3bbcfc`](https://github.com/Byron/gitoxide/commit/d3bbcfccad80fc44ea8e7bf819f23adaca06ba2d))
+ - Adjust to rename of `git-config-value` to `gix-config-value` ([`622b3e1`](https://github.com/Byron/gitoxide/commit/622b3e1d0bffa0f8db73697960f9712024fac430))
+ - Release git-features v0.26.4 ([`109f434`](https://github.com/Byron/gitoxide/commit/109f434e66559a791d541f86876ded8df10766f1))
+ - Release git-features v0.26.3 ([`1ecfb7f`](https://github.com/Byron/gitoxide/commit/1ecfb7f8bfb24432690d8f31367488f2e59a642a))
+ - Merge branch 'rename-crates' ([`6461c3d`](https://github.com/Byron/gitoxide/commit/6461c3da4d6daee857606d94294c3f87fc36965a))
+ - Rename `git-repository` to `gix` ([`7bed2a9`](https://github.com/Byron/gitoxide/commit/7bed2a96604397fa990f427b1a970ddeb6f09f1c))
+ - 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`](https://github.com/Byron/gitoxide/commit/c196d206d57a310b1ce974a1cf0e7e6d6db5c4d6))
+ - Prepare changelogs prior to release ([`7c846d2`](https://github.com/Byron/gitoxide/commit/7c846d2102dc767366771925212712ef8cc9bf07))
+ - Merge branch 'Lioness100/main' ([`1e544e8`](https://github.com/Byron/gitoxide/commit/1e544e82455bf9ecb5e3c2146280eaf7ecd81f16))
+ - Revert obtai -> obtained ([`cd84c1a`](https://github.com/Byron/gitoxide/commit/cd84c1a63b0447dc8f32ed4abf7c0b1c1bb75f6e))
+ - Fix typos ([`39ed9ed`](https://github.com/Byron/gitoxide/commit/39ed9eda62b7718d5109135e5ad406fb1fe2978c))
+ - Thanks clippy ([`bac57dd`](https://github.com/Byron/gitoxide/commit/bac57dd05ea2d5a4ee45ef9350fa3f2e19474bc0))
+ - Make fmt ([`e22080e`](https://github.com/Byron/gitoxide/commit/e22080e4a29d0bad15a99d565a5e3e304a8743ec))
+ - Merge branch 'adjustments-for-cargo' ([`7bba270`](https://github.com/Byron/gitoxide/commit/7bba2709488b7eb999b8136dbab03af977241678))
+ - Assure single-threaded git-ref tests may run. ([`17c0776`](https://github.com/Byron/gitoxide/commit/17c077683ebe2cd6b5717d28c8cda29b93286ac7))
+ - Break cyclical dev dependencies ([`1fea18f`](https://github.com/Byron/gitoxide/commit/1fea18f5f8b4189a23dc4fa3f041a672f6fbcfb3))
+ - Commiting the revlog transaction is now optional. ([`65c5589`](https://github.com/Byron/gitoxide/commit/65c5589a419b2856c1576d838d4444554d7a582b))
+ - 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`](https://github.com/Byron/gitoxide/commit/5b5b3809faa71c658db38b40dfc410224d08a367))
+ - Prepare changelogs prior to release ([`93bef97`](https://github.com/Byron/gitoxide/commit/93bef97b3c0c75d4bf7119fdd787516e1efc77bf))
+ - Merge branch 'patch-1' ([`b93f0c4`](https://github.com/Byron/gitoxide/commit/b93f0c49fc677b6c19aea332cbfc1445ce475375))
+ - Thanks clippy ([`9e04685`](https://github.com/Byron/gitoxide/commit/9e04685dd3f109bfb27663f9dc7c04102e660bf2))
+ - 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`](https://github.com/Byron/gitoxide/commit/ffb5b6a21cb415315db6fd5294940c7c6deb4538))
+ - Prepare changelogs prior to release ([`4381a03`](https://github.com/Byron/gitoxide/commit/4381a03a34c305f31713cce234c2afbf8ac60f01))
+ - 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`](https://github.com/Byron/gitoxide/commit/0e3d0a56d7e6a60c6578138f2690b4fa54a2072d))
+ - 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`](https://github.com/Byron/gitoxide/commit/5ac9fbe265a5b61c533a2a6b3abfed2bdf7f89ad))
+ - Prepare changelogs prior to release ([`30d8ca1`](https://github.com/Byron/gitoxide/commit/30d8ca19284049dcfbb0de2698cafae1d1a16b0c))
+ - 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`](https://github.com/Byron/gitoxide/commit/e6b9906c486b11057936da16ed6e0ec450a0fb83))
+ - Prepare chnagelogs prior to git-repository release ([`7114bbb`](https://github.com/Byron/gitoxide/commit/7114bbb6732aa8571d4ab74f28ed3e26e9fbe4d0))
+ - Merge branch 'main' into read-split-index ([`c57bdde`](https://github.com/Byron/gitoxide/commit/c57bdde6de37eca9672ea715962bbd02aa3eb055))
+ - Merge branch 'adjustments-for-cargo' ([`083909b`](https://github.com/Byron/gitoxide/commit/083909bc7eb902eeee2002034fdb6ed88280dc5c))
+ - Thanks clippy ([`f1160fb`](https://github.com/Byron/gitoxide/commit/f1160fb42acf59b37cbeda546a7079af3c9bc050))
+ - Adapt to changes in `git-features::fs`. ([`35f7d59`](https://github.com/Byron/gitoxide/commit/35f7d5960210738d88d35aef9c1ed3480681c481))
+ - Adjust to changes in `git-testtools` ([`4eb842c`](https://github.com/Byron/gitoxide/commit/4eb842c7150b980e1c2637217e1f9657a671cea7))
+ - Release git-hash v0.10.1, git-hashtable v0.1.0 ([`7717170`](https://github.com/Byron/gitoxide/commit/771717095d9a67b0625021eb0928828ab686e772))
+ - Merge branch 'main' into http-config ([`6b9632e`](https://github.com/Byron/gitoxide/commit/6b9632e16c416841ffff1b767ee7a6c89b421220))
+ - Release git-features v0.24.1, git-actor v0.14.1, git-index v0.9.1 ([`7893502`](https://github.com/Byron/gitoxide/commit/789350208efc9d5fc6f9bc4f113f77f9cb445156))
+ - Merge branch 'main' into http-config ([`bcd9654`](https://github.com/Byron/gitoxide/commit/bcd9654e56169799eb706646da6ee1f4ef2021a9))
+ - Make fmt ([`0abab7d`](https://github.com/Byron/gitoxide/commit/0abab7da2ec1b8560e6c1eb009f534c9fc7814fe))
+ - 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`](https://github.com/Byron/gitoxide/commit/b2c301ef131ffe1871314e19f387cf10a8d2ac16))
+ - Prepare changelogs prior to release ([`e4648f8`](https://github.com/Byron/gitoxide/commit/e4648f827c97e9d13636d1bbdc83dd63436e6e5c))
+ - Merge branch 'version2021' ([`0e4462d`](https://github.com/Byron/gitoxide/commit/0e4462df7a5166fe85c23a779462cdca8ee013e8))
+ - Upgrade edition to 2021 in most crates. ([`3d8fa8f`](https://github.com/Byron/gitoxide/commit/3d8fa8fef9800b1576beab8a5bc39b821157a5ed))
+ - 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`](https://github.com/Byron/gitoxide/commit/0c253b15143dcedfe4c66d64ab1ea6e097030651))
+ - Prepare changelogs prior to release ([`fe5721f`](https://github.com/Byron/gitoxide/commit/fe5721f888c64c79fe9a734a9e33b94a282f8d97))
+ - Merge branch 'http-config' ([`665b53e`](https://github.com/Byron/gitoxide/commit/665b53e1c2e1de65fafa28b669f58977868bbc81))
+ - Don't assert on state that is based on a transaction that isn't committed ([`00f6f7a`](https://github.com/Byron/gitoxide/commit/00f6f7a2d056d150306817b3563470173a091b4c))
+ - Thanks clippy ([`fe7d6f9`](https://github.com/Byron/gitoxide/commit/fe7d6f91ad6c8a0b0beca9faa8230537d2fd6a3c))
+ - Assure reflogs aren't skipped just because there is no per-loose lock file. ([`130d13b`](https://github.com/Byron/gitoxide/commit/130d13bbf1b4b2da8f688a440f3e2f3b1a51519f))
+ - Refactor ([`f17c6b6`](https://github.com/Byron/gitoxide/commit/f17c6b649d9e0bed59c4e6d8380c3dcdfd73a2f9))
+ - Refactor ([`c1d2aea`](https://github.com/Byron/gitoxide/commit/c1d2aea68a2c57f5d498987c51fe2806f669eaaa))
+ - Refactor ([`b0a231a`](https://github.com/Byron/gitoxide/commit/b0a231aaca5cf371e2a204bf3b3100a4a7cc913e))
+ - Thanks clippy ([`5f7fe69`](https://github.com/Byron/gitoxide/commit/5f7fe698e0ea322a731f8e86e724be327e9d3420))
+ - 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`](https://github.com/Byron/gitoxide/commit/d071583c5576fdf5f7717765ffed5681792aa81f))
+ - Prepare changelogs prior to release ([`423af90`](https://github.com/Byron/gitoxide/commit/423af90c8202d62dc1ea4a76a0df6421d1f0aa06))
+ - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) ([`5406630`](https://github.com/Byron/gitoxide/commit/5406630466145990b5adbdadb59151036993060d))
+ - Thanks clippy ([`04cfa63`](https://github.com/Byron/gitoxide/commit/04cfa635a65ae34ad6d22391f2febd2ca7eabca9))
+ - Merge branch 'main' into write-sparse-index ([`c4e6849`](https://github.com/Byron/gitoxide/commit/c4e68496c368611ebe17c6693d06c8147c28c717))
+ - Merge branch 'gix-clone' ([`def53b3`](https://github.com/Byron/gitoxide/commit/def53b36c3dec26fa78939ab0584fe4ff930909c))
+ - Thanks clippy ([`3eaedda`](https://github.com/Byron/gitoxide/commit/3eaedda0af1c1a495e1b98474ade02edfa75b66a))
+ - 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`](https://github.com/Byron/gitoxide/commit/104d922add61ab21c534c24ce8ed37cddf3e275a))
+ - Prepare changelogs for release ([`d232567`](https://github.com/Byron/gitoxide/commit/d23256701a95284857dc8d1cb37c7c94cada973c))
+ - Merge branch 'main' into new-http-impl ([`702a161`](https://github.com/Byron/gitoxide/commit/702a161ef11fc959611bf44b70e9ffe04561c7ad))
+ - Make fmt ([`53acf25`](https://github.com/Byron/gitoxide/commit/53acf2565743eff7cead7a42011107b2fc8d7e0e))
+ - Merge branch 'fetch-pack' ([`3c49400`](https://github.com/Byron/gitoxide/commit/3c49400809c7c2120f4ce704c19a0421545b5acd))
+ - Merge branch 'fix-git-features' ([`82fd251`](https://github.com/Byron/gitoxide/commit/82fd251ac80d07bc9da8a4d36e517aa35580d188))
+ - Merge branch 'diff' ([`25a7726`](https://github.com/Byron/gitoxide/commit/25a7726377fbe400ea3c4927d04e9dec99802b7b))
+ - 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`](https://github.com/Byron/gitoxide/commit/29a043be6808a3e9199a9b26bd076fe843afe4f4))
+ - Merge branch 'filter-refs' ([`3773b92`](https://github.com/Byron/gitoxide/commit/3773b92b8372c9a40a74d281149ca65b057a7da9))
+ - Release git-features v0.22.6 ([`c9eda72`](https://github.com/Byron/gitoxide/commit/c9eda729d8f8bc266c7516c613d38acfb83a4743))
+ - Merge branch 'filter-refs' ([`e10554d`](https://github.com/Byron/gitoxide/commit/e10554d2a3b9c027353a432b0c84f7d3797b7cae))
+ - Merge branch 'filter-refs-by-spec' ([`5c05198`](https://github.com/Byron/gitoxide/commit/5c051986bd89590a9287d85d84c713d83dfab83a))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Release git-features v0.22.4, git-url v0.8.0, safety bump 4 crates ([`1d4600a`](https://github.com/Byron/gitoxide/commit/1d4600ae51475c2e225f96c16c41e2c4a2b3f2aa))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'fix-522' ([`5869e9f`](https://github.com/Byron/gitoxide/commit/5869e9ff2508d5a93c07635277af8764fcb57713))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Merge branch 'main' into index-from-tree ([`bc64b96`](https://github.com/Byron/gitoxide/commit/bc64b96a2ec781c72d1d4daad38aa7fb8b74f99b))
+ - Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1))
+ - Merge branch 'main' into filter-refs-by-spec ([`cef0b51`](https://github.com/Byron/gitoxide/commit/cef0b51ade2a3301fa09ede7a425aa1fe3527e78))
+ - 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`](https://github.com/Byron/gitoxide/commit/85a3bedd68d2e5f36592a2f691c977dc55298279))
+ - Add `Reference::delete()` for simple reference deletion ([`2d0b639`](https://github.com/Byron/gitoxide/commit/2d0b63997b276a53b3cf8f09fac51f8e3f044bcd))
+ - 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`](https://github.com/Byron/gitoxide/commit/baad4ce51fe0e8c0c1de1b08148d8303878ca37b))
+ - Prepare changelogs prior to release of git-testtools ([`7668e38`](https://github.com/Byron/gitoxide/commit/7668e38fab8891ed7e73fae3a6f5a8772e0f0d0b))
+ - Release git-features v0.22.3, git-revision v0.4.4 ([`c2660e2`](https://github.com/Byron/gitoxide/commit/c2660e2503323531ba02519eaa51124ee22fec51))
+ - Merge branch 'main' into filter-refs-by-spec ([`cfa1440`](https://github.com/Byron/gitoxide/commit/cfa144031dbcac2707ab0cec012bc35e78f9c475))
+ - 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`](https://github.com/Byron/gitoxide/commit/4974eca96d525d1ee4f8cad79bb713af7a18bf9d))
+ - Release git-path v0.4.1 ([`5e82346`](https://github.com/Byron/gitoxide/commit/5e823462b3deb904f5d6154a7bf114cef1988224))
+ - Merge branch 'main' into remote-ls-refs ([`e2ee3de`](https://github.com/Byron/gitoxide/commit/e2ee3ded97e5c449933712883535b30d151c7c78))
+ - Merge branch 'docsrs-show-features' ([`31c2351`](https://github.com/Byron/gitoxide/commit/31c235140cad212d16a56195763fbddd971d87ce))
+ - Use docsrs feature in code to show what is feature-gated automatically on docs.rs ([`b1c40b0`](https://github.com/Byron/gitoxide/commit/b1c40b0364ef092cd52d03b34f491b254816b18d))
+ - Uniformize deny attributes ([`f7f136d`](https://github.com/Byron/gitoxide/commit/f7f136dbe4f86e7dee1d54835c420ec07c96cd78))
+ - Pass --cfg docsrs when compiling for https://docs.rs ([`5176771`](https://github.com/Byron/gitoxide/commit/517677147f1c17304c62cf97a1dd09f232ebf5db))
+ - Remove default link to cargo doc everywhere ([`533e887`](https://github.com/Byron/gitoxide/commit/533e887e80c5f7ede8392884562e1c5ba56fb9a8))
+ - Merge branch 'main' into remote-ls-refs ([`bd5f3e8`](https://github.com/Byron/gitoxide/commit/bd5f3e8db7e0bb4abfb7b0f79f585ab82c3a14ab))
+ - 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`](https://github.com/Byron/gitoxide/commit/c96473dce21c3464aacbc0a62d520c1a33172611))
+ - Prepare changelogs prior to reelase ([`c06ae1c`](https://github.com/Byron/gitoxide/commit/c06ae1c606b6af9c2a12021103d99c2810750d60))
+ - Release git-hash v0.9.7, git-features v0.22.1 ([`232784a`](https://github.com/Byron/gitoxide/commit/232784a59ded3e8016e4257c7e146ad385cdd64a))
+ - Merge branch 'main' into write-index-v2 ([`a938986`](https://github.com/Byron/gitoxide/commit/a938986877302c197d1aed087594c5605416fe5f))
+ - Merge branch 'main' into remote-ls-refs ([`de61c4d`](https://github.com/Byron/gitoxide/commit/de61c4db7855d6925d66961f62ae3d12cc4acf78))
+ - Thanks clippy ([`4bd747c`](https://github.com/Byron/gitoxide/commit/4bd747cb3e126fe5b1d540270cfbd731cffd42ef))
+ - Merge branch 'rev-parse-delegate' ([`2f506c7`](https://github.com/Byron/gitoxide/commit/2f506c7c2988477b0f97d272a9ac9ed47b236457))
+ - Thanks clippy ([`763cec8`](https://github.com/Byron/gitoxide/commit/763cec829da1e49830a9a52d25a45c07d3d0dba5))
+ - Merge pull request #2 from SidneyDouw/main ([`ce885ad`](https://github.com/Byron/gitoxide/commit/ce885ad4c3324c09c83751c32e014f246c748766))
+ - Merge branch 'Byron:main' into main ([`9b9ea02`](https://github.com/Byron/gitoxide/commit/9b9ea0275f8ff5862f24cf5a4ca53bb1cd610709))
+ - Merge branch 'main' into rev-parse-delegate ([`6da8250`](https://github.com/Byron/gitoxide/commit/6da82507588d3bc849217c11d9a1d398b67f2ed6))
+ - Merge branch 'main' into pathspec ([`7b61506`](https://github.com/Byron/gitoxide/commit/7b615060712565f515515e35a3e8346278ad770c))
+ - Merge branch 'kianmeng-fix-typos' ([`4e7b343`](https://github.com/Byron/gitoxide/commit/4e7b34349c0a01ad8686bbb4eb987e9338259d9c))
+ - Fix typos ([`e9fcb70`](https://github.com/Byron/gitoxide/commit/e9fcb70e429edb2974afa3f58d181f3ef14c3da3))
+ - 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`](https://github.com/Byron/gitoxide/commit/4737b1eea1d4c9a8d5a69fb63ecac5aa5d378ae5))
+ - Prepare changelog prior to release ([`3c50625`](https://github.com/Byron/gitoxide/commit/3c50625fa51350ec885b0f38ec9e92f9444df0f9))
+ - Merge branch 'config-cascade' ([`f144eaf`](https://github.com/Byron/gitoxide/commit/f144eaf5863ae5cac63103f0db51c35fcf03a948))
+ - Merge pull request #1 from Byron/main ([`085e76b`](https://github.com/Byron/gitoxide/commit/085e76b121291ed9bd324139105d2bd4117bedf8))
+ - Merge branch 'config-comfort' ([`84b98d9`](https://github.com/Byron/gitoxide/commit/84b98d94177ceaf931aaa521e44eca0fa484d2d3))
+ - Assure document-features are available in all 'usable' and 'early' crates ([`238581c`](https://github.com/Byron/gitoxide/commit/238581cc46c7288691eed37dc7de5069e3d86721))
+ - Merge branch 'main' into pathspec ([`89ea12b`](https://github.com/Byron/gitoxide/commit/89ea12b558bcc056b892193ee8fb44b8664b5da4))
+ - Merge branch 'main' into cont_include_if ([`daa71c3`](https://github.com/Byron/gitoxide/commit/daa71c3b753c6d76a3d652c29237906b3e28728f))
+ - Thanks clippy ([`e1003d5`](https://github.com/Byron/gitoxide/commit/e1003d5fdee5d4439c0cf0286c67dec9b5e34f53))
+ - Generally avoid using `target_os = "windows"` in favor of `cfg(windows)` and negations ([`91d5402`](https://github.com/Byron/gitoxide/commit/91d54026a61c2aae5e3e1341d271acf16478cd83))
+ - Merge branch 'main' into cont_include_if ([`41ea8ba`](https://github.com/Byron/gitoxide/commit/41ea8ba78e74f5c988148367386a1f4f304cb951))
+ - Release git-path v0.3.0, safety bump 14 crates ([`400c9be`](https://github.com/Byron/gitoxide/commit/400c9bec49e4ec5351dc9357b246e7677a63ea35))
+ - 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`](https://github.com/Byron/gitoxide/commit/a41717712578f590f04a33d27adaa63171f25267))
+ - Update changelogs prior to release ([`bb424f5`](https://github.com/Byron/gitoxide/commit/bb424f51068b8a8e762696890a55ab48900ab980))
+ - Make fmt ([`c665aef`](https://github.com/Byron/gitoxide/commit/c665aef4270c5ee54da89ee015cc0affd6337608))
+ - Merge branch 'main' into SidneyDouw-pathspec ([`a22b1d8`](https://github.com/Byron/gitoxide/commit/a22b1d88a21311d44509018729c3ef1936cf052a))
+ - Merge branch 'main' into git_includeif ([`598c853`](https://github.com/Byron/gitoxide/commit/598c853087fcf8f77299aa5b9803bcec705c0cd0))
+ - 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`](https://github.com/Byron/gitoxide/commit/349c5904b0dac350838a896759d51576b66880a7))
+ - Fix git-ref dependencies ([`633e571`](https://github.com/Byron/gitoxide/commit/633e571da33767072176ebb2e44caf6d85975982))
+ - 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`](https://github.com/Byron/gitoxide/commit/654cf39c92d5aa4c8d542a6cadf13d4acef6a78e))
+ - Make fmt ([`e043807`](https://github.com/Byron/gitoxide/commit/e043807abf364ca46d00760e2f281528efe20c75))
+ - Merge branch 'refs-and-worktrees' ([`8131227`](https://github.com/Byron/gitoxide/commit/8131227ddff6f36919b6a0f7b33792ebde0f8ae9))
+ - Thanks clippy ([`4cff7a8`](https://github.com/Byron/gitoxide/commit/4cff7a82ea3e924a8eba58cf45061b5afc5b250f))
+ - Thanks clippy ([`a20d282`](https://github.com/Byron/gitoxide/commit/a20d282d608d1f8145951ac3ad26de583a60513c))
+ - Thanks clippy ([`c208912`](https://github.com/Byron/gitoxide/commit/c20891281f8222db68d0888a47f14822a03efac9))
+ - Merge branch 'main' into refs-and-worktrees ([`9cf0c7b`](https://github.com/Byron/gitoxide/commit/9cf0c7bd0cc5419137db5796f3a5b91bdf3dcc94))
+ - Merge branch 'davidkna-remote-branch-name' ([`068a2de`](https://github.com/Byron/gitoxide/commit/068a2de764fabff949ff49a50594563cc625e343))
+ - Turn `FullNameRef` into an actual reference type. ([`0ace957`](https://github.com/Byron/gitoxide/commit/0ace957c595c8a38afb7de1462cdc73b617d2a76))
+ - A sketch to show how Cow<FullNameRef> could work ([`c6b2705`](https://github.com/Byron/gitoxide/commit/c6b27058884b23cd3ee35ddc3aa2aaf69012cbff))
+ - Thanks clippy ([`61d6d93`](https://github.com/Byron/gitoxide/commit/61d6d93262cf2f1d13037542e4107ff558ea7c2c))
+ - Thanks clippy ([`6291015`](https://github.com/Byron/gitoxide/commit/6291015df786eaebb2339629adc4685ffb555d01))
+ - Thanks clippy ([`22ee920`](https://github.com/Byron/gitoxide/commit/22ee920fc93b88ed6d035915e9cab2d7501c92b9))
+ - Refactor ([`6149978`](https://github.com/Byron/gitoxide/commit/61499786b9b0743d949d5a54639c54d76c4d2a44))
+ - Thanks clippy ([`405d94d`](https://github.com/Byron/gitoxide/commit/405d94d8eb1ca07568bae5c51a7efd43dc9e2808))
+ - Thanks clippy ([`a7ac64c`](https://github.com/Byron/gitoxide/commit/a7ac64cd801b985790b5717be1a5dc722b2ae3a9))
+ - Merge branch 'main' into msrv-for-windows ([`7cb1972`](https://github.com/Byron/gitoxide/commit/7cb19729133325bdfacedf44cdc0500cbcf36684))
+ - Merge branch 'worktree-stack' ([`98da8ba`](https://github.com/Byron/gitoxide/commit/98da8ba52cef8ec27f705fcbc84773e5bacc4e10))
+ - Merge branch 'main' into repo-status ([`0eb2372`](https://github.com/Byron/gitoxide/commit/0eb23721dca78f6e6bf864c5c3a3e44df8b419f0))
+ - Merge branch 'test-archive-support' ([`350df01`](https://github.com/Byron/gitoxide/commit/350df01042d6ca8b93f8737fa101e69b50535a0f))
+ - Merge branch 'main' into repo-status ([`4086335`](https://github.com/Byron/gitoxide/commit/40863353a739ec971b49410fbc2ba048b2762732))
+ - Merge branch 'worktree-stack' ([`e90d3fd`](https://github.com/Byron/gitoxide/commit/e90d3fd0a9764511e6280596f21d3a0494ed7021))
+ - Fix clippy - many false positives this time ([`045e6fa`](https://github.com/Byron/gitoxide/commit/045e6fae17077555c3e115992905c8046f2c5d0b))
+ - Fix clippy - many false positives this time ([`099bd5b`](https://github.com/Byron/gitoxide/commit/099bd5b86fb80b26a73863b80ad60a0394458b6d))
+ - 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`](https://github.com/Byron/gitoxide/commit/b612021683ba709b693bd48aef3e2e3c2f5b9ead))
+ - Refactor ([`2abedb8`](https://github.com/Byron/gitoxide/commit/2abedb851ba383f502c0c9f9f9a3a26349c1664d))
+ - 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`](https://github.com/Byron/gitoxide/commit/e58dc3084cf17a9f618ae3a6554a7323e44428bf))
+ - Merge branch 'for-onefetch' ([`8e5cb65`](https://github.com/Byron/gitoxide/commit/8e5cb65da75036a13ed469334e7ae6c527d9fff6))
+ - Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates ([`f0cbb24`](https://github.com/Byron/gitoxide/commit/f0cbb24b2e3d8f028be0e773f9da530da2656257))
+ - Thanks clippy ([`2066a80`](https://github.com/Byron/gitoxide/commit/2066a80664e239436685d10ba7bab92916661a56))
+ - Merge branch 'main' into mailmap ([`b2df941`](https://github.com/Byron/gitoxide/commit/b2df941feaf5ae9fa170fa49270189f3527f2eab))
+ - Merge branch 'describe-rev' ([`77b7cd9`](https://github.com/Byron/gitoxide/commit/77b7cd9a7813aaa1a15d035ea42c1e3fe4eef8dd))
+ - Adapt to breaking changes in git-actor ([`40c48c3`](https://github.com/Byron/gitoxide/commit/40c48c390eb796b427ebd516dde92e9538ce5fb7))
+ - Merge branch 'svetli-n-path_value' ([`e8383ca`](https://github.com/Byron/gitoxide/commit/e8383caf6db211beb57d70019fe4ad13ce9066ee))
+ - Release git-tempfile v2.0.0, safety bump 6 crates ([`90b1c42`](https://github.com/Byron/gitoxide/commit/90b1c42d5487904a9f329362d185b035d0ddb975))
+ - Merge branch 'unify-path-encoding' ([`566ff8a`](https://github.com/Byron/gitoxide/commit/566ff8a3597b889899d41ca15e5b9af7e05f1a4b))
+ - Thanks clippy ([`a8e9497`](https://github.com/Byron/gitoxide/commit/a8e9497caebf1c0e9faac537717cd86378f1acf6))
+ - Thanks clippy ([`f242a24`](https://github.com/Byron/gitoxide/commit/f242a248909c61953030c112b34af565f851ac0d))
+ - Release git-actor v0.8.1 ([`08fe550`](https://github.com/Byron/gitoxide/commit/08fe5508472f2eb209db8a5fc4e4942a9d7db93d))
+ - Release git-hash v0.9.2, git-object v0.17.1, git-pack v0.16.1 ([`0db19b8`](https://github.com/Byron/gitoxide/commit/0db19b8deaf11a4d4cbc03fa3ae40eea104bc302))
+ - Release git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 ([`b286b24`](https://github.com/Byron/gitoxide/commit/b286b24a51878be7d2e0fd77ff0c5c99b439a6a0))
+ - 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`](https://github.com/Byron/gitoxide/commit/42ebb536cd6086f096b8422291776c9720fa0948))
+ - 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`](https://github.com/Byron/gitoxide/commit/1b76119259b8168aeb99cbbec233f7ddaa2d7d2c))
+ - 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`](https://github.com/Byron/gitoxide/commit/8f57c297d7d6ed68cf51415ea7ede4bf9263326e))
+ - 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`](https://github.com/Byron/gitoxide/commit/d78aab7b9c4b431d437ac70a0ef96263acb64e46))
+ - 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`](https://github.com/Byron/gitoxide/commit/373cbc877f7ad60dac682e57c52a7b90f108ebe3))
+ - Prepar changelogs for cargo-smart-release release ([`8900d69`](https://github.com/Byron/gitoxide/commit/8900d699226eb0995be70d66249827ce348261df))
+ - Support Rust 1.52 ([`42e0487`](https://github.com/Byron/gitoxide/commit/42e0487286c1f745837c0ce337ed7c9d86b14516))
+ - 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`](https://github.com/Byron/gitoxide/commit/4624725f54a34dd6b35d3632fb3516965922f60a))
+ - Merge branch 'sync-db-draft' ([`7d2e20c`](https://github.com/Byron/gitoxide/commit/7d2e20c6fedc2c7e71a307d8d072412fa847a4aa))
+ - Thanks clippy ([`7dd2313`](https://github.com/Byron/gitoxide/commit/7dd2313d980fe7c058319ae66d313b3097e3ae5f))
+ - 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`](https://github.com/Byron/gitoxide/commit/d3f922781a81e8fbb81aa47afdbe9afeb06d666b))
+ - 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`](https://github.com/Byron/gitoxide/commit/acd37371dcd92ebac3d1f039224d02f2b4e9fa0b))
+ - Adjust changelogs prior to release ([`ec38950`](https://github.com/Byron/gitoxide/commit/ec3895005d141abe79764eaff7c0f04153e38d73))
+ - Thanks clippy ([`a74f27c`](https://github.com/Byron/gitoxide/commit/a74f27c042bdf0c1e30a1767b56032e32cbc81a9))
+ - Merge branch 'pack-consistency' ([`5982406`](https://github.com/Byron/gitoxide/commit/5982406b4e1b26fd383d9ec21a3cf652ec8ab25f))
+ - 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`](https://github.com/Byron/gitoxide/commit/f606fa9a0ca338534252df8921cd5e9d3875bf94))
+ - 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`](https://github.com/Byron/gitoxide/commit/39b40c8c3691029cc146b893fa0d8d25d56d0819))
+ - 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`](https://github.com/Byron/gitoxide/commit/0e029537a7f6242d02ccf7e63d8d92f5246e6c5e))
+ - 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`](https://github.com/Byron/gitoxide/commit/59ffbd9f15583c8248b7f48b3f55ec6faffe7cfe))
+ - 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`](https://github.com/Byron/gitoxide/commit/a47439590e36b1cb8b516b6053fd5cbfc42efed7))
+ - Update changelogs just for fun ([`21541b3`](https://github.com/Byron/gitoxide/commit/21541b3301de1e053fc0e84373be60d2162fbaae))
+ - Merge branch 'changelog-generation' ([`bf0106e`](https://github.com/Byron/gitoxide/commit/bf0106ea21734d4e59d190b424c22743c22da966))
+ - Bump git-traverse v0.9.0, safety bump 8 crates ([`d39fabb`](https://github.com/Byron/gitoxide/commit/d39fabb8757369aa19452a457f610fe21dc13a14))
+ - Release git-ref v0.7.3 ([`b0a9815`](https://github.com/Byron/gitoxide/commit/b0a98157ab3b240af027acb9965c981a543e55fa))
+ - Update changelogs once more… ([`d57d279`](https://github.com/Byron/gitoxide/commit/d57d279dc603cf450c151bbb6dc6c6505cc6da10))
+ - Update changelogs retro-actively… ([`78cfe0a`](https://github.com/Byron/gitoxide/commit/78cfe0ac341c6c2257743d913884b50042078e6c))
+ - Release git-ref v0.7.2 ([`e940e9a`](https://github.com/Byron/gitoxide/commit/e940e9a21938035eb8791bba19cc16814a0fb4e7))
+ - [#195] Fix previously incorrect usage of io::Kind::Other… ([`4dae07d`](https://github.com/Byron/gitoxide/commit/4dae07dc7f562395a174be6cb2220e754ff902f7))
+ - Thanks clippy ([`4701296`](https://github.com/Byron/gitoxide/commit/4701296bd5e2c4ad2f80f4e1de498db49f93385a))
+ - Release git-ref v0.7.1 ([`d34191d`](https://github.com/Byron/gitoxide/commit/d34191dfd3ac3b34a3ae0d772c8b4302e5115fd6))
+ - Bump git-object v0.14.0 ([`d4fc81f`](https://github.com/Byron/gitoxide/commit/d4fc81f6390443f8c8561d91ac27ea4a6318fb62))
+ - Merge branch 'repository-integration' ([`49f5453`](https://github.com/Byron/gitoxide/commit/49f5453629646ac24d752f53c532e5f67eb09374))
+ - [repository #190] refactor ([`e7188e0`](https://github.com/Byron/gitoxide/commit/e7188e047529cb0f4b20b3876f36b4592e9d2dc4))
+ - [ref #190] refactor ([`010be48`](https://github.com/Byron/gitoxide/commit/010be48d2cd2dfebf7a1b6302e94b5f2e95fedc6))
+ - [ref #190] fix tests ([`e426e15`](https://github.com/Byron/gitoxide/commit/e426e15188d8ec38ee0029f1d080dbab9afd8642))
+ - [ref #190] don't provide namespace support for loose and packed refs… ([`c663da1`](https://github.com/Byron/gitoxide/commit/c663da16646bc3371e5a31f5c488a775aac4f795))
+ - [ref #190] find() with namespace support ([`1240c21`](https://github.com/Byron/gitoxide/commit/1240c21a353c7df736f40b6639076af94eae0f15))
+ - [ref #190] prepare test for namespaced find(…) ([`5fcd0e4`](https://github.com/Byron/gitoxide/commit/5fcd0e4c3c803a372360ef4cc2a7663b17ccebdb))
+ - [repository #190] leverage git-ref namespace support ([`1aa9c11`](https://github.com/Byron/gitoxide/commit/1aa9c113488175f03758f8a64338a33b3417dd87))
+ - [ref #190] iteration with namespace support ([`d5987d4`](https://github.com/Byron/gitoxide/commit/d5987d41753cf083573d86e8d5bc86c7a825605c))
+ - [ref #190] refactor ([`3c7968c`](https://github.com/Byron/gitoxide/commit/3c7968c7fe8ac166b01f5338b23f817899dc085e))
+ - [repository #190] prepare for namespacing support on file store level ([`d2d1db6`](https://github.com/Byron/gitoxide/commit/d2d1db647e6ad0dd92b88ce57df866f5195b8dd6))
+ - [repository #190] refactor ([`609c249`](https://github.com/Byron/gitoxide/commit/609c249916ca64f4beecdab86eb4562adbd1ca4f))
+ - [ref #190] refactor ([`1ef6cb3`](https://github.com/Byron/gitoxide/commit/1ef6cb344176aeafcc61a1f1af503a3f8afd1f77))
+ - [repository #190] fix build ([`f5e118c`](https://github.com/Byron/gitoxide/commit/f5e118c8871e45ed3db9da9cd6bc63a5ea99621e))
+ - [repository #190] note a known limitation about finding references in namespaces… ([`d335731`](https://github.com/Byron/gitoxide/commit/d3357318cf100fc3e0751e5b6de3922b1c209ddb))
+ - [ref #190] more assetions to understand 'find(…)' for namespaced refs… ([`f58a0ff`](https://github.com/Byron/gitoxide/commit/f58a0ff8be6144d1dcb97f9b8030e1ee36ce41de))
+ - [repository #190] transparent namespace support ([`d14f073`](https://github.com/Byron/gitoxide/commit/d14f073707c2f4641a271ba7965ec8281638e8df))
+ - [ref #190] Make References sortable ([`16b2232`](https://github.com/Byron/gitoxide/commit/16b2232c70ad331e17e76ccca3b950963906aa81))
+ - [repository #190] cleanup usage of bstr… ([`e4411ff`](https://github.com/Byron/gitoxide/commit/e4411ff43b24af79fefeaa4411e004dc504a4e2a))
+ - [ref #190] more conversion trait impls ([`1795a33`](https://github.com/Byron/gitoxide/commit/1795a333c05c60a1a2f3164d5c4c78289eb7050c))
+ - Bump git-hash v0.6.0 ([`6efd90d`](https://github.com/Byron/gitoxide/commit/6efd90db54f7f7441b76159dba3be80c15657a3d))
+ - [repository #190] obtain the kind fo hash used in a repo ([`a985491`](https://github.com/Byron/gitoxide/commit/a985491bcea5f76942b863de8a9a89dd235dd0c9))
+ - [ref #190] refactor ([`e34be7e`](https://github.com/Byron/gitoxide/commit/e34be7e24ee49a539b6ee8dc5737fdb23f416922))
+ - [ref #190] more Target conversions… ([`1fe1b42`](https://github.com/Byron/gitoxide/commit/1fe1b42ac2b04f8145fc7312ea03cb47f791aec5))
+ - [repository #190] refactor ([`7a111b1`](https://github.com/Byron/gitoxide/commit/7a111b126cfb318acb2d09d119315150a38b7cd3))
+ - [ref #190] refactor ([`49fe1dc`](https://github.com/Byron/gitoxide/commit/49fe1dc37c040206839c9d4399001ff12dc91174))
+ - [ref #190] reverse reflog ergonomics ([`2de86f9`](https://github.com/Byron/gitoxide/commit/2de86f904f6ee63e292f9c701cc3524e8bfe87e4))
+ - [ref #190] check for zero sized buffers in reverse log iterators… ([`998c7c6`](https://github.com/Byron/gitoxide/commit/998c7c65abb2c3eb5fc248b11ba816d09f1bedea))
+ - [ref #190] move remaining file store functions to extension trait ([`60fc215`](https://github.com/Byron/gitoxide/commit/60fc215ccac529b4a14cb9d8260ab9ddec86758a))
+ - [ref #190] Move file-log-specific functionality into own extension trait. ([`0b635e9`](https://github.com/Byron/gitoxide/commit/0b635e9778a98235cc9b47b12e58a175d1ca02b7))
+ - [repository #190] a major step forward with `head()` access ([`43ac4f5`](https://github.com/Byron/gitoxide/commit/43ac4f5acbe3ace5d43ed3ed1bc394d721f0e273))
+ - [ref #190] cache peeled objects properly ([`2cb511e`](https://github.com/Byron/gitoxide/commit/2cb511efe5833f860f3c17b8e5f5b4cd643baddb))
+ - [ref #190] fix docs ([`3e64ec1`](https://github.com/Byron/gitoxide/commit/3e64ec102146e348b8d870377f180f8dadf5e876))
+ - Bump git-ref v0.7.0 ([`ac4413c`](https://github.com/Byron/gitoxide/commit/ac4413ce4e45703d5fe722e7220d039217f0bdef))
+ - [ref #190] fix remaining tests ([`df21f25`](https://github.com/Byron/gitoxide/commit/df21f25baaf867015fc9fc46a2cf4e778b0e80ee))
+ - Thanks clippy ([`14dff63`](https://github.com/Byron/gitoxide/commit/14dff63fbc0d318bbc8a2618e0d72aaa98948acf))
+ - [ref #190] Use Raw Reference everywhere for great simplification… ([`7aeea9c`](https://github.com/Byron/gitoxide/commit/7aeea9c36d4da04a806e68968356f8cc0dc11475))
+ - [ref #190] raw reference peeling ([`9473a71`](https://github.com/Byron/gitoxide/commit/9473a71e5533e1474181241f8d3e1aebd9dea8d8))
+ - [ref #190] introduce Raw reference type that simplifies everything… ([`8634341`](https://github.com/Byron/gitoxide/commit/86343416dec8026f32c57d164dec4bf9b75b6536))
+ - [ref #190] more tests ([`980e16a`](https://github.com/Byron/gitoxide/commit/980e16a10806edba4553716d9533716a727f0c9e))
+ - [ref #190] deletions also use PreviousValue now ([`74f85b1`](https://github.com/Byron/gitoxide/commit/74f85b1fd8d9c34eca34a5ae516c4768f96b092f))
+ - [ref #190] refactor ([`0e65559`](https://github.com/Byron/gitoxide/commit/0e65559e6d5a4b06c552e99e9c463559737f4b4d))
+ - [ref #190] be explicit about what the previous reflog oid is for… ([`c04c8b9`](https://github.com/Byron/gitoxide/commit/c04c8b98a074d277067cee73ddef0609419a7bb8))
+ - [ref #190] don't claim there was a previous oid unnecessarily… ([`68f7fc2`](https://github.com/Byron/gitoxide/commit/68f7fc2f2f57c32412ee2e46befc9cd2fdd7e973))
+ - [ref #190] refactor ([`07126d6`](https://github.com/Byron/gitoxide/commit/07126d65946e981b339b6535986597cb328a1c9e))
+ - [ref #190] Allow for explicit expected previous values ([`1a4786f`](https://github.com/Byron/gitoxide/commit/1a4786fb3bdb3d3a86b026dbf04e6baef6d3c695))
+ - [ref #190] prepare massive refactoring to get additional constraint ([`9741987`](https://github.com/Byron/gitoxide/commit/9741987e2f82b5ae202804882c728c1642d8e3a4))
+ - [refs #190] refactor; handle value-checks in dereffed symlinks correctly ([`63bedc7`](https://github.com/Byron/gitoxide/commit/63bedc7647bb584353289e19972adf351765a526))
+ - [ref #190] refactor ([`3f36a01`](https://github.com/Byron/gitoxide/commit/3f36a01976a149d518021f19d83e56dec43cfb98))
+ - [object #190] More conversion methods for Object ([`78bacf9`](https://github.com/Byron/gitoxide/commit/78bacf97d669f3adfebdb093054c162cfd5214fa))
+ - [odb #180] refactor ([`eff21da`](https://github.com/Byron/gitoxide/commit/eff21dae1083042412f45cd2f7a0faaf7d6400e6))
+ - [pack #179] refactor ([`ab6554b`](https://github.com/Byron/gitoxide/commit/ab6554b0cd5838f1ea4e82f6b5019798288076fa))
+ - [object #177] fix docs ([`2fd23ed`](https://github.com/Byron/gitoxide/commit/2fd23ed9ad556b8e46cf650e23f0c6726e304708))
+ - [object #177] tag::RefIter -> TagRefIter ([`28587c6`](https://github.com/Byron/gitoxide/commit/28587c691eb74e5cb097afb2b63f9d9e2561c45d))
+ - [object #177] migrate immutable::tree to crate::tree ([`fa5cd06`](https://github.com/Byron/gitoxide/commit/fa5cd0648d5c855060ab2b75ee933851987c2dcf))
+ - [object #177] move immutable::* to crate::*Ref, start `iter` adjustments ([`461dc53`](https://github.com/Byron/gitoxide/commit/461dc53ba3bc07d55fdb4aad7570ba9176a8b360))
+ - [object #177] rename immutable::* to immutable::*Ref ([`6deb012`](https://github.com/Byron/gitoxide/commit/6deb01291fb382b7fb9206682e319afa81bacc05))
+ - Release git-object v0.13.0 ([`708fc5a`](https://github.com/Byron/gitoxide/commit/708fc5abd8af4dd7459f388c7092bf35915c6662))
+ - Merge branch 'git-ref-refactor' ([`5dbf753`](https://github.com/Byron/gitoxide/commit/5dbf753ce2035ffd07e4bce7ceb3bcd4e309c16e))
+ - [ref #175] follow (try_)find(_what) naming convention ([`679895c`](https://github.com/Byron/gitoxide/commit/679895cf866d643e768e353af614a55aeed2ba5c))
+ - [ref #175] fix docs ([`dd1edc3`](https://github.com/Byron/gitoxide/commit/dd1edc34f88231fa95cf6f88beead700c6289ba1))
+ - [ref #175] refactor log line ([`7ac948a`](https://github.com/Byron/gitoxide/commit/7ac948a8f8610b87aa2773ba2841cbfa43eecae4))
+ - [ref #175] refactor ([`1243459`](https://github.com/Byron/gitoxide/commit/1243459e917b394d007bd7c157143670dc8dd51f))
+ - [ref #175] make 'mutable' module private ([`a80dbcf`](https://github.com/Byron/gitoxide/commit/a80dbcf083bfcf2e291013f7b13bba9e787c5cb4))
+ - Release git-actor v0.5.0 ([`a684b0f`](https://github.com/Byron/gitoxide/commit/a684b0ff96ebfc5e4b3ce78452dc21ce856a6869))
+ - [actor #175] refactor ([`ec88c59`](https://github.com/Byron/gitoxide/commit/ec88c5905194150cc94db4d4c20e9f4e2f6595c3))
+ - [ref #175] refactor ([`292e567`](https://github.com/Byron/gitoxide/commit/292e567eaa04a121fb4d7262bb316d37dd8ad11f))
+ - Release git-actor v0.4.0 ([`16358c9`](https://github.com/Byron/gitoxide/commit/16358c9bf03604857d51bfa4dbfd2fc8c5210da7))
+ - [actor #173] rename immutable::Signature to SignatureRef! ([`96461ac`](https://github.com/Byron/gitoxide/commit/96461ace776d6b351b313d4f2697f2d95b9e196e))
+ - Release git-lock v1.0.0 ([`f38f72c`](https://github.com/Byron/gitoxide/commit/f38f72c73f69775358d8b047de2e354364fcafc2))
+ - Release git-tempfile v1.0.0 ([`1238535`](https://github.com/Byron/gitoxide/commit/123853539dc30ddea2d822ab177ee09b191bdf1b))
+ - Merge branch 'Byron:main' into main ([`dc58eca`](https://github.com/Byron/gitoxide/commit/dc58eca510e5a067acdeaad4b595a34b4598a0cd))
+ - Upgrade to nom-7 ([`f0aa3e1`](https://github.com/Byron/gitoxide/commit/f0aa3e1b5b407b2afd187c9cb622676fcddaf706))
+ - [repository #165] fix docs ([`b4fdfd7`](https://github.com/Byron/gitoxide/commit/b4fdfd7a21057f89f4b6263c0c291003241e2833))
+ - Release git-ref v0.6.0 ([`0bb4c13`](https://github.com/Byron/gitoxide/commit/0bb4c133da96f6a96d9f1767848ada792a27c2be))
+ - [ref #165] refactor ([`66624c3`](https://github.com/Byron/gitoxide/commit/66624c3ef1faf7048ee86ed73cf5f622802c061e))
+ - [repository #165] refactor ([`00ec15d`](https://github.com/Byron/gitoxide/commit/00ec15dcfdb839095e508139d238df384ea418eb))
+ - Release git-ref v0.5.4 ([`bc5d860`](https://github.com/Byron/gitoxide/commit/bc5d860a616fd5a4371792a8ecde6e6356e217f8))
+ - [smart-release #162] FAIL: one level down, using the cache isn't really working… ([`65db010`](https://github.com/Byron/gitoxide/commit/65db0104146248b273081fc6616a6ed484aa948e))
+ - [ref] Out of bounds check to prevent legitimate panic ([`303608c`](https://github.com/Byron/gitoxide/commit/303608cbc1ade71c635dd1bbbe60988d09184351))
+ - Apply nightly rustfmt rules. ([`5e0edba`](https://github.com/Byron/gitoxide/commit/5e0edbadb39673d4de640f112fa306349fb11814))
+ - Release git-ref v0.5.3 ([`e6a8020`](https://github.com/Byron/gitoxide/commit/e6a8020ff9b85c6dfedd80525c571514e039edae))
+ - [ref #157] Support for unsorted packed refs and those without header ([`2724688`](https://github.com/Byron/gitoxide/commit/272468892c02133efd68d15ffc5cacb4d5c5cd78))
+ - Release git-ref v0.5.2 ([`50dcca9`](https://github.com/Byron/gitoxide/commit/50dcca97e207ec608e506adcef90dd0599b4441d))
+ - Remove dev-dependency cycles by removing their version ([`c40faca`](https://github.com/Byron/gitoxide/commit/c40faca41632cd2a226daf4ddf5293b65d1fdc82))
+ - Release git-diff v0.8.0, git-odb v0.20.0, git-pack v0.8.0, git-traverse v0.7.0 ([`f123f69`](https://github.com/Byron/gitoxide/commit/f123f69c7a4f9fd1c98bd2f60ebc953a6739fe04))
+ - Release git-diff v0.7.0, git-odb v0.19.0, git-pack v0.7.0, git-traverse v0.6.0 ([`c67291f`](https://github.com/Byron/gitoxide/commit/c67291ff9bcdff9a747d87241f6a71015607af05))
+ - Release git-object v0.12.0 ([`7006150`](https://github.com/Byron/gitoxide/commit/7006150ac314d19814608723f69f6e70a72f9262))
+ - Release git-actor-0.3.1 ([`727087d`](https://github.com/Byron/gitoxide/commit/727087dca243da4bc40bc87611a2f66234565be7))
+ - [utils #154] commit manifest changes; create tags ([`95dcd9d`](https://github.com/Byron/gitoxide/commit/95dcd9d7d060101596c51116218102cc8049d0dd))
+ - (cargo-release) version 0.3.0 ([`263088b`](https://github.com/Byron/gitoxide/commit/263088b3faaccd9edae8c21dfc7d39b191d76207))
+ - (cargo-release) version 0.18.0 ([`b327590`](https://github.com/Byron/gitoxide/commit/b327590d02fec5536c380b2d39dd7be089ca7c40))
+ - (cargo-release) version 0.17.0 ([`c52a491`](https://github.com/Byron/gitoxide/commit/c52a49176bd294bb36db74b4293cdb684a2ab7f6))
+ - (cargo-release) version 0.6.0 ([`d58f37e`](https://github.com/Byron/gitoxide/commit/d58f37e3b5a000fbe069aa869bd84f66d5c3210b))
+ - (cargo-release) version 0.11.0 ([`a5be31c`](https://github.com/Byron/gitoxide/commit/a5be31c4cf7c0b538a1ed4a52ff5c3a992c6feff))
+ - (cargo-release) version 0.5.0 ([`bf15c2a`](https://github.com/Byron/gitoxide/commit/bf15c2a2f285046b094093760c1969007ee75e25))
+ - (cargo-release) version 0.3.0 ([`64efc05`](https://github.com/Byron/gitoxide/commit/64efc0534ddc372b6e668b23c1e9d276098679c9))
+ - (cargo-release) version 0.4.0 ([`70ef344`](https://github.com/Byron/gitoxide/commit/70ef3442775b54ba9e4ee9ebfffb37af9804cc5b))
+ - Revert "[ref] break dev-dependency cycle" ([`436e89b`](https://github.com/Byron/gitoxide/commit/436e89b18cb157b3d30bd24b8d1acef25631ec2a))
+ - (cargo-release) version 0.5.1 ([`6f61fca`](https://github.com/Byron/gitoxide/commit/6f61fcaf9528f2ba6752ce94524b59ff505cc518))
+ - [ref] break dev-dependency cycle ([`d5af428`](https://github.com/Byron/gitoxide/commit/d5af42898487a82f2fbd000fac2f0db9505a587c))
+ - (cargo-release) version 0.5.0 ([`ae02dab`](https://github.com/Byron/gitoxide/commit/ae02dabae961089a92a21e6a60a7006de4b56dad))
+ - (cargo-release) version 0.4.0 ([`0d5c8b9`](https://github.com/Byron/gitoxide/commit/0d5c8b96dfdfb96e4fc82623f756f6c7f7046e90))
+ - (cargo-release) version 0.16.0 ([`1231dbd`](https://github.com/Byron/gitoxide/commit/1231dbd16dacefb39adec8e067c312d313a82e3c))
+ - (cargo-release) version 0.2.0 ([`20d8e27`](https://github.com/Byron/gitoxide/commit/20d8e27dd4e93ae2234a3fe19b5f1511365eee2e))
+ - (cargo-release) version 0.5.0 ([`0e11e98`](https://github.com/Byron/gitoxide/commit/0e11e98f0562c7baa9c90e18db6240731d165217))
+ - (cargo-release) version 0.2.0 ([`8ff5115`](https://github.com/Byron/gitoxide/commit/8ff511583e6d859e43ffda0ef75e2fecce3ed03c))
+ - [ref] refactor ([`501182b`](https://github.com/Byron/gitoxide/commit/501182b106b70af73db4f23cc01291d30481f76e))
+ - [ref #152] remaining tests for transaction namespacing ([`63d80c0`](https://github.com/Byron/gitoxide/commit/63d80c0d0fbcf4fd1b7c3db652f622b59bc6fd18))
+ - [ref #152] first succeeding test for namespace rewriting ([`758c8f6`](https://github.com/Byron/gitoxide/commit/758c8f60ca6567cd0a12892490ce27f88d1140df))
+ - [ref #152] first failing test for namespaced updates ([`a81f1d4`](https://github.com/Byron/gitoxide/commit/a81f1d44a83474152d53140f8d9fdd0ace8060ac))
+ - [ref #152] refactor ([`f9c63fb`](https://github.com/Byron/gitoxide/commit/f9c63fbe70ceb10bc3ef3edee008f72c3494b18c))
+ - [ref #152] namespace prefix stripping and fixed test expectations ([`bce135b`](https://github.com/Byron/gitoxide/commit/bce135b7c58ba5f709aad2daab0e1668a834a4cd))
+ - [ref #152] a test for namespaced iteration ([`2338c6e`](https://github.com/Byron/gitoxide/commit/2338c6e96e3dbd0759c122e264044c195f16a269))
+ - [ref #152] packed-refs are optional for generalized iteration, too ([`88525a9`](https://github.com/Byron/gitoxide/commit/88525a9f028e94c8647ad5f2f7067b5b4e01c0a3))
+ - [ref #152] FAIL: cleanup iter API by allowing Option<packed::Buffer> ([`1836243`](https://github.com/Byron/gitoxide/commit/1836243b6ec42eaf162463cded4a613c8984ac3a))
+ - [ref #152] prepare namespaced iteration tests ([`cf5abc9`](https://github.com/Byron/gitoxide/commit/cf5abc96115f4bab0ee52f58295f06f689173bf8))
+ - [ref #152] no silent failure if path conversion isn't possible ([`8df04d8`](https://github.com/Byron/gitoxide/commit/8df04d8973fc62eae0e8d98c8116351907dd282f))
+ - [ref #152] introduce Namespace type ([`67d5c85`](https://github.com/Byron/gitoxide/commit/67d5c8526d8356bcee81b690a38559a01128863b))
+ - [ref #152] sketch API for namespaces ([`138be95`](https://github.com/Byron/gitoxide/commit/138be9588576eca84921cedcf5f697b5c98e85a7))
+ - [ref #152] docs ([`8d6c856`](https://github.com/Byron/gitoxide/commit/8d6c8564faeccafc1430a2184a4060d953349e3f))
+ - [ref #152] refactor ([`bfb82fb`](https://github.com/Byron/gitoxide/commit/bfb82fb13350d986c93cc6dc67d6f86506dd80a5))
+ - [ref #152] all tests and impl for refname expansion ([`9cef2f2`](https://github.com/Byron/gitoxide/commit/9cef2f2f166514048fae52ceec5a86a2849be286))
+ - [ref #152] refactor ([`431dd86`](https://github.com/Byron/gitoxide/commit/431dd8655397b0ae88a5144d5c8553ba63e46c8f))
+ - [ref #152] basic test setup for namespace expansion ([`e852399`](https://github.com/Byron/gitoxide/commit/e8523996b73fb93218c651b6f6041935833293d0))
+ - Clippy on tests and thanks clippy ([`a77a71c`](https://github.com/Byron/gitoxide/commit/a77a71cf02d328a2a964388928d6b2a235a0aa85))
+ - Thanks clippy ([`e1964e4`](https://github.com/Byron/gitoxide/commit/e1964e43979b3e32a5d4bfbe377a842d2c0b10ea))
+ - [ref #140] finish implementation of tag peeling, with test ([`c06e729`](https://github.com/Byron/gitoxide/commit/c06e72916e9622df62579baa6817603af0c7c747))
+ - [ref #140] refactor ([`edcc395`](https://github.com/Byron/gitoxide/commit/edcc3951bd0fc98589207a1b1f8941d6bb9652ab))
+ - [ref #140] sketch ref tag peeling ([`ef90652`](https://github.com/Byron/gitoxide/commit/ef90652dfcd84b2fc140c38e1364b42578fdfbde))
+ - [ref #140] refactor ([`8e1a730`](https://github.com/Byron/gitoxide/commit/8e1a7305e869979751230f23c614f276ebce3f1d))
+ - [ref #139] add missing docs ([`5422ec8`](https://github.com/Byron/gitoxide/commit/5422ec8923a5f3c284f7094894a952a392812e63))
+ - [ref #139] my first empty test but where else to document this :)? ([`0f00065`](https://github.com/Byron/gitoxide/commit/0f00065fa3360a55cc52926bfaa94d72598933b5))
+ - [ref #139] refactor ([`a8f5d8d`](https://github.com/Byron/gitoxide/commit/a8f5d8dbaecaa26509d568a36acbf350ee86a03c))
+ - [ref #139] peeling for all refs to be written to a pack ([`cc891a1`](https://github.com/Byron/gitoxide/commit/cc891a1809a6678f168b08766f67644742386a5d))
+ - [ref #139] refactor ([`7e15817`](https://github.com/Byron/gitoxide/commit/7e1581788356889a936f4a778119b0bce36d3041))
+ - [ref #139] Allow packed-refs creation in the presence of updates ([`0cf7314`](https://github.com/Byron/gitoxide/commit/0cf7314df7a6ab79478525544e0ed28d07cf3642))
+ - [ref #139] impl of loose ref deletion, but it doens't work yet… ([`f6631ad`](https://github.com/Byron/gitoxide/commit/f6631ad537b4c7fd6dec2a511214552e606462d4))
+ - [ref #139] a failing test for pruning loose refs into packed refs ([`437c610`](https://github.com/Byron/gitoxide/commit/437c610eeb3b4a5874f001ba6fbbd42c7dc1188e))
+ - [ref #139] refactor ([`62558cb`](https://github.com/Byron/gitoxide/commit/62558cb562747d3c6f2b4e1b62dd44e4f1e95019))
+ - [ref #139] a first sketch to resolve object chains for packed ref peeling ([`54bc116`](https://github.com/Byron/gitoxide/commit/54bc1161128f0c719622935728a870820918038b))
+ - [ref #139] Allow 'git pack-ref --no-purge' essentially ([`c32d8b7`](https://github.com/Byron/gitoxide/commit/c32d8b7a599c0ee0d8936a0c5aee658b5d986453))
+ - [ref #139] refactor ([`e5fbc4c`](https://github.com/Byron/gitoxide/commit/e5fbc4c92f0ea74afdff45c243a762e7a978d749))
+ - [ref #139] refactor ([`4e1b95e`](https://github.com/Byron/gitoxide/commit/4e1b95e40e94b0c9398c40985e092bd1d8607a4c))
+ - [ref #139] refactor ([`42215a1`](https://github.com/Byron/gitoxide/commit/42215a15ce53bd78fe1d8d9b15d7a08919f5f980))
+ - [ref #139] a complete test for the first packed-refs mode ([`f332dcf`](https://github.com/Byron/gitoxide/commit/f332dcf2b1beda319871f7b0de585c8a1d9b813f))
+ - [ref #138] delete packed-refs when it's empty after rewrite ([`8b7c359`](https://github.com/Byron/gitoxide/commit/8b7c359db1c81ae69321c9c2637d0af8b303d9bb))
+ - [ref #138] refactor ([`3fc0014`](https://github.com/Byron/gitoxide/commit/3fc0014dbf3c6a0d0c3e34d39c3068c71f867fd1))
+ - [ref #138] no need for preprocessing, input is already checked ([`a6fca6e`](https://github.com/Byron/gitoxide/commit/a6fca6e0f81cdccfd7284d70ad4218e94b6cbe24))
+ - [ref #138] less is more… ([`6f39713`](https://github.com/Byron/gitoxide/commit/6f3971325380dee93370a2d6a05d43adec94181b))
+ - Thanks clippy ([`169a39d`](https://github.com/Byron/gitoxide/commit/169a39d72106c24dac78af2198e54ca6e09b743e))
+ - [ref] the first green packed deletion… ([`76a23b0`](https://github.com/Byron/gitoxide/commit/76a23b0e3e508a3445a9e1c77045e59bb7bbef69))
+ - [ref] refactor (packed refs aren't changed in memory) ([`0a7e8ce`](https://github.com/Byron/gitoxide/commit/0a7e8ce1be7c7e6cb8a7646a8dacc7e95acf5efd))
+ - [ref] basic packed transaction commit impl, but it doesn't work yet ([`1913099`](https://github.com/Byron/gitoxide/commit/1913099eeb84e78d9b4373e6ba9823a493d82343))
+ - [ref] fix order of operations when committing the transaction ([`be5774a`](https://github.com/Byron/gitoxide/commit/be5774a3d5e8fa20eadc6ef6f0bbfceab35f1827))
+ - [ref] refactor ([`69d53f9`](https://github.com/Byron/gitoxide/commit/69d53f99097220cf3a5e3e5afa855d1847715007))
+ - [ref] first revised sketch of packed-refs writing ([`f942c76`](https://github.com/Byron/gitoxide/commit/f942c7622cf09d3c6937c7fa78089991d58482a0))
+ - [ref] work on first naive transaction, but… ([`b08cc4a`](https://github.com/Byron/gitoxide/commit/b08cc4a47ecf8ad5f4b56ffdaf678946549b0ae9))
+ - [ref] tests incorporating packed-ref deletion ([`399096e`](https://github.com/Byron/gitoxide/commit/399096e0f611a649fb99facc0925adc1c306cbfe))
+ - [ref] validate packed refs are taken into consideration during create/update ([`25999b4`](https://github.com/Byron/gitoxide/commit/25999b4cebcb925bf0f0d4f451c7ca557f03dbc2))
+ - [ref] allow creating new packed-refs files as well; prepare test arena ([`8494c74`](https://github.com/Byron/gitoxide/commit/8494c7452f68bb3ebe7bc9115b7feb36871a406a))
+ - [ref] refactor ([`e379177`](https://github.com/Byron/gitoxide/commit/e379177a1937fdc23cba843d2dc6fecd3dfd2ab2))
+ - [ref] refactor ([`a844146`](https://github.com/Byron/gitoxide/commit/a844146a799e07c3d95c4224b4a114b77cd94832))
+ - [ref] refactor ([`bd94ea5`](https://github.com/Byron/gitoxide/commit/bd94ea55c1b598e507b5717ee5a5d6f14830c3bb))
+ - [ref] actually make use of packed refs in file transactions ([`7746238`](https://github.com/Byron/gitoxide/commit/7746238207b637d4f241a05af7814916736cce24))
+ - [ref] refactor ([`7a7b0dc`](https://github.com/Byron/gitoxide/commit/7a7b0dcd8b9156a5c67bbdcdebb6a2a2e2757a7e))
+ - [ref] refactor ([`74ed358`](https://github.com/Byron/gitoxide/commit/74ed358c7ef6147095e8df9eb29b34ab55c850f4))
+ - [ref] first basic sketch of packed-ref transaction ([`8aac30c`](https://github.com/Byron/gitoxide/commit/8aac30c77b03aa6c020d46c79f54d031043351df))
+ - [ref] on the way to requiring a packed transaction for file transactions ([`85f30ac`](https://github.com/Byron/gitoxide/commit/85f30ac10fa740293d72f558dbd48a14aee82fde))
+ - [ref] prepare existing refs to take packed-refs into account… ([`5849b44`](https://github.com/Byron/gitoxide/commit/5849b44c87c8b9ca68d7d30623540d8d441b6a3f))
+ - [ref] remove one todo, add another… ([`46c47ab`](https://github.com/Byron/gitoxide/commit/46c47ab440df49d0f3a5324b243cdcf5a2898e03))
+ - [ref] all todos done ([`7632573`](https://github.com/Byron/gitoxide/commit/763257327632b39a5ec777df4f07da9f87005a36))
+ - [ref] refactor ([`fb37e96`](https://github.com/Byron/gitoxide/commit/fb37e9612c03cf1fcf5cdef9241a35242b9ff1d0))
+ - [ref] refactor ([`23ea139`](https://github.com/Byron/gitoxide/commit/23ea139e0af622e8d40774fa2a890ef3525a991a))
+ - [ref] rev-iter for overlay references ([`8b28d4a`](https://github.com/Byron/gitoxide/commit/8b28d4a326a2ee43bd00e475a0376eb577145a8b))
+ - [ref] refactor ([`a80b8c1`](https://github.com/Byron/gitoxide/commit/a80b8c18eb5cfc77ca5e071e9163df0a89a35fd4))
+ - [ref] tests for remaining todos ([`0ef6b3d`](https://github.com/Byron/gitoxide/commit/0ef6b3dbdc7f8c67e69eeb453122ce2722d171fa))
+ - [ref] remove loose::Reference backref to simplify everything ([`9f1d960`](https://github.com/Byron/gitoxide/commit/9f1d960ae07d368f3ab208cf886ea1af99dfe25f))
+ - Revert "[ref] back-reference of packed refs to their packed buffer" ([`464aefe`](https://github.com/Byron/gitoxide/commit/464aefe563c045b30ead0144b97a41d7b353235e))
+ - Revert "[ref] FAIL: let's not add more back-refs, let's add less" ([`eaf4e9a`](https://github.com/Byron/gitoxide/commit/eaf4e9a1582fcd3c1d1da9eba3fb4c7046a5cdb9))
+ - [ref] FAIL: let's not add more back-refs, let's add less ([`8e90d75`](https://github.com/Byron/gitoxide/commit/8e90d7545d4bda92e339387acfa1c882e2a99264))
+ - [ref] back-reference of packed refs to their packed buffer ([`da860ef`](https://github.com/Byron/gitoxide/commit/da860efa8fb42f9f755cd9070732fc4403843cc9))
+ - [ref] refactor ([`61972a2`](https://github.com/Byron/gitoxide/commit/61972a298bfcbad7efe23a480895fc26bb53bf24))
+ - [ref] refactor ([`f03c614`](https://github.com/Byron/gitoxide/commit/f03c6144f395fd8713157a4a3137c6c0dacd41da))
+ - Thanks clippy ([`08f8bc4`](https://github.com/Byron/gitoxide/commit/08f8bc4c09ad85df0ea75916f8bd9beb061069ea))
+ - [ref] probably fix windows ([`6eb2532`](https://github.com/Byron/gitoxide/commit/6eb2532724d6be1b25b68b10b58cd504ff1a7af9))
+ - [ref] refactor ([`3df606a`](https://github.com/Byron/gitoxide/commit/3df606aa33ab8c161a7b36b79a9661eefac218e7))
+ - [ref] test for peel one level of packed ref ([`3d8602f`](https://github.com/Byron/gitoxide/commit/3d8602f2fff98e3a1078c24e65cd887bebc7fa78))
+ - [ref] assure packed-refs have a consistent target after peeling. ([`29a352a`](https://github.com/Byron/gitoxide/commit/29a352a24c0e2685d06672967e4898abfa1c2f8c))
+ - Thanks clippy ([`321908e`](https://github.com/Byron/gitoxide/commit/321908e12a885978dc4fa3fa1f71cebc8efdf741))
+ - [ref] improve import paths ([`2dbe785`](https://github.com/Byron/gitoxide/commit/2dbe785d80d56b2d9f5a617b57a02926dba70434))
+ - [ref] refactor ([`49fc212`](https://github.com/Byron/gitoxide/commit/49fc212e9e82382d06da16dc9b84e3952a73ddce))
+ - [ref] prepare to create loose:Reference ([`8ed3916`](https://github.com/Byron/gitoxide/commit/8ed3916564917fd99a74dda06d35f4390e918fa5))
+ - [ref] refactor ([`f222525`](https://github.com/Byron/gitoxide/commit/f2225253de054ce8cfa8f8ce33a93c3ac613dc85))
+ - [ref] finally peeling works again ([`d5bd75a`](https://github.com/Byron/gitoxide/commit/d5bd75acdf48f7a274dbb88441f003d5d287e3b8))
+ - [ref] packed-refs are now enforcing valid names ([`5d92919`](https://github.com/Byron/gitoxide/commit/5d9291976370edae3a8429e745174147c1fadf90))
+ - [ref] prepare peel test; realize another refactoring requirement ([`62f7155`](https://github.com/Byron/gitoxide/commit/62f71552da037c126058b7bcaa9e6bab8e2c168b))
+ - [ref] refactor ([`ae4d5da`](https://github.com/Byron/gitoxide/commit/ae4d5da10fc6e0ec5015539a1285f1a3dbbc9628))
+ - [ref] refactor ([`e26c72f`](https://github.com/Byron/gitoxide/commit/e26c72fb1bf9392932ffe42843f3dec52c7bbd7d))
+ - [ref] refactor ([`f4bb7a0`](https://github.com/Byron/gitoxide/commit/f4bb7a02d8e8b820f30894ac74613bee10532c79))
+ - [ref] another test to run into one more todo ([`13502f5`](https://github.com/Byron/gitoxide/commit/13502f5bb7b1df7abd1d2de4f9e93a9e5439b84f))
+ - [ref] some TODOs to not forget ([`4d6a75c`](https://github.com/Byron/gitoxide/commit/4d6a75cc6835cbd1f6ab321e158310c97def2a71))
+ - [ref] and it compiles again, may todos left ([`16618b9`](https://github.com/Byron/gitoxide/commit/16618b916ff67316717d95575fc1344d956d2c49))
+ - [ref] all required Reference methods are defined, but… ([`3c976a6`](https://github.com/Byron/gitoxide/commit/3c976a65cad62e4e04c686b1e8f645bf300ccf41))
+ - [ref] refactor ([`65f7a7d`](https://github.com/Byron/gitoxide/commit/65f7a7db56d6db974db197101b6306dbb7483ff5))
+ - [ref] changing the ref type means a lot of breakage and some unsolved problems ([`407dc4d`](https://github.com/Byron/gitoxide/commit/407dc4d79a4281fc3ec09456bb6f969f42bbabd7))
+ - [ref] refactor to be able to use loose_then_packed::Reference for top-level find ([`2c4e45a`](https://github.com/Byron/gitoxide/commit/2c4e45a5bf997530d84a214714ff25fdbbcafd16))
+ - [ref] figure out how peeling works with packed-refs… ([`2801f7a`](https://github.com/Byron/gitoxide/commit/2801f7aa137c6167bd392ca585f1aad378cae0b4))
+ - Revert "[ref] FAIL: actually it's enough to give access to 'packed' when peeling only" ([`8dc6295`](https://github.com/Byron/gitoxide/commit/8dc62955f1a8b92f08924f155c932d0dfbf415ef))
+ - [ref] FAIL: actually it's enough to give access to 'packed' when peeling only ([`5173a97`](https://github.com/Byron/gitoxide/commit/5173a97531f213573da12d0d9dda8e0bc808c013))
+ - [ref] put packed-ref lookups into the correct spot ([`6d11e22`](https://github.com/Byron/gitoxide/commit/6d11e22c723f03155f12878ac7b94ef959f633a4))
+ - [ref] remove over-complicated refs store trait which… ([`1cc876c`](https://github.com/Byron/gitoxide/commit/1cc876cde25820a7a8afa8d867dec59e6079d72e))
+ - [ref] refactor ([`62e682c`](https://github.com/Byron/gitoxide/commit/62e682c269c48a9eb2c25f4bb6421b8647fb3fab))
+ - [ref] API sketch for allowing packed-refs to be used in find() ([`ca736ab`](https://github.com/Byron/gitoxide/commit/ca736ab2ee8eab337683ff66e6e07d4488ff15da))
+ - [ref] fix windows build ([`f99851b`](https://github.com/Byron/gitoxide/commit/f99851bc3195aca958409bd5773e6210037b07f8))
+ - [ref] assure names are using forward slashes in file-based refs ([`ff695e4`](https://github.com/Byron/gitoxide/commit/ff695e4dae73d1497290d1efcc77b0cf1b265617))
+ - [ref] prefix iteration for all references ([`228ca00`](https://github.com/Byron/gitoxide/commit/228ca00a91069ebe32dddbae3d716cc6bb59542e))
+ - [ref] improve structure; fix docs ([`aa6052a`](https://github.com/Byron/gitoxide/commit/aa6052a41e44a13ea31c9ec585663b0904cdd929))
+ - [ref] overlay really seems to work ([`d2ec30a`](https://github.com/Byron/gitoxide/commit/d2ec30af1be4bc54d69ef7d794c1bf372c80463b))
+ - [ref] more detailed overlay test ([`d747d73`](https://github.com/Byron/gitoxide/commit/d747d730afd4db6c0c20c3c63cc09824fbd6e223))
+ - Thanks clippy ([`636e1fd`](https://github.com/Byron/gitoxide/commit/636e1fd85ceb3a1dc3cf5d3c7224f6f36d8eb695))
+ - [ref] fix windows build… ([`65e6953`](https://github.com/Byron/gitoxide/commit/65e6953d1a9e751cb4644056aabd7c6edfbf7978))
+ - [ref] first successful test for overlay iterator ([`5f92488`](https://github.com/Byron/gitoxide/commit/5f924885f343d8a60737de74c651e8e5c11a8d48))
+ - [ref] conversion for packed refs ([`929bb0f`](https://github.com/Byron/gitoxide/commit/929bb0f75715a547993e8ce9c885d7de1a030013))
+ - [ref] loose refs iteration in overlay iterator ([`0b0f64d`](https://github.com/Byron/gitoxide/commit/0b0f64d16acb97d2282b982647362b164ac280ad))
+ - [ref] leverage sorted file iteration ([`036257e`](https://github.com/Byron/gitoxide/commit/036257eee036c2d5edea2ac8b16aad6bae8ba7fd))
+ - [ref] add setup for parallel file traversal tests ([`1306647`](https://github.com/Byron/gitoxide/commit/1306647447f712805b3d8c8ca38e90fb4f94ca67))
+ - [ref] reproducible loose ref iteration with built-in sorting ([`e138748`](https://github.com/Byron/gitoxide/commit/e13874807ccc3cbc2b4aacccf63ac5c3dd21c445))
+ - [ref] sketch remaining overlay types, now on to 'next()' ([`6792cf1`](https://github.com/Byron/gitoxide/commit/6792cf1362ed21948d9b5f8b252b1c08ca8ca7ca))
+ - [ref] a way to obtain valid ref names along with their path for overlay iteration ([`bbaa1eb`](https://github.com/Byron/gitoxide/commit/bbaa1eb10b3d2fd0de6afde61e5b6378be2e110c))
+ - [ref] first steps towards test and impl for overlay iterator ([`f5d07b6`](https://github.com/Byron/gitoxide/commit/f5d07b67af4fdf68f3109a8bc1481474cd5c3807))
+ - [ref] add missing docs ([`e6052a5`](https://github.com/Byron/gitoxide/commit/e6052a5a36b27bbcf79c05cd517eab9ec7507d8d))
+ - [ref] all remaining tests ([`ee9bc21`](https://github.com/Byron/gitoxide/commit/ee9bc211e857ed2bbf9eb5fc6e46f5e126b11ab2))
+ - [ref] first successful test for prefix filtering in packed refs ([`430549d`](https://github.com/Byron/gitoxide/commit/430549da137c5469a0ee17eca8d52a6f3ed8b04b))
+ - [ref] run all performance tests ([`3635b25`](https://github.com/Byron/gitoxide/commit/3635b25deee7ded4307458abcf83d0c1181030f4))
+ - [ref] simple performance tests to get an idea of what it can do… ([`06bedcd`](https://github.com/Byron/gitoxide/commit/06bedcd7a79c64ece443a34cc21a9ca32ac38ca9))
+ - [ref] perf 'test' for ref iteration ([`922d129`](https://github.com/Byron/gitoxide/commit/922d129ff3b741a3091cf899a8e1400e98417093))
+ - Thanks clippy ([`a39a68a`](https://github.com/Byron/gitoxide/commit/a39a68a3d51bf0185df86ca34f90b9755f31f2b5))
+ - [ref] rename find_one to 'find' in git-ref… ([`ae7746a`](https://github.com/Byron/gitoxide/commit/ae7746a0815bb94659de67383ba372ac522d53b8))
+ - [ref] refactor ([`758c090`](https://github.com/Byron/gitoxide/commit/758c0907df8dc6987f374e326304e0f9fad29812))
+ - [ref] finish packed find() lookup testing ([`5f67c19`](https://github.com/Byron/gitoxide/commit/5f67c19a1f4f62419bfc7d6e52c56aa5be40b723))
+ - [ref] refactor ([`953939c`](https://github.com/Byron/gitoxide/commit/953939c2ce7922efd6df4654dc329743d3052492))
+ - [ref] prevent unnecessary rounds for full names that aren't found ([`fb765de`](https://github.com/Byron/gitoxide/commit/fb765de831aa704b04b6a23c6a1d4ff183d784e0))
+ - [ref] Assure ref-misses misses aren't parse-errors ([`d9d1360`](https://github.com/Byron/gitoxide/commit/d9d13602c83d0725d23d3abb3d2d5bf30355e1d9))
+ - [ref] basic lookup rule impl; needs more test cases ([`3226f77`](https://github.com/Byron/gitoxide/commit/3226f775129231b4bc4735baf9e14a187665ace3))
+ - [ref] fix compile warning on windows ([`c328774`](https://github.com/Byron/gitoxide/commit/c32877415aba8df6d5a37cfd799b218e3a29b18a))
+ - [ref] a test case specifically for lookup rules ([`ab3a34f`](https://github.com/Byron/gitoxide/commit/ab3a34f481ebe335578e3a7dbff325087b4ba647))
+ - Remove unnecessary pub(crate) exports ([`3d2456e`](https://github.com/Byron/gitoxide/commit/3d2456e11709f0461b37c6df55ecc3861ca4cab5))
+ - [ref] refactor ([`140da9a`](https://github.com/Byron/gitoxide/commit/140da9a0b77c423649d9fd291babef80532015a2))
+ - [ref] improve parse failure handling in packed-ref lookup ([`ba62aab`](https://github.com/Byron/gitoxide/commit/ba62aab4308d44092d151d11d9be44ba6bfddb02))
+ - [ref] refactor ([`959abc7`](https://github.com/Byron/gitoxide/commit/959abc70c754cf4cd812f6014c29fd2f6d1a7fc4))
+ - [ref] prepare for proper full-name conversion ([`0e6d3f2`](https://github.com/Byron/gitoxide/commit/0e6d3f29a6abe54b04424697009bb8524faaca7e))
+ - [ref] searching fully qualified reference names actually works. ([`9b2579c`](https://github.com/Byron/gitoxide/commit/9b2579c3713b3bd185895318868378b8831dbc96))
+ - [ref] prepare find() impl… ([`b26dd1e`](https://github.com/Byron/gitoxide/commit/b26dd1ed253d8714cf4f9a77c0c29f67cc952c76))
+ - [ref] assure packed-refs buffers are sorted ([`a797493`](https://github.com/Byron/gitoxide/commit/a797493c93aa2d1b6e46442f714c8d5b98032456))
+ - [ref] refactor ([`897a49a`](https://github.com/Byron/gitoxide/commit/897a49a9973ccb225dbc9b75be624b7e4c9ec608))
+ - [ref] windows fix; now maybe? ([`0e1a204`](https://github.com/Byron/gitoxide/commit/0e1a20424a25902e80ad8dd6b6a413cb00f77904))
+ - [ref] windows pathname replacement: \ -> /… ([`94a1e02`](https://github.com/Byron/gitoxide/commit/94a1e02d3e03f29d56b83e92c176c8d245ff44fc))
+ - [ref] fix one test failure on windows ([`21f1031`](https://github.com/Byron/gitoxide/commit/21f10319d4047401bb6b11dec975c9386788773b))
+ - [ref] rough frame for finding packed refs ([`a24a54f`](https://github.com/Byron/gitoxide/commit/a24a54fb2b2620a0c86c2b9bc2a094412ed73fb8))
+ - [ref] learn more about the windows issue… ([`dde6276`](https://github.com/Byron/gitoxide/commit/dde6276a52b0f067bfeb8bb355a05696df6f134f))
+ - [ref] refactor ([`c150aba`](https://github.com/Byron/gitoxide/commit/c150abaa86ebcbd10ccee4359b45b4a0b802b68e))
+ - [ref] prefixed loose ref iteration ([`49ce1e2`](https://github.com/Byron/gitoxide/commit/49ce1e2184841ecd9c54573ba026341f4fecc0b5))
+ - [ref] refactor; tests for prefix iteration ([`63566eb`](https://github.com/Byron/gitoxide/commit/63566eb81cdd14a98f25491fbb7f363a2fb6a0c7))
+ - [ref] loose ref iteration with broken ref support ([`2d1234f`](https://github.com/Byron/gitoxide/commit/2d1234f9f8ae55c13af18ef5978e4ef9634e1606))
+ - [ref] maybe fix windows ([`6fc7784`](https://github.com/Byron/gitoxide/commit/6fc778455c374fa289d15e64d1d67ad9310e0d0a))
+ - [ref] first rough implementation of loose ref iteration ([`918af42`](https://github.com/Byron/gitoxide/commit/918af425298a1fdbb8e7dd6328daefe9eaa10cef))
+ - [ref] packed-refs iteration… ([`ea97e06`](https://github.com/Byron/gitoxide/commit/ea97e063bfa5cbafac521dbd7f8becd357083356))
+ - [ref] docs for packed refs iterator ([`02690bc`](https://github.com/Byron/gitoxide/commit/02690bc96903071108ffc54594bd4c31ebd054d1))
+ - [ref] fix 'small' build ([`5fd10fe`](https://github.com/Byron/gitoxide/commit/5fd10fe1e901a0c8d9627f76c4a040922847cd15))
+ - [ref] packed-refs iteration works, incl. decent error handling ([`e5a6b9d`](https://github.com/Byron/gitoxide/commit/e5a6b9d2f637ee746ccaf67354f64c3999cf971a))
+ - [ref] the first packed-refs iterator tests ([`f6d769e`](https://github.com/Byron/gitoxide/commit/f6d769ec5948fefe363ffa436e326e5fae820a66))
+ - [ref] refactor ([`207a799`](https://github.com/Byron/gitoxide/commit/207a799c1fcf490425f2e5dcf8274da83125af6f))
+ - [ref] flexible and simple support for different hash lengths ([`9c2edd5`](https://github.com/Byron/gitoxide/commit/9c2edd537fb86d2d7db874ec976d0cb1b8ec7c2e))
+ - Revert "[ref] parameterize all uses of hash length…" ([`21f187e`](https://github.com/Byron/gitoxide/commit/21f187e6b7011bb59ed935fc1a2d0a5557890ffe))
+ - [ref] sketch of iterator ([`6c05243`](https://github.com/Byron/gitoxide/commit/6c05243b53a74c770fc41e50a7df55f01ba21b3d))
+ - [ref] refactor ([`79184cf`](https://github.com/Byron/gitoxide/commit/79184cfe1035ad8665972c796c27448dc1fe3430))
+ - [ref] parameterize all uses of hash length… ([`5c7285e`](https://github.com/Byron/gitoxide/commit/5c7285e7233390fd7589188084fcd05febcbbac2))
+ - [ref] less lenient packed-ref header parsing ([`45b41e0`](https://github.com/Byron/gitoxide/commit/45b41e0f522ac491e49be5e36a1744c9d07a4286))
+ - Thanks clippy ([`33f1b00`](https://github.com/Byron/gitoxide/commit/33f1b00e134222641a71521561db4671a4285462))
+ - [ref] refactor ([`de526b3`](https://github.com/Byron/gitoxide/commit/de526b31dbd84ddf05cbc5d447862fa0559a7561))
+ - [ref] first working packed ref line parsing ([`bc60229`](https://github.com/Byron/gitoxide/commit/bc60229403ae075b66bb457a80695e2ab959448c))
+ - [ref] first test for line (and peeled ref) parsin ([`7af27c5`](https://github.com/Byron/gitoxide/commit/7af27c5676c986b05953995d216b78389e986ee0))
+ - [ref] refactor ([`b74913e`](https://github.com/Byron/gitoxide/commit/b74913ef90c6d827dff50ca5df13c826be4fc86d))
+ - [ref] refactor ([`d0eb819`](https://github.com/Byron/gitoxide/commit/d0eb8196e3faed6c013f2e746ba50bba1330d87e))
+ - [ref] packed refs header line parsing ([`fde5543`](https://github.com/Byron/gitoxide/commit/fde5543ad22395e27266db02a5442a33d16e68c5))
+ - [ref] first rough steps to testing parsing a little ([`57659e9`](https://github.com/Byron/gitoxide/commit/57659e92de9a525a72dc3cba50b844bef7e021a1))
+ - [ref] sketch packed refs, but… ([`8951b3f`](https://github.com/Byron/gitoxide/commit/8951b3fd96735adc2eed5b0035bc0a97759e2207))
+ - [ref] refactor + docs review ([`4b9b034`](https://github.com/Byron/gitoxide/commit/4b9b034e3600cc3dc6dc35a257231914802a60fb))
+ - [ref] the last TODO is gone ([`01dc422`](https://github.com/Byron/gitoxide/commit/01dc422cef924f26943dbc5b41b45098853d4868))
+ - [ref] down to the last todo ([`23cea99`](https://github.com/Byron/gitoxide/commit/23cea99f645dfc27a89296f7bbd30c1b22015dba))
+ - [ref] two more tests but only one todo down ([`bf947d6`](https://github.com/Byron/gitoxide/commit/bf947d65b508511d90299e93f285989c1a3eafd1))
+ - [ref] the drop test ([`e472bde`](https://github.com/Byron/gitoxide/commit/e472bde7bf24eaeefa93a3dbc269cea41f6ddcc8))
+ - [ref] refactor ([`059f836`](https://github.com/Byron/gitoxide/commit/059f836f490261cf5257349e0a7bfb69d9b68d89))
+ - [ref] refactor ([`7faf6f2`](https://github.com/Byron/gitoxide/commit/7faf6f24f90854bd885e59c517b73db8ba5082af))
+ - [ref] adjust expectation to not do any special HEAD business ([`49d294a`](https://github.com/Byron/gitoxide/commit/49d294a292709882179cf3b7934ec1885c60ccaa))
+ - Revert "[ref] FAIL: realize that HEAD-reverse-lookup isn't done in transactions…" ([`8b0d7b6`](https://github.com/Byron/gitoxide/commit/8b0d7b62ff2ee96692d3014299fad67e0c82f3a1))
+ - [ref] FAIL: realize that HEAD-reverse-lookup isn't done in transactions… ([`6098ba0`](https://github.com/Byron/gitoxide/commit/6098ba0f4288b379f84f48bb2d3245309a70ce7c))
+ - [ref] test to validate HEAD update as special case of… ([`276aa9a`](https://github.com/Byron/gitoxide/commit/276aa9a89b41df43ad47f2096b4d89bdf697acea))
+ - [ref] refactor ([`861483a`](https://github.com/Byron/gitoxide/commit/861483a4e7b7d61447d6bbfa91937ddfdf69ba02))
+ - [ref] validate non-empty directories ([`8fb625d`](https://github.com/Byron/gitoxide/commit/8fb625d577fad376b28f5f568b8455aa901c2f0a))
+ - [ref] moving a ref onto empty directories works now… ([`a237f77`](https://github.com/Byron/gitoxide/commit/a237f77ee0eb395bf89f7ed1b7496bf33c2d30af))
+ - [ref] refactor ([`ed40a87`](https://github.com/Byron/gitoxide/commit/ed40a87e14d38b7f8b9a3a605b70a0fb1dc92220))
+ - [ref] another complex test works ([`ebdbfae`](https://github.com/Byron/gitoxide/commit/ebdbfae9e26aa11f7afda7f60f0fbf6757dabb76))
+ - [ref] fix build ([`b4dcdfc`](https://github.com/Byron/gitoxide/commit/b4dcdfc9b2f2edcbcf9fb144d1f97e9a841463ad))
+ - [ref] try fix windows, once again ([`95e74dd`](https://github.com/Byron/gitoxide/commit/95e74dd9f1510fd288f281beea3f560319ad323d))
+ - [ref] refactor ([`a261b82`](https://github.com/Byron/gitoxide/commit/a261b82c1ee7ebdbbc82ce1c8286ca6a0f221cea))
+ - [ref] probably fix windows ([`a8b7c8d`](https://github.com/Byron/gitoxide/commit/a8b7c8d2fef9438a23a96c35497d34e816af96c7))
+ - [ref] allow reflogs to be created in place of empty directory trees ([`80a6e0e`](https://github.com/Byron/gitoxide/commit/80a6e0e1ff2321d9162e799d5fc0f457e7de4ade))
+ - [tempfile] a way to delete empty dirs recursively ([`6025aa0`](https://github.com/Byron/gitoxide/commit/6025aa08d93cd5124c8df38c51b795b9c7d1c911))
+ - [ref] refactor ([`21920ec`](https://github.com/Byron/gitoxide/commit/21920ec173da4642ad335fcd5fbc3b85c940061e))
+ - [ref] refactor directory handling ([`45dbf22`](https://github.com/Byron/gitoxide/commit/45dbf2253d13ee8eba7654ef294614c3b9651a9d))
+ - [ref] refactor ([`92867c5`](https://github.com/Byron/gitoxide/commit/92867c58467e66d1b6b13d2ca4375d268fbafde5))
+ - [ref] handle existng empty directories more gracefully… ([`0849c70`](https://github.com/Byron/gitoxide/commit/0849c70596ed7674e7e18cd444b6cd99d37da4ff))
+ - Thanks clippy ([`d967e30`](https://github.com/Byron/gitoxide/commit/d967e30f1652f29c3c13ea0014d8d3910a4f7245))
+ - [ref] handle create-or-append when writing valid reflog files… ([`9175085`](https://github.com/Byron/gitoxide/commit/9175085248855a7ffa0d4e006740eafc0f4e1c92))
+ - [ref] refactor ([`1ee3419`](https://github.com/Byron/gitoxide/commit/1ee341922d4a8343bc5146378da4353a99b28a73))
+ - [ref] auto-creation logic for reflogs ([`80f71dc`](https://github.com/Byron/gitoxide/commit/80f71dc85836b640b264f146d37fc74a0bd99fd9))
+ - [ref] reflog creation test is quite complete ([`b67e79c`](https://github.com/Byron/gitoxide/commit/b67e79c861f644756e9bd12cc3a28bd6355250d3))
+ - [ref] allow commiter to be passed for use in reflog ([`80f5627`](https://github.com/Byron/gitoxide/commit/80f5627d6fe5aef8d0a82cdad1746d5d2509f2c3))
+ - [ref] tests for converting reflock paths into log paths ([`1f2e754`](https://github.com/Byron/gitoxide/commit/1f2e75439d2ff5b7db40a979fde289e68c578d81))
+ - [ref] refactor ([`a29fcf1`](https://github.com/Byron/gitoxide/commit/a29fcf1d61ec9f387a401a1a4a903256b6413536))
+ - [ref] frame for reflog creation or update ([`81cb790`](https://github.com/Byron/gitoxide/commit/81cb79017ca5a2f18531bc6caedc28de94a0a064))
+ - [ref] refactor ([`a76929b`](https://github.com/Byron/gitoxide/commit/a76929b45b4f82488b1e713d1012e1d431257fcd))
+ - [ref] disambiguate create-or-update logic ([`585f369`](https://github.com/Byron/gitoxide/commit/585f369ea7bb7ee3d8f5103583628e3d68ef3de5))
+ - [ref] write out Create-or-Update logic to see that's its probably not going to cut it. ([`54d084f`](https://github.com/Byron/gitoxide/commit/54d084ffe0d684ab4879973293f2efad4966c632))
+ - [ref] show how the original name can be displayed for lock failures… ([`07f0c2d`](https://github.com/Byron/gitoxide/commit/07f0c2dc9b3949566b3c3d0a15302c416ae9ccb7))
+ - [ref] write peeled previous OID through to parent refs ([`3355dd8`](https://github.com/Byron/gitoxide/commit/3355dd8295886b0dbeeaa802cbf32ea6e3264de6))
+ - [ref] fix child link transformation ([`5d9a685`](https://github.com/Byron/gitoxide/commit/5d9a685fedd4d5614dd338d4b9baa37f11649cb0))
+ - [ref] refactor ([`2f92f36`](https://github.com/Byron/gitoxide/commit/2f92f360e581a1a7b7bad389c915545cd6a5b31a))
+ - [ref] sketch of inverting parent links for later oid lookup ([`a050f18`](https://github.com/Byron/gitoxide/commit/a050f1856f69b710f6e63898d11fa52cafd254c7))
+ - [ref] refactor ([`1e88948`](https://github.com/Byron/gitoxide/commit/1e88948455111c01f2a8f9d24a4fcf835553e55b))
+ - [ref] add reflog message to change… ([`b31e103`](https://github.com/Byron/gitoxide/commit/b31e103f2492b0507e2e1eab3a26ddc025dd470f))
+ - [ref] sketch more detailed test for updating reflogs ([`5a657cd`](https://github.com/Byron/gitoxide/commit/5a657cdd0a342aa8b5a57398718bf27ef136997a))
+ - Thanks clippy ([`eb8ea22`](https://github.com/Byron/gitoxide/commit/eb8ea22a97f132169e81d71ca2ca64ef52463fe3))
+ - [ref] the last deletion test ([`258a494`](https://github.com/Byron/gitoxide/commit/258a494562d8266561540e07c01d1e87466470d9))
+ - [ref] refactor ([`db76cfd`](https://github.com/Byron/gitoxide/commit/db76cfd5585a5fa54739ce003837a8750dea9f99))
+ - [ref] deletion won't have problems with broken refs ([`286b5c1`](https://github.com/Byron/gitoxide/commit/286b5c1a5529c58c35b8ff0504f9e784f7be10e1))
+ - Thanks clippy ([`e5da69e`](https://github.com/Byron/gitoxide/commit/e5da69e642c16ddaf39b59e6e0de6b3c4153acff))
+ - [ref] add failing deletion test for broken refs ([`578413f`](https://github.com/Byron/gitoxide/commit/578413f5848cb8ab3b14fe149be3db12705182c3))
+ - [ref] another del test ([`d935d6f`](https://github.com/Byron/gitoxide/commit/d935d6f67fff1d7b02f6b0805a3e6efb9f429fc1))
+ - [ref] another deletion test ([`8b756e0`](https://github.com/Byron/gitoxide/commit/8b756e094bd4ecf47415d8eb8c7adf44b8a89039))
+ - [ref] another deletion test ([`69ede1b`](https://github.com/Byron/gitoxide/commit/69ede1b90e6573df86829437f3c3adf3924b31cf))
+ - [ref] refactor ([`d05a646`](https://github.com/Byron/gitoxide/commit/d05a6467c185d0f4dcb030e4bf751070a9b3d5bf))
+ - [ref] Make sure edit preprocessing happens in the right order ([`2d5f9aa`](https://github.com/Byron/gitoxide/commit/2d5f9aaa68b065f84df3a2db3707cf9cf10b0321))
+ - [ref] refactor ([`dd9c99b`](https://github.com/Byron/gitoxide/commit/dd9c99b9d1c0c6222f5a12f280c8ed0eb0c3daf2))
+ - [ref] refactor ([`97fc864`](https://github.com/Byron/gitoxide/commit/97fc864fb4dd2903eb9f7dd671422dfbeaa304f3))
+ - Thanks clippy ([`f436f18`](https://github.com/Byron/gitoxide/commit/f436f18be3b4aafe40cb0e36432d22666795ecc6))
+ - [ref] splitting handles reference cycles ([`09b4fc1`](https://github.com/Byron/gitoxide/commit/09b4fc1e6f01a9124f6563fa614b42356560e4b4))
+ - [ref] splitting actually works! ([`a9f824b`](https://github.com/Byron/gitoxide/commit/a9f824bc95f157146f22b468d4a9d8dddc9f31a5))
+ - [ref] first stab at splitting refs, needs more elaboration to fulfil expectations ([`66b1f37`](https://github.com/Byron/gitoxide/commit/66b1f3725cd710d991625bcd2c1994545b33aa53))
+ - [ref] refactor ([`eb0328f`](https://github.com/Byron/gitoxide/commit/eb0328fb67ad677d8875bef5deb7efea2c55ae67))
+ - [ref] first part of ref splitting is tested ([`ce7f83b`](https://github.com/Byron/gitoxide/commit/ce7f83b7e58762866e141d1b71e1ea68153fd075))
+ - [ref] refactor; prep slitting tests ([`7ffc619`](https://github.com/Byron/gitoxide/commit/7ffc619a7c06f0d47572fac9f91444c3663ac316))
+ - [ref] refactor ([`683651d`](https://github.com/Byron/gitoxide/commit/683651d2a7cc9b589b4490a1767677f3d7fb5e3e))
+ - [ref] first sketch of generalized splitting of edits ([`1f2efdc`](https://github.com/Byron/gitoxide/commit/1f2efdcf9151f161a325680737f1992edf46228c))
+ - [ref] working on splits really shows that we want more than one enum maybe… ([`1b62838`](https://github.com/Byron/gitoxide/commit/1b62838d00ec35cb45d43e5e9e5ce6573f1db2a7))
+ - [ref] need ref splitting for the first time. ([`f52989f`](https://github.com/Byron/gitoxide/commit/f52989f325d50db66c0ffe75a964feaba075dc19))
+ - [ref] better deletion tests; more useful return value ([`96848f6`](https://github.com/Byron/gitoxide/commit/96848f68a70a6721c9fc4c7d36763a3015527728))
+ - Thanks clippy ([`ef9bfd2`](https://github.com/Byron/gitoxide/commit/ef9bfd2806b0407ccbc7391e086592f4bf7a7424))
+ - [ref] another deletion test succeeds ([`6037900`](https://github.com/Byron/gitoxide/commit/60379001d2729627c042f304217d6459f99f01bf))
+ - [ref] refactor, not quite sure about delete mode… ([`683991a`](https://github.com/Byron/gitoxide/commit/683991a4edbc53c583603af94fbec625a211b52d))
+ - [ref] another test; failing for now ([`1908b69`](https://github.com/Byron/gitoxide/commit/1908b693b75e8cb204dc5026ea2f311b88bddfc4))
+ - [ref] another test green ([`104598e`](https://github.com/Byron/gitoxide/commit/104598eb71e830a5feed763dea1dc1fd03be6eff))
+ - [ref] first succeeding deletion test ([`3445d7d`](https://github.com/Byron/gitoxide/commit/3445d7dfcade73bec8ba68d58d034608169e7758))
+ - [ref] refactor ([`d2e2e8f`](https://github.com/Byron/gitoxide/commit/d2e2e8f49b3668235cf808b08f85bd89a592105f))
+ - [ref] first deletion tests ([`e41f8c8`](https://github.com/Byron/gitoxide/commit/e41f8c8a48328fb0fe154e5212f1b1e41195d3c1))
+ - [ref] write more details on how prepare and commit should work overall. ([`a7d988b`](https://github.com/Byron/gitoxide/commit/a7d988b8feb2aba87a19f3484470d8f77786ffd4))
+ - [ref] refactor; get closer to what git does… ([`488f311`](https://github.com/Byron/gitoxide/commit/488f31160300bccaba6a510869c7c3e53d52d27b))
+ - [ref] refactor ([`58a5653`](https://github.com/Byron/gitoxide/commit/58a5653a6647931bf90f88ff2d83c6b0322ad9b1))
+ - [ref] first very basic ref writing ([`7ebed3f`](https://github.com/Byron/gitoxide/commit/7ebed3ff14e6944ba18be0c9876b10c42c2d840c))
+ - [ref] remove complexity in the name of performance, fix windows… ([`77c3f24`](https://github.com/Byron/gitoxide/commit/77c3f24a935800d7643dc61466385a76a58bf365))
+ - [ref] (probably) fix windows ([`7c1eead`](https://github.com/Byron/gitoxide/commit/7c1eead4b589975fb1dcfe63fb2071bb6d8ab611))
+ - Thanks clippy ([`6865549`](https://github.com/Byron/gitoxide/commit/6865549cf6df08999618bfa6cd658d44b8aba9c7))
+ - [ref] slowly getting there ([`6506924`](https://github.com/Byron/gitoxide/commit/650692443459b253a56fb5bda78bd3a4a0de07f9))
+ - [ref] a way to determine if a reflog exists. ([`e6fbba8`](https://github.com/Byron/gitoxide/commit/e6fbba87942b9138261ee70d8fa8408422149521))
+ - [ref] reference::log_iter_rev() ([`1f7af5d`](https://github.com/Byron/gitoxide/commit/1f7af5dcf093a9169ce353c0b1d354ed7acda4a5))
+ - [ref] reference.log_iter() works, but… ([`c298473`](https://github.com/Byron/gitoxide/commit/c298473f0f353f9f59d39ab530c133e13cfb47ec))
+ - [ref] [FAIL] try to forward iterator creation to reference… ([`ef1737c`](https://github.com/Byron/gitoxide/commit/ef1737c7e67038c0541a619e77c0ea5451bcca28))
+ - [ref] refactor ([`129bccf`](https://github.com/Byron/gitoxide/commit/129bccf8dfaaab1c487c49fe35a2877ff900d06e))
+ - [ref] refactor ([`96dd98b`](https://github.com/Byron/gitoxide/commit/96dd98b800b9e808853fc954ac78b8778bf18f23))
+ - [ref] refactor ([`a7dd994`](https://github.com/Byron/gitoxide/commit/a7dd9940a0a6e1f8685f5bb785d8c05023027393))
+ - [ref] refactor ([`3460127`](https://github.com/Byron/gitoxide/commit/34601272230c37aad803409e89dc6b270de1f02d))
+ - [ref] store ref log reverse iterator ([`34d7957`](https://github.com/Byron/gitoxide/commit/34d795700e89a264dcf3a40a6dec63cdc5998814))
+ - [ref] store can provide reflog forward iter… ([`9adb9ca`](https://github.com/Byron/gitoxide/commit/9adb9ca2b2b63f9fc4b57e45732389077778c324))
+ - [ref] more assertions ([`8000677`](https://github.com/Byron/gitoxide/commit/80006772e0ef9d9f9fc4d274f460194712138327))
+ - [ref] a fully implemented first test with assertions ([`29a5893`](https://github.com/Byron/gitoxide/commit/29a58937a3e8d4fae861952d6bc34565da8c3e8c))
+ - [ref] sketch more tests that will be needed ([`01690be`](https://github.com/Byron/gitoxide/commit/01690be8acf6a5f18b55db941f05644650f062f0))
+ - [ref] add control over handling lock failures during transaction ([`7c4057a`](https://github.com/Byron/gitoxide/commit/7c4057aa4bd5e65195c80d0319798615b9571c0d))
+ - [ref] generic operation on input edits, split-suitable now ([`7f4f637`](https://github.com/Byron/gitoxide/commit/7f4f63763249a614936be3baa702b93558a4d494))
+ - [ref] try using borrow on a slice intead of iterator… ([`b2371d9`](https://github.com/Byron/gitoxide/commit/b2371d93408613ab0e07048398bd95e60da603e1))
+ - [ref] duplicate ref edit checks… ([`3ec0182`](https://github.com/Byron/gitoxide/commit/3ec0182376fad623814408703f1d47736eea6349))
+ - [ref] a more fleshed out API for file transactions ([`918123f`](https://github.com/Byron/gitoxide/commit/918123f7f951d7f773dd8b38a184de2f2c3e25b9))
+ - [ref] on the way towards realistic transactions… ([`c808cb1`](https://github.com/Byron/gitoxide/commit/c808cb17b2fea12e018fabb789862e9b7703e49b))
+ - [ref] on the way to setup the first transaction test ([`29c0b51`](https://github.com/Byron/gitoxide/commit/29c0b51625e2c7e3a8d60075bb925126a024dc83))
+ - [ref] file store can ignore all writes; sketch transaction API ([`52a81e9`](https://github.com/Byron/gitoxide/commit/52a81e98f38657023d3eb384fd6db69917dd57ca))
+ - [ref] refactor ([`6a84790`](https://github.com/Byron/gitoxide/commit/6a84790b13e445d5a1b85fd3cae2ec0feed4ff02))
+ - [ref] log line writing ([`3da8fcf`](https://github.com/Byron/gitoxide/commit/3da8fcf0bfb77b80c06a3358416f10d6f393db8b))
+ - [ref] Line::from_bytes(…); iter uses that now ([`7895995`](https://github.com/Byron/gitoxide/commit/7895995cf91fbaeb798c4277699e02107cb63909))
+ - [ref] test for small buffer sizes ([`6183772`](https://github.com/Byron/gitoxide/commit/61837723f7c1f3150d7f853c055248116bba9633))
+ - [ref] handle multiple buffer reloads ([`4559c7a`](https://github.com/Byron/gitoxide/commit/4559c7a184b9cdbd174785b84b41a218c683c94f))
+ - [ref] refactor ([`65e333d`](https://github.com/Byron/gitoxide/commit/65e333de6194b48b558d02b503502bd7ab267945))
+ - [ref] refactor ([`2b416ee`](https://github.com/Byron/gitoxide/commit/2b416ee7e788faadf280553464fd77f2c91e2d0a))
+ - [ref] refactor ([`82b18e5`](https://github.com/Byron/gitoxide/commit/82b18e50f3c31fac10dc5a752ab9b0c134607e37))
+ - [ref] multi-line reverse iteration works, without window shift for now ([`f1e3861`](https://github.com/Byron/gitoxide/commit/f1e38618371408d844144a736c3082d57b2d1015))
+ - [ref] first reverse iter test succeeding ([`8875601`](https://github.com/Byron/gitoxide/commit/88756015d8fc77ddb3b12fcdd1df85a709f8189a))
+ - [ref] let's not forget to simply not try to return borrowed things from iterators ([`bcc934d`](https://github.com/Byron/gitoxide/commit/bcc934dea0aa71502945a20d5987dec4eeb34aea))
+ - [ref] FAIL: try it with included buffer ([`189080e`](https://github.com/Byron/gitoxide/commit/189080e8bc2d999ee4f1a76ed9b537cfda7ad82c))
+ - [ref] FAIL another attempt this time without iterator… ([`5e73dc2`](https://github.com/Byron/gitoxide/commit/5e73dc2fa1a77b5bcf2319ed244004ac3ec86506))
+ - [ref] FAIL at attempt to to have self-referential iterators :D… ([`bc4012e`](https://github.com/Byron/gitoxide/commit/bc4012eb8a1b0c27dd2b54d169c2058478449b0a))
+ - [ref] first test for reverse iterator and more boilerplate ([`40db355`](https://github.com/Byron/gitoxide/commit/40db35547b855066b3584d8e81f62c8978ac5840))
+ - [ref] refactor ([`4daddb1`](https://github.com/Byron/gitoxide/commit/4daddb13a7f7139b8e0e7c6817854dad00429dbc))
+ - [ref] sketch of reverse iterator ([`c581d16`](https://github.com/Byron/gitoxide/commit/c581d169c2e21e568bce3d7bc8469836aa9d1e2c))
+ - [ref] thanks clippy ([`4ba3b08`](https://github.com/Byron/gitoxide/commit/4ba3b08e69002ae20545e9d27c3130a672fa9ae6))
+ - [ref] significantly simplify error messages… ([`b15cb16`](https://github.com/Byron/gitoxide/commit/b15cb16f022045207a9419266d3fe972fbd663e1))
+ - [ref] don't include terminators to get slightly nicer error messges ([`09bbc6d`](https://github.com/Byron/gitoxide/commit/09bbc6d0b32b835d1a4ba2dca7e24522b94cee22))
+ - [ref] another test for iter::forward() ([`1d84302`](https://github.com/Byron/gitoxide/commit/1d843029dbaa7d06f9338fa6eb90f583a4225094))
+ - [ref] a forward iterator with a single test ([`917040c`](https://github.com/Byron/gitoxide/commit/917040cb58d9dda18835c255bff3a9d692cfe1de))
+ - [ref] log line docs ([`10ab8e0`](https://github.com/Byron/gitoxide/commit/10ab8e0e4bcccc4e79203f06e16835b8e5d9504b))
+ - [ref] refactor ([`cd89e21`](https://github.com/Byron/gitoxide/commit/cd89e21280463deb1fd22ef20d2c54926bbb9b6c))
+ - [ref] more context for line parsing ([`ddb5f9d`](https://github.com/Byron/gitoxide/commit/ddb5f9d256cf0be36943e11a9df18b938551be87))
+ - [ref] refactor ([`a08fb77`](https://github.com/Byron/gitoxide/commit/a08fb776a523040445006c81a890ef11f496f650))
+ - [ref] be truly zero copy and delay work to when it's first asked for ([`b4e594b`](https://github.com/Byron/gitoxide/commit/b4e594bdeb06329beacd61b03ab90057284bcb54))
+ - [actor] FAIL an attempt to remove btoi errors ([`3f99cf5`](https://github.com/Byron/gitoxide/commit/3f99cf531caacb93a3ce81b16d61be18e5d8a017))
+ - [actor] pure nom error handling… ([`78cbe18`](https://github.com/Byron/gitoxide/commit/78cbe18888ec654f3410fc655d9beaaf63f68003))
+ - [ref] refactor ([`8694488`](https://github.com/Byron/gitoxide/commit/869448833d9de5c0859e6fab267b48d19f1a9119))
+ - [ref] getting there! ([`bd73d8e`](https://github.com/Byron/gitoxide/commit/bd73d8ee04f7baa9aeb05857484da6cb63175ebb))
+ - [ref] a step forward to nom error handling, but… ([`426ae5b`](https://github.com/Byron/gitoxide/commit/426ae5b7db6cb943fdf6ee48e2be531157341e49))
+ - [ref] try really hard to use generic verbose nom errors but… ([`1031625`](https://github.com/Byron/gitoxide/commit/10316252fa5dc02effe5596165268f8d806c55f8))
+ - [ref] tests and impl for happy cases ([`7be82f0`](https://github.com/Byron/gitoxide/commit/7be82f09ce3c2421ba922e3f8bc1238ca5d494ab))
+ - [ref] the first test for log line parsing; make serde1 work ([`cba3cdc`](https://github.com/Byron/gitoxide/commit/cba3cdc75280b247e59af878d1afe286638b95b7))
+ - [refs] try to get structure in place for reflog parsing ([`727c66a`](https://github.com/Byron/gitoxide/commit/727c66a2560c00cc8e01fbe47503ffbb67147c59))
+ - [refs] sketch more of transactions so it has all it needs ([`8f9a015`](https://github.com/Byron/gitoxide/commit/8f9a0157e876fadfe16a2cc58445543d1c10a21b))
+ - [refs] allow writing any valid ref value instead of limiting ourselves to object ids ([`114fce8`](https://github.com/Byron/gitoxide/commit/114fce8368fe858bc64696b4d7253c425367560a))
+ - [refs] finish transaction sketch (or so it seems) ([`976a079`](https://github.com/Byron/gitoxide/commit/976a0799a7862de7b85d45cb080102f41fc33d07))
+ - [refs] this gets more and more interesting ([`e056495`](https://github.com/Byron/gitoxide/commit/e05649577a6cd5e2958884b10f7f75d48aa91a94))
+ - [refs] finish research for transactions and their flags ([`2eb3bcc`](https://github.com/Byron/gitoxide/commit/2eb3bccadf338c07493e40cb8c5f357eb2502a5f))
+ - [refs] sketch some parts of a transaction based on git source ([`d9a5d32`](https://github.com/Byron/gitoxide/commit/d9a5d328f575dfd86e414091688a545f931059e3))
+ - (cargo-release) version 0.3.0 ([`87db688`](https://github.com/Byron/gitoxide/commit/87db688f23475d7232731429d770848aea228492))
+ - (cargo-release) version 0.3.0 ([`6b33678`](https://github.com/Byron/gitoxide/commit/6b33678f83e6d261ca15c4a7634ff5b4e66d81dd))
+ - (cargo-release) version 0.2.0 ([`3286e42`](https://github.com/Byron/gitoxide/commit/3286e42547b59df6365087cbae9ce1c9c959faad))
+ - [git-refs] a way to build a big packed-refs file ([`5113529`](https://github.com/Byron/gitoxide/commit/51135291b60d38bdf50d24569596c421bcb4f0b9))
+ - (cargo-release) version 0.4.0 ([`866f86f`](https://github.com/Byron/gitoxide/commit/866f86f59e66652968dcafc1a57912f9849cb21d))
+ - [git-repository] traversal program uses new facilities, and it's cumbersome ([`29ea2de`](https://github.com/Byron/gitoxide/commit/29ea2de9ad48036f78d3776d8526d959f68bf287))
+ - [git-repository] most of the git repository discovery ([`72a49c8`](https://github.com/Byron/gitoxide/commit/72a49c816253520230a04290619f469df608be19))
+ - [git-ref] refactor ([`0c795c5`](https://github.com/Byron/gitoxide/commit/0c795c50834bcf52324ede46ec11eea26acb1107))
+ - [git-ref] fix docs ([`4fbc476`](https://github.com/Byron/gitoxide/commit/4fbc476b2361afef25cff208ecfa66ac2ccb077a))
+ - [git-ref] docs complete ([`93a1f4e`](https://github.com/Byron/gitoxide/commit/93a1f4e3fe48082abf5b0baa17a976808789ec20))
+ - [git-ref] nicer semantics for peel_in_place_to_id() ([`d3250a7`](https://github.com/Byron/gitoxide/commit/d3250a7b5d0e16f8f1b38d10334282fe60f9d5ce))
+ - Revert "[git-ref] refactor (Option<Result… -> Result<Option…" ([`d4046e9`](https://github.com/Byron/gitoxide/commit/d4046e94eb22d9e9b65ffa9861400c4fde4d0bd7))
+ - [git-ref] refactor (Option<Result… -> Result<Option… ([`774e86c`](https://github.com/Byron/gitoxide/commit/774e86ce78159f7e07ec552c1847658b6f9ac288))
+ - [git-ref] refactor ([`928b637`](https://github.com/Byron/gitoxide/commit/928b63789237b808b296c60c989b853b78d39f0e))
+ - [git-ref] more docs ([`f962c74`](https://github.com/Byron/gitoxide/commit/f962c74215965f14e8f136ab0a4eddfbba97e8c2))
+ - [git-ref] refactor ([`415f15a`](https://github.com/Byron/gitoxide/commit/415f15aa5751ee1a58d9e6723a9da9f3407a4d66))
+ - [git-ref] a bunch of docs ([`7cfc5ab`](https://github.com/Byron/gitoxide/commit/7cfc5ab3c3b969e968b894161f73f3c69fe8e4c9))
+ - Thanks clippy ([`93915fa`](https://github.com/Byron/gitoxide/commit/93915fa6f1c00260e4f263ac4837c2ae7916b764))
+ - [git-ref] peel to id done ([`f74771c`](https://github.com/Byron/gitoxide/commit/f74771c8caccb090066b5209721b8973c047f00c))
+ - [git-ref] first working peel-to-id() ([`3574f87`](https://github.com/Byron/gitoxide/commit/3574f8717700ae3b33e167be2442c69f604f287c))
+ - [git-ref] frame for peel_to_id ([`3710b6c`](https://github.com/Byron/gitoxide/commit/3710b6cfe5cf2e5e6f9199255ebb4ca68a195be5))
+ - [git-ref] peeling without an iterator, fine ([`b118946`](https://github.com/Byron/gitoxide/commit/b118946ef68425ffa0a606d67df7b5d3b2d851df))
+ - [git-ref] first stab at reference iteration… ([`806d10e`](https://github.com/Byron/gitoxide/commit/806d10ef735caf3575b84de0cca5b55374140571))
+ - [git-ref] refactor ([`c363269`](https://github.com/Byron/gitoxide/commit/c363269e118a2dc53ce29ba245c079cecf061b7e))
+ - [git-ref] find_one_existing(…) for convenience ([`7a443ff`](https://github.com/Byron/gitoxide/commit/7a443ffc148ae8161ba93351ffd16631f79e095c))
+ - [git-ref] some find failure cases ([`d855051`](https://github.com/Byron/gitoxide/commit/d85505195541f3123527a337c9935e25bfc40ec4))
+ - [git-ref] handle all find_one cases as per docs ([`3c0acc6`](https://github.com/Byron/gitoxide/commit/3c0acc6545ede1a3fef25ace2b7dbf79debdc754))
+ - [git-ref] more ways of finding reference ([`b3c4e92`](https://github.com/Byron/gitoxide/commit/b3c4e928c6fb01e029f509e8b24516cd6c24e48f))
+ - [git-ref] the first green find_one test ([`30177e8`](https://github.com/Byron/gitoxide/commit/30177e81451bd4fb51dd3297502fa3c63f67286e))
+ - Thanks clippy ([`8f0e9ed`](https://github.com/Byron/gitoxide/commit/8f0e9ed9220a874e8437ede6e129d345e9c8f737))
+ - [git-ref] first basic impl shows validation needs a little adjustment ([`8b901c7`](https://github.com/Byron/gitoxide/commit/8b901c750f97a950cb162c9195770aee451d2e7e))
+ - [git-ref] a sketch of find_one - easiest for the caller for sure ([`ec96256`](https://github.com/Byron/gitoxide/commit/ec96256c4be9ff6de15bb698f2d3b9559619a042))
+ - [git-ref] refactor ([`5bac585`](https://github.com/Byron/gitoxide/commit/5bac5851367d77ead43feceefdb2bfaf24a1561e))
+ - [git-ref] frame for loose store reference lookup ([`30b0d54`](https://github.com/Byron/gitoxide/commit/30b0d54ed04916a858af3101345c677dbf48594d))
+ - (cargo-release) version 0.2.0 ([`1327894`](https://github.com/Byron/gitoxide/commit/132789475400abe660b30ef6d2c5ff57821dd2c4))
+ - [git-ref] use git-validate crate ([`6b4f937`](https://github.com/Byron/gitoxide/commit/6b4f937f13ad62bc2c7e5b0fc14416feb9c313ba))
+ - [git-ref] Setup more tests to realize we really want validate::tag ([`54ee5b5`](https://github.com/Byron/gitoxide/commit/54ee5b5eace8c35bc33ef1261778ba0fcee2ef37))
+ - [git-ref] frame for validation ([`9656ac6`](https://github.com/Byron/gitoxide/commit/9656ac620a1a085122676052b9a0b32d9c4f6661))
+ - [git-ref] failure tests ([`567e86c`](https://github.com/Byron/gitoxide/commit/567e86caf83c73497b021d636ea440cc817f10ba))
+ - [git-ref] more tests ([`048fb77`](https://github.com/Byron/gitoxide/commit/048fb775764004ec5bb39bf243a102233dd9946c))
+ - [git-ref] refactor ([`77d0cc0`](https://github.com/Byron/gitoxide/commit/77d0cc088d6de8c37fec9ae0136c9f85bfdbc643))
+ - [git-ref] don't support serde for now ([`2a6295b`](https://github.com/Byron/gitoxide/commit/2a6295bbd8a30d84c0d6544ca83e79146aff088e))
+ - [git-ref] refactor ([`02e545b`](https://github.com/Byron/gitoxide/commit/02e545ba6fe801f43e0a76e43e8bcfaaf77bd5f5))
+ - [git-ref] first basic 'ref: ' parsing ([`60fa3ba`](https://github.com/Byron/gitoxide/commit/60fa3bac9bfff7b5e3ac331c77c1050e9359f481))
+ - [git-ref] refactor ([`9a30f87`](https://github.com/Byron/gitoxide/commit/9a30f87292aff1d4a2f043ba160df6b09bce16c8))
+ - [git-ref] the first succeeding test ([`cebfdb4`](https://github.com/Byron/gitoxide/commit/cebfdb463ac2d86f56bb3a2d57c0487a8b233fd8))
+ - [git-ref] the first failing test ([`7e802a0`](https://github.com/Byron/gitoxide/commit/7e802a0576230dfc666c253d484ea255f265f92f))
+ - [git-ref] sketch ref creation ([`c5241b8`](https://github.com/Byron/gitoxide/commit/c5241b835b93af497cda80ce0dceb8f49800df1c))
+ - [git-ref] A sketch of how it looks like with Store backref ([`1a08f1c`](https://github.com/Byron/gitoxide/commit/1a08f1c0365afe7d5e6fbc80bdd382d193d4b881))
+ - [git-ref] more scaffolding ([`8c6e884`](https://github.com/Byron/gitoxide/commit/8c6e8844627878e981e597de0c29408cf51582a4))
+ - [git-ref] clear it out and move existing functionality to git-object ([`fa548ce`](https://github.com/Byron/gitoxide/commit/fa548ce94db3dd3969add494756fcc34e48985a3))
+ - (cargo-release) version 0.5.0 ([`b6b5856`](https://github.com/Byron/gitoxide/commit/b6b58560b7c3bc88e2b8b780be5ceb4cb508a346))
+ - [pack-gen] refactor ([`61554e2`](https://github.com/Byron/gitoxide/commit/61554e2effcbafef9cff0b407351c2fae0d2916c))
+ - (cargo-release) version 0.4.1 ([`25d2c2e`](https://github.com/Byron/gitoxide/commit/25d2c2e6ae70f46869ab0dabdda2b9f7840539d3))
+ - Document `git-ref` ([`91dce23`](https://github.com/Byron/gitoxide/commit/91dce23c8faf74511c33e5cfa07d2f293b1cd0a2))
+ - Remove dash in all repository links ([`98c1360`](https://github.com/Byron/gitoxide/commit/98c1360ba4d2fb3443602b7da8775906224feb1d))
+ - Merge from main. ([`b59bd5e`](https://github.com/Byron/gitoxide/commit/b59bd5e0b0895c7d1d585816cec8be4dea78c278))
+ - Refactor ([`ba1d883`](https://github.com/Byron/gitoxide/commit/ba1d88364424eb60a0874a5726b62740dc348592))
+ - (cargo-release) version 0.4.0 ([`f9dd225`](https://github.com/Byron/gitoxide/commit/f9dd225afc4aafde1a8b8148943f56f2c547a9ea))
+ - Allow dual-licensing with Apache 2.0 ([`ea353eb`](https://github.com/Byron/gitoxide/commit/ea353eb02fd4f75508600cc5676107bc7e627f1e))
+ - Refactor ([`63c1292`](https://github.com/Byron/gitoxide/commit/63c129292288cc626b09ad29e9ef5f1a1d8339e4))
+ - Bump minor version to 0.3 ([`4351e28`](https://github.com/Byron/gitoxide/commit/4351e2871c9dcf342b8471fffa74cae338a53269))
+ - Update to quick-error 2.0 ([`4b1b784`](https://github.com/Byron/gitoxide/commit/4b1b7849b47a54092b49821c39e864c86adda979))
+ - (cargo-release) version 0.2.0 ([`d350a13`](https://github.com/Byron/gitoxide/commit/d350a13784685ea82b84646b18736986aeb68146))
+ - Switch to latest quick-error ([`9760856`](https://github.com/Byron/gitoxide/commit/976085614ee13a19fc1347209259a3dcf36ef95b))
+ - Assert we don't exeed package sizes ([`df66d74`](https://github.com/Byron/gitoxide/commit/df66d74aa2a8cb62d8a03383135f08c8e8c579a8))
+ - Refactor ([`6ad9304`](https://github.com/Byron/gitoxide/commit/6ad93041813f78548c3bd813b8685a60d857336f))
+ - Refactor ([`1fd90f7`](https://github.com/Byron/gitoxide/commit/1fd90f739f4d8bb7c4f27103d2bb92e3f58b6f68))
+ - Test for common ascii control characters ([`ae0c885`](https://github.com/Byron/gitoxide/commit/ae0c885518d9ce4de05adbb048c0188f9ca934c3))
+ - All test for valid ref name except for ascii control chars ([`a157acf`](https://github.com/Byron/gitoxide/commit/a157acfb1f68ec6af6bb0b76f52aa8c7f72d43bf))
+ - Add new 'git-ref' crate; place ref name validation code there ([`1a0e84e`](https://github.com/Byron/gitoxide/commit/1a0e84e627b17be1b1fb53b4dc98ab78e9cfb9a7))
+</details>
+
+## 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)
+
+ - <csr-id-3d8fa8fef9800b1576beab8a5bc39b821157a5ed/> 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
+
+ - <csr-id-e86e159e00c9b54803abbfa09809707be7ac8aee/> `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.
+ - <csr-id-bbdb4804d8c3bd6a1fb8bea97adce509c90c5ca8/> 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
+
+ - <csr-id-584b705cee8be3fb68c67dcb8535b981d1efc5f4/> 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.
+ - <csr-id-9f848506f5a42abc954612ea375f845e3b23ae5a/> 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.
+ - <csr-id-e9853dd640cf4545134aa6e0d093e560af090a2b/> 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.
+ - <csr-id-27386a96ddc022ba75730901f8bb098b9d5ff9d4/> 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
+
+ - <csr-id-6e5c0ae63deed181419232c61896e22404e4c84a/> 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)
+
+ - <csr-id-328900add089f40d3bf9f1019c9f31663da387e2/> 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
+
+ - <csr-id-370ed3dcc393eca7a393ea0150f698a9fc844320/> `transaction::Change::new_value()` to get easy access to new values of references.
+ That's more convenient than matching on the enum.
+ - <csr-id-658c1257c073507327d9a50c1c89b49d17e9ccbc/> `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)
+
+ - <csr-id-e699291097cec346374a30c325848f787ca9d736/> `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)
+
+<csr-id-725210dc401406fe9450eae9d375b0238d645027/>
+
+### Chore (BREAKING)
+
+ - <csr-id-725210dc401406fe9450eae9d375b0238d645027/> replace `quick-error` with `thiserror`
+
+## 0.15.4 (2022-08-28)
+
+### New Features
+
+ - <csr-id-2d0b63997b276a53b3cf8f09fac51f8e3f044bcd/> 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)
+
+<csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/>
+<csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/>
+
+### Chore
+
+ - <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> uniformize deny attributes
+ - <csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/> remove default link to cargo doc everywhere
+
+### New Features
+
+ - <csr-id-b1c40b0364ef092cd52d03b34f491b254816b18d/> use docsrs feature in code to show what is feature-gated automatically on docs.rs
+ - <csr-id-517677147f1c17304c62cf97a1dd09f232ebf5db/> pass --cfg docsrs when compiling for https://docs.rs
+
+## 0.15.1 (2022-08-17)
+
+### Bug Fixes
+
+ - <csr-id-1d2003519e3b0f745af1524a32f2816475024b31/> 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
+
+ - <csr-id-4607a18e24b8270c182663a434b79dff8761db0e/> Add `store::WriteRefLog::Always` to unconditionally write reflogs.
+ - <csr-id-f3c609f0af00aa280649975b0705a3cfaad8a0e5/> Allow `Reference` to be serialized/deserialized with `serde`.
+
+### Changed (BREAKING)
+
+ - <csr-id-0f753e922e313f735ed267f913366771e9de1111/> `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
+
+ - <csr-id-4a5176a78b64981ce5612b88c7736b7323aa8cdd/> ref iteration for worktrees.
+ It merges the iteration result of private worktree refs along with
+ all shared common references references.
+ - <csr-id-9cccce35e527cdda58e01b03cd335a527418cf14/> `Category::LinkedRef`
+ With it one can access all refs as advertised.
+ - <csr-id-eada5dfdd4981dbb032e8f155e3829eb5d1f380f/> `Category::MainRef`
+ With it it will be possible to compute all paths correctly and actually
+ perform certain operations as documented.
+ - <csr-id-0304b7fad3ae5e3ac1fea71e30658474a770184b/> `Category::(WorktreePrivate|Bisect|Rewritten)`
+ - <csr-id-612a2dbf7f70a8eb44b7278fccd4f1589749968a/> `Category::LinkedPseudoRef`
+ - <csr-id-613b5844e74535d391339bd8e7c106e18257b917/> Add `Category::MainPseudoRef`
+ - <csr-id-6ccfea97d30dbfa013e1633c77c5a26ab5cbaf8f/> `Category::PseudoRef`
+
+### Changed (BREAKING)
+
+ - <csr-id-3d6299f47f41397c1c72035a86b94d1c263b5b98/> `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.
+ - <csr-id-f1dbb6bd4534527b6f1f2aba2a562dd4e64cf55d/> remove `FullName::to_ref()` in favor of `•::as_ref()`.
+ This became possible now that `FullNameRef` is a proper ref, not just
+ ref-like.
+ - <csr-id-1611c3ddff6c930deaa4c2440383f5684c029b28/> 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.
+ - <csr-id-8a92ec9834b6d5aa3057c5509f6c13b6a6cd6e1b/> 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.
+ - <csr-id-2becffc85ff6225522fe38482739fb1406ae1060/> 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)
+
+ - <csr-id-0ace957c595c8a38afb7de1462cdc73b617d2a76/> Turn `FullNameRef` into an actual reference type.
+ That way `Cow<'_, FullNameRef>` works as expected.
+
+## 0.12.1 (2022-04-05)
+
+### Changed (BREAKING)
+
+ - <csr-id-1611c3ddff6c930deaa4c2440383f5684c029b28/> 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.
+ - <csr-id-8a92ec9834b6d5aa3057c5509f6c13b6a6cd6e1b/> 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.
+ - <csr-id-2becffc85ff6225522fe38482739fb1406ae1060/> 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
+
+ - <csr-id-ecd60d7a75d4aef7c37cd0b28b57a8aea1166858/> add `FullName(Ref)::category_and_shortname()`
+ It's a combination of `shorten()` and `category()` for convenience.
+ - <csr-id-9cccce35e527cdda58e01b03cd335a527418cf14/> `Category::LinkedRef`
+ With it one can access all refs as advertised.
+ - <csr-id-eada5dfdd4981dbb032e8f155e3829eb5d1f380f/> `Category::MainRef`
+ With it it will be possible to compute all paths correctly and actually
+ perform certain operations as documented.
+ - <csr-id-0304b7fad3ae5e3ac1fea71e30658474a770184b/> `Category::(WorktreePrivate|Bisect|Rewritten)`
+ - <csr-id-612a2dbf7f70a8eb44b7278fccd4f1589749968a/> `Category::LinkedPseudoRef`
+ - <csr-id-613b5844e74535d391339bd8e7c106e18257b917/> Add `Category::MainPseudoRef`
+ - <csr-id-6ccfea97d30dbfa013e1633c77c5a26ab5cbaf8f/> `Category::PseudoRef`
+
+## 0.12.0 (2022-04-03)
+
+### New Features
+
+ - <csr-id-e7e4ba2739e5a15e826b5b4d9ef2b45a1cb016cc/> `Fullname(Ref)::category()` and `Category`
+ A way to classify references.
+ - <csr-id-af2d399261e4131299c2279904a1f224c116db66/> FullName(Ref)::strip_prefix()
+ Get a short-hand for any reference name.
+ - <csr-id-e4d6685064ad2b433f8acd3a74b320bf0169a994/> 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.
+ - <csr-id-28e3251ee1996f638eaa0bc7b39b06be436f6eb7/> FullNameRef::file_name()
+ - <csr-id-cf50ae2b33da0161d801b4c0a9cd8b5d24bb3510/> Display implementation for `FullName`.
+
+### Bug Fixes
+
+ - <csr-id-42e0487286c1f745837c0ce337ed7c9d86b14516/> support Rust 1.52
+
+### Changed (BREAKING)
+
+ - <csr-id-7984e19417dff13445f3ef2e15dea96bbd194ce5/> `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)
+
+<csr-id-c46dec311c76a83dba136be5dba6b70d739c354d/>
+<csr-id-ebc7f47708a63c3df4415ba0e702660d976dfb3e/>
+<csr-id-2290d006705ff47ad780b009fe58ee422b3285af/>
+
+### New Features
+
+ - <csr-id-28e3251ee1996f638eaa0bc7b39b06be436f6eb7/> FullNameRef::file_name()
+ - <csr-id-f6181afef285b32968b852467235edf3d7d99a66/> 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.
+ - <csr-id-03bcac2763076bfd720b99d60fd036b4d5d00995/> add Reference::peel_to_id_in_place_packed() and Reference::follow_packed()
+ This allows a stable/non-changing buffer to be used.
+
+### Bug Fixes
+
+ - <csr-id-42e0487286c1f745837c0ce337ed7c9d86b14516/> support Rust 1.52
+
+### Changed (BREAKING)
+
+ - <csr-id-dea6659a404bf8b2ad1290549653c776ec04f964/> 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)
+
+<csr-id-951c050ecbb70c9de216603e55c7cfbc89a067e3/>
+<csr-id-0e1875363fea09452789d7a90fc6860a7996d6d3/>
+
+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
+
+ - <csr-id-6a17416557112a6464e548c5de1c46e563b3a187/> Add `file::Store::iter_(prefixed_)packed()`.
+
+ These methods allow using an own packed buffer, usually obtained through
+ `cached_packed_buffer()`.
+ - <csr-id-9eb3a31d1f9f519e153e8df3fc3faaff278aed85/> add `file::Store::cached_packed_buffer()` for packed refs snapshots
+ - <csr-id-b030884447284daf0f2251f574c0ddf9993b2792/> 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)
+
+ - <csr-id-b431fb0fb58b5e2e8aadbbd6aead55c0e42bd67b/> 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.
+ - <csr-id-80f3d504eeb669f16c5621fac06f6c763ce84e47/> 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.
+ - <csr-id-bfb32aee4e64fd6b1f18c830623cc3fddd059874/> 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()`.
+ - <csr-id-5d498a33236391d8e456f267b1bf6af24de66f11/> 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.
+ - <csr-id-4641499abe00acf6eef0ab6d6bf261b0a27795f8/> file::ReferenceExt::follow(…) now without packed refs parameter
+ - <csr-id-55940eb8316d83ac1376c57ba25b3115d62f2012/> `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.
+ - <csr-id-15d429bb50602363292453606902bdce5042d9a5/> 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.
+ - <csr-id-95247322a8191edfa7fac9c5aa72b40239f3aa88/> move `gix_ref::file::WriteRefLog` to `gix_ref::store::WriteRefLog`
+
+### Other (BREAKING)
+
+ - <csr-id-951c050ecbb70c9de216603e55c7cfbc89a067e3/> 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)
+
+ - <csr-id-0e1875363fea09452789d7a90fc6860a7996d6d3/> `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
+
+ - <csr-id-c0fc4f6f1b42c117275be85e1c2e6893b58007ba/> PartialNameRef<'static>::join() for building paths on the fly
+ - <csr-id-b7aab9efd42975e8f2dcb5c97e51495996175702/> 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)
+
+<csr-id-4ed4b2da50557aff540685441f4b5c7d5e582977/>
+<csr-id-293bfc0278c5983c0beaec93253fb51f00d81156/>
+<csr-id-90e6128727932f917c485f411e623fc6a9c2ad4d/>
+
+This release contains no functional changes, but is considered breaking for safety reasons
+as `gix-traverse` is signalling a breaking change.
+
+### Other
+
+ - <csr-id-293bfc0278c5983c0beaec93253fb51f00d81156/> 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.
+ - <csr-id-90e6128727932f917c485f411e623fc6a9c2ad4d/> improve changelog format
+
+### Other
+
+ - <csr-id-4ed4b2da50557aff540685441f4b5c7d5e582977/> add panicking `Target::id()` and `TargetRef::id()`
+
+## v0.7.3 (2021-09-10)
+
+<csr-id-293bfc0278c5983c0beaec93253fb51f00d81156/>
+
+- 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
+
+ - <csr-id-293bfc0278c5983c0beaec93253fb51f00d81156/> 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)
+
+<csr-id-90e6128727932f917c485f411e623fc6a9c2ad4d/>
+
+### Other
+
+ - <csr-id-90e6128727932f917c485f411e623fc6a9c2ad4d/> improve changelog format
+
+## 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)
+
diff --git a/vendor/gix-ref/Cargo.toml b/vendor/gix-ref/Cargo.toml
index fdbe2484a..b619669c0 100644
--- a/vendor/gix-ref/Cargo.toml
+++ b/vendor/gix-ref/Cargo.toml
@@ -13,9 +13,13 @@
edition = "2021"
rust-version = "1.64"
name = "gix-ref"
-version = "0.29.0"
+version = "0.30.0"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
-include = ["src/**/*"]
+include = [
+ "src/**/*",
+ "LICENSE-*",
+ "CHANGELOG.md",
+]
autotests = false
description = "A crate to handle git references"
license = "MIT/Apache-2.0"
@@ -40,33 +44,33 @@ version = "0.2.1"
optional = true
[dependencies.gix-actor]
-version = "^0.20.0"
+version = "^0.21.0"
[dependencies.gix-features]
-version = "^0.29.0"
+version = "^0.30.0"
features = ["walkdir"]
[dependencies.gix-fs]
-version = "^0.1.1"
+version = "^0.2.0"
[dependencies.gix-hash]
-version = "^0.11.1"
+version = "^0.11.2"
[dependencies.gix-lock]
-version = "^5.0.0"
+version = "^6.0.0"
[dependencies.gix-object]
-version = "^0.29.1"
+version = "^0.30.0"
[dependencies.gix-path]
-version = "^0.8.0"
+version = "^0.8.1"
[dependencies.gix-tempfile]
-version = "^5.0.0"
+version = "^6.0.0"
default-features = false
[dependencies.gix-validate]
-version = "^0.7.3"
+version = "^0.7.5"
[dependencies.memmap2]
version = "0.5.0"
diff --git a/vendor/gix-ref/LICENSE-APACHE b/vendor/gix-ref/LICENSE-APACHE
new file mode 100644
index 000000000..a51f59a06
--- /dev/null
+++ b/vendor/gix-ref/LICENSE-APACHE
@@ -0,0 +1,191 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ Copyright 2018-2021 Sebastian Thiel, and [contributors](https://github.com/byron/gitoxide/contributors)
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/vendor/gix-ref/LICENSE-MIT b/vendor/gix-ref/LICENSE-MIT
new file mode 100644
index 000000000..b58e818f1
--- /dev/null
+++ b/vendor/gix-ref/LICENSE-MIT
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018-2021 Sebastian Thiel, and [contributors](https://github.com/byron/gitoxide/contributors).
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/vendor/gix-ref/src/fullname.rs b/vendor/gix-ref/src/fullname.rs
index 8870e6219..257bbe060 100644
--- a/vendor/gix-ref/src/fullname.rs
+++ b/vendor/gix-ref/src/fullname.rs
@@ -92,8 +92,7 @@ impl FullNameRef {
/// If there is no such prefix, the original name is returned.
pub fn shorten(&self) -> &BStr {
self.category_and_short_name()
- .map(|(_, short)| short)
- .unwrap_or_else(|| self.0.as_bstr())
+ .map_or_else(|| self.0.as_bstr(), |(_, short)| short)
}
/// Classify this name, or return `None` if it's unclassified.
diff --git a/vendor/gix-ref/src/lib.rs b/vendor/gix-ref/src/lib.rs
index cd2e8c27e..2c714d47a 100644
--- a/vendor/gix-ref/src/lib.rs
+++ b/vendor/gix-ref/src/lib.rs
@@ -5,7 +5,7 @@
//! Refs are the way to keep track of objects and come in two flavors.
//!
//! * symbolic refs are pointing to another reference
-//! * peeled refs point to the an object by its [ObjectId][gix_hash::ObjectId]
+//! * peeled refs point to the an object by its [`ObjectId`][gix_hash::ObjectId]
//!
//! They can be identified by a relative path and stored in various flavors.
//!
diff --git a/vendor/gix-ref/src/name.rs b/vendor/gix-ref/src/name.rs
index 5c22069a9..b21fdaf56 100644
--- a/vendor/gix-ref/src/name.rs
+++ b/vendor/gix-ref/src/name.rs
@@ -4,7 +4,7 @@ use gix_object::bstr::{BStr, BString, ByteSlice, ByteVec};
use crate::{Category, FullName, FullNameRef, PartialName, PartialNameRef};
-/// The error used in the [`PartialNameRef`][super::PartialNameRef]::try_from(…) implementations.
+/// The error used in the [`PartialNameRef`][super::PartialNameRef]`::try_from`(…) implementations.
pub type Error = gix_validate::reference::name::Error;
impl<'a> Category<'a> {
@@ -260,7 +260,7 @@ impl convert::TryFrom<BString> for PartialName {
}
}
-/// Note that this method is disagreeing with gix_validate as it allows dashes '-' for some reason.
+/// Note that this method is disagreeing with `gix_validate` as it allows dashes '-' for some reason.
/// Since partial names cannot be created with dashes inside we adjusted this as it's probably unintended or git creates pseudo-refs
/// which wouldn't pass its safety checks.
pub(crate) fn is_pseudo_ref<'a>(name: impl Into<&'a BStr>) -> bool {
diff --git a/vendor/gix-ref/src/store/file/log/line.rs b/vendor/gix-ref/src/store/file/log/line.rs
index 1ac45c75c..99c118ea7 100644
--- a/vendor/gix-ref/src/store/file/log/line.rs
+++ b/vendor/gix-ref/src/store/file/log/line.rs
@@ -88,7 +88,7 @@ pub mod decode {
mod error {
use gix_object::bstr::{BString, ByteSlice};
- /// The error returned by [from_bytes(…)][super::Line::from_bytes()]
+ /// The error returned by [`from_bytes(…)`][super::Line::from_bytes()]
#[derive(Debug)]
pub struct Error {
pub input: BString,
diff --git a/vendor/gix-ref/src/store/file/loose/reflog.rs b/vendor/gix-ref/src/store/file/loose/reflog.rs
index a43d773fe..88a8c2450 100644
--- a/vendor/gix-ref/src/store/file/loose/reflog.rs
+++ b/vendor/gix-ref/src/store/file/loose/reflog.rs
@@ -231,7 +231,7 @@ pub mod create_or_update {
}
mod error {
- /// The error returned by [crate::file::Store::reflog_iter()].
+ /// The error returned by [`crate::file::Store::reflog_iter()`].
#[derive(Debug, thiserror::Error)]
#[allow(missing_docs)]
pub enum Error {
diff --git a/vendor/gix-ref/src/store/file/overlay_iter.rs b/vendor/gix-ref/src/store/file/overlay_iter.rs
index 4c1109beb..795eda654 100644
--- a/vendor/gix-ref/src/store/file/overlay_iter.rs
+++ b/vendor/gix-ref/src/store/file/overlay_iter.rs
@@ -197,7 +197,7 @@ impl<'s> Platform<'s> {
/// As [`iter(…)`][file::Store::iter()], but filters by `prefix`, i.e. "refs/heads".
///
- /// Please note that "refs/heads` or "refs\\heads" is equivalent to "refs/heads/"
+ /// Please note that "refs/heads" or "refs\\heads" is equivalent to "refs/heads/"
pub fn prefixed(&self, prefix: impl AsRef<Path>) -> std::io::Result<LooseThenPacked<'_, '_>> {
self.store
.iter_prefixed_packed(prefix, self.packed.as_ref().map(|b| &***b))
@@ -349,7 +349,7 @@ impl file::Store {
/// As [`iter(…)`][file::Store::iter()], but filters by `prefix`, i.e. "refs/heads".
///
- /// Please note that "refs/heads` or "refs\\heads" is equivalent to "refs/heads/"
+ /// Please note that "refs/heads" or "refs\\heads" is equivalent to "refs/heads/"
pub fn iter_prefixed_packed<'s, 'p>(
&'s self,
prefix: impl AsRef<Path>,
diff --git a/vendor/gix-ref/src/store/file/raw_ext.rs b/vendor/gix-ref/src/store/file/raw_ext.rs
index 8bdf8392d..b99bbbdd9 100644
--- a/vendor/gix-ref/src/store/file/raw_ext.rs
+++ b/vendor/gix-ref/src/store/file/raw_ext.rs
@@ -17,17 +17,17 @@ pub trait ReferenceExt: Sealed {
/// A step towards obtaining forward or reverse iterators on reference logs.
fn log_iter<'a, 's>(&'a self, store: &'s file::Store) -> log::iter::Platform<'a, 's>;
- /// For details, see [Reference::log_exists()].
+ /// For details, see [`Reference::log_exists()`].
fn log_exists(&self, store: &file::Store) -> bool;
- /// For details, see [Reference::peel_to_id_in_place()].
+ /// For details, see [`Reference::peel_to_id_in_place()`].
fn peel_to_id_in_place<E: std::error::Error + Send + Sync + 'static>(
&mut self,
store: &file::Store,
find: impl FnMut(gix_hash::ObjectId, &mut Vec<u8>) -> Result<Option<(gix_object::Kind, &[u8])>, E>,
) -> Result<ObjectId, peel::to_id::Error>;
- /// For details, see [Reference::peel_to_id_in_place()], with support for a known stable packed buffer.
+ /// For details, see [`Reference::peel_to_id_in_place()`], with support for a known stable packed buffer.
fn peel_to_id_in_place_packed<E: std::error::Error + Send + Sync + 'static>(
&mut self,
store: &file::Store,
diff --git a/vendor/gix-ref/src/store/file/transaction/commit.rs b/vendor/gix-ref/src/store/file/transaction/commit.rs
index 58e6a7c99..df32a1403 100644
--- a/vendor/gix-ref/src/store/file/transaction/commit.rs
+++ b/vendor/gix-ref/src/store/file/transaction/commit.rs
@@ -37,7 +37,7 @@ impl<'s, 'p> Transaction<'s, 'p> {
);
// Perform updates first so live commits remain referenced
- for change in updates.iter_mut() {
+ for change in &mut updates {
assert!(!change.update.deref, "Deref mode is turned into splits and turned off");
match &change.update.change {
// reflog first, then reference
@@ -114,7 +114,7 @@ impl<'s, 'p> Transaction<'s, 'p> {
}
}
- for change in updates.iter_mut() {
+ for change in &mut updates {
let (reflog_root, relative_name) = self.store.reflog_base_and_relative_path(change.update.name.as_ref());
match &change.update.change {
Change::Update { .. } => {}
@@ -147,7 +147,7 @@ impl<'s, 'p> Transaction<'s, 'p> {
self.store.force_refresh_packed_buffer().ok();
}
- for change in updates.iter_mut() {
+ for change in &mut updates {
let take_lock_and_delete = match &change.update.change {
Change::Update {
log: LogChange { mode, .. },
diff --git a/vendor/gix-ref/src/store/file/transaction/prepare.rs b/vendor/gix-ref/src/store/file/transaction/prepare.rs
index fdb29619d..bfc5acabc 100644
--- a/vendor/gix-ref/src/store/file/transaction/prepare.rs
+++ b/vendor/gix-ref/src/store/file/transaction/prepare.rs
@@ -75,17 +75,17 @@ impl<'s, 'p> Transaction<'s, 'p> {
(PreviousValue::MustNotExist, _) => {
panic!("BUG: MustNotExist constraint makes no sense if references are to be deleted")
}
- (PreviousValue::ExistingMustMatch(_), None)
- | (PreviousValue::MustExist, Some(_))
- | (PreviousValue::Any, Some(_))
- | (PreviousValue::Any, None) => {}
- (PreviousValue::MustExist, None) | (PreviousValue::MustExistAndMatch(_), None) => {
+ (PreviousValue::ExistingMustMatch(_) | PreviousValue::Any, None)
+ | (PreviousValue::MustExist | PreviousValue::Any, Some(_)) => {}
+ (PreviousValue::MustExist | PreviousValue::MustExistAndMatch(_), None) => {
return Err(Error::DeleteReferenceMustExist {
full_name: change.name(),
})
}
- (PreviousValue::MustExistAndMatch(previous), Some(existing))
- | (PreviousValue::ExistingMustMatch(previous), Some(existing)) => {
+ (
+ PreviousValue::MustExistAndMatch(previous) | PreviousValue::ExistingMustMatch(previous),
+ Some(existing),
+ ) => {
let actual = existing.target.clone();
if *previous != actual {
let expected = previous.clone();
@@ -124,8 +124,7 @@ impl<'s, 'p> Transaction<'s, 'p> {
match (&expected, &existing_ref) {
(PreviousValue::Any, _)
| (PreviousValue::MustExist, Some(_))
- | (PreviousValue::MustNotExist, None)
- | (PreviousValue::ExistingMustMatch(_), None) => {}
+ | (PreviousValue::MustNotExist | PreviousValue::ExistingMustMatch(_), None) => {}
(PreviousValue::MustExist, None) => {
let expected = Target::Peeled(store.object_hash.null());
let full_name = change.name();
@@ -141,8 +140,10 @@ impl<'s, 'p> Transaction<'s, 'p> {
});
}
}
- (PreviousValue::MustExistAndMatch(previous), Some(existing))
- | (PreviousValue::ExistingMustMatch(previous), Some(existing)) => {
+ (
+ PreviousValue::MustExistAndMatch(previous) | PreviousValue::ExistingMustMatch(previous),
+ Some(existing),
+ ) => {
if *previous != existing.target {
let actual = existing.target.clone();
let expected = previous.to_owned();
@@ -180,11 +181,11 @@ impl<'s, 'p> Transaction<'s, 'p> {
};
if (is_effective && !direct_to_packed_refs) || is_symbolic {
- let mut lock = lock.take().map(Ok).unwrap_or_else(obtain_lock)?;
+ let mut lock = lock.take().map_or_else(obtain_lock, Ok)?;
lock.with_mut(|file| match new {
Target::Peeled(oid) => write!(file, "{oid}"),
- Target::Symbolic(name) => write!(file, "ref: {}", name.0),
+ Target::Symbolic(name) => writeln!(file, "ref: {}", name.0),
})?;
Some(lock.close()?)
} else {
@@ -249,7 +250,7 @@ impl<'s, 'p> Transaction<'s, 'p> {
{
let mut edits_for_packed_transaction = Vec::<RefEdit>::new();
let mut needs_packed_refs_lookups = false;
- for edit in updates.iter() {
+ for edit in &updates {
let log_mode = match edit.update.change {
Change::Update {
log: LogChange { mode, .. },
diff --git a/vendor/gix-ref/src/store/general/handle/find.rs b/vendor/gix-ref/src/store/general/handle/find.rs
index 9792b9b7d..2f11f1755 100644
--- a/vendor/gix-ref/src/store/general/handle/find.rs
+++ b/vendor/gix-ref/src/store/general/handle/find.rs
@@ -5,7 +5,7 @@ use crate::{store, PartialNameRef, Reference};
mod error {
use std::convert::Infallible;
- /// The error returned by [crate::file::Store::find_loose()].
+ /// The error returned by [`crate::file::Store::find_loose()`].
#[derive(Debug, thiserror::Error)]
#[allow(missing_docs)]
pub enum Error {
diff --git a/vendor/gix-ref/src/store/general/init.rs b/vendor/gix-ref/src/store/general/init.rs
index a9112c0a6..52c582a7a 100644
--- a/vendor/gix-ref/src/store/general/init.rs
+++ b/vendor/gix-ref/src/store/general/init.rs
@@ -3,7 +3,7 @@ use std::path::PathBuf;
use crate::store::WriteReflog;
mod error {
- /// The error returned by [crate::Store::at()].
+ /// The error returned by [`crate::Store::at()`].
#[derive(Debug, thiserror::Error)]
#[allow(missing_docs)]
pub enum Error {
diff --git a/vendor/gix-ref/src/store/packed/transaction.rs b/vendor/gix-ref/src/store/packed/transaction.rs
index 26cc84b9b..e487e218c 100644
--- a/vendor/gix-ref/src/store/packed/transaction.rs
+++ b/vendor/gix-ref/src/store/packed/transaction.rs
@@ -68,7 +68,7 @@ impl packed::Transaction {
.collect();
let mut buf = Vec::new();
- for edit in edits.iter_mut() {
+ for edit in &mut edits {
if let Change::Update {
new: Target::Peeled(new),
..
diff --git a/vendor/gix-ref/src/transaction/mod.rs b/vendor/gix-ref/src/transaction/mod.rs
index d13ff2e70..77ab7349d 100644
--- a/vendor/gix-ref/src/transaction/mod.rs
+++ b/vendor/gix-ref/src/transaction/mod.rs
@@ -96,19 +96,11 @@ impl Change {
match self {
// TODO: use or-patterns once MRV is larger than 1.52 (and this is supported)
Change::Update {
- expected: PreviousValue::MustExistAndMatch(previous),
- ..
- }
- | Change::Update {
- expected: PreviousValue::ExistingMustMatch(previous),
- ..
- }
- | Change::Delete {
- expected: PreviousValue::MustExistAndMatch(previous),
+ expected: PreviousValue::MustExistAndMatch(previous) | PreviousValue::ExistingMustMatch(previous),
..
}
| Change::Delete {
- expected: PreviousValue::ExistingMustMatch(previous),
+ expected: PreviousValue::MustExistAndMatch(previous) | PreviousValue::ExistingMustMatch(previous),
..
} => previous,
_ => return None,