diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1062a004600..ba26c333743 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,67 @@ 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.16.0 (2022-09-20)
+
+### Changed
+
+ - `ein tool hours -s` was split into `-f|--file-stats` and `-l|line-stats`.
+ That way more information is generated at increasingly high costs.
+
+### New Features
+
+ - `ein tool hours --stat` to collect additional statistics per author.
+ Note that these are expensive and unconditionally use threads to speed
+ up these computations.
+ - `ein tool hours -b` ignores bots.
+ For now it only considers bots with names containing `[bot]`.
+
+### Commit Statistics
+
+
+
+ - 26 commits contributed to the release over the course of 27 calendar days.
+ - 27 days passed between releases.
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - refactor ([`11851f3`](https://github.com/Byron/gitoxide/commit/11851f334f642e7bd69bcbfc7ad4f1990fc326ba))
+ - option to print server information about the connection ([`4720666`](https://github.com/Byron/gitoxide/commit/4720666c8bfdaa3acc5c832b44755d4b4f86e16e))
+ - show fixes as well ([`2237495`](https://github.com/Byron/gitoxide/commit/2237495d82624b39bf75c6430549424a5e36b8bb))
+ - Correct printing of tag information (even though it doesn't look great) ([`f4d8198`](https://github.com/Byron/gitoxide/commit/f4d8198992b4c45f64d81e20f40a1cad69883162))
+ - wire up the `ref-map` sub-command. ([`94c2b78`](https://github.com/Byron/gitoxide/commit/94c2b785f892f85503b8927c7fa98ae99d677be7))
+ - Select `gix` commands will now load the git installation configuration ([`23d2dec`](https://github.com/Byron/gitoxide/commit/23d2dec375305c39d472c4f8ff764274dd033f6b))
+ - refactor ([`7abc0a3`](https://github.com/Byron/gitoxide/commit/7abc0a39205b9f374c90c4750fe6cc9b3749d7b9))
+ - Add sketch of `gix credential` ([`642e21f`](https://github.com/Byron/gitoxide/commit/642e21fc58d8d4b68cba3067c88d44c019ec4ace))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - `ein tool hours -s` was split into `-f|--file-stats` and `-l|line-stats`. ([`3c7c9a7`](https://github.com/Byron/gitoxide/commit/3c7c9a735f5771ef787cbc86b46cbafc9226f4d6))
+ - upgrade to prodash 20.1 for `Progress::counter()` feature ([`0ac4a2c`](https://github.com/Byron/gitoxide/commit/0ac4a2c514aeb94d8e90ce28ae7a0e0350c21ab2))
+ - `ein tool hours --stat` to collect additional statistics per author. ([`28c4cae`](https://github.com/Byron/gitoxide/commit/28c4cae70aab2bd5b479961fcc6ee91ff80f651b))
+ * **Uncategorized**
+ - use rev-specs instead of ref-names ([`cf7182e`](https://github.com/Byron/gitoxide/commit/cf7182e3390c03df97c10cd101440f7aa8874904))
+ - `ein tool hours -b` ignores bots. ([`5d0332f`](https://github.com/Byron/gitoxide/commit/5d0332f51c63c5456a28c8f3f466ad805b2e0626))
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'macos-exfat' ([`f256f8f`](https://github.com/Byron/gitoxide/commit/f256f8fb7603f83d44acda07386f277c65ac652c))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - A basic implementation of rev-list without anything fancy ([`791dd66`](https://github.com/Byron/gitoxide/commit/791dd666430fe0586c7db75b352487a72d3789e7))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Merge branch 'main' into filter-refs-by-spec ([`cef0b51`](https://github.com/Byron/gitoxide/commit/cef0b51ade2a3301fa09ede7a425aa1fe3527e78))
+ - Merge branch 'main' into filter-refs-by-spec ([`dbfa328`](https://github.com/Byron/gitoxide/commit/dbfa3282cf876596b250b2040c1ec0b761741796))
+ - Merge branch 'main' into filter-refs-by-spec ([`cfa1440`](https://github.com/Byron/gitoxide/commit/cfa144031dbcac2707ab0cec012bc35e78f9c475))
+
+
## 0.15.0 (2022-08-24)
@@ -33,9 +94,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 14 commits contributed to the release over the course of 3 calendar days.
+ - 15 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Thanks Clippy
@@ -51,6 +112,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - Support for -c CLI config overrides in `gix config`. ([`19c1746`](https://github.com/Byron/gitoxide/commit/19c1746cefca9bc76537637ec99634eb4cf66a92))
- remove `gix free remote ref-list` in favor of `gix remote refs` ([`dda9957`](https://github.com/Byron/gitoxide/commit/dda995790c260131048484a11e66185b9c841311))
- Support for `-c/--config` in `gix` ([`45a30f0`](https://github.com/Byron/gitoxide/commit/45a30f0f31a99cda5cf105408e9c3905f43071f2))
- refactor ([`e0be6e9`](https://github.com/Byron/gitoxide/commit/e0be6e9558add3255de63f3785306daace2707a6))
@@ -95,7 +157,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 15 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Commit Details
@@ -137,7 +199,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 38 commits contributed to the release over the course of 101 calendar days.
- 108 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#331](https://github.com/Byron/gitoxide/issues/331), [#427](https://github.com/Byron/gitoxide/issues/427)
### Thanks Clippy
@@ -209,7 +271,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 5 commits contributed to the release over the course of 1 calendar day.
- 2 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#298](https://github.com/Byron/gitoxide/issues/298)
### Commit Details
@@ -269,7 +331,7 @@ which usually are `Clone` too as they are passed by immutable reference (which i
- 61 commits contributed to the release over the course of 126 calendar days.
- 165 days passed between releases.
- - 10 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 10 commits were understood as [conventional](https://www.conventionalcommits.org).
- 12 unique issues were worked on: [#215](https://github.com/Byron/gitoxide/issues/215), [#263](https://github.com/Byron/gitoxide/issues/263), [#266](https://github.com/Byron/gitoxide/issues/266), [#279](https://github.com/Byron/gitoxide/issues/279), [#287](https://github.com/Byron/gitoxide/issues/287), [#289](https://github.com/Byron/gitoxide/issues/289), [#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), [#366](https://github.com/Byron/gitoxide/issues/366), [#67](https://github.com/Byron/gitoxide/issues/67)
### Commit Details
@@ -368,7 +430,7 @@ to the `clap-derive` crate.
- 1 commit contributed to the release over the course of 1 calendar day.
- 4 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -411,7 +473,7 @@ A first usable version of `git-repository` to make using `gitoxide` from your ap
- 4 commits contributed to the release over the course of 26 calendar days.
- 35 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#200](https://github.com/Byron/gitoxide/issues/200), [#67](https://github.com/Byron/gitoxide/issues/67)
## v0.8.4 (2021-09-10)
@@ -426,7 +488,7 @@ This is a maintenance release.
- 1 commit contributed to the release over the course of 8 calendar days.
- 20 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
## v0.8.2 (2021-08-17)
@@ -437,7 +499,7 @@ This is a maintenance release.
- 1 commit contributed to the release over the course of 1 calendar day.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
## v0.8.1 (2021-08-15)
@@ -448,7 +510,7 @@ This is a maintenance release.
- 43 commits contributed to the release over the course of 95 calendar days.
- 98 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#83](https://github.com/Byron/gitoxide/issues/83)
### Thanks Clippy
@@ -465,7 +527,7 @@ This is a maintenance release.
- 33 commits contributed to the release over the course of 128 calendar days.
- 143 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -497,7 +559,7 @@ Maintenance release without any new features.
- 3 commits contributed to the release over the course of 65 calendar days.
- 84 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -520,7 +582,7 @@ Maintenance release without any new features.
- 1 commit contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
## v0.4.1 (2020-09-18)
@@ -533,7 +595,7 @@ Maintenance release without any new features.
- 2 commits contributed to the release over the course of 6 calendar days.
- 6 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -561,7 +623,7 @@ Maintenance release without any new features.
- 14 commits contributed to the release over the course of 29 calendar days.
- 30 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -600,7 +662,7 @@ Many small and possibly breaking changes are not mentioned here.
- 46 commits contributed to the release over the course of 30 calendar days.
- 31 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -667,7 +729,7 @@ Many small and possibly breaking changes are not mentioned here.
- 53 commits contributed to the release over the course of 765 calendar days.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/Cargo.lock b/Cargo.lock
index a89a532b3a8..c6a07b1c825 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1102,7 +1102,7 @@ dependencies = [
[[package]]
name = "git-actor"
-version = "0.11.4"
+version = "0.12.0"
dependencies = [
"bstr 1.0.1",
"btoi",
@@ -1119,7 +1119,7 @@ dependencies = [
[[package]]
name = "git-attributes"
-version = "0.3.3"
+version = "0.4.0"
dependencies = [
"bstr 1.0.1",
"compact_str",
@@ -1144,7 +1144,7 @@ dependencies = [
[[package]]
name = "git-chunk"
-version = "0.3.1"
+version = "0.3.2"
dependencies = [
"thiserror",
]
@@ -1153,12 +1153,13 @@ dependencies = [
name = "git-command"
version = "0.1.0"
dependencies = [
+ "bstr 1.0.1",
"git-testtools",
]
[[package]]
name = "git-commitgraph"
-version = "0.8.2"
+version = "0.9.0"
dependencies = [
"bstr 1.0.1",
"document-features",
@@ -1173,7 +1174,7 @@ dependencies = [
[[package]]
name = "git-config"
-version = "0.7.1"
+version = "0.8.0"
dependencies = [
"bstr 1.0.1",
"criterion",
@@ -1200,7 +1201,7 @@ dependencies = [
[[package]]
name = "git-config-value"
-version = "0.7.0"
+version = "0.8.0"
dependencies = [
"bitflags",
"bstr 1.0.1",
@@ -1224,7 +1225,7 @@ dependencies = [
[[package]]
name = "git-credentials"
-version = "0.4.0"
+version = "0.5.0"
dependencies = [
"bstr 1.0.1",
"document-features",
@@ -1241,7 +1242,7 @@ dependencies = [
[[package]]
name = "git-date"
-version = "0.1.0"
+version = "0.2.0"
dependencies = [
"bstr 1.0.1",
"document-features",
@@ -1255,19 +1256,20 @@ dependencies = [
[[package]]
name = "git-diff"
-version = "0.18.1"
+version = "0.19.0"
dependencies = [
"git-hash",
"git-object",
"git-odb",
"git-testtools",
"git-traverse",
+ "similar",
"thiserror",
]
[[package]]
name = "git-discover"
-version = "0.4.2"
+version = "0.5.0"
dependencies = [
"bstr 1.0.1",
"defer",
@@ -1283,7 +1285,7 @@ dependencies = [
[[package]]
name = "git-features"
-version = "0.22.4"
+version = "0.22.5"
dependencies = [
"bstr 0.2.17",
"bytes",
@@ -1315,7 +1317,7 @@ version = "0.0.0"
[[package]]
name = "git-glob"
-version = "0.3.2"
+version = "0.4.0"
dependencies = [
"bitflags",
"bstr 1.0.1",
@@ -1326,7 +1328,7 @@ dependencies = [
[[package]]
name = "git-hash"
-version = "0.9.9"
+version = "0.9.10"
dependencies = [
"document-features",
"git-testtools",
@@ -1337,7 +1339,7 @@ dependencies = [
[[package]]
name = "git-index"
-version = "0.4.3"
+version = "0.5.0"
dependencies = [
"atoi",
"bitflags",
@@ -1374,7 +1376,7 @@ dependencies = [
[[package]]
name = "git-mailmap"
-version = "0.3.2"
+version = "0.4.0"
dependencies = [
"bstr 1.0.1",
"document-features",
@@ -1390,7 +1392,7 @@ version = "0.0.0"
[[package]]
name = "git-object"
-version = "0.20.3"
+version = "0.21.0"
dependencies = [
"bstr 1.0.1",
"btoi",
@@ -1411,7 +1413,7 @@ dependencies = [
[[package]]
name = "git-odb"
-version = "0.32.0"
+version = "0.33.0"
dependencies = [
"arc-swap",
"document-features",
@@ -1434,7 +1436,7 @@ dependencies = [
[[package]]
name = "git-pack"
-version = "0.22.0"
+version = "0.23.0"
dependencies = [
"bstr 1.0.1",
"bytesize",
@@ -1464,7 +1466,7 @@ dependencies = [
[[package]]
name = "git-packetline"
-version = "0.12.7"
+version = "0.13.0"
dependencies = [
"async-std",
"bstr 1.0.1",
@@ -1482,7 +1484,7 @@ dependencies = [
[[package]]
name = "git-path"
-version = "0.4.2"
+version = "0.5.0"
dependencies = [
"bstr 1.0.1",
"tempfile",
@@ -1491,7 +1493,7 @@ dependencies = [
[[package]]
name = "git-pathspec"
-version = "0.0.0"
+version = "0.1.0"
dependencies = [
"bitflags",
"bstr 1.0.1",
@@ -1541,7 +1543,7 @@ dependencies = [
[[package]]
name = "git-quote"
-version = "0.2.1"
+version = "0.3.0"
dependencies = [
"bstr 1.0.1",
"btoi",
@@ -1554,7 +1556,7 @@ version = "0.0.0"
[[package]]
name = "git-ref"
-version = "0.15.4"
+version = "0.16.0"
dependencies = [
"document-features",
"git-actor",
@@ -1577,7 +1579,7 @@ dependencies = [
[[package]]
name = "git-refspec"
-version = "0.1.1"
+version = "0.2.0"
dependencies = [
"bstr 1.0.1",
"git-hash",
@@ -1643,7 +1645,7 @@ dependencies = [
[[package]]
name = "git-revision"
-version = "0.4.4"
+version = "0.5.0"
dependencies = [
"bstr 1.0.1",
"document-features",
@@ -1659,7 +1661,7 @@ dependencies = [
[[package]]
name = "git-sec"
-version = "0.3.1"
+version = "0.4.0"
dependencies = [
"bitflags",
"dirs",
@@ -1681,7 +1683,7 @@ version = "0.0.0"
[[package]]
name = "git-tempfile"
-version = "2.0.4"
+version = "2.0.5"
dependencies = [
"dashmap",
"libc",
@@ -1693,7 +1695,7 @@ dependencies = [
[[package]]
name = "git-testtools"
-version = "0.8.0"
+version = "0.9.0"
dependencies = [
"bstr 1.0.1",
"crc",
@@ -1744,7 +1746,7 @@ dependencies = [
[[package]]
name = "git-traverse"
-version = "0.16.4"
+version = "0.17.0"
dependencies = [
"git-hash",
"git-object",
@@ -1760,7 +1762,7 @@ version = "0.0.0"
[[package]]
name = "git-url"
-version = "0.8.0"
+version = "0.9.0"
dependencies = [
"bstr 1.0.1",
"document-features",
@@ -1774,7 +1776,7 @@ dependencies = [
[[package]]
name = "git-validate"
-version = "0.5.5"
+version = "0.6.0"
dependencies = [
"bstr 1.0.1",
"git-testtools",
@@ -1783,7 +1785,7 @@ dependencies = [
[[package]]
name = "git-worktree"
-version = "0.4.3"
+version = "0.5.0"
dependencies = [
"bstr 1.0.1",
"document-features",
@@ -1847,6 +1849,7 @@ dependencies = [
"async-trait",
"blocking",
"bytesize",
+ "crossbeam-channel",
"document-features",
"fs-err",
"futures-io",
@@ -1858,6 +1861,8 @@ dependencies = [
"git-url",
"itertools",
"jwalk",
+ "mime_guess",
+ "num_cpus",
"serde",
"serde_json",
"tempfile",
@@ -2196,6 +2201,22 @@ dependencies = [
"autocfg",
]
+[[package]]
+name = "mime"
+version = "0.3.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+
+[[package]]
+name = "mime_guess"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
+dependencies = [
+ "mime",
+ "unicase",
+]
+
[[package]]
name = "minimal-lexical"
version = "0.2.1"
@@ -2533,9 +2554,9 @@ dependencies = [
[[package]]
name = "prodash"
-version = "20.0.0"
+version = "20.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65ae8c4c227abf4616b5819a60cf72b34c5c2541581f916c174ec2b2c1566da0"
+checksum = "cd4e8b029f29b4eb8f95315957fb7ac8a8fd1924405fadf885b0e208fe34ba39"
dependencies = [
"async-io",
"atty",
@@ -2899,6 +2920,9 @@ name = "similar"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62ac7f900db32bf3fd12e0117dd3dc4da74bc52ebaac97f39668446d89694803"
+dependencies = [
+ "bstr 0.2.17",
+]
[[package]]
name = "slab"
diff --git a/Cargo.toml b/Cargo.toml
index fc82ce0ad02..3f0fbc5c8ff 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -80,13 +80,13 @@ cache-efficiency-debug = ["git-features/cache-efficiency-debug"]
anyhow = "1.0.42"
gitoxide-core = { version = "^0.18.0", path = "gitoxide-core" }
-git-features = { version = "^0.22.4", path = "git-features" }
+git-features = { version = "^0.22.5", path = "git-features" }
git-repository = { version = "^0.24.0", path = "git-repository", default-features = false }
git-transport-for-configuration-only = { package = "git-transport", optional = true, version = "^0.20.0", path = "git-transport" }
clap = { version = "3.2.5", features = ["derive", "cargo"] }
-prodash = { version = "20.0.0", optional = true, default-features = false }
+prodash = { version = "20.2.0", optional = true, default-features = false }
atty = { version = "0.2.14", optional = true, default-features = false }
env_logger = { version = "0.9.0", default-features = false }
crosstermion = { version = "0.10.1", optional = true, default-features = false }
diff --git a/cargo-smart-release/src/git/history.rs b/cargo-smart-release/src/git/history.rs
index aa4a6577278..658103a1945 100644
--- a/cargo-smart-release/src/git/history.rs
+++ b/cargo-smart-release/src/git/history.rs
@@ -237,10 +237,10 @@ fn add_item_if_package_changed<'a>(
let mut repo = ctx.repo.clone();
repo.object_cache_size(1024 * 1024);
let current = git::Tree::from_data(item.id, data_by_tree_id[&item.tree_id].to_owned(), &ctx.repo)
- .lookup_path(components.iter().copied())?;
+ .lookup_entry(components.iter().copied())?;
let parent = match item.parent_tree_id {
Some(tree_id) => git::Tree::from_data(tree_id, data_by_tree_id[&tree_id].to_owned(), &ctx.repo)
- .lookup_path(components.iter().copied())?,
+ .lookup_entry(components.iter().copied())?,
None => None,
};
match (current, parent) {
diff --git a/cargo-smart-release/src/git/mod.rs b/cargo-smart-release/src/git/mod.rs
index 0f35572d888..96c3b433926 100644
--- a/cargo-smart-release/src/git/mod.rs
+++ b/cargo-smart-release/src/git/mod.rs
@@ -47,14 +47,14 @@ pub fn change_since_last_release(package: &Package, ctx: &crate::Context) -> any
.object()?
.peel_to_kind(object::Kind::Tree)?
.into_tree()
- .lookup_path(components.clone())?
+ .lookup_entry(components.clone())?
.expect("path must exist in current commit")
.oid;
let released_dir_id = released_target
.object()?
.peel_to_kind(object::Kind::Tree)?
.into_tree()
- .lookup_path(components)?
+ .lookup_entry(components)?
.expect("path must exist as it was supposedly released there")
.oid;
diff --git a/experiments/diffing/Cargo.toml b/experiments/diffing/Cargo.toml
index 0cc07fde6cf..75cce508790 100644
--- a/experiments/diffing/Cargo.toml
+++ b/experiments/diffing/Cargo.toml
@@ -10,6 +10,6 @@ publish = false
[dependencies]
anyhow = "1"
git-repository = { version = "^0.24.0", path = "../../git-repository" }
-git-features-for-config = { package = "git-features", version = "^0.22.4", path = "../../git-features", features = ["cache-efficiency-debug"] }
+git-features-for-config = { package = "git-features", version = "^0.22.5", path = "../../git-features", features = ["cache-efficiency-debug"] }
git2 = "0.14"
rayon = "1.5.0"
diff --git a/git-actor/CHANGELOG.md b/git-actor/CHANGELOG.md
index 935a834deaa..4632ad7c9e7 100644
--- a/git-actor/CHANGELOG.md
+++ b/git-actor/CHANGELOG.md
@@ -5,6 +5,36 @@ 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.12.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 4 commits contributed to the release over the course of 15 calendar days.
+ - 27 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Release git-features v0.22.4, git-url v0.8.0, safety bump 4 crates ([`1d4600a`](https://github.com/Byron/gitoxide/commit/1d4600ae51475c2e225f96c16c41e2c4a2b3f2aa))
+
+
## 0.11.4 (2022-08-24)
A maintenance release without user facing changes.
@@ -13,8 +43,8 @@ A maintenance release without user facing changes.
- - 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits contributed to the release.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -24,6 +54,7 @@ A maintenance release without user facing changes.
view details
* **Uncategorized**
+ - Release git-date v0.1.0, git-actor v0.11.4, git-revision v0.4.3, git-repository v0.22.1, cargo-smart-release v0.11.0, git-commitgraph v0.8.2, gitoxide-core v0.17.0, gitoxide v0.15.0 ([`1fb931a`](https://github.com/Byron/gitoxide/commit/1fb931a7ea59f1cf895a6c1392fd8615b723c743))
- update changelogs prior to release ([`23cb58f`](https://github.com/Byron/gitoxide/commit/23cb58f02043e0e5027136fd6e8e724c03a2efbe))
- adjust to new version of git-date ([`b3fe26b`](https://github.com/Byron/gitoxide/commit/b3fe26bf03db7e1babb5ffbc89d71bf9614e3df3))
@@ -47,7 +78,7 @@ A maintenance release without user facing changes.
- 5 commits contributed to the release over the course of 3 calendar days.
- 4 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -74,7 +105,7 @@ A maintenance release with a dependency update.
- 3 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -103,7 +134,7 @@ A maintenance release with a dependency update.
- 6 commits contributed to the release over the course of 18 calendar days.
- 26 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Commit Details
@@ -141,7 +172,7 @@ A maintenance release with a dependency update.
- 3 commits contributed to the release.
- 39 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#331](https://github.com/Byron/gitoxide/issues/331)
### Commit Details
@@ -167,7 +198,7 @@ A maintenance release without user-facing changes.
- 4 commits contributed to the release over the course of 5 calendar days.
- 25 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Commit Details
@@ -194,7 +225,7 @@ A maintenance release without user-facing changes.
- 3 commits contributed to the release over the course of 36 calendar days.
- 45 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Commit Details
@@ -237,7 +268,7 @@ A maintenance release without user-facing changes.
- 16 commits contributed to the release over the course of 55 calendar days.
- 55 days passed between releases.
- - 6 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 6 commits were understood as [conventional](https://www.conventionalcommits.org).
- 4 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#329](https://github.com/Byron/gitoxide/issues/329), [#364](https://github.com/Byron/gitoxide/issues/364), [#366](https://github.com/Byron/gitoxide/issues/366)
### Commit Details
@@ -281,7 +312,7 @@ A maintenance release without user-facing changes.
- 3 commits contributed to the release over the course of 12 calendar days.
- 13 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#329](https://github.com/Byron/gitoxide/issues/329)
### Commit Details
@@ -307,7 +338,7 @@ A maintenance release thanks to upgraded dependencies.
- 7 commits contributed to the release over the course of 35 calendar days.
- 55 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -338,7 +369,7 @@ Maintenance release due, which isn't really required but one now has to be caref
- 5 commits contributed to the release over the course of 25 calendar days.
- 40 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#250](https://github.com/Byron/gitoxide/issues/250)
### Commit Details
@@ -366,7 +397,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -391,7 +422,7 @@ This release contains no functional changes.
- 9 commits contributed to the release over the course of 5 calendar days.
- 36 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#198](https://github.com/Byron/gitoxide/issues/198)
### Commit Details
@@ -421,7 +452,7 @@ This release contains no functional changes.
- 3 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -444,7 +475,7 @@ This release contains no functional changes.
- 6 commits contributed to the release over the course of 6 calendar days.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -470,7 +501,7 @@ This release contains no functional changes.
- 4 commits contributed to the release over the course of 1 calendar day.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -494,7 +525,7 @@ This release contains no functional changes.
- 6 commits contributed to the release over the course of 6 calendar days.
- 8 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -520,7 +551,7 @@ This release contains no functional changes.
- 2 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -542,7 +573,7 @@ This release contains no functional changes.
- 2 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -563,7 +594,7 @@ This release contains no functional changes.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -584,7 +615,7 @@ This release contains no functional changes.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -606,7 +637,7 @@ This release contains no functional changes.
- 14 commits contributed to the release over the course of 45 calendar days.
- 46 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -639,7 +670,7 @@ This release contains no functional changes.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -660,7 +691,7 @@ This release contains no functional changes.
- 4 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
diff --git a/git-actor/Cargo.toml b/git-actor/Cargo.toml
index 5f09075d7c3..ae54208417d 100644
--- a/git-actor/Cargo.toml
+++ b/git-actor/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-actor"
-version = "0.11.4"
+version = "0.12.0"
description = "A way to identify git actors"
authors = ["Sebastian Thiel "]
repository = "https://github.com/Byron/gitoxide"
@@ -16,8 +16,8 @@ doctest = false
serde1 = ["serde", "bstr/serde", "git-date/serde1"]
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features", optional = true }
-git-date = { version = "^0.1.0", path = "../git-date" }
+git-features = { version = "^0.22.5", path = "../git-features", optional = true }
+git-date = { version = "^0.2.0", path = "../git-date" }
quick-error = "2.0.0"
btoi = "0.4.2"
diff --git a/git-attributes/CHANGELOG.md b/git-attributes/CHANGELOG.md
index 6f60a20b674..98c9ed32cab 100644
--- a/git-attributes/CHANGELOG.md
+++ b/git-attributes/CHANGELOG.md
@@ -5,6 +5,43 @@ 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.4.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 11 commits contributed to the release over the course of 21 calendar days.
+ - 24 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1))
+
+
## 0.3.3 (2022-08-27)
Maintenance release without user-facing changes.
@@ -13,9 +50,9 @@ Maintenance release without user-facing changes.
- - 2 commits contributed to the release.
+ - 3 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -25,6 +62,7 @@ Maintenance release without user-facing changes.
view details
* **Uncategorized**
+ - 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))
@@ -50,7 +88,7 @@ Maintenance release without user-facing changes.
- 7 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -79,7 +117,7 @@ A maintenance release without user facing changes.
- 9 commits contributed to the release over the course of 24 calendar days.
- 26 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Commit Details
@@ -111,7 +149,7 @@ This is a maintenance release with no functional changes.
- 20 commits contributed to the release over the course of 33 calendar days.
- 39 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -153,7 +191,7 @@ A maintenance release without user-facing changes.
- 3 commits contributed to the release over the course of 16 calendar days.
- 25 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -180,7 +218,7 @@ A maintenance release without user-facing changes.
- 79 commits contributed to the release over the course of 61 calendar days.
- 62 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#366](https://github.com/Byron/gitoxide/issues/366)
### Thanks Clippy
@@ -288,7 +326,7 @@ Initial release with no content.
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Commit Details
diff --git a/git-attributes/Cargo.toml b/git-attributes/Cargo.toml
index 6cf4ab23444..9b388422beb 100644
--- a/git-attributes/Cargo.toml
+++ b/git-attributes/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-attributes"
-version = "0.3.3"
+version = "0.4.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project dealing .gitattributes files"
@@ -16,10 +16,10 @@ doctest = false
serde1 = ["serde", "bstr/serde", "git-glob/serde1", "compact_str/serde"]
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features" }
-git-path = { version = "^0.4.2", path = "../git-path" }
-git-quote = { version = "^0.2.1", path = "../git-quote" }
-git-glob = { version = "^0.3.2", path = "../git-glob" }
+git-features = { version = "^0.22.5", path = "../git-features" }
+git-path = { version = "^0.5.0", path = "../git-path" }
+git-quote = { version = "^0.3.0", path = "../git-quote" }
+git-glob = { version = "^0.4.0", path = "../git-glob" }
bstr = { version = "1.0.1", default-features = false, features = ["std", "unicode"]}
unicode-bom = "1.1.4"
diff --git a/git-chunk/CHANGELOG.md b/git-chunk/CHANGELOG.md
index eef8763d730..4464dd8479f 100644
--- a/git-chunk/CHANGELOG.md
+++ b/git-chunk/CHANGELOG.md
@@ -5,8 +5,39 @@ 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.3.2 (2022-09-20)
+
+Maintenance release without observable changes.
+
+### Commit Statistics
+
+
+
+ - 5 commits contributed to the release over the course of 14 calendar days.
+ - 27 days passed between releases.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - replace `quick-error` with `thiserror` ([`bc45906`](https://github.com/Byron/gitoxide/commit/bc45906ea38adb82a7179cb6b92f7bc34b7e0371))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1))
+
+
## 0.3.1 (2022-08-24)
+
+
### Chore
- uniformize deny attributes
@@ -15,9 +46,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 4 commits contributed to the release over the course of 211 calendar days.
+ - 5 commits contributed to the release over the course of 211 calendar days.
- 212 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -27,6 +58,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - 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))
- Merge branch 'example-new-repo' ([`946dd3a`](https://github.com/Byron/gitoxide/commit/946dd3a80522ef437e09528a93aa1433f01b0ee8))
- uniformize deny attributes ([`f7f136d`](https://github.com/Byron/gitoxide/commit/f7f136dbe4f86e7dee1d54835c420ec07c96cd78))
- Merge branch 'AP2008-implement-worktree' ([`f32c669`](https://github.com/Byron/gitoxide/commit/f32c669bc519d59a1f1d90d61cc48a422c86aede))
@@ -61,7 +93,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 19 commits contributed to the release over the course of 33 calendar days.
- 34 days passed between releases.
- - 6 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 6 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#279](https://github.com/Byron/gitoxide/issues/279)
### Commit Details
@@ -112,7 +144,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 6 commits contributed to the release.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#279](https://github.com/Byron/gitoxide/issues/279)
### Commit Details
@@ -140,7 +172,7 @@ Initial release with enough functionality to handle multi-pack indices and commi
- 8 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#279](https://github.com/Byron/gitoxide/issues/279)
### Thanks Clippy
diff --git a/git-chunk/Cargo.toml b/git-chunk/Cargo.toml
index ce509cf5b35..2e447255587 100644
--- a/git-chunk/Cargo.toml
+++ b/git-chunk/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-chunk"
-version = "0.3.1"
+version = "0.3.2"
description = "Interact with the git chunk file format used in multi-pack index and commit-graph files"
authors = ["Sebastian Thiel "]
repository = "https://github.com/Byron/gitoxide"
diff --git a/git-command/CHANGELOG.md b/git-command/CHANGELOG.md
index bebed83198f..f0d3dc5ce8f 100644
--- a/git-command/CHANGELOG.md
+++ b/git-command/CHANGELOG.md
@@ -5,6 +5,61 @@ 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.1.0 (2022-09-20)
+
+The first usable release.
+
+### Commit Statistics
+
+
+
+ - 25 commits contributed to the release over the course of 26 calendar days.
+ - 26 days passed between releases.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Thanks Clippy
+
+
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - Allow programs to communicate errors by default ([`5a2168e`](https://github.com/Byron/gitoxide/commit/5a2168e62f664d463fc8849efecccf7e90b382cd))
+ - fix docs ([`f86364c`](https://github.com/Byron/gitoxide/commit/f86364c4e2d9efd04027978679232946494a4734))
+ - fix CI ([`6565b97`](https://github.com/Byron/gitoxide/commit/6565b97d7d293ae881590960bf3e29f46fdb2cd1))
+ - remove `allow prompt` builder method as typical prompt implementations don't need it ([`0236d75`](https://github.com/Byron/gitoxide/commit/0236d753805003d5a09505fab7da0b5b47392c45))
+ - A builder method to allow prompts specifically ([`3be1fc7`](https://github.com/Byron/gitoxide/commit/3be1fc7d97f87893cecbe5d880576ab690bb205f))
+ - Only actually use the shell if it appears to be required ([`830ee07`](https://github.com/Byron/gitoxide/commit/830ee07d943725e55a40a546b3a1b7ecefb75c4b))
+ - support for multiple arguments with shell-script support ([`d8e8b54`](https://github.com/Byron/gitoxide/commit/d8e8b541bd776a267aca6dbfb8e7e793e264885b))
+ - Squelch errors by default ([`1cb2e96`](https://github.com/Byron/gitoxide/commit/1cb2e967416b0fa5c6d32a0ad0b015b41f81e92c))
+ - Add a way to transform a `Prepare` into a `Command` for even more flexibility ([`eeedd2c`](https://github.com/Byron/gitoxide/commit/eeedd2cab3c201109aa5bd986eb38c1f31d5fd20))
+ - set version to 0.1 to avoid surprises like happened with `git-date` ([`1322f72`](https://github.com/Byron/gitoxide/commit/1322f72fd2bd310c1c3c859ee4b49f47cdfaf100))
+ - add remaining docs ([`6a39e62`](https://github.com/Byron/gitoxide/commit/6a39e62bb4aebf9c48daddf007c95b2117b4454d))
+ - basic support for 'sh' based execution ([`8c61b0b`](https://github.com/Byron/gitoxide/commit/8c61b0bded71dff223e24ae68f8cf7fc50195ce9))
+ - First sketch of git-command API ([`cd4a608`](https://github.com/Byron/gitoxide/commit/cd4a608f0b8ef3adeb7a7f1979f653b63e77ad4d))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - fix dependency declaration ([`9a8369d`](https://github.com/Byron/gitoxide/commit/9a8369db9cd91a4f7447dc2d363bfb1972e5e9b1))
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Merge branch 'main' into filter-refs-by-spec ([`cef0b51`](https://github.com/Byron/gitoxide/commit/cef0b51ade2a3301fa09ede7a425aa1fe3527e78))
+ - thanks clippy ([`0dc1da5`](https://github.com/Byron/gitoxide/commit/0dc1da5e636b2eecc26fcfa0ecd814af3b78ed29))
+
+
## 0.0.0 (2022-08-25)
Initial release to reserve the name.
@@ -13,8 +68,8 @@ Initial release to reserve the name.
- - 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits contributed to the release.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -26,5 +81,7 @@ Initial release to reserve the name.
* **[#450](https://github.com/Byron/gitoxide/issues/450)**
- prepare changelog prior to release ([`579e8f1`](https://github.com/Byron/gitoxide/commit/579e8f138963a057d87837301b097fd804424447))
- first frame of `git-command` crate ([`436632a`](https://github.com/Byron/gitoxide/commit/436632a3822d3671c073cdbbbaf8e569de62bb09))
+ * **Uncategorized**
+ - Release git-command v0.0.0 ([`6c27e94`](https://github.com/Byron/gitoxide/commit/6c27e94c8ed6fb6155704a04d876ab6129b3b413))
diff --git a/git-command/Cargo.toml b/git-command/Cargo.toml
index 53764a4f9c3..7dbf2840256 100644
--- a/git-command/Cargo.toml
+++ b/git-command/Cargo.toml
@@ -11,4 +11,7 @@ edition = "2018"
doctest = false
[dependencies]
+bstr = "1.0.1"
+
+[dev-dependencies]
git-testtools = { path = "../tests/tools" }
diff --git a/git-command/src/lib.rs b/git-command/src/lib.rs
index 0038f7f07d0..966861fcd23 100644
--- a/git-command/src/lib.rs
+++ b/git-command/src/lib.rs
@@ -17,7 +17,7 @@ pub struct Prepare {
mod prepare {
use std::process::{Command, Stdio};
- use git_testtools::bstr::ByteSlice;
+ use bstr::ByteSlice;
use crate::Prepare;
diff --git a/git-commitgraph/CHANGELOG.md b/git-commitgraph/CHANGELOG.md
index 78bbd6af9db..924ed3befc6 100644
--- a/git-commitgraph/CHANGELOG.md
+++ b/git-commitgraph/CHANGELOG.md
@@ -5,6 +5,40 @@ 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.9.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 8 commits contributed to the release over the course of 24 calendar days.
+ - 27 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Release git-features v0.22.3, git-revision v0.4.4 ([`c2660e2`](https://github.com/Byron/gitoxide/commit/c2660e2503323531ba02519eaa51124ee22fec51))
+
+
## 0.8.2 (2022-08-24)
@@ -22,9 +56,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 6 commits contributed to the release over the course of 3 calendar days.
+ - 7 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -34,6 +68,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - Release git-date v0.1.0, git-actor v0.11.4, git-revision v0.4.3, git-repository v0.22.1, cargo-smart-release v0.11.0, git-commitgraph v0.8.2, gitoxide-core v0.17.0, gitoxide v0.15.0 ([`1fb931a`](https://github.com/Byron/gitoxide/commit/1fb931a7ea59f1cf895a6c1392fd8615b723c743))
- update changelogs prior to release ([`23cb58f`](https://github.com/Byron/gitoxide/commit/23cb58f02043e0e5027136fd6e8e724c03a2efbe))
- 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))
- Merge branch 'example-new-repo' ([`946dd3a`](https://github.com/Byron/gitoxide/commit/946dd3a80522ef437e09528a93aa1433f01b0ee8))
@@ -52,7 +87,7 @@ A maintenance release without user-facing changes.
- 4 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -78,7 +113,7 @@ A maintenance release without user-facing changes.
- 11 commits contributed to the release over the course of 99 calendar days.
- 110 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#384](https://github.com/Byron/gitoxide/issues/384)
### Commit Details
@@ -122,7 +157,7 @@ A maintenance release, triggered by putting too many adjustments into a single c
- 31 commits contributed to the release over the course of 125 calendar days.
- 165 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#279](https://github.com/Byron/gitoxide/issues/279), [#293](https://github.com/Byron/gitoxide/issues/293), [#329](https://github.com/Byron/gitoxide/issues/329)
### Thanks Clippy
@@ -184,7 +219,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 3 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -210,7 +245,7 @@ This is a maintenance release without functional changes.
- 4 commits contributed to the release over the course of 1 calendar day.
- 38 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#198](https://github.com/Byron/gitoxide/issues/198)
### Commit Details
@@ -235,7 +270,7 @@ This is a maintenance release without functional changes.
- 2 commits contributed to the release over the course of 1 calendar day.
- 8 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -257,7 +292,7 @@ This is a maintenance release without functional changes.
- 4 commits contributed to the release over the course of 10 calendar days.
- 12 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -281,7 +316,7 @@ This is a maintenance release without functional changes.
- 3 commits contributed to the release over the course of 1 calendar day.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -311,7 +346,7 @@ This is a maintenance release without functional changes.
- 27 commits contributed to the release over the course of 119 calendar days.
- 128 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -364,7 +399,7 @@ This is a maintenance release without functional changes.
- 10 commits contributed to the release over the course of 1 calendar day.
- 56 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#63](https://github.com/Byron/gitoxide/issues/63)
### Commit Details
@@ -395,7 +430,7 @@ This is a maintenance release without functional changes.
- 3 commits contributed to the release over the course of 18 calendar days.
- 32 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -418,7 +453,7 @@ This is a maintenance release without functional changes.
- 5 commits contributed to the release over the course of 23 calendar days.
- 24 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -442,7 +477,7 @@ This is a maintenance release without functional changes.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -464,7 +499,7 @@ This is a maintenance release without functional changes.
- 20 commits contributed to the release over the course of 64 calendar days.
- 74 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -509,7 +544,7 @@ This is a maintenance release without functional changes.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -530,7 +565,7 @@ This is a maintenance release without functional changes.
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -553,7 +588,7 @@ This is a maintenance release without functional changes.
- 27 commits contributed to the release over the course of 15 calendar days.
- 42 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -599,7 +634,7 @@ This is a maintenance release without functional changes.
- 1 commit contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-commitgraph/Cargo.toml b/git-commitgraph/Cargo.toml
index c94cbc68472..9460f432fad 100644
--- a/git-commitgraph/Cargo.toml
+++ b/git-commitgraph/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-commitgraph"
-version = "0.8.2"
+version = "0.9.0"
repository = "https://github.com/Byron/gitoxide"
documentation = "https://git-scm.com/docs/commit-graph#:~:text=The%20commit-graph%20file%20is%20a%20supplemental%20data%20structure,or%20in%20the%20info%20directory%20of%20an%20alternate."
license = "MIT/Apache-2.0"
@@ -17,9 +17,9 @@ doctest = false
serde1 = ["serde", "git-hash/serde1", "bstr/serde"]
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features", features = ["rustsha1"] }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-chunk = { version = "^0.3.1", path = "../git-chunk" }
+git-features = { version = "^0.22.5", path = "../git-features", features = ["rustsha1"] }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-chunk = { version = "^0.3.2", path = "../git-chunk" }
bstr = { version = "1.0.1", default-features = false, features = ["std"] }
memmap2 = "0.5.0"
diff --git a/git-config-value/CHANGELOG.md b/git-config-value/CHANGELOG.md
index f075712780c..b022c2540e2 100644
--- a/git-config-value/CHANGELOG.md
+++ b/git-config-value/CHANGELOG.md
@@ -5,6 +5,48 @@ 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.8.0 (2022-09-20)
+
+### New Features
+
+ - `Boolean::try_from(OsString)`
+ This makes getting booleans from the environment easier.
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 11 commits contributed to the release over the course of 21 calendar days.
+ - 21 days passed between releases.
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - `Boolean::try_from(OsString)` ([`5f675d3`](https://github.com/Byron/gitoxide/commit/5f675d387e52a75ff7bd17a38516ce9778ea6b7e))
+ - fix windows tests ([`0f11a6d`](https://github.com/Byron/gitoxide/commit/0f11a6dea937903d40833037d063bb82e224d66d))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+
+
## v0.7.0 (2022-08-29)
### Changed
@@ -15,8 +57,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 6 commits contributed to the release.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 7 commits contributed to the release.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -32,6 +74,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- copy all value code from git-config to the dedicated crate ([`edb1162`](https://github.com/Byron/gitoxide/commit/edb1162e284e343e2c575980854b8292de9c968f))
- add new git-config-value crate ([`f87edf2`](https://github.com/Byron/gitoxide/commit/f87edf26c1cb795142fbe95e12c0dfc1166e4233))
* **Uncategorized**
+ - Release git-config-value v0.7.0 ([`21c0ab9`](https://github.com/Byron/gitoxide/commit/21c0ab9c60ee317f574633081354351b0c7e5d0e))
- Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1))
diff --git a/git-config-value/Cargo.toml b/git-config-value/Cargo.toml
index 5ad16633b8a..2ce8a86b0ef 100644
--- a/git-config-value/Cargo.toml
+++ b/git-config-value/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-config-value"
-version = "0.7.0"
+version = "0.8.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A crate of the gitoxide project providing git-config value parsing"
@@ -15,7 +15,7 @@ doctest = false
serde1 = ["serde", "bstr/serde"]
[dependencies]
-git-path = { version = "^0.4.2", path = "../git-path" }
+git-path = { version = "^0.5.0", path = "../git-path" }
thiserror = "1.0.32"
bstr = "1.0.1"
diff --git a/git-config/CHANGELOG.md b/git-config/CHANGELOG.md
index 2c707b2ecc8..4d223b639c5 100644
--- a/git-config/CHANGELOG.md
+++ b/git-config/CHANGELOG.md
@@ -5,6 +5,54 @@ 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.8.0 (2022-09-20)
+
+### Changed
+
+ - `git-config` now uses `git-config-value`.
+
+### Changed (BREAKING)
+
+ - Add `Kind::GitInstallation` for a way to obtain special git-installation configuration paths.
+ Note that these are lazily cached as they call the `git` binary.
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 16 commits contributed to the release over the course of 21 calendar days.
+ - 22 days passed between releases.
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - Add `Kind::GitInstallation` for a way to obtain special git-installation configuration paths. ([`27fb1ce`](https://github.com/Byron/gitoxide/commit/27fb1ce27d2985eb1ee8bee5fffaf759902571fb))
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - `git-config` now uses `git-config-value`. ([`5ad2965`](https://github.com/Byron/gitoxide/commit/5ad296577d837b0699b4718fa2be3d0978c4e342))
+ - port tests over as well ([`9b28df2`](https://github.com/Byron/gitoxide/commit/9b28df22b858b6f1c9ca9b07a5a1c0cc300b50f0))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - make fmt ([`429cccc`](https://github.com/Byron/gitoxide/commit/429cccc5831c25a7205a12dc7a0443ac48616e2c))
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1))
+
+
## 0.7.1 (2022-08-28)
Maintenance release without user-facing changes.
@@ -13,9 +61,9 @@ Maintenance release without user-facing changes.
- - 3 commits contributed to the release over the course of 1 calendar day.
+ - 4 commits contributed to the release over the course of 1 calendar day.
- 4 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Commit Details
@@ -27,6 +75,7 @@ Maintenance release without user-facing changes.
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
* **Uncategorized**
+ - 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))
- 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))
- Release git-features v0.22.3, git-revision v0.4.4 ([`c2660e2`](https://github.com/Byron/gitoxide/commit/c2660e2503323531ba02519eaa51124ee22fec51))
@@ -82,7 +131,7 @@ Maintenance release without user-facing changes.
- 20 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 11 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 11 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Thanks Clippy
@@ -131,7 +180,7 @@ A maintenance release without user facing changes.
- 10 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#482](https://github.com/Byron/gitoxide/issues/482)
### Thanks Clippy
@@ -386,7 +435,7 @@ A maintenance release without user facing changes.
- 316 commits contributed to the release over the course of 33 calendar days.
- 39 days passed between releases.
- - 93 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 93 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#331](https://github.com/Byron/gitoxide/issues/331)
### Thanks Clippy
@@ -734,7 +783,7 @@ A maintenance release without user facing changes.
- 41 commits contributed to the release over the course of 22 calendar days.
- 22 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#436](https://github.com/Byron/gitoxide/issues/436)
### Commit Details
@@ -802,7 +851,7 @@ A maintenance release without user facing changes.
- 24 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -910,7 +959,7 @@ A maintenance release without user facing changes.
- 86 commits contributed to the release over the course of 40 calendar days.
- 43 days passed between releases.
- - 14 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 14 commits were understood as [conventional](https://www.conventionalcommits.org).
- 5 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#301](https://github.com/Byron/gitoxide/issues/301), [#331](https://github.com/Byron/gitoxide/issues/331), [#386](https://github.com/Byron/gitoxide/issues/386), [#404](https://github.com/Byron/gitoxide/issues/404)
### Thanks Clippy
@@ -1032,7 +1081,7 @@ A maintenance release without user facing changes.
- 5 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#298](https://github.com/Byron/gitoxide/issues/298)
### Thanks Clippy
@@ -1080,7 +1129,7 @@ A maintenance release without user facing changes.
- 44 commits contributed to the release over the course of 60 calendar days.
- 60 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#331](https://github.com/Byron/gitoxide/issues/331)
### Thanks Clippy
@@ -1163,7 +1212,7 @@ A maintenance release without user facing changes.
- 7 commits contributed to the release over the course of 7 calendar days.
- 7 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#319](https://github.com/Byron/gitoxide/issues/319)
### Commit Details
@@ -1195,7 +1244,7 @@ A maintenance release without user facing changes.
- 7 commits contributed to the release over the course of 51 calendar days.
- 55 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#266](https://github.com/Byron/gitoxide/issues/266)
### Thanks Clippy
@@ -1231,7 +1280,7 @@ A maintenance release.
- 7 commits contributed to the release over the course of 11 calendar days.
- 12 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -1266,7 +1315,7 @@ A maintenance release triggered by changes to git-pack and changelog rewrites.
- 19 commits contributed to the release over the course of 25 calendar days.
- 31 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#241](https://github.com/Byron/gitoxide/issues/241), [#254](https://github.com/Byron/gitoxide/issues/254)
### Commit Details
@@ -1309,7 +1358,7 @@ This is a maintenance release without functional changes.
- 13 commits contributed to the release over the course of 3 calendar days.
- 38 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#198](https://github.com/Byron/gitoxide/issues/198), [#213](https://github.com/Byron/gitoxide/issues/213)
### Commit Details
@@ -1344,7 +1393,7 @@ This is a maintenance release without functional changes.
- 6 commits contributed to the release over the course of 7 calendar days.
- 8 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1372,7 +1421,7 @@ This is a maintenance release without functional changes.
- 7 commits contributed to the release over the course of 10 calendar days.
- 12 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1399,7 +1448,7 @@ This is a maintenance release without functional changes.
- 12 commits contributed to the release.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1431,7 +1480,7 @@ This is a maintenance release without functional changes.
- 3 commits contributed to the release over the course of 6 calendar days.
- 8 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1475,7 +1524,7 @@ This is a maintenance release without functional changes.
- 16 commits contributed to the release over the course of 86 calendar days.
- 89 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -1520,7 +1569,7 @@ lenfrom_envopen
- 13 commits contributed to the release over the course of 56 calendar days.
- 58 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -1575,7 +1624,7 @@ lenfrom_envopen
- 125 commits contributed to the release over the course of 157 calendar days.
- 158 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1719,7 +1768,7 @@ lenfrom_envopen
- 1 commit contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-config/Cargo.toml b/git-config/Cargo.toml
index 685503dd7ec..dccb109bb5e 100644
--- a/git-config/Cargo.toml
+++ b/git-config/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-config"
-version = "0.7.1"
+version = "0.8.0"
repository = "https://github.com/Byron/gitoxide"
description = "A git-config file parser and editor from the gitoxide project"
license = "MIT OR Apache-2.0"
@@ -15,12 +15,12 @@ include = ["src/**/*", "LICENSE-*", "README.md", "CHANGELOG.md"]
serde1 = ["serde", "bstr/serde", "git-sec/serde1", "git-ref/serde1", "git-glob/serde1", "git-config-value/serde1"]
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features"}
-git-config-value = { version = "^0.7.0", path = "../git-config-value" }
-git-path = { version = "^0.4.2", path = "../git-path" }
-git-sec = { version = "^0.3.1", path = "../git-sec" }
-git-ref = { version = "^0.15.4", path = "../git-ref" }
-git-glob = { version = "^0.3.2", path = "../git-glob" }
+git-features = { version = "^0.22.5", path = "../git-features"}
+git-config-value = { version = "^0.8.0", path = "../git-config-value" }
+git-path = { version = "^0.5.0", path = "../git-path" }
+git-sec = { version = "^0.4.0", path = "../git-sec" }
+git-ref = { version = "^0.16.0", path = "../git-ref" }
+git-glob = { version = "^0.4.0", path = "../git-glob" }
nom = { version = "7", default_features = false, features = [ "std" ] }
memchr = "2"
diff --git a/git-credentials/CHANGELOG.md b/git-credentials/CHANGELOG.md
index a4bce7d2738..840921c731e 100644
--- a/git-credentials/CHANGELOG.md
+++ b/git-credentials/CHANGELOG.md
@@ -5,8 +5,206 @@ 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.5.0 (2022-09-20)
+
+
+
+
+
+### Changed
+
+ - use `git-config-value` crate
+
+### New Features
+
+ - `protocol::Context::to_bstring()`, and use it in `example/git-credential-lite`
+ - an example implementing a custom credential helper program
+ - `helper::main` to easily create credential helper implementations
+ - add `helper::Action::get_for_url(…)`
+ - `helper::invoke(helper, action, context)` function that allows for more flexible helper invocation
+
+### Other
+
+ - :main::Action::as_str()`
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+ - rename `git()` to `builtin()`
+ - rename `Program::Custom*` variants to `Program::External*`
+ It's more true to what it is.
+ - differentiate between top-level functions and those which are invoked
+ That way it's easier to use as it can assure an account was actually
+ provided.
+ - invoke::Outcome can now represent partial identities
+ That way these can be assembled by multiple helpers called in a row.
+ - move `helper::(Next)Action` into `helper::invoke::` module
+ These are only relevant for invoke, hence the change.
+ - rename `helper::NextAction` variants to `store` and `erase`
+ - rename `helper::Action` variants to 'Get', 'Store', 'Erase'
+ It's more obvious what it does and is more typical for what credentials
+ helpers do.
+ - Use `helper::Context` in `helper::Action::Fill()`
+ That way additional information, like from configuration, can be passed
+ as well.
+ - move `helper::invoke()` related types into `helper::invoke` module.
+ Also allow to pass arbitrary bytes (more or less) as context by not
+ forcing it all into a string. Values can now be everything, which
+ helps with passing paths or other values.
+ - use `thiserror` instead of `quickerror`
+ - hide `helper::action()` in favor of single path via `helper()`
+
+### Other (BREAKING)
+
+ - `helper::Kind` to `program::Kind`
+ - `helper::(encode|decode)_message(…)` to `::message::(encode|decode)(…)`
+
+### Commit Statistics
+
+
+
+ - 115 commits contributed to the release over the course of 27 calendar days.
+ - 27 days passed between releases.
+ - 21 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Thanks Clippy
+
+
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 5 times to make code idiomatic.
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - :main::Action::as_str()` ([`d95029e`](https://github.com/Byron/gitoxide/commit/d95029eac0e9179a7cd730d1d60a08696584bfd1))
+ - `protocol::Context::to_bstring()`, and use it in `example/git-credential-lite` ([`15f1afc`](https://github.com/Byron/gitoxide/commit/15f1afccb7ed0ebaf217cbbdd58e6ae651a31e42))
+ - assure that protocol::Context::to_url() never shows passwords ([`e9f4d40`](https://github.com/Byron/gitoxide/commit/e9f4d40b6f04414c04f153f74f13d2e1fe89e43a))
+ - Make sure the helper::Cascade never sends the URL to helper programs ([`9059de8`](https://github.com/Byron/gitoxide/commit/9059de825d310c2c28f28d4009b09115acccc2bf))
+ - fix docs ([`9a5ec7b`](https://github.com/Byron/gitoxide/commit/9a5ec7bd8b23bbef2c21de07638681160a7bbdee))
+ - move `program::Cascade` to `helper::Cascade` which is what it is ([`6149a14`](https://github.com/Byron/gitoxide/commit/6149a14af1742bcfc30bfbe65656b411c6f771c9))
+ - An example on how to invoke the git credential helper driver ([`be0f834`](https://github.com/Byron/gitoxide/commit/be0f83411371e445beceabfcc6e0458eedccf31a))
+ - Context has to serialize url or else the builtin credential helper may not work. ([`87ae404`](https://github.com/Byron/gitoxide/commit/87ae40493cc0dbe11e5de5fd21e2391caa7161db))
+ - credential context won't send url and quit fields to helpers ([`337a53b`](https://github.com/Byron/gitoxide/commit/337a53b945da26e253c9ba1c72b623d6a06d2e7c))
+ - Cascade supports `use_http_path` and respects it when setting up the context ([`959c0bd`](https://github.com/Byron/gitoxide/commit/959c0bdfb6a634f590969f2c26d13ff8c05a4bb8))
+ - make it less easy to start a cascade with platform_defaults() ([`4b5d63f`](https://github.com/Byron/gitoxide/commit/4b5d63f7e0ea6bc43f54c95dd30f823ead9fa1a2))
+ - make clearer what platform builtins actually are ([`9788e30`](https://github.com/Byron/gitoxide/commit/9788e3070edc5c1d84099a2fc5fa9262604170e7))
+ - credential-cascade now passes on prompt options ([`baad8a0`](https://github.com/Byron/gitoxide/commit/baad8a077ffd556cb29da93fb0081b245f4663ff))
+ - refactor ([`c8f1b41`](https://github.com/Byron/gitoxide/commit/c8f1b41408f2ace5b01292ef95189b9e66ab4d8e))
+ - always compile prompting support in ([`bd0ea68`](https://github.com/Byron/gitoxide/commit/bd0ea68225a73fb83c9fc1b8594fc6ad288a77a9))
+ - set version of git-prompt to 0.1 and turn prompting on ([`7657693`](https://github.com/Byron/gitoxide/commit/7657693b8e23dfb69d6da4376bcd1b8e4e264f7e))
+ - fix warnings ([`e011242`](https://github.com/Byron/gitoxide/commit/e011242c0c9f6779632f5d33dc7b185495f3868e))
+ - more helpful prompt error messages when asking for credentials ([`b0c6863`](https://github.com/Byron/gitoxide/commit/b0c6863e6b91ded34ed1860ed449f797d28be81e))
+ - use `git-config-value` crate ([`43656d5`](https://github.com/Byron/gitoxide/commit/43656d5ce84834c847cf8650d4c486c634f209b6))
+ - proper prompt generation ([`63ee38d`](https://github.com/Byron/gitoxide/commit/63ee38dab45fd9d07532f6c01afc2d8dd1c1e904))
+ - remove rustyline in favor of `git-prompt` ([`b3e5e59`](https://github.com/Byron/gitoxide/commit/b3e5e59cafaab0d4866c52722cd2a67aa313b395))
+ - add interactive example for prompt, but… ([`a3fadea`](https://github.com/Byron/gitoxide/commit/a3fadea7759a20fe409762e48d0f1bb9c07f39ba))
+ - blindly implement prompting if it is allowed ([`c78f4b8`](https://github.com/Byron/gitoxide/commit/c78f4b80d1554fdae49d8d5e7d1cfef6c1bf3b05))
+ - frame to support prompting (as compile-time feature) ([`afaae28`](https://github.com/Byron/gitoxide/commit/afaae2880a77c30f845ccf2b3c2b7dc5210665f8))
+ - another test ([`569b7bc`](https://github.com/Byron/gitoxide/commit/569b7bc3d8d8acfe8ad16fe1bc0480e3dbd263d2))
+ - remove unnecessary `Helper` trait ([`19b84f0`](https://github.com/Byron/gitoxide/commit/19b84f0636f6a8d28e938c3a56b3e2cf0a3b4711))
+ - use fixtures in all tests ([`24da911`](https://github.com/Byron/gitoxide/commit/24da911f2fcbc0073fcdab1a217686ac3e3b1c79))
+ - fix tests on linux ([`89db8ee`](https://github.com/Byron/gitoxide/commit/89db8ee938f05f8f9066f34325619f434a5ea00f))
+ - more tests ([`57e9060`](https://github.com/Byron/gitoxide/commit/57e906094683860b43f5b7ff71e0189bd2fd0a91))
+ - refactor ([`561bb35`](https://github.com/Byron/gitoxide/commit/561bb356850715c2f4377dd36d1daff69126f543))
+ - another test ([`52d2e54`](https://github.com/Byron/gitoxide/commit/52d2e547b18aa5a00d9d1ada9c88bd84e951e1ed))
+ - fix CI ([`d526c6d`](https://github.com/Byron/gitoxide/commit/d526c6d111bfa05dfa20aca8426d78217ae41558))
+ - improve path normalization; a new ignored test ([`ece5a3f`](https://github.com/Byron/gitoxide/commit/ece5a3f16bfbf84eddce42c64c32736ad98b5356))
+ - parse 'quit' according to spec ([`5e260da`](https://github.com/Byron/gitoxide/commit/5e260dab2edd40092501ab52684f6370104a4eb1))
+ - Allow disabling stderr on credential programs ([`4abec50`](https://github.com/Byron/gitoxide/commit/4abec50dc620e965fc03dda4c801753365839691))
+ - refactor ([`cdfcea4`](https://github.com/Byron/gitoxide/commit/cdfcea4eb92097927d4c90639fc211e427b6415c))
+ - url-preprocessing for scripts ([`c00cc35`](https://github.com/Byron/gitoxide/commit/c00cc35493cec8f0b2673248caf1f0d83590dd54))
+ - breaking credential helpers don't stop everything ([`0cdbde7`](https://github.com/Byron/gitoxide/commit/0cdbde78a200ff8585fb217bab3daf81ff46dd6e))
+ - refactor; try harder not to spill secrets in errors ([`525fa97`](https://github.com/Byron/gitoxide/commit/525fa9748b966d515fbdeaa48abd34798e97b78e))
+ - first step towards our own `git credential` -like implementation ([`1d1622a`](https://github.com/Byron/gitoxide/commit/1d1622a0dd66ce181d0fa07fc440f85ad0212791))
+ - refactor ([`ce16f51`](https://github.com/Byron/gitoxide/commit/ce16f513dc0a482583cdff168dcdbe2cdd379ad7))
+ - Platform specific defaults for the program cascade ([`b66258f`](https://github.com/Byron/gitoxide/commit/b66258f3827e8ca4c7da4a5bca7768888a09e6d5))
+ - refactor ([`85f8cd9`](https://github.com/Byron/gitoxide/commit/85f8cd9b9ef9e93c6495495a83b1ec96437672a5))
+ - refactor ([`23fb302`](https://github.com/Byron/gitoxide/commit/23fb3025112d2f627896383fb0f74f7e91139116))
+ - A sketch of how a custom 'git credential' could look like ([`4767a14`](https://github.com/Byron/gitoxide/commit/4767a14d2390edacf46d5436a07685b7d7b79cab))
+ - make 'quit' handler request representable and raise it to an error ([`39b6514`](https://github.com/Byron/gitoxide/commit/39b6514928304807b3d43bd60be716a7f42169c7))
+ - rename `git()` to `builtin()` ([`783a1a7`](https://github.com/Byron/gitoxide/commit/783a1a7dfd64a64fa765fa3d3ef41b1e954413ee))
+ - fix docs ([`f86364c`](https://github.com/Byron/gitoxide/commit/f86364c4e2d9efd04027978679232946494a4734))
+ - rename `Program::Custom*` variants to `Program::External*` ([`bfa2545`](https://github.com/Byron/gitoxide/commit/bfa2545883daf8c4d9e97d2fc91c9328d73ab0eb))
+ - refactor ([`52e958d`](https://github.com/Byron/gitoxide/commit/52e958d62cdf49c35ed56cb26699b155ee0e7732))
+ - fix build ([`99958c6`](https://github.com/Byron/gitoxide/commit/99958c6f87a09b99f21b88e42095a1326d6b8a82))
+ - differentiate between top-level functions and those which are invoked ([`811985a`](https://github.com/Byron/gitoxide/commit/811985aba024385465104ed826a9989961555201))
+ - invoke::Outcome can now represent partial identities ([`49b9bd5`](https://github.com/Byron/gitoxide/commit/49b9bd501f33f1e10ce0180e814b84e293bd3898))
+ - make clear what `helper()` does by renaming it to `git` ([`2edb58b`](https://github.com/Byron/gitoxide/commit/2edb58b6c7395b67c8a7f7c9f6162e6e7c290aac))
+ - Make clear in the error type that the helper program couldn't be started ([`c09d223`](https://github.com/Byron/gitoxide/commit/c09d2234cb7e89a2b6ae54e7c8497e86b38621f0))
+ - improved error when identity could not be obtained ([`08c1287`](https://github.com/Byron/gitoxide/commit/08c12876d763a4ade3d4013ce1be66d9594e4ff1))
+ - support for `quit` field in context ([`5a50528`](https://github.com/Byron/gitoxide/commit/5a50528a6f2b1a547fdc9a656e5ea2ca07396ecf))
+ - refactor ([`7487b5a`](https://github.com/Byron/gitoxide/commit/7487b5a4142679ef423c5bd996e40e473c5dfc27))
+ - support for non-consuming operation of `Program` ([`bcfe5ca`](https://github.com/Byron/gitoxide/commit/bcfe5ca22636114bb232d1208ab7c9d78d1fe1de))
+ - disable test that seems to fail on linux ([`419ca56`](https://github.com/Byron/gitoxide/commit/419ca56f7a97cdb0c0e18a4a6f8fda6320692518))
+ - More tests for custom helper scripts ([`b396032`](https://github.com/Byron/gitoxide/commit/b3960320d1ef86b42fe8d42c8d7f7abfe66e1710))
+ - Support for script invocations ([`377cf14`](https://github.com/Byron/gitoxide/commit/377cf142996279394af38179ad5b51c419642f90))
+ - use git_path::is_absolute() ([`2ba836f`](https://github.com/Byron/gitoxide/commit/2ba836f3e9e5231e8bc42d57d8ff939d85acfe16))
+ - fix tests on windows ([`f4bc860`](https://github.com/Byron/gitoxide/commit/f4bc86011d4aafb5bdeafadd43adb0022ff9b449))
+ - also fill in the git credential command prefix ([`b2f4fe8`](https://github.com/Byron/gitoxide/commit/b2f4fe8f96785222edc3c0472ccef3acf1f069f8))
+ - initial version of parsing of custom helper definitions ([`2b2cd00`](https://github.com/Byron/gitoxide/commit/2b2cd0001babdc16e940fa7242c6d723fc9f789b))
+ - `helper::Kind` to `program::Kind` ([`b8c54f0`](https://github.com/Byron/gitoxide/commit/b8c54f03fdb6060caf9c04557c0530c090e7a975))
+ - sketch additional credentials programs ([`46e3045`](https://github.com/Byron/gitoxide/commit/46e3045e04e5197560d8c786642b8f1924a577f9))
+ - first test for launching the git credential helper ([`4d7b1dd`](https://github.com/Byron/gitoxide/commit/4d7b1ddec6ef747665edcfddbba68ed12e3970c2))
+ - an example implementing a custom credential helper program ([`b1d528a`](https://github.com/Byron/gitoxide/commit/b1d528ae60001ae51dd89b29c26ea505eacbef45))
+ - add docs ([`a360594`](https://github.com/Byron/gitoxide/commit/a360594fac3102cd48aac0039efbe71693c5fa25))
+ - `helper::main` to easily create credential helper implementations ([`eaff67c`](https://github.com/Byron/gitoxide/commit/eaff67c14366f149ccca346acb46af12531a24e6))
+ - move `helper::(Next)Action` into `helper::invoke::` module ([`4b7d0b6`](https://github.com/Byron/gitoxide/commit/4b7d0b6d2c43cac9823885bc69510cc4bb6a3f00))
+ - sketch for helper::invoke (get) test ([`c48eb39`](https://github.com/Byron/gitoxide/commit/c48eb390a2f95954f542992806d4e8667ee97981))
+ - refactor ([`cb9d32a`](https://github.com/Byron/gitoxide/commit/cb9d32a3611463f983afea3b3ea875c33092207b))
+ - rename `helper::NextAction` variants to `store` and `erase` ([`ddd5398`](https://github.com/Byron/gitoxide/commit/ddd53988a6d5da17fc65451a059bed1bfa2eb454))
+ - fix docs ([`d9b4ba5`](https://github.com/Byron/gitoxide/commit/d9b4ba5a00c1c9f9c199ac218da76cb716896b75))
+ - add `helper::Action::get_for_url(…)` ([`a253d30`](https://github.com/Byron/gitoxide/commit/a253d30093122e37b5560ff86a7888f8062c7014))
+ - rename `helper::Action` variants to 'Get', 'Store', 'Erase' ([`2073b58`](https://github.com/Byron/gitoxide/commit/2073b583dc2bd83b800584edda6592bb71a01538))
+ - Use `helper::Context` in `helper::Action::Fill()` ([`9c6f024`](https://github.com/Byron/gitoxide/commit/9c6f024f838d866645937a67cd67dffb8be17259))
+ - remaining decode tests ([`0e76efe`](https://github.com/Byron/gitoxide/commit/0e76efe035a48f9d042096342ac79804f1eeebdc))
+ - test context value validation ([`20dde9e`](https://github.com/Byron/gitoxide/commit/20dde9eb93ecfb56e72bc5d59caacf31328a55e4))
+ - basic round-tripping of fully fleshed-out context ([`280e4a3`](https://github.com/Byron/gitoxide/commit/280e4a3f69699e11428decc6858711b35ae8249e))
+ - flesh out `helper::Context` as it will soon be used. ([`0cb1ed4`](https://github.com/Byron/gitoxide/commit/0cb1ed4600c614169118b2a94fed83699989a6be))
+ - move `helper::invoke()` related types into `helper::invoke` module. ([`71f6519`](https://github.com/Byron/gitoxide/commit/71f651930e6fd53e3c3f9e82dfd95828e4981d92))
+ - refactor ([`03bf747`](https://github.com/Byron/gitoxide/commit/03bf747292af7792bc175c4f06939b1e02f7234c))
+ - express `helper()` in terms of `helper::invoke()` ([`f2a2c5e`](https://github.com/Byron/gitoxide/commit/f2a2c5ebb7d7428460fe22e9b84dec242a992302))
+ - `helper::invoke(helper, action, context)` function that allows for more flexible helper invocation ([`64bc2ec`](https://github.com/Byron/gitoxide/commit/64bc2ec666dacba486bd1de2fbd95f97f2efc7a5))
+ - refactor ([`af27d20`](https://github.com/Byron/gitoxide/commit/af27d20909d14f2737fbad5edd9a6c9d86c93e24))
+ - prepare for more additional implementations of helpers ([`486ef98`](https://github.com/Byron/gitoxide/commit/486ef98b792cc57412a4a90d2cf28586a06d7041))
+ - refactor ([`167b521`](https://github.com/Byron/gitoxide/commit/167b5215326ff2f39e89f2130ff575f4ef6c02d6))
+ - fix docs ([`db46b60`](https://github.com/Byron/gitoxide/commit/db46b60d8f9b4341cf215da6e2cd74bf554fe4b8))
+ - re-add `Result` type ([`de92fce`](https://github.com/Byron/gitoxide/commit/de92fce44496b050e5697aab6d6d1ea98a5954dc))
+ - use `thiserror` instead of `quickerror` ([`4c1a1a2`](https://github.com/Byron/gitoxide/commit/4c1a1a28558c4f8d084b8046afd5d87a11fd25b7))
+ - hide `helper::action()` in favor of single path via `helper()` ([`081934c`](https://github.com/Byron/gitoxide/commit/081934ca4452e550cf2663026905bce67253af81))
+ - `helper::(encode|decode)_message(…)` to `::message::(encode|decode)(…)` ([`4c39521`](https://github.com/Byron/gitoxide/commit/4c39521a47419bb4b0f0edbe51aa509fb4e2a7f1))
+ - refactor ([`a395308`](https://github.com/Byron/gitoxide/commit/a395308fdc01b5449a851b1dcb6c3e97a205a5d0))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - 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))
+ - thanks clippy ([`c1399d1`](https://github.com/Byron/gitoxide/commit/c1399d155889e6142eafd65b9bbd2ed005f580dd))
+ - thanks clippy ([`e8e80f5`](https://github.com/Byron/gitoxide/commit/e8e80f5b176ebca4ee81727a551d83383a0b38f8))
+ - Merge branch 'main' into filter-refs-by-spec ([`dbfa328`](https://github.com/Byron/gitoxide/commit/dbfa3282cf876596b250b2040c1ec0b761741796))
+ - thanks clippy ([`9b8a6d6`](https://github.com/Byron/gitoxide/commit/9b8a6d6afeab13968dea61619b1e742e93f60fab))
+ - thanks clippy ([`8317b46`](https://github.com/Byron/gitoxide/commit/8317b4672c8cd38520ed90c42eaadd539ea4df66))
+ - thanks clippy ([`01efe88`](https://github.com/Byron/gitoxide/commit/01efe88cff52e75ba0b76ecc27a41994ee908d2c))
+
+
## 0.4.0 (2022-08-24)
+
+
+
### Chore
- uniformize deny attributes
@@ -29,9 +227,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 16 commits contributed to the release over the course of 14 calendar days.
+ - 17 commits contributed to the release over the course of 14 calendar days.
- 32 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -43,6 +241,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* **[#450](https://github.com/Byron/gitoxide/issues/450)**
- adapt to changes in `git-url` and use `BString` to represent URLs. ([`12589cc`](https://github.com/Byron/gitoxide/commit/12589cc6f08e4d7aabae30bcdadaa0c2b4850229))
* **Uncategorized**
+ - 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))
- Merge branch 'example-write-blob' ([`afedd7f`](https://github.com/Byron/gitoxide/commit/afedd7f86ec8ea18a8165f71698ecc886f5cf643))
- Merge pull request #494 from ultrasaurus/patch-1 ([`86fe22c`](https://github.com/Byron/gitoxide/commit/86fe22cb1aad5944a229bc2a5252b36ef1fd59ef))
- Merge branch 'main' into remote-ls-refs ([`95f2f4f`](https://github.com/Byron/gitoxide/commit/95f2f4f17f7eae174a64c7d9f6a1513d73b21bbb))
@@ -70,7 +269,7 @@ This is a maintenance release with no functional changes.
- 5 commits contributed to the release over the course of 33 calendar days.
- 39 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -97,7 +296,7 @@ A maintenance release without user-facing changes.
- 2 commits contributed to the release.
- 25 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -124,7 +323,7 @@ A maintenance release without user-facing changes.
- 8 commits contributed to the release over the course of 33 calendar days.
- 33 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#386](https://github.com/Byron/gitoxide/issues/386)
### Commit Details
@@ -155,7 +354,7 @@ An empty crate without any content to reserve the name for the gitoxide project.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#386](https://github.com/Byron/gitoxide/issues/386)
### Commit Details
diff --git a/git-credentials/Cargo.toml b/git-credentials/Cargo.toml
index 9f89370c526..c3e8a711168 100644
--- a/git-credentials/Cargo.toml
+++ b/git-credentials/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-credentials"
-version = "0.4.0"
+version = "0.5.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project to interact with git credentials helpers"
@@ -15,12 +15,12 @@ doctest = false
serde1 = ["serde", "bstr/serde", "git-sec/serde1"]
[dependencies]
-git-sec = { version = "^0.3.1", path = "../git-sec" }
-git-url = { version = "^0.8.0", path = "../git-url" }
-git-path = { version = "^0.4.2", path = "../git-path" }
-git-command = { version = "0.1.0", path = "../git-command" }
-git-config-value = { version = "^0.7.0", path = "../git-config-value" }
-git-prompt = { version = "0.1.0", path = "../git-prompt" }
+git-sec = { version = "^0.4.0", path = "../git-sec" }
+git-url = { version = "^0.9.0", path = "../git-url" }
+git-path = { version = "^0.5.0", path = "../git-path" }
+git-command = { version = "^0.1.0", path = "../git-command" }
+git-config-value = { version = "^0.8.0", path = "../git-config-value" }
+git-prompt = { version = "^0.1.0", path = "../git-prompt" }
thiserror = "1.0.32"
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"] }
diff --git a/git-date/CHANGELOG.md b/git-date/CHANGELOG.md
index a8d0b37133c..f24429895e0 100644
--- a/git-date/CHANGELOG.md
+++ b/git-date/CHANGELOG.md
@@ -5,6 +5,66 @@ 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.2.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+ - parse now takes the current time `parse(…, Option)` as parameter.
+
+### Commit Statistics
+
+
+
+ - 27 commits contributed to the release over the course of 24 calendar days.
+ - 27 days passed between releases.
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Thanks Clippy
+
+
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - refactor ([`c5c6bf6`](https://github.com/Byron/gitoxide/commit/c5c6bf6ef3f0c9c12389bb638ab4d32b61839dec))
+ - refactor ([`956613f`](https://github.com/Byron/gitoxide/commit/956613fcdb33a845526fa9743aa0e7f80b3badfa))
+ - refactor ([`1026b7c`](https://github.com/Byron/gitoxide/commit/1026b7c613a3a8b46a27dd7cd5e3520043b21ab7))
+ - WIP. ([`79d82d4`](https://github.com/Byron/gitoxide/commit/79d82d46613c83280d2401ef4d72a35010a70b87))
+ - Parse the output while parsing the baseline file. ([`70fe59f`](https://github.com/Byron/gitoxide/commit/70fe59f4a1cad25f687397206ee2cbe50e643181))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - parse now takes the current time `parse(…, Option)` as parameter. ([`c24ea67`](https://github.com/Byron/gitoxide/commit/c24ea67f84aa48953949682672114715bee67432))
+ - thanks clippy ([`590fcc9`](https://github.com/Byron/gitoxide/commit/590fcc9f3fc768802fd09f4e73036e225ec5c363))
+ - a sample on how to more easily test relative date parsing ([`c585c9b`](https://github.com/Byron/gitoxide/commit/c585c9b2b0e628914169bbfba55aa5130da51a83))
+ - add test to check times before unix epoch ([`eb304ea`](https://github.com/Byron/gitoxide/commit/eb304ea91f857070380ef4e4dbdff6b8ab89cee1))
+ - refactor ([`0e231eb`](https://github.com/Byron/gitoxide/commit/0e231ebeeb41306b1075bc06c78b45dc65ded5fa))
+ - refactor ([`5793465`](https://github.com/Byron/gitoxide/commit/5793465b0f19b284a4615290e2b08203e969e9bb))
+ - refactor; add failing test to see invalid date error in action ([`90008aa`](https://github.com/Byron/gitoxide/commit/90008aa4e59f78cfe2ecd5a7ee851bb56f7b0d33))
+ - PR comments. ([`1eac4de`](https://github.com/Byron/gitoxide/commit/1eac4de99de250e770b48054fd5bc6b806418e4d))
+ - `parse` is pure function. ([`9ad1a5f`](https://github.com/Byron/gitoxide/commit/9ad1a5fa2ce54e978396ff3eaa7061a8edd10d4a))
+ - Fallible timestamp cast i64 -> u32. ([`cce7616`](https://github.com/Byron/gitoxide/commit/cce7616835f1dff29b2c74bd96b5238d55167d5f))
+ - `parse()` returns Result. ([`206f392`](https://github.com/Byron/gitoxide/commit/206f3923f5da2e9e26677e917550e6e5baa2913a))
+ - Add output to baseline. ([`5c3b733`](https://github.com/Byron/gitoxide/commit/5c3b7334289ef71a9dbcc021f1989eb8e021fc7f))
+ - `parse` returns Result. ([`67c8c6a`](https://github.com/Byron/gitoxide/commit/67c8c6a9666161a3a0cd01203e0fb1da22336939))
+ - Add fixtures. ([`6c40ac1`](https://github.com/Byron/gitoxide/commit/6c40ac1e39fbefba640fc9cb4fd3ef419a149e99))
+ - Add git baseline. ([`b747a60`](https://github.com/Byron/gitoxide/commit/b747a60b62c533b3919124e628f31e6bbef9c838))
+ - refactor ([`3e6e0f9`](https://github.com/Byron/gitoxide/commit/3e6e0f9ebdf7ab87c689be074ae1eecfea4485f0))
+ - Draft. ([`95b4902`](https://github.com/Byron/gitoxide/commit/95b490230ebfbd4c2f04edd7074d5a0f5e2429ec))
+ - Draft. ([`43b6c06`](https://github.com/Byron/gitoxide/commit/43b6c064bfa407d1a2cabf09aad1cc8334dec651))
+
+
## 0.1.0 (2022-08-24)
### New Features
@@ -17,8 +77,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 2 commits contributed to the release.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits contributed to the release.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -28,6 +88,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - Release git-date v0.1.0, git-actor v0.11.4, git-revision v0.4.3, git-repository v0.22.1, cargo-smart-release v0.11.0, git-commitgraph v0.8.2, gitoxide-core v0.17.0, gitoxide v0.15.0 ([`1fb931a`](https://github.com/Byron/gitoxide/commit/1fb931a7ea59f1cf895a6c1392fd8615b723c743))
- update changelogs prior to release ([`23cb58f`](https://github.com/Byron/gitoxide/commit/23cb58f02043e0e5027136fd6e8e724c03a2efbe))
- bump version to 1.0 to prevent accidental inclusions downstream ([`034c8dc`](https://github.com/Byron/gitoxide/commit/034c8dc4437c06dc8af702fbe9b86ec903c73a18))
@@ -53,7 +114,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 7 commits contributed to the release over the course of 3 calendar days.
- 4 days passed between releases.
- - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -85,7 +146,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 8 commits contributed to the release.
- 1 day passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -115,7 +176,7 @@ A maintenance release without user facing changes.
- 18 commits contributed to the release over the course of 25 calendar days.
- 26 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Commit Details
@@ -163,7 +224,7 @@ A maintenance release without user facing changes.
- 4 commits contributed to the release.
- 39 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#331](https://github.com/Byron/gitoxide/issues/331)
### Commit Details
@@ -193,7 +254,7 @@ A maintenance release without user facing changes.
- 5 commits contributed to the release over the course of 58 calendar days.
- 59 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Commit Details
@@ -220,7 +281,7 @@ An empty crate without any content to reserve the name for the gitoxide project.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#331](https://github.com/Byron/gitoxide/issues/331)
### Commit Details
diff --git a/git-date/Cargo.toml b/git-date/Cargo.toml
index 1106f0fad3b..f55bdba7443 100644
--- a/git-date/Cargo.toml
+++ b/git-date/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-date"
-version = "0.1.0"
+version = "0.2.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project parsing dates the way git does"
diff --git a/git-diff/CHANGELOG.md b/git-diff/CHANGELOG.md
index 2cbfa8da197..d04e78d07d0 100644
--- a/git-diff/CHANGELOG.md
+++ b/git-diff/CHANGELOG.md
@@ -5,6 +5,44 @@ 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.19.0 (2022-09-20)
+
+### New Features
+
+ - forward line-diffing capabilities curtesy of the `similar` crate.
+ This is a first and maybe the last step towards providing diffing
+ functionality, and it seems like the right choice to keep this in
+ similar and contribute there as needed. All algorithms are well
+ described and thus shouldn't be git-specific per-se, and `similar`
+ is the best the community has to offer.
+
+### Commit Statistics
+
+
+
+ - 8 commits contributed to the release over the course of 18 calendar days.
+ - 19 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 1 unique issue was worked on: [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ - forward line-diffing capabilities curtesy of the `similar` crate. ([`e164856`](https://github.com/Byron/gitoxide/commit/e164856ab8d80c13b082a283b4c73b6fb31968f6))
+ - improved usability of the `Action` enum ([`d04807b`](https://github.com/Byron/gitoxide/commit/d04807bc9a70ddb6139446356df5c1bdb902a497))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - More standard derives for `Change` type ([`8e46f54`](https://github.com/Byron/gitoxide/commit/8e46f547f510a6453d0304a8a41eaf9bbf3b17a3))
+ - Merge branch 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+
+
## 0.18.1 (2022-09-01)
Maintenance release without user-facing changes.
@@ -13,10 +51,10 @@ Maintenance release without user-facing changes.
- - 2 commits contributed to the release.
+ - 6 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' where seen in commit messages
+ - 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -24,9 +62,14 @@ Maintenance release without user-facing changes.
view details
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - fix docs ([`60c136c`](https://github.com/Byron/gitoxide/commit/60c136ca38c6ad0cd7e0ea5e3e0e83bb828a9c94))
* **Uncategorized**
+ - Release git-diff v0.18.1, git-discover v0.4.2, git-traverse v0.16.4, git-repository v0.23.1 ([`2571831`](https://github.com/Byron/gitoxide/commit/2571831e5939bf4ea6f19537b0c1ccd71dc99088))
- prepare changelog prior to release ([`fc6b958`](https://github.com/Byron/gitoxide/commit/fc6b9583d0534f70e0c8afdcad46e09a5001d62b))
- fix docs ([`34e899a`](https://github.com/Byron/gitoxide/commit/34e899ae0e4a23bba6dc36dfd7429c0d572736bd))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
## 0.18.0 (2022-08-28)
diff --git a/git-diff/Cargo.toml b/git-diff/Cargo.toml
index 23853efe91f..a08df6ec7fa 100644
--- a/git-diff/Cargo.toml
+++ b/git-diff/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-diff"
-version = "0.18.1"
+version = "0.19.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "Calculate differences between various git objects"
@@ -12,9 +12,10 @@ include = ["src/**/*"]
doctest = false
[dependencies]
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-object = { version = "^0.20.3", path = "../git-object" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-object = { version = "^0.21.0", path = "../git-object" }
thiserror = "1.0.32"
+similar = { version = "2.2.0", features = ["bytes"] }
[dev-dependencies]
git-odb = { path = "../git-odb" }
diff --git a/git-diff/src/lib.rs b/git-diff/src/lib.rs
index e279b442a1b..e1f1d292be3 100644
--- a/git-diff/src/lib.rs
+++ b/git-diff/src/lib.rs
@@ -4,3 +4,6 @@
///
pub mod tree;
+
+///
+pub mod lines;
diff --git a/git-diff/src/lines.rs b/git-diff/src/lines.rs
new file mode 100644
index 00000000000..ebb58ddb62d
--- /dev/null
+++ b/git-diff/src/lines.rs
@@ -0,0 +1,26 @@
+use git_object::bstr::BStr;
+use similar::TextDiff;
+
+/// The crate powering file diffs.
+pub use similar;
+pub use similar::Algorithm;
+
+/// Provide an iterator over the changes needed to turn `old` into `new` with `algorithm`.
+///
+/// See [the `similar` crate documentation][similar::TextDiffConfig::diff_lines()] for information on how to use the iterator.
+pub fn with<'old, 'new, 'bufs>(
+ old: &'old BStr,
+ new: &'new BStr,
+ algorithm: Algorithm,
+) -> TextDiff<'old, 'new, 'bufs, [u8]> {
+ similar::TextDiffConfig::default()
+ .algorithm(algorithm)
+ .diff_lines(old.as_ref(), new.as_ref())
+}
+
+/// Provide an iterator over the changes needed to turn `old` into `new` with Myers algorithm, the default for `git`.
+///
+/// See [the `similar` crate documentation][similar::TextDiffConfig::diff_lines()] for information on how to use the iterator.
+pub fn myers<'old, 'new, 'bufs>(old: &'old BStr, new: &'new BStr) -> TextDiff<'old, 'new, 'bufs, [u8]> {
+ with(old, new, Algorithm::Myers)
+}
diff --git a/git-diff/src/tree/visit.rs b/git-diff/src/tree/visit.rs
index b66e47b37ce..a95f488be31 100644
--- a/git-diff/src/tree/visit.rs
+++ b/git-diff/src/tree/visit.rs
@@ -42,6 +42,12 @@ pub enum Action {
Cancel,
}
+impl Default for Action {
+ fn default() -> Self {
+ Action::Continue
+ }
+}
+
impl Action {
/// Returns true if this action means to stop the traversal.
pub fn cancelled(&self) -> bool {
diff --git a/git-discover/CHANGELOG.md b/git-discover/CHANGELOG.md
index dadfef30287..87e1b6ba914 100644
--- a/git-discover/CHANGELOG.md
+++ b/git-discover/CHANGELOG.md
@@ -5,6 +5,43 @@ 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.5.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 11 commits contributed to the release over the course of 19 calendar days.
+ - 19 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - adapt to changes in `git-sec` ([`0ce21b1`](https://github.com/Byron/gitoxide/commit/0ce21b1e95e00f2d4cebc1c62349e0dc66a1c705))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+
+
## 0.4.2 (2022-09-01)
@@ -19,7 +56,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 4 commits contributed to the release over the course of 1 calendar day.
+ - 8 commits contributed to the release over the course of 2 calendar days.
- 8 days passed between releases.
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
@@ -31,10 +68,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - Release git-diff v0.18.1, git-discover v0.4.2, git-traverse v0.16.4, git-repository v0.23.1 ([`2571831`](https://github.com/Byron/gitoxide/commit/2571831e5939bf4ea6f19537b0c1ccd71dc99088))
- prepare changelog prior to release ([`fc6b958`](https://github.com/Byron/gitoxide/commit/fc6b9583d0534f70e0c8afdcad46e09a5001d62b))
- refactor ([`2cd1c00`](https://github.com/Byron/gitoxide/commit/2cd1c007330749f69fc1f154ba1a6e7a0f6e23d0))
- test `is_git` on macOS exfat ([`7057ad2`](https://github.com/Byron/gitoxide/commit/7057ad2251f76756a5b35b6bbba10ab9b6601226))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
- allow opening repos on macos exfat ([`08d0c27`](https://github.com/Byron/gitoxide/commit/08d0c27b0641526aa8b70ee5aadd3658862bef1b))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1))
## 0.4.1 (2022-08-24)
diff --git a/git-discover/Cargo.toml b/git-discover/Cargo.toml
index c24a1b31d28..90ecf361707 100644
--- a/git-discover/Cargo.toml
+++ b/git-discover/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-discover"
-version = "0.4.2"
+version = "0.5.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "Discover git repositories and check if a directory is a git repository"
@@ -12,10 +12,10 @@ include = ["src/**/*", "CHANGELOG.md"]
doctest = false
[dependencies]
-git-sec = { version = "^0.3.1", path = "../git-sec" }
-git-path = { version = "^0.4.2", path = "../git-path" }
-git-ref = { version = "^0.15.2", path = "../git-ref" }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
+git-sec = { version = "^0.4.0", path = "../git-sec" }
+git-path = { version = "^0.5.0", path = "../git-path" }
+git-ref = { version = "^0.16.0", path = "../git-ref" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
bstr = { version = "1.0.1", default-features = false, features = ["std", "unicode"] }
thiserror = "1.0.26"
diff --git a/git-features/CHANGELOG.md b/git-features/CHANGELOG.md
index 024f7520d89..ba1663dfda0 100644
--- a/git-features/CHANGELOG.md
+++ b/git-features/CHANGELOG.md
@@ -5,6 +5,43 @@ 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.22.5 (2022-09-20)
+
+### New Features
+
+ - add zlib-ng feature to allow linking against system libz-ng
+ Allow to use zlib-ng (zlib-ng-sys) with native API (no compat mode)
+ that can co-exist with system libz (loaded by e.g. libcurl).
+ This is used in gitoxide package on Alpine Linux.
+
+### Commit Statistics
+
+
+
+ - 9 commits contributed to the release over the course of 12 calendar days.
+ - 15 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 1 unique issue was worked on: [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ - working progress printing ([`67ec2c7`](https://github.com/Byron/gitoxide/commit/67ec2c7f9a4a6cefdf7148f5c7e48a79f201c4d2))
+ - First attempt to get progress information from stat worker. ([`0947c70`](https://github.com/Byron/gitoxide/commit/0947c703f9cecc31ceba101565e6ecafb00adb08))
+ - upgrade to prodash 20.1 for `Progress::counter()` feature ([`0ac4a2c`](https://github.com/Byron/gitoxide/commit/0ac4a2c514aeb94d8e90ce28ae7a0e0350c21ab2))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - upgrade prodash and crosstermion to latest versions ([`ab7ee5b`](https://github.com/Byron/gitoxide/commit/ab7ee5b5d5c15771f431ada9c3b4f53e4be2afdd))
+ - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1))
+ - Merge branch 'filter-refs' ([`e10554d`](https://github.com/Byron/gitoxide/commit/e10554d2a3b9c027353a432b0c84f7d3797b7cae))
+ - add zlib-ng feature to allow linking against system libz-ng ([`cfe46b5`](https://github.com/Byron/gitoxide/commit/cfe46b502afc3ecb312849ddbd7748007d432cd1))
+
+
## 0.22.4 (2022-09-04)
A maintenance release without breaking changes.
@@ -13,7 +50,7 @@ A maintenance release without breaking changes.
- - 3 commits contributed to the release over the course of 2 calendar days.
+ - 4 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).
- 1 unique issue was worked on: [#524](https://github.com/Byron/gitoxide/issues/524)
@@ -27,6 +64,7 @@ A maintenance release without breaking changes.
* **[#524](https://github.com/Byron/gitoxide/issues/524)**
- prepare changelogs prior to release ([`6446b39`](https://github.com/Byron/gitoxide/commit/6446b395d5926565ef899b0c923f35468ccf1921))
* **Uncategorized**
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
- Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
diff --git a/git-features/Cargo.toml b/git-features/Cargo.toml
index b91ea4d538c..e17be421fd7 100644
--- a/git-features/Cargo.toml
+++ b/git-features/Cargo.toml
@@ -2,7 +2,7 @@
name = "git-features"
description = "A crate to integrate various capabilities using compile-time feature flags"
repository = "https://github.com/Byron/gitoxide"
-version = "0.22.4"
+version = "0.22.5"
authors = ["Sebastian Thiel "]
license = "MIT/Apache-2.0"
edition = "2018"
@@ -94,7 +94,7 @@ required-features = ["io-pipe"]
[dependencies]
#! ### Optional Dependencies
-git-hash = { version = "^0.9.9", path = "../git-hash" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
@@ -115,7 +115,7 @@ crc32fast = { version = "1.2.1", optional = true }
sha1 = { version = "0.10.0", optional = true }
# progress
-prodash = { version = "20.0.0", optional = true, default-features = false, features = ["unit-bytes", "unit-human"] }
+prodash = { version = "20.2.0", optional = true, default-features = false, features = ["unit-bytes", "unit-human"] }
# pipe
bytes = { version = "1.0.0", optional = true }
diff --git a/git-glob/CHANGELOG.md b/git-glob/CHANGELOG.md
index 623735681e2..8170468e82b 100644
--- a/git-glob/CHANGELOG.md
+++ b/git-glob/CHANGELOG.md
@@ -5,8 +5,40 @@ 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.4.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 4 commits contributed to the release over the course of 7 calendar days.
+ - 27 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - fix git-glob tests ([`0c17681`](https://github.com/Byron/gitoxide/commit/0c17681602ef74cb5e9329d489df6fd7a07d546d))
+ - frame for baseline for fetch-matching ([`2569da5`](https://github.com/Byron/gitoxide/commit/2569da5988a055372a1b85660f93185603900dbe))
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+
+
## 0.3.2 (2022-08-24)
+
+
+
### Chore
- uniformize deny attributes
@@ -21,9 +53,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 5 commits contributed to the release over the course of 3 calendar days.
+ - 6 commits contributed to the release over the course of 3 calendar days.
- 32 days passed between releases.
- - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -33,6 +65,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - 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))
- Merge branch 'example-new-repo' ([`946dd3a`](https://github.com/Byron/gitoxide/commit/946dd3a80522ef437e09528a93aa1433f01b0ee8))
- 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))
@@ -50,7 +83,7 @@ This is a maintenance release with no functional changes.
- 3 commits contributed to the release over the course of 12 calendar days.
- 64 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -97,7 +130,7 @@ This is a maintenance release with no functional changes.
- 31 commits contributed to the release over the course of 35 calendar days.
- 35 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#384](https://github.com/Byron/gitoxide/issues/384)
### Thanks Clippy
@@ -163,7 +196,7 @@ This is a maintenance release with no functional changes.
- 51 commits contributed to the release over the course of 6 calendar days.
- 6 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Thanks Clippy
@@ -255,7 +288,7 @@ Initial release with pattern parsing functionality.
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Commit Details
diff --git a/git-glob/Cargo.toml b/git-glob/Cargo.toml
index d3a904d45db..d417f83faa8 100644
--- a/git-glob/Cargo.toml
+++ b/git-glob/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-glob"
-version = "0.3.2"
+version = "0.4.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project dealing with pattern matching"
diff --git a/git-hash/CHANGELOG.md b/git-hash/CHANGELOG.md
index bac4d72a80e..e730319b88a 100644
--- a/git-hash/CHANGELOG.md
+++ b/git-hash/CHANGELOG.md
@@ -5,13 +5,44 @@ 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.9.10 (2022-09-20)
+
+Maintenance release without observable changes.
+
+### Commit Statistics
+
+
+
+ - 6 commits contributed to the release over the course of 16 calendar days.
+ - 18 days passed between releases.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - refactor ([`93ac4c3`](https://github.com/Byron/gitoxide/commit/93ac4c38e5837250e158613820a6ac1bb7119ba0))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+
+
## 0.9.9 (2022-09-02)
+
+
### Bug Fixes
- don't assume hex-only characters in `ObjectId::from_hex(…)`.
-
### Refactor
- replace `quickerror` with `thiserror`
@@ -20,7 +51,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 6 commits contributed to the release.
+ - 7 commits contributed to the release.
- 9 days passed between releases.
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#522](https://github.com/Byron/gitoxide/issues/522)
@@ -36,6 +67,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- refactor ([`f3bcddf`](https://github.com/Byron/gitoxide/commit/f3bcddff931e50472e7a3e8c2c60f3cd565bfa56))
- refactor ([`0f0de2b`](https://github.com/Byron/gitoxide/commit/0f0de2ba7837e2044e22a16b6d5e20b3137e9691))
* **Uncategorized**
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
- fix docs ([`71cb9ea`](https://github.com/Byron/gitoxide/commit/71cb9eaefb792656b6380fdcc760c2234f9b9fa7))
- replace `quickerror` with `thiserror` ([`7926f47`](https://github.com/Byron/gitoxide/commit/7926f47ebc34e11c769acfd3441ab391fc1b9b36))
- some more tests ([`400c6cb`](https://github.com/Byron/gitoxide/commit/400c6cb14fe24b5e947f0c7f3a105deecd3b2f84))
diff --git a/git-hash/Cargo.toml b/git-hash/Cargo.toml
index e7eb23c5d3f..9078644bce0 100644
--- a/git-hash/Cargo.toml
+++ b/git-hash/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-hash"
-version = "0.9.9"
+version = "0.9.10"
description = "Borrowed and owned git hash digests used to identify git objects"
authors = ["Sebastian Thiel "]
repository = "https://github.com/Byron/gitoxide"
diff --git a/git-index/CHANGELOG.md b/git-index/CHANGELOG.md
index 21ce9a84b3d..98df0da38e9 100644
--- a/git-index/CHANGELOG.md
+++ b/git-index/CHANGELOG.md
@@ -5,6 +5,71 @@ 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.5.0 (2022-09-20)
+
+
+
+### Other
+
+ - :init module
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 27 commits contributed to the release over the course of 19 calendar days.
+ - 24 days passed between releases.
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Thanks Clippy
+
+
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - make fmt ([`429cccc`](https://github.com/Byron/gitoxide/commit/429cccc5831c25a7205a12dc7a0443ac48616e2c))
+ - Merge branch 'filter-refs' ([`fd14489`](https://github.com/Byron/gitoxide/commit/fd14489f729172d615d0fa1e8dbd605e9eacf69d))
+ - fix docs ([`87f6db7`](https://github.com/Byron/gitoxide/commit/87f6db7a7dc1561d06747135be206f700b75257c))
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - refactor ([`c40528e`](https://github.com/Byron/gitoxide/commit/c40528e86353fefe317d2b1ad33ff1236e589523))
+ - refactor ([`b2835cc`](https://github.com/Byron/gitoxide/commit/b2835cc28e10907eb375b2beb400cf408fa5a3e0))
+ - remove depthfirst traversal todo ([`5ca7945`](https://github.com/Byron/gitoxide/commit/5ca79458b11e0ead0027c64eecbc259b95f35ed5))
+ - add test fixture and adjust ([`e153340`](https://github.com/Byron/gitoxide/commit/e153340f52bc13a980f347b215bc1337417bbbb4))
+ - Overwrite duplicate entries (like 'git')… ([`16d8944`](https://github.com/Byron/gitoxide/commit/16d8944b492f9f70a2a29403f2ac1e1a3e50f450))
+ - refactor ([`49dc4a6`](https://github.com/Byron/gitoxide/commit/49dc4a6967912df68bc4394f331b3a5242cf52e9))
+ - refactor ([`c2524a6`](https://github.com/Byron/gitoxide/commit/c2524a635627449f5bcdd51b37a1dcd55ee0c193))
+ - refactor ([`6683081`](https://github.com/Byron/gitoxide/commit/668308139e5981094ed2b059a97f1c1245b04dc1))
+ - compare individual entries more thoroughly ([`1c9b703`](https://github.com/Byron/gitoxide/commit/1c9b703db10aa01e127f2a0eafe24f2aa1fefee7))
+ - thanks clippy ([`878593e`](https://github.com/Byron/gitoxide/commit/878593e4d0a5e74df267ac7d0bdaf827b7588043))
+ - refactor... ([`dce45e6`](https://github.com/Byron/gitoxide/commit/dce45e6ffdfe0031349bfff006e5e7140c2f515c))
+ - :init module ([`6c17f96`](https://github.com/Byron/gitoxide/commit/6c17f96fcee9e2935b464c8ffbd30b253d9f5a6c))
+ - refactor `Entry::cmp` ([`3a58c3e`](https://github.com/Byron/gitoxide/commit/3a58c3eb0b2802cd9acf05d8104a1b3a1dbc09bd))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - refactor ([`bba180d`](https://github.com/Byron/gitoxide/commit/bba180d78c182c873cc968bfd40186876dfde671))
+ - Merge branch 'main' into index-from-tree ([`bc64b96`](https://github.com/Byron/gitoxide/commit/bc64b96a2ec781c72d1d4daad38aa7fb8b74f99b))
+ - added more fixtures to test ([`adf5e54`](https://github.com/Byron/gitoxide/commit/adf5e5422a871ea435bb0ec320744b63f53d3159))
+ - initial test and implementation for State::from_tree ([`14694a4`](https://github.com/Byron/gitoxide/commit/14694a4aeff7f05818aa7851e0e2fa56e911322c))
+
+
## 0.4.3 (2022-08-27)
Maintenance release without user-facing changes.
@@ -13,9 +78,9 @@ Maintenance release without user-facing changes.
- - 2 commits contributed to the release.
+ - 3 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -25,6 +90,7 @@ Maintenance release without user-facing changes.
view details
* **Uncategorized**
+ - 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))
@@ -48,7 +114,7 @@ Maintenance release without user-facing changes.
- 5 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -79,7 +145,7 @@ Maintenance release without user-facing changes.
- 61 commits contributed to the release over the course of 22 calendar days.
- 26 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#427](https://github.com/Byron/gitoxide/issues/427), [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Thanks Clippy
@@ -170,7 +236,7 @@ This is a maintenance release with no functional changes.
- 5 commits contributed to the release over the course of 2 calendar days.
- 64 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -205,7 +271,7 @@ This is a maintenance release with no functional changes.
- 17 commits contributed to the release over the course of 34 calendar days.
- 45 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#301](https://github.com/Byron/gitoxide/issues/301), [#384](https://github.com/Byron/gitoxide/issues/384)
### Commit Details
@@ -253,7 +319,7 @@ This is a maintenance release with no functional changes.
- 43 commits contributed to the release over the course of 73 calendar days.
- 73 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 5 unique issues were worked on: [#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), [#333](https://github.com/Byron/gitoxide/issues/333)
### Commit Details
@@ -325,7 +391,7 @@ certain extensions are present.
- 72 commits contributed to the release over the course of 490 calendar days.
- 509 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#293](https://github.com/Byron/gitoxide/issues/293)
### Thanks Clippy
@@ -423,7 +489,7 @@ certain extensions are present.
- 1 commit contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-index/Cargo.toml b/git-index/Cargo.toml
index 037f2c624bb..979c9a67739 100644
--- a/git-index/Cargo.toml
+++ b/git-index/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-index"
-version = "0.4.3"
+version = "0.5.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A work-in-progress crate of the gitoxide project dedicated implementing the git index file"
@@ -30,11 +30,11 @@ internal-testing-git-features-parallel = ["git-features/parallel"]
internal-testing-to-avoid-being-run-by-cargo-test-all = []
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features", features = ["rustsha1", "progress"] }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
+git-features = { version = "^0.22.5", path = "../git-features", features = ["rustsha1", "progress"] }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
git-bitmap = { version = "^0.1.2", path = "../git-bitmap" }
-git-object = { version = "^0.20.2", path = "../git-object" }
-git-traverse = { version = "^0.16.0", path = "../git-traverse" }
+git-object = { version = "^0.21.0", path = "../git-object" }
+git-traverse = { version = "^0.17.0", path = "../git-traverse" }
thiserror = "1.0.32"
memmap2 = "0.5.0"
diff --git a/git-mailmap/CHANGELOG.md b/git-mailmap/CHANGELOG.md
index 63a2dffde36..fc83525ff60 100644
--- a/git-mailmap/CHANGELOG.md
+++ b/git-mailmap/CHANGELOG.md
@@ -5,8 +5,56 @@ 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.4.0 (2022-09-20)
+
+### New Features
+
+ - `Snapshot::resolve_cow()` allows to copy fields only if they change.
+ This generally speeds up resolution performance as it won't
+ unnecessarily copy anything anymore. Furthermore it allows the caller
+ to see which of the fields, name or email, was actually remapped.
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 6 commits contributed to the release over the course of 7 calendar days.
+ - 27 days passed between releases.
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Thanks Clippy
+
+
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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))
+ - thanks clippy ([`3925298`](https://github.com/Byron/gitoxide/commit/39252985ff28d6801d09ef1d30e0e462c8277f8b))
+ - refactor ([`2f7ae74`](https://github.com/Byron/gitoxide/commit/2f7ae74ff5f7d758da9e8edd4d805f5b58f01a00))
+ - `Snapshot::resolve_cow()` allows to copy fields only if they change. ([`bd8f50b`](https://github.com/Byron/gitoxide/commit/bd8f50bf56d98843a3e0d3c6e349451b623c51ae))
+
+
## 0.3.2 (2022-08-24)
+
+
+
### Chore
- uniformize deny attributes
@@ -21,9 +69,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 5 commits contributed to the release over the course of 3 calendar days.
+ - 6 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -33,6 +81,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - 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))
- Merge branch 'example-new-repo' ([`946dd3a`](https://github.com/Byron/gitoxide/commit/946dd3a80522ef437e09528a93aa1433f01b0ee8))
- 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))
@@ -50,7 +99,7 @@ A maintenance release without user facing changes.
- 3 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -75,7 +124,7 @@ This is a maintenance release with no functional changes.
- 3 commits contributed to the release.
- 64 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -100,7 +149,7 @@ A maintenance release without user-facing changes.
- 3 commits contributed to the release.
- 45 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Commit Details
@@ -129,7 +178,7 @@ A maintenance release without user-facing changes.
- 30 commits contributed to the release over the course of 8 calendar days.
- 8 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#364](https://github.com/Byron/gitoxide/issues/364), [#366](https://github.com/Byron/gitoxide/issues/366)
### Thanks Clippy
@@ -188,7 +237,7 @@ An empty crate without any content to reserve the name for the gitoxide project.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#366](https://github.com/Byron/gitoxide/issues/366)
### Commit Details
diff --git a/git-mailmap/Cargo.toml b/git-mailmap/Cargo.toml
index 9f229435a4f..b63454bfe90 100644
--- a/git-mailmap/Cargo.toml
+++ b/git-mailmap/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-mailmap"
-version = "0.3.2"
+version = "0.4.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project for parsing mailmap files"
@@ -15,7 +15,7 @@ doctest = false
serde1 = ["serde", "bstr/serde", "git-actor/serde1"]
[dependencies]
-git-actor = { version = "^0.11.3", path = "../git-actor" }
+git-actor = { version = "^0.12.0", path = "../git-actor" }
bstr = { version = "1.0.1", default-features = false, features = ["std", "unicode"]}
quick-error = "2.0.0"
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"]}
diff --git a/git-object/CHANGELOG.md b/git-object/CHANGELOG.md
index 7593585d787..26c402ea45d 100644
--- a/git-object/CHANGELOG.md
+++ b/git-object/CHANGELOG.md
@@ -5,6 +5,48 @@ 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.21.0 (2022-09-20)
+
+
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Chore (BREAKING)
+
+ - remove quick-error in favor of thiserror
+ Some errors change shape which makes this a breaking change.
+
+### Commit Statistics
+
+
+
+ - 9 commits contributed to the release over the course of 18 calendar days.
+ - 22 days passed between releases.
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - fix docs ([`dad9cbe`](https://github.com/Byron/gitoxide/commit/dad9cbeb853c0cc5128360b05c04b5a3da7ec75e))
+ - remove quick-error in favor of thiserror ([`9c8a36f`](https://github.com/Byron/gitoxide/commit/9c8a36f35b1e8dad66befb102e5a8670b4a6c2b2))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+
+
## 0.20.3 (2022-08-28)
Maintenance release without user-facing changes.
@@ -13,9 +55,9 @@ Maintenance release without user-facing changes.
- - 2 commits contributed to the release.
+ - 3 commits contributed to the release.
- 4 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Commit Details
@@ -27,6 +69,7 @@ Maintenance release without user-facing changes.
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
* **Uncategorized**
+ - 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))
- refactor ([`867fc20`](https://github.com/Byron/gitoxide/commit/867fc208e8542668adcc81f8c03dd4957e956ef7))
@@ -49,7 +92,7 @@ Maintenance release without user-facing changes.
- 5 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -78,7 +121,7 @@ Maintenance release without user-facing changes.
- 8 commits contributed to the release over the course of 23 calendar days.
- 26 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Commit Details
@@ -113,7 +156,7 @@ This is a maintenance release with no functional changes.
- 5 commits contributed to the release over the course of 36 calendar days.
- 64 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Thanks Clippy
@@ -151,7 +194,7 @@ This is a maintenance release with no functional changes.
- 3 commits contributed to the release over the course of 30 calendar days.
- 45 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#389](https://github.com/Byron/gitoxide/issues/389)
### Commit Details
@@ -192,7 +235,7 @@ This is a maintenance release with no functional changes.
- 17 commits contributed to the release over the course of 55 calendar days.
- 60 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#329](https://github.com/Byron/gitoxide/issues/329), [#364](https://github.com/Byron/gitoxide/issues/364)
### Thanks Clippy
@@ -243,7 +286,7 @@ A automated maintenance release without impact to the public API.
- 5 commits contributed to the release over the course of 7 calendar days.
- 8 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#293](https://github.com/Byron/gitoxide/issues/293)
### Commit Details
@@ -293,7 +336,7 @@ A automated maintenance release without impact to the public API.
- 14 commits contributed to the release over the course of 51 calendar days.
- 55 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#266](https://github.com/Byron/gitoxide/issues/266), [#279](https://github.com/Byron/gitoxide/issues/279)
### Thanks Clippy
@@ -339,7 +382,7 @@ Maintenance release due, which isn't really required but one now has to be caref
- 6 commits contributed to the release over the course of 11 calendar days.
- 12 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#250](https://github.com/Byron/gitoxide/issues/250), [#259](https://github.com/Byron/gitoxide/issues/259)
### Commit Details
@@ -369,7 +412,7 @@ A maintenance release triggered by changes to git-pack and changelog rewrites.
- 7 commits contributed to the release over the course of 15 calendar days.
- 27 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#254](https://github.com/Byron/gitoxide/issues/254)
### Commit Details
@@ -399,7 +442,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 4 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -440,7 +483,7 @@ or generally trying to figure out what changed between commits.
- 48 commits contributed to the release over the course of 28 calendar days.
- 36 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#198](https://github.com/Byron/gitoxide/issues/198), [#67](https://github.com/Byron/gitoxide/issues/67)
### Commit Details
@@ -522,7 +565,7 @@ or generally trying to figure out what changed between commits.
- 6 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -548,7 +591,7 @@ or generally trying to figure out what changed between commits.
- 5 commits contributed to the release over the course of 5 calendar days.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -573,7 +616,7 @@ or generally trying to figure out what changed between commits.
- 28 commits contributed to the release over the course of 8 calendar days.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -621,7 +664,7 @@ or generally trying to figure out what changed between commits.
- 5 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -645,7 +688,7 @@ or generally trying to figure out what changed between commits.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -667,7 +710,7 @@ or generally trying to figure out what changed between commits.
- 2 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -688,7 +731,7 @@ or generally trying to figure out what changed between commits.
- 4 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -712,7 +755,7 @@ or generally trying to figure out what changed between commits.
- 43 commits contributed to the release over the course of 82 calendar days.
- 93 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -781,7 +824,7 @@ or generally trying to figure out what changed between commits.
- 13 commits contributed to the release over the course of 8 calendar days.
- 8 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#79](https://github.com/Byron/gitoxide/issues/79)
### Commit Details
@@ -815,7 +858,7 @@ or generally trying to figure out what changed between commits.
- 33 commits contributed to the release over the course of 11 calendar days.
- 21 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -880,7 +923,7 @@ or generally trying to figure out what changed between commits.
- 13 commits contributed to the release over the course of 112 calendar days.
- 113 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#63](https://github.com/Byron/gitoxide/issues/63)
### Commit Details
@@ -913,7 +956,7 @@ or generally trying to figure out what changed between commits.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -935,7 +978,7 @@ or generally trying to figure out what changed between commits.
- 17 commits contributed to the release over the course of 90 calendar days.
- 94 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -978,7 +1021,7 @@ or generally trying to figure out what changed between commits.
- 6 commits contributed to the release over the course of 29 calendar days.
- 30 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1012,7 +1055,7 @@ or generally trying to figure out what changed between commits.
- 71 commits contributed to the release over the course of 31 calendar days.
- 31 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1114,7 +1157,7 @@ or generally trying to figure out what changed between commits.
- 82 commits contributed to the release over the course of 26 calendar days.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-object/Cargo.toml b/git-object/Cargo.toml
index 5565ab7b9f0..955bd02caa3 100644
--- a/git-object/Cargo.toml
+++ b/git-object/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-object"
-version = "0.20.3"
+version = "0.21.0"
description = "Immutable and mutable git objects with decoding and encoding support"
authors = ["Sebastian Thiel "]
repository = "https://github.com/Byron/gitoxide"
@@ -21,10 +21,10 @@ serde1 = ["serde", "bstr/serde", "smallvec/serde", "git-hash/serde1", "git-actor
verbose-object-parsing-errors = ["nom/std"]
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features", features = ["rustsha1"] }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-validate = { version = "^0.5.5", path = "../git-validate" }
-git-actor = { version = "^0.11.3", path = "../git-actor" }
+git-features = { version = "^0.22.5", path = "../git-features", features = ["rustsha1"] }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-validate = { version = "^0.6.0", path = "../git-validate" }
+git-actor = { version = "^0.12.0", path = "../git-actor" }
btoi = "0.4.2"
itoa = "1.0.1"
diff --git a/git-odb/CHANGELOG.md b/git-odb/CHANGELOG.md
index bd00f3fbe37..d8f9b92cc42 100644
--- a/git-odb/CHANGELOG.md
+++ b/git-odb/CHANGELOG.md
@@ -5,6 +5,41 @@ 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.33.0 (2022-09-20)
+
+Maintenance release without observable changes.
+
+### Commit Statistics
+
+
+
+ - 12 commits contributed to the release over the course of 21 calendar days.
+ - 22 days passed between releases.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 1 unique issue was worked on: [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1))
+
+
## 0.32.0 (2022-08-28)
Maintenance release without user-facing changes.
@@ -13,9 +48,9 @@ Maintenance release without user-facing changes.
- - 2 commits contributed to the release over the course of 1 calendar day.
+ - 3 commits contributed to the release over the course of 1 calendar day.
- 4 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Commit Details
@@ -27,6 +62,7 @@ Maintenance release without user-facing changes.
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
* **Uncategorized**
+ - 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))
- Release git-features v0.22.3, git-revision v0.4.4 ([`c2660e2`](https://github.com/Byron/gitoxide/commit/c2660e2503323531ba02519eaa51124ee22fec51))
@@ -49,7 +85,7 @@ Maintenance release without user-facing changes.
- 6 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -85,7 +121,7 @@ Maintenance release without user-facing changes.
- 14 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Thanks Clippy
@@ -135,7 +171,7 @@ This is a maintenance release with no functional changes.
- 13 commits contributed to the release over the course of 37 calendar days.
- 39 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#331](https://github.com/Byron/gitoxide/issues/331), [#427](https://github.com/Byron/gitoxide/issues/427)
### Commit Details
@@ -172,7 +208,7 @@ A maintenance release without user-facing changes.
- 2 commits contributed to the release.
- 25 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -196,7 +232,7 @@ A maintenance release without user-facing changes.
- 9 commits contributed to the release over the course of 36 calendar days.
- 43 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#384](https://github.com/Byron/gitoxide/issues/384)
### Commit Details
@@ -239,7 +275,7 @@ A maintenance release without user-facing changes.
- 3 commits contributed to the release over the course of 1 calendar day.
- 2 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#298](https://github.com/Byron/gitoxide/issues/298)
### Commit Details
@@ -275,7 +311,7 @@ A maintenance release without user-facing changes.
- 43 commits contributed to the release over the course of 68 calendar days.
- 69 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 6 unique issues were worked on: [#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)
### Thanks Clippy
@@ -437,7 +473,7 @@ A maintenance release without user-facing changes.
- 164 commits contributed to the release over the course of 51 calendar days.
- 55 days passed between releases.
- - 24 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 24 commits were understood as [conventional](https://www.conventionalcommits.org).
- 6 unique issues were worked on: [#260](https://github.com/Byron/gitoxide/issues/260), [#266](https://github.com/Byron/gitoxide/issues/266), [#279](https://github.com/Byron/gitoxide/issues/279), [#287](https://github.com/Byron/gitoxide/issues/287), [#293](https://github.com/Byron/gitoxide/issues/293), [#298](https://github.com/Byron/gitoxide/issues/298)
### Thanks Clippy
@@ -641,7 +677,7 @@ Maintenance release due, which isn't really required but one now has to be caref
- 6 commits contributed to the release over the course of 11 calendar days.
- 12 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#250](https://github.com/Byron/gitoxide/issues/250), [#259](https://github.com/Byron/gitoxide/issues/259)
### Commit Details
@@ -671,7 +707,7 @@ A maintenance release triggered by changes to git-pack and changelog rewrites.
- 5 commits contributed to the release over the course of 12 calendar days.
- 27 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#254](https://github.com/Byron/gitoxide/issues/254)
### Commit Details
@@ -699,7 +735,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 4 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -735,7 +771,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 24 commits contributed to the release over the course of 31 calendar days.
- 35 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#198](https://github.com/Byron/gitoxide/issues/198), [#67](https://github.com/Byron/gitoxide/issues/67)
### Commit Details
@@ -781,7 +817,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 2 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -803,7 +839,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 7 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -830,7 +866,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 4 commits contributed to the release over the course of 1 calendar day.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -854,7 +890,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 16 commits contributed to the release over the course of 4 calendar days.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -890,7 +926,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 2 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -911,7 +947,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -933,7 +969,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 4 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -956,7 +992,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -977,7 +1013,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 7 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1003,7 +1039,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 1 commit contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1024,7 +1060,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 113 commits contributed to the release over the course of 83 calendar days.
- 93 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1163,7 +1199,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 18 commits contributed to the release over the course of 6 calendar days.
- 6 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -1207,7 +1243,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 4 commits contributed to the release over the course of 2 calendar days.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1239,7 +1275,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 153 commits contributed to the release over the course of 18 calendar days.
- 21 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#67](https://github.com/Byron/gitoxide/issues/67)
### Commit Details
@@ -1434,7 +1470,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 23 commits contributed to the release over the course of 4 calendar days.
- 4 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#63](https://github.com/Byron/gitoxide/issues/63)
### Thanks Clippy
@@ -1484,7 +1520,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 4 commits contributed to the release.
- 5 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#59](https://github.com/Byron/gitoxide/issues/59)
### Commit Details
@@ -1509,7 +1545,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 13 commits contributed to the release over the course of 14 calendar days.
- 63 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1547,7 +1583,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 1 commit contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1568,7 +1604,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 8 commits contributed to the release over the course of 38 calendar days.
- 38 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1601,7 +1637,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1623,7 +1659,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1646,7 +1682,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 8 commits contributed to the release over the course of 27 calendar days.
- 27 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1690,7 +1726,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 74 commits contributed to the release over the course of 60 calendar days.
- 61 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -1806,7 +1842,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 39 commits contributed to the release over the course of 5 calendar days.
- 6 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1872,7 +1908,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 15 commits contributed to the release over the course of 30 calendar days.
- 30 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1922,7 +1958,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 413 commits contributed to the release over the course of 31 calendar days.
- 31 days passed between releases.
- - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -2373,7 +2409,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 167 commits contributed to the release over the course of 90 calendar days.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-odb/Cargo.toml b/git-odb/Cargo.toml
index 61192992ea7..c6f57573201 100644
--- a/git-odb/Cargo.toml
+++ b/git-odb/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-odb"
-version = "0.32.0"
+version = "0.33.0"
repository = "https://github.com/Byron/gitoxide"
authors = ["Sebastian Thiel "]
license = "MIT/Apache-2.0"
@@ -27,12 +27,12 @@ path = "tests/odb-single-threaded.rs"
required-features = []
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features", features = ["rustsha1", "walkdir", "zlib", "crc32" ] }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-path = { version = "^0.4.2", path = "../git-path" }
-git-quote = { version = "^0.2.1", path = "../git-quote" }
-git-object = { version = "^0.20.3", path = "../git-object" }
-git-pack = { version = "^0.22.0", path = "../git-pack" }
+git-features = { version = "^0.22.5", path = "../git-features", features = ["rustsha1", "walkdir", "zlib", "crc32" ] }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-path = { version = "^0.5.0", path = "../git-path" }
+git-quote = { version = "^0.3.0", path = "../git-quote" }
+git-object = { version = "^0.21.0", path = "../git-object" }
+git-pack = { version = "^0.23.0", path = "../git-pack" }
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"]}
tempfile = "3.1.0"
diff --git a/git-pack/CHANGELOG.md b/git-pack/CHANGELOG.md
index 261203487e1..b2ac502caf3 100644
--- a/git-pack/CHANGELOG.md
+++ b/git-pack/CHANGELOG.md
@@ -5,6 +5,45 @@ 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.23.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 13 commits contributed to the release over the course of 21 calendar days.
+ - 22 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1))
+
+
## 0.22.0 (2022-08-28)
Maintenance release without user-facing changes.
@@ -13,9 +52,9 @@ Maintenance release without user-facing changes.
- - 3 commits contributed to the release over the course of 1 calendar day.
+ - 4 commits contributed to the release over the course of 1 calendar day.
- 4 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Commit Details
@@ -27,6 +66,7 @@ Maintenance release without user-facing changes.
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
* **Uncategorized**
+ - 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))
- adjust to changes in `git-diff` ([`54954ee`](https://github.com/Byron/gitoxide/commit/54954ee5022a900f9f97baec63e9a073eca514e9))
- Release git-features v0.22.3, git-revision v0.4.4 ([`c2660e2`](https://github.com/Byron/gitoxide/commit/c2660e2503323531ba02519eaa51124ee22fec51))
@@ -50,7 +90,7 @@ Maintenance release without user-facing changes.
- 6 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -78,7 +118,7 @@ A maintenance release without user facing changes.
- 11 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Thanks Clippy
@@ -123,7 +163,7 @@ This is a maintenance release with no functional changes.
- 13 commits contributed to the release over the course of 33 calendar days.
- 39 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Commit Details
@@ -159,7 +199,7 @@ A maintenance release without user-facing changes.
- 3 commits contributed to the release over the course of 22 calendar days.
- 22 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -184,7 +224,7 @@ A maintenance release without user-facing changes.
- 4 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#422](https://github.com/Byron/gitoxide/issues/422)
### Thanks Clippy
@@ -217,7 +257,7 @@ A maintenance release without user-facing changes.
- 15 commits contributed to the release over the course of 40 calendar days.
- 43 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#384](https://github.com/Byron/gitoxide/issues/384)
### Commit Details
@@ -260,7 +300,7 @@ A maintenance release without user-facing changes.
- 4 commits contributed to the release over the course of 1 calendar day.
- 2 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#298](https://github.com/Byron/gitoxide/issues/298)
### Commit Details
@@ -310,7 +350,7 @@ A maintenance release without user-facing changes.
- 34 commits contributed to the release over the course of 55 calendar days.
- 60 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 7 unique issues were worked on: [#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), [#67](https://github.com/Byron/gitoxide/issues/67)
### Thanks Clippy
@@ -383,7 +423,7 @@ A maintenance release without user-facing changes.
- 6 commits contributed to the release over the course of 7 calendar days.
- 8 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -508,7 +548,7 @@ A maintenance release without user-facing changes.
- 147 commits contributed to the release over the course of 51 calendar days.
- 55 days passed between releases.
- - 33 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 33 commits were understood as [conventional](https://www.conventionalcommits.org).
- 6 unique issues were worked on: [#260](https://github.com/Byron/gitoxide/issues/260), [#266](https://github.com/Byron/gitoxide/issues/266), [#279](https://github.com/Byron/gitoxide/issues/279), [#287](https://github.com/Byron/gitoxide/issues/287), [#293](https://github.com/Byron/gitoxide/issues/293), [#67](https://github.com/Byron/gitoxide/issues/67)
### Thanks Clippy
@@ -702,7 +742,7 @@ A maintenance release without user-facing changes.
- 13 commits contributed to the release over the course of 11 calendar days.
- 12 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#250](https://github.com/Byron/gitoxide/issues/250), [#259](https://github.com/Byron/gitoxide/issues/259), [#263](https://github.com/Byron/gitoxide/issues/263)
### Commit Details
@@ -756,7 +796,7 @@ An important bugfix to prevent assertion failures when writing thin packs.
- 9 commits contributed to the release over the course of 18 calendar days.
- 27 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#247](https://github.com/Byron/gitoxide/issues/247), [#254](https://github.com/Byron/gitoxide/issues/254)
### Commit Details
@@ -789,7 +829,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 4 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -858,7 +898,7 @@ signalled a breaking change which is one of our dependencies.
- 34 commits contributed to the release over the course of 32 calendar days.
- 36 days passed between releases.
- - 10 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 10 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#164](https://github.com/Byron/gitoxide/issues/164), [#198](https://github.com/Byron/gitoxide/issues/198), [#67](https://github.com/Byron/gitoxide/issues/67)
### Commit Details
@@ -917,7 +957,7 @@ signalled a breaking change which is one of our dependencies.
- 3 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -945,7 +985,7 @@ signalled a breaking change which is one of our dependencies.
- 4 commits contributed to the release over the course of 8 calendar days.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -986,7 +1026,7 @@ signalled a breaking change which is one of our dependencies.
- 56 commits contributed to the release over the course of 5 calendar days.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1068,7 +1108,7 @@ signalled a breaking change which is one of our dependencies.
- 2 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1089,7 +1129,7 @@ signalled a breaking change which is one of our dependencies.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1111,7 +1151,7 @@ signalled a breaking change which is one of our dependencies.
- 4 commits contributed to the release over the course of 1 calendar day.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1134,7 +1174,7 @@ signalled a breaking change which is one of our dependencies.
- 4 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1157,7 +1197,7 @@ signalled a breaking change which is one of our dependencies.
- 9 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1185,7 +1225,7 @@ signalled a breaking change which is one of our dependencies.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1207,7 +1247,7 @@ signalled a breaking change which is one of our dependencies.
- 136 commits contributed to the release over the course of 76 calendar days.
- 77 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1368,7 +1408,7 @@ signalled a breaking change which is one of our dependencies.
- 13 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1400,7 +1440,7 @@ signalled a breaking change which is one of our dependencies.
- 1 commit contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-pack/Cargo.toml b/git-pack/Cargo.toml
index 0ec79073ff2..1ae9b9db8f0 100644
--- a/git-pack/Cargo.toml
+++ b/git-pack/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-pack"
-version = "0.22.0"
+version = "0.23.0"
repository = "https://github.com/Byron/gitoxide"
authors = ["Sebastian Thiel "]
license = "MIT/Apache-2.0"
@@ -37,13 +37,13 @@ path = "tests/pack-single-threaded.rs"
required-features = ["internal-testing-to-avoid-being-run-by-cargo-test-all"]
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features", features = ["crc32", "rustsha1", "progress", "zlib"] }
-git-path = { version = "^0.4.2", path = "../git-path" }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-chunk = { version = "^0.3.1", path = "../git-chunk" }
-git-object = { version = "^0.20.3", path = "../git-object" }
-git-traverse = { version = "^0.16.3", path = "../git-traverse" }
-git-diff = { version = "^0.18.0", path = "../git-diff" }
+git-features = { version = "^0.22.5", path = "../git-features", features = ["crc32", "rustsha1", "progress", "zlib"] }
+git-path = { version = "^0.5.0", path = "../git-path" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-chunk = { version = "^0.3.2", path = "../git-chunk" }
+git-object = { version = "^0.21.0", path = "../git-object" }
+git-traverse = { version = "^0.17.0", path = "../git-traverse" }
+git-diff = { version = "^0.19.0", path = "../git-diff" }
git-tempfile = { version = "^2.0.0", path = "../git-tempfile" }
smallvec = "1.3.0"
diff --git a/git-packetline/CHANGELOG.md b/git-packetline/CHANGELOG.md
index c9384cacc6c..58944996944 100644
--- a/git-packetline/CHANGELOG.md
+++ b/git-packetline/CHANGELOG.md
@@ -5,8 +5,58 @@ 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.13.0 (2022-09-20)
+
+
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Chore (BREAKING)
+
+ - replace quick-error with thiserror
+ Many of the error definitions changed from tuple types to structs.
+
+### Commit Statistics
+
+
+
+ - 8 commits contributed to the release over the course of 13 calendar days.
+ - 27 days passed between releases.
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Thanks Clippy
+
+
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - fix docs ([`dad9cbe`](https://github.com/Byron/gitoxide/commit/dad9cbeb853c0cc5128360b05c04b5a3da7ec75e))
+ - replace quick-error with thiserror ([`5a74999`](https://github.com/Byron/gitoxide/commit/5a74999f853215feb33140997c4a0dc62e49df66))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1))
+ - thanks clippy ([`1d85564`](https://github.com/Byron/gitoxide/commit/1d8556461a585188616683d3b9998ec07936d5fc))
+
+
## 0.12.7 (2022-08-24)
+
+
+
### Chore
- uniformize deny attributes
@@ -21,9 +71,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 5 commits contributed to the release over the course of 3 calendar days.
+ - 6 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -33,6 +83,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - 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))
- Merge branch 'example-new-repo' ([`946dd3a`](https://github.com/Byron/gitoxide/commit/946dd3a80522ef437e09528a93aa1433f01b0ee8))
- 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))
@@ -50,7 +101,7 @@ A maintenance release without user facing changes.
- 3 commits contributed to the release over the course of 26 calendar days.
- 90 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -75,7 +126,7 @@ A maintenance release without user-facing changes.
- 6 commits contributed to the release over the course of 40 calendar days.
- 45 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Commit Details
@@ -106,7 +157,7 @@ A maintenance release without user-facing changes.
- 7 commits contributed to the release over the course of 68 calendar days.
- 69 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#329](https://github.com/Byron/gitoxide/issues/329)
### Commit Details
@@ -136,7 +187,7 @@ A maintenance release thanks to changed dependencies.
- 11 commits contributed to the release over the course of 51 calendar days.
- 55 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#279](https://github.com/Byron/gitoxide/issues/279)
### Thanks Clippy
@@ -176,7 +227,7 @@ A maintenance release, triggered by putting too many adjustments into a single c
- 5 commits contributed to the release over the course of 11 calendar days.
- 12 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -203,7 +254,7 @@ A maintenance release triggered by changes to git-pack and changelog rewrites.
- 4 commits contributed to the release.
- 27 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#254](https://github.com/Byron/gitoxide/issues/254)
### Commit Details
@@ -230,7 +281,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -264,7 +315,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 24 commits contributed to the release over the course of 31 calendar days.
- 38 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#198](https://github.com/Byron/gitoxide/issues/198), [#200](https://github.com/Byron/gitoxide/issues/200)
### Commit Details
@@ -310,7 +361,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release over the course of 1 calendar day.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -347,7 +398,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 8 commits contributed to the release.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -375,7 +426,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -397,7 +448,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 4 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -420,7 +471,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -441,7 +492,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -463,7 +514,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 103 commits contributed to the release over the course of 89 calendar days.
- 93 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#77](https://github.com/Byron/gitoxide/issues/77)
### Commit Details
@@ -593,7 +644,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 14 commits contributed to the release over the course of 133 calendar days.
- 133 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -633,7 +684,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 9 commits contributed to the release over the course of 9 calendar days.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -661,7 +712,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -683,7 +734,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 4 commits contributed to the release over the course of 90 calendar days.
- 92 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -707,7 +758,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 4 commits contributed to the release over the course of 2 calendar days.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -731,7 +782,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 45 commits contributed to the release over the course of 23 calendar days.
- 24 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -795,7 +846,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-packetline/Cargo.toml b/git-packetline/Cargo.toml
index 5f2c6c24b0d..87c9266f9e9 100644
--- a/git-packetline/Cargo.toml
+++ b/git-packetline/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-packetline"
-version = "0.12.7"
+version = "0.13.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project implementing the pkt-line serialization format"
diff --git a/git-path/CHANGELOG.md b/git-path/CHANGELOG.md
index 344cdb1fc9d..038b3d72724 100644
--- a/git-path/CHANGELOG.md
+++ b/git-path/CHANGELOG.md
@@ -5,6 +5,49 @@ 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.5.0 (2022-09-20)
+
+### New Features
+
+ - add support for `wasi`
+ This allows path conversions there to be just as efficient as on unix.
+
+ This was adopted from [a PR in the
+ hexlix-editor](https://github.com/helix-editor/helix/pull/3890/files#diff-504515b66023120e75a921cd56a932aed76c0ff62593fbb69d92e0ef65089501R47).
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 9 commits contributed to the release over the course of 21 calendar days.
+ - 21 days passed between releases.
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ - add support for `wasi` ([`523418f`](https://github.com/Byron/gitoxide/commit/523418f69030faa0add6472b14333e9aafc69f56))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+
+
## 0.4.2 (2022-08-29)
### New Features
@@ -17,9 +60,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 2 commits contributed to the release over the course of 4 calendar days.
+ - 3 commits contributed to the release over the course of 4 calendar days.
- 6 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -31,6 +74,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* **[#450](https://github.com/Byron/gitoxide/issues/450)**
- add `is_absolute()` for git-style absolute checks ([`f58a043`](https://github.com/Byron/gitoxide/commit/f58a043273b8e15afd01aac71f33652783baf462))
* **Uncategorized**
+ - 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))
@@ -59,7 +103,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 5 commits contributed to the release over the course of 3 calendar days.
- 31 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -89,7 +133,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 12 commits contributed to the release over the course of 32 calendar days.
- 33 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#331](https://github.com/Byron/gitoxide/issues/331)
### Thanks Clippy
@@ -132,7 +176,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 4 commits contributed to the release.
- 6 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -161,7 +205,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 6 commits contributed to the release over the course of 20 calendar days.
- 20 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -189,7 +233,7 @@ A maintenance release without user-facing changes.
- 4 commits contributed to the release over the course of 1 calendar day.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -215,7 +259,7 @@ A maintenance release without user-facing changes.
- 6 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#422](https://github.com/Byron/gitoxide/issues/422)
### Commit Details
@@ -262,7 +306,7 @@ A maintenance release without user-facing changes.
- 49 commits contributed to the release over the course of 19 calendar days.
- 20 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Thanks Clippy
@@ -343,7 +387,7 @@ A maintenance release without user-facing changes.
- 9 commits contributed to the release over the course of 1 calendar day.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Commit Details
diff --git a/git-path/Cargo.toml b/git-path/Cargo.toml
index c10d334d4df..9d164b02c1f 100644
--- a/git-path/Cargo.toml
+++ b/git-path/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-path"
-version = "0.4.2"
+version = "0.5.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project dealing paths and their conversions"
diff --git a/git-path/src/convert.rs b/git-path/src/convert.rs
index 68b9bf219a5..2ddbcbbd607 100644
--- a/git-path/src/convert.rs
+++ b/git-path/src/convert.rs
@@ -41,6 +41,11 @@ pub fn try_into_bstr<'a>(path: impl Into>) -> Result
use std::os::unix::ffi::OsStringExt;
path.into_os_string().into_vec().into()
};
+ #[cfg(target_os = "wasi")]
+ let p: BString = {
+ use std::os::wasi::ffi::OsStringExt;
+ path.into_os_string().into_vec().into()
+ };
#[cfg(not(unix))]
let p: BString = path.into_os_string().into_string().map_err(|_| Utf8Error)?.into();
p
@@ -51,6 +56,11 @@ pub fn try_into_bstr<'a>(path: impl Into>) -> Result
use std::os::unix::ffi::OsStrExt;
path.as_os_str().as_bytes().into()
};
+ #[cfg(target_os = "wasi")]
+ let p: &BStr = {
+ use std::os::wasi::ffi::OsStrExt;
+ path.as_os_str().as_bytes().into()
+ };
#[cfg(not(unix))]
let p: &BStr = path.to_str().ok_or(Utf8Error)?.as_bytes().into();
p
@@ -75,6 +85,11 @@ pub fn try_from_byte_slice(input: &[u8]) -> Result<&Path, Utf8Error> {
use std::os::unix::ffi::OsStrExt;
OsStr::from_bytes(input).as_ref()
};
+ #[cfg(target_os = "wasi")]
+ let p = {
+ use std::os::wasi::ffi::OsStrExt;
+ OsStr::from_bytes(input).as_ref()
+ };
#[cfg(not(unix))]
let p = Path::new(std::str::from_utf8(input).map_err(|_| Utf8Error)?);
Ok(p)
@@ -102,6 +117,11 @@ pub fn try_from_bstring(input: impl Into) -> Result
use std::os::unix::ffi::OsStringExt;
std::ffi::OsString::from_vec(input.into()).into()
};
+ #[cfg(target_os = "wasi")]
+ let p = {
+ use std::os::wasi::ffi::OsStringExt;
+ std::ffi::OsString::from_vec(input.into()).into()
+ };
#[cfg(not(unix))]
let p = {
use bstr::ByteVec;
diff --git a/git-pathspec/Cargo.toml b/git-pathspec/Cargo.toml
index 97ed19abca8..b352f874d98 100644
--- a/git-pathspec/Cargo.toml
+++ b/git-pathspec/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-pathspec"
-version = "0.0.0"
+version = "0.1.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project dealing magical pathspecs"
@@ -11,8 +11,8 @@ edition = "2018"
doctest = false
[dependencies]
-git-glob = { version = "^0.3.2", path = "../git-glob" }
-git-attributes = { version = "^0.3.3", path = "../git-attributes" }
+git-glob = { version = "^0.4.0", path = "../git-glob" }
+git-attributes = { version = "^0.4.0", path = "../git-attributes" }
bstr = { version = "1.0.1", default-features = false, features = ["std"]}
bitflags = "1.3.2"
diff --git a/git-prompt/CHANGELOG.md b/git-prompt/CHANGELOG.md
index b87e0cefbfb..4456f25fa16 100644
--- a/git-prompt/CHANGELOG.md
+++ b/git-prompt/CHANGELOG.md
@@ -5,6 +5,74 @@ 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.1.0 (2022-09-20)
+
+The first usable release.
+
+### Commit Statistics
+
+
+
+ - 38 commits contributed to the release over the course of 22 calendar days.
+ - 22 days passed between releases.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Thanks Clippy
+
+
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - fix warnings on windows ([`b8b4371`](https://github.com/Byron/gitoxide/commit/b8b4371be7802742b5cffdbc3acf8c197521ffbc))
+ - Use reference `git-prompt::Options` to allow them to be re-used ([`51930a2`](https://github.com/Byron/gitoxide/commit/51930a237ec472fff34c639c9caffe74ed12ab2a))
+ - always compile prompting support in ([`bd0ea68`](https://github.com/Byron/gitoxide/commit/bd0ea68225a73fb83c9fc1b8594fc6ad288a77a9))
+ - set version of git-prompt to 0.1 and turn prompting on ([`7657693`](https://github.com/Byron/gitoxide/commit/7657693b8e23dfb69d6da4376bcd1b8e4e264f7e))
+ - validate askpass program works ([`bb1acf4`](https://github.com/Byron/gitoxide/commit/bb1acf40ff9da965b87da6cfc695957b668f14d3))
+ - getting closer to using askpass correctly ([`1ddcb50`](https://github.com/Byron/gitoxide/commit/1ddcb50a8405a9293ae01bca20047d3a3a9a56c4))
+ - a test to validate askpass support ([`a023d7d`](https://github.com/Byron/gitoxide/commit/a023d7d2541ba4bfa6ecf1cea99be5c8eeb7a3d5))
+ - refactor ([`77026d7`](https://github.com/Byron/gitoxide/commit/77026d76c93b4a1f05011fac94e1fb8664b84c89))
+ - askpass example ([`1efb139`](https://github.com/Byron/gitoxide/commit/1efb13984c78f39c72c6bb691403011e8ad7654d))
+ - tests for `Options::apply_environment()` ([`623d4a5`](https://github.com/Byron/gitoxide/commit/623d4a55b9590ff6496b7383925ec89d9d2e5d3d))
+ - A for now untested way to adjust options with environment variables ([`af08b38`](https://github.com/Byron/gitoxide/commit/af08b380beff90c11900ef30e7db3ffd35a352ed))
+ - refactor ([`0fa676a`](https://github.com/Byron/gitoxide/commit/0fa676a9d880eb23dcf096af09ac9b5c01b72c63))
+ - a flexible `Mode` enum to handle all possible states ([`15bb50c`](https://github.com/Byron/gitoxide/commit/15bb50c9b9769a8efa8e38e51b8be4af3798eab7))
+ - sketch askpass path ([`f8c8cbb`](https://github.com/Byron/gitoxide/commit/f8c8cbb4f3e3c062073af51f3a01e30e467187e2))
+ - cargo-diet for git-prompt ([`db2d8ae`](https://github.com/Byron/gitoxide/commit/db2d8ae65cc94f9cd93c4f88378b38b0f734bc41))
+ - refactor ([`b346169`](https://github.com/Byron/gitoxide/commit/b346169e0ca32d5568a1c924c8c291384a544daa))
+ - See if not having cargo-run output in program invocation fixes it on macos ([`a8d9d12`](https://github.com/Byron/gitoxide/commit/a8d9d123f2bfdebd00a0ca27cee21916ca7e44e4))
+ - add missing docs ([`f10623b`](https://github.com/Byron/gitoxide/commit/f10623bf7b574876b1fb6c75cf35890c14e2c091))
+ - Also setup the tty accordingly to not echo input ([`6a55a7b`](https://github.com/Byron/gitoxide/commit/6a55a7bc338df841dd706a31e1bd2631ece4dddd))
+ - save state with restore and password reading, without hiding ([`a4ec2e2`](https://github.com/Byron/gitoxide/commit/a4ec2e2b279b15de15dcea6aad93e979f1019c5e))
+ - restrict tests to unix only ([`dc2765f`](https://github.com/Byron/gitoxide/commit/dc2765f27d5c684ca46960db04fedfd26aae56a8))
+ - properly trim the username at the end, and test for it ([`141aaa3`](https://github.com/Byron/gitoxide/commit/141aaa3b9ee90dd91e2bd03de7ca464297ab38f3))
+ - basic TTY based prompting, without hiding of secrets ([`7c0297f`](https://github.com/Byron/gitoxide/commit/7c0297f5c0716bcdf274165de0decf998ec76d34))
+ - the first successful assertion, showing that expectrl can intercept the tty ([`8582697`](https://github.com/Byron/gitoxide/commit/8582697cc21adc5eeb67155a0e4b0e2780d37beb))
+ - frame for cross-platform compatible implementation ([`b18866e`](https://github.com/Byron/gitoxide/commit/b18866e82b35675a936b4f7cf1147727d565c318))
+ - proper prompt generation ([`63ee38d`](https://github.com/Byron/gitoxide/commit/63ee38dab45fd9d07532f6c01afc2d8dd1c1e904))
+ - remove rustyline in favor of `git-prompt` ([`b3e5e59`](https://github.com/Byron/gitoxide/commit/b3e5e59cafaab0d4866c52722cd2a67aa313b395))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - WIP. ([`79d82d4`](https://github.com/Byron/gitoxide/commit/79d82d46613c83280d2401ef4d72a35010a70b87))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - thanks clippy ([`9867384`](https://github.com/Byron/gitoxide/commit/98673846d04a76c216ddd1da942a983dd8bb4ea1))
+
+
## 0.0.0 (2022-08-29)
Initial release just for the name.
@@ -13,8 +81,8 @@ Initial release just for the name.
- - 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits contributed to the release.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -26,5 +94,7 @@ Initial release just for the name.
* **[#450](https://github.com/Byron/gitoxide/issues/450)**
- prepare changelog ([`3c7d490`](https://github.com/Byron/gitoxide/commit/3c7d4905b2b079018ace9f9f13c40585b9fe575f))
- Add `git-prompt` crate for registration ([`b0140a6`](https://github.com/Byron/gitoxide/commit/b0140a6819cdfce0a5d88149f3713295b3bb54b5))
+ * **Uncategorized**
+ - Release git-prompt v0.0.0 ([`41281ad`](https://github.com/Byron/gitoxide/commit/41281ad9bc413af519973532238b467b2eb4fa9b))
diff --git a/git-prompt/Cargo.toml b/git-prompt/Cargo.toml
index ba067bf5003..4fd95328358 100644
--- a/git-prompt/Cargo.toml
+++ b/git-prompt/Cargo.toml
@@ -13,7 +13,7 @@ doctest = false
[dependencies]
git-command = { version = "^0.1.0", path = "../git-command" }
-git-config-value = { version = "^0.7.0", path = "../git-config-value" }
+git-config-value = { version = "^0.8.0", path = "../git-config-value" }
thiserror = "1.0.32"
parking_lot = "0.12.1"
diff --git a/git-protocol/CHANGELOG.md b/git-protocol/CHANGELOG.md
index 7b7cf661b30..f5f5ab98398 100644
--- a/git-protocol/CHANGELOG.md
+++ b/git-protocol/CHANGELOG.md
@@ -5,18 +5,72 @@ 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.20.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - `fetch::Ref::unpack()` returns `&BStr` instead of `&BString` as ref name.
+ - `fetch::Ref::unpack()` now returns the peeled object as well.
+ - rename `fetch::Ref::path` to `fetch::Ref::full_ref_name`.
+ Previously it was inaccurately named and described due to an
+ insufficient understanding of the ref database.
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 19 commits contributed to the release over the course of 22 calendar days.
+ - 22 days passed between releases.
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - option to print server information about the connection ([`4720666`](https://github.com/Byron/gitoxide/commit/4720666c8bfdaa3acc5c832b44755d4b4f86e16e))
+ - adjust to changes in `git-refspec` ([`ffa24a1`](https://github.com/Byron/gitoxide/commit/ffa24a1365480523197b5247bded6a7a4772bdfc))
+ - `fetch::Ref::unpack()` returns `&BStr` instead of `&BString` as ref name. ([`91f193f`](https://github.com/Byron/gitoxide/commit/91f193f73ae37314319f7d055893b95431fd018e))
+ - `fetch::Ref::unpack()` now returns the peeled object as well. ([`d2c772e`](https://github.com/Byron/gitoxide/commit/d2c772e28619f7602ab01285b25e79a7040c9aab))
+ - rename `fetch::Ref::path` to `fetch::Ref::full_ref_name`. ([`bab5860`](https://github.com/Byron/gitoxide/commit/bab586099a6e21e54932218f7a5c14f8bfc6cabd))
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Merge branch 'main' into filter-refs-by-spec ([`cef0b51`](https://github.com/Byron/gitoxide/commit/cef0b51ade2a3301fa09ede7a425aa1fe3527e78))
+
+
## 0.19.1 (2022-08-28)
Maintenance release without user-facing changes.
+### New Features
+
+ - `helper::main` to easily create credential helper implementations
+
### Commit Statistics
- - 2 commits contributed to the release over the course of 1 calendar day.
+ - 12 commits contributed to the release over the course of 4 calendar days.
- 4 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
- - 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Commit Details
@@ -24,10 +78,21 @@ Maintenance release without user-facing changes.
view details
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - adjust to changes in git-credentials ([`32758e8`](https://github.com/Byron/gitoxide/commit/32758e81bb96f7d83ff5f8ea0c226dea50fbeeec))
+ - adapt to changes in `git-credentials` ([`27c9da5`](https://github.com/Byron/gitoxide/commit/27c9da50932ccba041ce137ff0bd93e06e2d4e7b))
+ - improved error when identity could not be obtained ([`08c1287`](https://github.com/Byron/gitoxide/commit/08c12876d763a4ade3d4013ce1be66d9594e4ff1))
+ - `helper::main` to easily create credential helper implementations ([`eaff67c`](https://github.com/Byron/gitoxide/commit/eaff67c14366f149ccca346acb46af12531a24e6))
+ - adjust to changes in `git-credentials` ([`33f1347`](https://github.com/Byron/gitoxide/commit/33f1347f8c91abf4c226e66dd18e2299dd965995))
+ - adjust to changes in `git-credentials` ([`fe1a06d`](https://github.com/Byron/gitoxide/commit/fe1a06da4f935c565505e6f004ce927ecb466998))
+ - adjust to changes in `git-credentials` ([`40cc1dc`](https://github.com/Byron/gitoxide/commit/40cc1dc09bf8639b53e0ef70e78dcd56518d92ea))
+ - refactor ([`077ab57`](https://github.com/Byron/gitoxide/commit/077ab57425e9becba646c4651653aae256b8a1c9))
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
* **Uncategorized**
+ - 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))
- 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 ([`dbfa328`](https://github.com/Byron/gitoxide/commit/dbfa3282cf876596b250b2040c1ec0b761741796))
## 0.19.0 (2022-08-24)
@@ -52,7 +117,7 @@ Maintenance release without user-facing changes.
- 13 commits contributed to the release over the course of 5 calendar days.
- 6 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -102,7 +167,7 @@ A maintenance release without user facing changes.
- 19 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -144,7 +209,7 @@ This is a maintenance release with no functional changes.
- 4 commits contributed to the release over the course of 33 calendar days.
- 39 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -170,7 +235,7 @@ A maintenance release without user-facing changes.
- 2 commits contributed to the release.
- 25 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -196,7 +261,7 @@ A maintenance release without user-facing changes.
- 7 commits contributed to the release over the course of 33 calendar days.
- 45 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#386](https://github.com/Byron/gitoxide/issues/386)
### Commit Details
@@ -229,7 +294,7 @@ A maintenance release without user-facing changes.
- 10 commits contributed to the release over the course of 68 calendar days.
- 69 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#329](https://github.com/Byron/gitoxide/issues/329)
### Thanks Clippy
@@ -268,7 +333,7 @@ A maintenance release with no relevant changes.
- 12 commits contributed to the release over the course of 51 calendar days.
- 55 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#279](https://github.com/Byron/gitoxide/issues/279)
### Thanks Clippy
@@ -309,7 +374,7 @@ A maintenance release, triggered by putting too many adjustments into a single c
- 4 commits contributed to the release over the course of 11 calendar days.
- 12 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -335,7 +400,7 @@ A maintenance release triggered by changes to git-pack and changelog rewrites.
- 4 commits contributed to the release.
- 27 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#254](https://github.com/Byron/gitoxide/issues/254)
### Commit Details
@@ -362,7 +427,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 4 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -406,7 +471,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 27 commits contributed to the release over the course of 31 calendar days.
- 35 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#198](https://github.com/Byron/gitoxide/issues/198), [#200](https://github.com/Byron/gitoxide/issues/200), [#205](https://github.com/Byron/gitoxide/issues/205)
### Commit Details
@@ -456,7 +521,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 2 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -484,7 +549,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 2 commits contributed to the release over the course of 1 calendar day.
- 8 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -506,7 +571,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 2 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -529,7 +594,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -553,7 +618,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 7 commits contributed to the release over the course of 3 calendar days.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -584,7 +649,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 3 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -607,7 +672,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 9 commits contributed to the release over the course of 2 calendar days.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -636,7 +701,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 101 commits contributed to the release over the course of 90 calendar days.
- 93 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -763,7 +828,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 7 commits contributed to the release over the course of 21 calendar days.
- 30 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -796,7 +861,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 10 commits contributed to the release over the course of 1 calendar day.
- 13 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#63](https://github.com/Byron/gitoxide/issues/63)
### Commit Details
@@ -827,7 +892,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 5 commits contributed to the release over the course of 60 calendar days.
- 79 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -858,7 +923,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 9 commits contributed to the release over the course of 5 calendar days.
- 20 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -892,7 +957,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -914,7 +979,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 5 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -939,7 +1004,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 9 commits contributed to the release over the course of 90 calendar days.
- 92 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -974,7 +1039,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 13 commits contributed to the release over the course of 1 calendar day.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1007,7 +1072,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 182 commits contributed to the release over the course of 29 calendar days.
- 29 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1208,7 +1273,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 1 commit contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-protocol/Cargo.toml b/git-protocol/Cargo.toml
index e263117f841..2ff2d6efe2f 100644
--- a/git-protocol/Cargo.toml
+++ b/git-protocol/Cargo.toml
@@ -39,10 +39,10 @@ path = "tests/async-protocol.rs"
required-features = ["async-client"]
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features", features = ["progress"] }
+git-features = { version = "^0.22.5", path = "../git-features", features = ["progress"] }
git-transport = { version = "^0.20.0", path = "../git-transport" }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-credentials = { version = "^0.4.0", path = "../git-credentials" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-credentials = { version = "^0.5.0", path = "../git-credentials" }
thiserror = "1.0.32"
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"]}
@@ -60,7 +60,7 @@ document-features = { version = "0.2.0", optional = true }
[dev-dependencies]
async-std = { version = "1.9.0", features = ["attributes"] }
-git-packetline = { path = "../git-packetline" ,version = "^0.12.7" }
+git-packetline = { path = "../git-packetline" ,version = "^0.13.0" }
git-testtools = { path = "../tests/tools" }
[package.metadata.docs.rs]
diff --git a/git-quote/CHANGELOG.md b/git-quote/CHANGELOG.md
index 6d7be3dfa85..fcf6167ea61 100644
--- a/git-quote/CHANGELOG.md
+++ b/git-quote/CHANGELOG.md
@@ -5,8 +5,38 @@ 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.3.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 2 commits contributed to the release over the course of 7 calendar days.
+ - 27 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+
+
## 0.2.1 (2022-08-24)
+
+
+
### Chore
- uniformize deny attributes
@@ -16,9 +46,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 3 commits contributed to the release over the course of 3 calendar days.
+ - 4 commits contributed to the release over the course of 3 calendar days.
- 142 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -28,6 +58,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - 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))
- Merge branch 'example-new-repo' ([`946dd3a`](https://github.com/Byron/gitoxide/commit/946dd3a80522ef437e09528a93aa1433f01b0ee8))
- uniformize deny attributes ([`f7f136d`](https://github.com/Byron/gitoxide/commit/f7f136dbe4f86e7dee1d54835c420ec07c96cd78))
- remove default link to cargo doc everywhere ([`533e887`](https://github.com/Byron/gitoxide/commit/533e887e80c5f7ede8392884562e1c5ba56fb9a8))
@@ -46,7 +77,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 4 commits contributed to the release over the course of 9 calendar days.
- 9 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Commit Details
@@ -72,7 +103,7 @@ Initial release with ansi_c unquoting capability.
- 4 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Commit Details
diff --git a/git-quote/Cargo.toml b/git-quote/Cargo.toml
index d96de1cae1f..77cb5232565 100644
--- a/git-quote/Cargo.toml
+++ b/git-quote/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-quote"
-version = "0.2.1"
+version = "0.3.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project dealing with various quotations used by git"
diff --git a/git-ref/CHANGELOG.md b/git-ref/CHANGELOG.md
index 046715b13f4..91ac189868b 100644
--- a/git-ref/CHANGELOG.md
+++ b/git-ref/CHANGELOG.md
@@ -5,6 +5,51 @@ 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.16.0 (2022-09-20)
+
+
+
+### Chore (BREAKING)
+
+ - replace `quick-error` with `thiserror`
+
+### Commit Statistics
+
+
+
+ - 17 commits contributed to the release over the course of 21 calendar days.
+ - 22 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - 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))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1))
+
+
## 0.15.4 (2022-08-28)
### New Features
@@ -15,9 +60,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 2 commits contributed to the release.
+ - 3 commits contributed to the release.
- 1 day passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Commit Details
@@ -29,6 +74,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
* **Uncategorized**
+ - 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))
@@ -42,7 +88,7 @@ Maintenance release without user-facing changes.
- 3 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -78,7 +124,7 @@ Maintenance release without user-facing changes.
- 7 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -116,7 +162,7 @@ Maintenance release without user-facing changes.
- 18 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Thanks Clippy
@@ -172,7 +218,7 @@ Maintenance release without user-facing changes.
- 12 commits contributed to the release over the course of 36 calendar days.
- 39 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#331](https://github.com/Byron/gitoxide/issues/331), [#427](https://github.com/Byron/gitoxide/issues/427)
### Thanks Clippy
@@ -214,7 +260,7 @@ A maintenance release without user-facing changes.
- 3 commits contributed to the release.
- 25 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -284,7 +330,7 @@ A maintenance release without user-facing changes.
- 110 commits contributed to the release over the course of 42 calendar days.
- 43 days passed between releases.
- - 13 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 13 commits were understood as [conventional](https://www.conventionalcommits.org).
- 4 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#301](https://github.com/Byron/gitoxide/issues/301), [#384](https://github.com/Byron/gitoxide/issues/384), [#393](https://github.com/Byron/gitoxide/issues/393)
### Thanks Clippy
@@ -459,7 +505,7 @@ A maintenance release without user-facing changes.
- 3 commits contributed to the release over the course of 2 calendar days.
- 2 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#364](https://github.com/Byron/gitoxide/issues/364)
### Commit Details
@@ -506,7 +552,7 @@ A maintenance release without user-facing changes.
- 32 commits contributed to the release over the course of 68 calendar days.
- 69 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 6 unique issues were worked on: [#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)
### Thanks Clippy
@@ -602,7 +648,7 @@ A maintenance release without user-facing changes.
- 27 commits contributed to the release over the course of 55 calendar days.
- 55 days passed between releases.
- - 8 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 8 commits were understood as [conventional](https://www.conventionalcommits.org).
- 5 unique issues were worked on: [#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)
### Thanks Clippy
@@ -724,7 +770,7 @@ a 'frozen' version of the packed buffer for any amount of operations.
- 35 commits contributed to the release over the course of 11 calendar days.
- 12 days passed between releases.
- - 13 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 13 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#259](https://github.com/Byron/gitoxide/issues/259), [#263](https://github.com/Byron/gitoxide/issues/263)
### Thanks Clippy
@@ -792,7 +838,7 @@ a 'frozen' version of the packed buffer for any amount of operations.
- 6 commits contributed to the release over the course of 11 calendar days.
- 27 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#251](https://github.com/Byron/gitoxide/issues/251), [#254](https://github.com/Byron/gitoxide/issues/254)
### Commit Details
@@ -822,7 +868,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 4 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -870,7 +916,7 @@ as `git-traverse` is signalling a breaking change.
- 22 commits contributed to the release over the course of 31 calendar days.
- 34 days passed between releases.
- - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#198](https://github.com/Byron/gitoxide/issues/198)
### Commit Details
@@ -928,7 +974,7 @@ as `git-traverse` is signalling a breaking change.
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -957,7 +1003,7 @@ as `git-traverse` is signalling a breaking change.
- 3 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -986,7 +1032,7 @@ as `git-traverse` is signalling a breaking change.
- 2 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1017,7 +1063,7 @@ as `git-traverse` is signalling a breaking change.
- 49 commits contributed to the release over the course of 5 calendar days.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1097,7 +1143,7 @@ as `git-traverse` is signalling a breaking change.
- 27 commits contributed to the release over the course of 8 calendar days.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1144,7 +1190,7 @@ as `git-traverse` is signalling a breaking change.
- 4 commits contributed to the release over the course of 1 calendar day.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1168,7 +1214,7 @@ as `git-traverse` is signalling a breaking change.
- 2 commits contributed to the release.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1190,7 +1236,7 @@ as `git-traverse` is signalling a breaking change.
- 16 commits contributed to the release over the course of 2 calendar days.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1225,7 +1271,7 @@ as `git-traverse` is signalling a breaking change.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1247,7 +1293,7 @@ as `git-traverse` is signalling a breaking change.
- 394 commits contributed to the release over the course of 78 calendar days.
- 233 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1667,7 +1713,7 @@ as `git-traverse` is signalling a breaking change.
- 4 commits contributed to the release over the course of 94 calendar days.
- 98 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1691,7 +1737,7 @@ as `git-traverse` is signalling a breaking change.
- 3 commits contributed to the release over the course of 29 calendar days.
- 30 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1714,7 +1760,7 @@ as `git-traverse` is signalling a breaking change.
- 2 commits contributed to the release.
- 20 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1736,7 +1782,7 @@ as `git-traverse` is signalling a breaking change.
- 3 commits contributed to the release over the course of 6 calendar days.
- 7 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1758,7 +1804,7 @@ as `git-traverse` is signalling a breaking change.
- 5 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-ref/Cargo.toml b/git-ref/Cargo.toml
index f501eb17692..723fc6780e1 100644
--- a/git-ref/Cargo.toml
+++ b/git-ref/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-ref"
-version = "0.15.4"
+version = "0.16.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A crate to handle git references"
@@ -23,12 +23,12 @@ path = "tests/refs-parallel.rs"
required-features = ["internal-testing-git-features-parallel"]
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features", features = ["walkdir"]}
-git-path = { version = "^0.4.2", path = "../git-path" }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-object = { version = "^0.20.3", path = "../git-object" }
-git-validate = { version = "^0.5.5", path = "../git-validate" }
-git-actor = { version = "^0.11.3", path = "../git-actor" }
+git-features = { version = "^0.22.5", path = "../git-features", features = ["walkdir"]}
+git-path = { version = "^0.5.0", path = "../git-path" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-object = { version = "^0.21.0", path = "../git-object" }
+git-validate = { version = "^0.6.0", path = "../git-validate" }
+git-actor = { version = "^0.12.0", path = "../git-actor" }
git-lock = { version = "^2.0.0", path = "../git-lock" }
git-tempfile = { version = "^2.0.0", path = "../git-tempfile" }
diff --git a/git-refspec/CHANGELOG.md b/git-refspec/CHANGELOG.md
index 99c46a875a0..b880ce0e2b6 100644
--- a/git-refspec/CHANGELOG.md
+++ b/git-refspec/CHANGELOG.md
@@ -5,6 +5,120 @@ 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.2.0 (2022-09-20)
+
+### New Features
+
+ - Simple serialization for `Instruction` and `RefSpecRef` type.
+ It's also a way to normalize input strings as there is only one way
+ to serialize instructions, which themselves are already normalized
+ towards what's possible.
+
+### Changed (BREAKING)
+
+ - reject all invalid negative refspec patterns.
+ Git is more lenient, but will then fail to match against such patterns
+ which seems like avoidable surprising behaviour.
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 72 commits contributed to the release over the course of 18 calendar days.
+ - 22 days passed between releases.
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Thanks Clippy
+
+
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 4 times to make code idiomatic.
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - A more efficient representation for `validate::Fix` ([`e819fc6`](https://github.com/Byron/gitoxide/commit/e819fc68531e2d2de3d7df782f63f84941eeef57))
+ - Make `specs` in `MatchGroup` public to reduce API surface. ([`2a7df32`](https://github.com/Byron/gitoxide/commit/2a7df323b15678aee3e61a41908aceb644873b11))
+ - Allow `match_group::Fix` to be cloned. ([`85c49ec`](https://github.com/Byron/gitoxide/commit/85c49ec16ac7eeb2175fa43545c72b81da693ab1))
+ - fix `match_group::Item` to make it uniform with how we typically name refs ([`21420da`](https://github.com/Byron/gitoxide/commit/21420dacb485795e80baabf2a300ff900036ba7b))
+ - remote todo with note about our current understanding ([`9dc7a3f`](https://github.com/Byron/gitoxide/commit/9dc7a3f40dbf3d4802ed095fc21dfb3da67acfea))
+ - Actually assure we don't try to write into the HEAD ref, which git avoids as well ([`1335618`](https://github.com/Byron/gitoxide/commit/13356184c735d72edb891d64b3de1bb5c981a6ad))
+ - Allow 'HEAD' based refspecs to match correctly ([`7432a2b`](https://github.com/Byron/gitoxide/commit/7432a2bb5d11e9991ed5f9d1b29ecf79b10c676a))
+ - tests to show that empty remotes actually work ([`2fdec73`](https://github.com/Byron/gitoxide/commit/2fdec7315a65117095f909b4d7d57a91ba666a43))
+ - another test which doesn't manage to trigger a certain message from git. ([`4f48095`](https://github.com/Byron/gitoxide/commit/4f48095566fc1e2b440d542ef2c5118c3e37fddd))
+ - fully drop 'funny' names ([`f137d60`](https://github.com/Byron/gitoxide/commit/f137d6010610d98de32edb4501053d7786181217))
+ - A first version of the 'funny name' sanitization ([`c81e418`](https://github.com/Byron/gitoxide/commit/c81e418ae7f90b674ad005e4b42816c35332a417))
+ - frame for testing of fixes ([`9148102`](https://github.com/Byron/gitoxide/commit/91481020c87cfa0cae9dd497fb87e7fb9dd33c8a))
+ - refactor ([`d37fd04`](https://github.com/Byron/gitoxide/commit/d37fd044df2cc5355735121e63fcc3c54b8ea4cb))
+ - all baseline specs are tested and pass ([`afc0a3d`](https://github.com/Byron/gitoxide/commit/afc0a3da864362ec7a0ab243f72daba4713db569))
+ - the first test to validate conflict reporting ([`aef0a46`](https://github.com/Byron/gitoxide/commit/aef0a464811ce98e81d44d1417098c9adef035f5))
+ - sketch of validation API along with test suite integration ([`70a765e`](https://github.com/Byron/gitoxide/commit/70a765e295295f87f8550453452d2ffe95b177be))
+ - refactor ([`547129e`](https://github.com/Byron/gitoxide/commit/547129e98dfcac32ebc83e743f9aee05d038629b))
+ - sketch `Outcome` type which can be used for later sanitization and validation. ([`53e17c1`](https://github.com/Byron/gitoxide/commit/53e17c10f663bc3c389a13cdfec3716da34dd311))
+ - prepare first test for conflicts and validation ([`508a33a`](https://github.com/Byron/gitoxide/commit/508a33a5f279c9a6f29e98f560fcd54cea1ed77d))
+ - just-in-time deduplication of mappings ([`8ed5d01`](https://github.com/Byron/gitoxide/commit/8ed5d01a75ceb03083b2bddc58b1e9dc26a66cd0))
+ - adjust expectations to make first exclusion tests work ([`6e1b19b`](https://github.com/Byron/gitoxide/commit/6e1b19b7f07050c3fcb70187a4d6a4e4210d3343))
+ - reject all invalid negative refspec patterns. ([`4c4f821`](https://github.com/Byron/gitoxide/commit/4c4f82170d08b910a7f64482431c99956b1a04c3))
+ - basic negation implementation along with first failure. ([`e4931d0`](https://github.com/Byron/gitoxide/commit/e4931d0205c9b8e8e859e8ea940b67483e62a07e))
+ - first tests for multiple refspecs ([`77db112`](https://github.com/Byron/gitoxide/commit/77db1127a8ccd71c75670b5d803cabcf93cbcedc))
+ - refactor ([`4c73a19`](https://github.com/Byron/gitoxide/commit/4c73a19ae4b044df816e95a4fc19dc6481222a4c))
+ - refactor ([`00401be`](https://github.com/Byron/gitoxide/commit/00401bef4279d4b8152ea4c149a00ddf50f518e3))
+ - improved glob matching ([`eaf36e7`](https://github.com/Byron/gitoxide/commit/eaf36e7d0336be8398d0b1d9414d3ad73afbb393))
+ - basic glob matching. ([`a93628c`](https://github.com/Byron/gitoxide/commit/a93628cb404987c498779b35994db0a05b3dbc0a))
+ - type-system supprots glob matching ([`4b73d11`](https://github.com/Byron/gitoxide/commit/4b73d11a4f0bef8db374cde567547a9ba7097719))
+ - more tests for simple 1:1 fetch and update specs ([`74de83c`](https://github.com/Byron/gitoxide/commit/74de83cbea30b84136bfa191f471e137ae7af5c3))
+ - Make it easy to obtain the local and remote sides of RefSpecs ([`67506b1`](https://github.com/Byron/gitoxide/commit/67506b1b1997c2b5951f0e1320b0459eac1366e2))
+ - Don't reject object-id like heads on the receiving side. ([`6668c3f`](https://github.com/Byron/gitoxide/commit/6668c3f418663ed6f2ed56efd3d7e78d27124296))
+ - make object-ids in the source position type-safe ([`413051d`](https://github.com/Byron/gitoxide/commit/413051d03c843c9c99dbc67f4a5f48d6f2b1aeb2))
+ - prepare for dual-sided ref mapping to realize that it needs a special case. ([`7368fe4`](https://github.com/Byron/gitoxide/commit/7368fe4ee38bbd34bd811310afa8eeb78c475fda))
+ - refactor ([`579e891`](https://github.com/Byron/gitoxide/commit/579e89188679942508f9da107d856ab782a512a1))
+ - support testing source-only object names ([`bb61c49`](https://github.com/Byron/gitoxide/commit/bb61c49a9b6a3a109d7af3ddde43fc98bb712ec7))
+ - preliminary matching of refs by name ([`426107f`](https://github.com/Byron/gitoxide/commit/426107fea911a2f75d3b624a1c7279cac4edc12e))
+ - handle partial names as well ([`dc7f162`](https://github.com/Byron/gitoxide/commit/dc7f1620cb6d00af60cf78e02b4c2949a3e260e4))
+ - generalize baseline assertion to support multiple input specs ([`b752e48`](https://github.com/Byron/gitoxide/commit/b752e48b4201c1f26401af39de0a7312b158607b))
+ - first successful test ([`3625d5a`](https://github.com/Byron/gitoxide/commit/3625d5a0abb109270b046e2dc206d6f870164306))
+ - top-level match-group loop without negation ([`c915a5f`](https://github.com/Byron/gitoxide/commit/c915a5f5f0d771e704b108b9442a605d62f0945e))
+ - refactor to use a match-group instead. ([`4ba31c5`](https://github.com/Byron/gitoxide/commit/4ba31c55b57f644361e18e5d31d5df514cddd58a))
+ - not using a matchgroup right away seems like the wrong approach ([`7f3bc30`](https://github.com/Byron/gitoxide/commit/7f3bc300dfb980d6e6aa72f8c22edd58fa9351fb))
+ - actual expectation for first simple test ([`cec6905`](https://github.com/Byron/gitoxide/commit/cec69057585796ec7bc69f5a6295b97cddb8cb4f))
+ - Get to the point where the matcher is invoked ([`cbbdf59`](https://github.com/Byron/gitoxide/commit/cbbdf59290d6c3fb4936b31e3b7836becb126ce4))
+ - Simple serialization for `Instruction` and `RefSpecRef` type. ([`abdf83f`](https://github.com/Byron/gitoxide/commit/abdf83f494e2a9fba4a8d9fcb776f2c84baebd3e))
+ - ground work for matcher tests ([`509764c`](https://github.com/Byron/gitoxide/commit/509764c95978115da129b8bb9baeb304634fa10c))
+ - tag specific tests ([`4f35485`](https://github.com/Byron/gitoxide/commit/4f354852e15b469260bd3553e4f615f9612fabcc))
+ - more tests to investigate conflict handling ([`192d4f7`](https://github.com/Byron/gitoxide/commit/192d4f78ba611f090dafda7ef5014efb900d2115))
+ - a more realistic sketch for `Matcher`, which will need a surrounding `MatchGroup` ([`dd1d824`](https://github.com/Byron/gitoxide/commit/dd1d8244c8708bbc3583cc0f3f42ad967d5ad524))
+ - more robust baseline tests on windows ([`54ca267`](https://github.com/Byron/gitoxide/commit/54ca267138a5116aa2215109b4abe00a64518feb))
+ - pares FETCH_HEAD (as specs without local sides); sketch `Match` type ([`44228a0`](https://github.com/Byron/gitoxide/commit/44228a0b9c057bcc915bc0ade43b4ccb3cb916f2))
+ - restore full ref names for baseline ([`f6124db`](https://github.com/Byron/gitoxide/commit/f6124db39dc0e828801a59310265d95a755ea46a))
+ - parse basline mapping ([`3000a14`](https://github.com/Byron/gitoxide/commit/3000a14c1eed4a543fdef2fd8bcbacba2742aece))
+ - parse baseline reflist which serves as input to the matcher ([`fce877f`](https://github.com/Byron/gitoxide/commit/fce877f8d2112fafdb71208784104a66b2313a40))
+ - frame for baseline for fetch-matching ([`2569da5`](https://github.com/Byron/gitoxide/commit/2569da5988a055372a1b85660f93185603900dbe))
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - prefer to represent instructions with Matchers ([`0887e2e`](https://github.com/Byron/gitoxide/commit/0887e2e0b7ebdcad30606a2633794ac8ff586091))
+ - more examples using fully spelled out object names as fetch destination ([`095a099`](https://github.com/Byron/gitoxide/commit/095a09918dc080ba7794c6ff13db0ef0ead20d0d))
+ - get more clarity about `git ls-remote` and `git fetch` ([`1b15fe8`](https://github.com/Byron/gitoxide/commit/1b15fe80817d600f39090848c7d144ff94ac398c))
+ - a tiny sketch of a possible matching API ([`39d5ff3`](https://github.com/Byron/gitoxide/commit/39d5ff39ac58ec2abf2b55ee69df9905a4f303c2))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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))
+ - make fmt ([`429cccc`](https://github.com/Byron/gitoxide/commit/429cccc5831c25a7205a12dc7a0443ac48616e2c))
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - thanks clippy ([`74a5f22`](https://github.com/Byron/gitoxide/commit/74a5f2262154c5cb5434c1ef2854c4ec3d839f89))
+ - thanks clippy ([`016cd1f`](https://github.com/Byron/gitoxide/commit/016cd1f70a536ac95eaa8b80958110caa096d875))
+ - thanks clippy ([`b8ac13e`](https://github.com/Byron/gitoxide/commit/b8ac13e5074fa08111fcef1092432ed3a2326c6e))
+ - thanks clippy ([`73b405f`](https://github.com/Byron/gitoxide/commit/73b405fe70cf7d53e5e011cf69ea654f4bd96dd2))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+
+
## 0.1.1 (2022-08-28)
Maintenance release without user-facing changes.
@@ -13,9 +127,9 @@ Maintenance release without user-facing changes.
- - 2 commits contributed to the release over the course of 1 calendar day.
+ - 3 commits contributed to the release over the course of 1 calendar day.
- 4 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Commit Details
@@ -27,6 +141,7 @@ Maintenance release without user-facing changes.
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
* **Uncategorized**
+ - 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))
- Release git-features v0.22.3, git-revision v0.4.4 ([`c2660e2`](https://github.com/Byron/gitoxide/commit/c2660e2503323531ba02519eaa51124ee22fec51))
@@ -46,7 +161,7 @@ Maintenance release without user-facing changes.
- 52 commits contributed to the release over the course of 18 calendar days.
- 18 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Thanks Clippy
@@ -126,7 +241,7 @@ Initial release for name reservation.
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
diff --git a/git-refspec/Cargo.toml b/git-refspec/Cargo.toml
index 9ea3722f848..04c495d95f6 100644
--- a/git-refspec/Cargo.toml
+++ b/git-refspec/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-refspec"
-version = "0.1.1"
+version = "0.2.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project for parsing and representing refspecs"
@@ -12,9 +12,9 @@ include = ["src/**/*", "CHANGELOG.md", "README.md"]
doctest = false
[dependencies]
-git-revision = { version = "^0.4.4", path = "../git-revision" }
-git-validate = { version = "^0.5.5", path = "../git-validate" }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
+git-revision = { version = "^0.5.0", path = "../git-revision" }
+git-validate = { version = "^0.6.0", path = "../git-validate" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
bstr = { version = "1.0.1", default-features = false, features = ["std"]}
thiserror = "1.0.26"
diff --git a/git-repository/CHANGELOG.md b/git-repository/CHANGELOG.md
index 2196d86aa0c..73d8de8e0c7 100644
--- a/git-repository/CHANGELOG.md
+++ b/git-repository/CHANGELOG.md
@@ -5,8 +5,188 @@ 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.24.0 (2022-09-20)
+
+
+
+
+### New Features
+
+ - `Object::peel_to_tree()` as convenience method.
+ It's very common to try to work with trees, so let's make that easier.
+ - `interrupt::Iter` now allows accessing the inner iterator without consumption.
+ This is useful if these provide additional out-of-band information.
+ - Once a change is obtained, it's easy to obtain changes line by line.
+ - obtain a refmap after listing refs via `remote::Connection::list_refs_to_map()`.
+ With it it's possible to establish a relationship between what's about
+ to be fetched to local tracking branches as established by refspecs for
+ fetching.
+ - Add `permissions::Config::git_binary` field
+ When true, default false, inject the git installation configuration file
+ if present at the cost of one `git config` invocation.
+
+ Note that we rely on the underlying `git-config` crate to not load
+ duplicate files.
+
+ We also currently lie about the scope which is actually unclear - have
+ seen 'unknown' or normal scopes like `system`.
+ - add `prompt` to top level forwarding #450)
+
+### Bug Fixes
+
+ - rev-spec parsing can now handle the empty tree as full hex hash.
+ Even though the empty-tree object can be found when searched via
+ `Repository::find_object()`, previously it was not locatable when
+ used during rev-spec parsing.
+ - `Reference::remote()` can produce remotes for URLs
+
+### Refactor
+
+ - use specific error type for `rev_parse_single()`
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### New Features (BREAKING)
+
+ - Add reference remote name type to make usage of `remote_name()` result clear
+
+### Other (BREAKING)
+
+ - `Tree::lookup_path()` -> `Tree::lookup_entry()`.
+
+### Commit Statistics
+
+
+
+ - 95 commits contributed to the release over the course of 19 calendar days.
+ - 19 days passed between releases.
+ - 12 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Thanks Clippy
+
+
+
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 6 times to make code idiomatic.
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - adapt to changes in `git-refspec` ([`91d1a3a`](https://github.com/Byron/gitoxide/commit/91d1a3abf02841c9b43fd8a3102375315a6db160))
+ - show fixes as well ([`2237495`](https://github.com/Byron/gitoxide/commit/2237495d82624b39bf75c6430549424a5e36b8bb))
+ - Add method to allow replacing a Remote's refspecs entirely. ([`d8f1608`](https://github.com/Byron/gitoxide/commit/d8f160826cd6446e0422aef6020e1413895f340e))
+ - produce only a ref-map as it contains all data somebody would want. ([`c9ff885`](https://github.com/Byron/gitoxide/commit/c9ff885e73c97b8712cff89bce420f3060f8bd3c))
+ - adjust to changes in `git-config` ([`0f9833a`](https://github.com/Byron/gitoxide/commit/0f9833af529e35c4930f6231397368256231dcdb))
+ - also provide the spec-index with the returned refmap. ([`910cedc`](https://github.com/Byron/gitoxide/commit/910cedc09212e0d08c4a03db959974bc0810fa9d))
+ - Provide all information generated by the handshake into the refmap result ([`3958d71`](https://github.com/Byron/gitoxide/commit/3958d71177927305399369088d184891c182d9e2))
+ - adjust to changes in `git-refspec` ([`ffa24a1`](https://github.com/Byron/gitoxide/commit/ffa24a1365480523197b5247bded6a7a4772bdfc))
+ - obtain a refmap after listing refs via `remote::Connection::list_refs_to_map()`. ([`7e96d18`](https://github.com/Byron/gitoxide/commit/7e96d1841989b37133cddf334724a2d6df557e69))
+ - A step closer to actually obtaining a validated ref-mapping. ([`777ba7f`](https://github.com/Byron/gitoxide/commit/777ba7ffe4b20e2cdf4069eeb504df432db58d69))
+ - A more concrete sketch of how the API for obtaining mappings should look like ([`6d1c372`](https://github.com/Byron/gitoxide/commit/6d1c37219cde7ce5c969d1581da4bb4593cfb1fd))
+ - sketch API for obtaining a reflist filtered by refspecs ([`5d5e211`](https://github.com/Byron/gitoxide/commit/5d5e2113a8353bf849ed4bfe9c8a341b8e00cd0b))
+ - Extract URL from transport to support custom remotes better and avoid error case ([`fac87d0`](https://github.com/Byron/gitoxide/commit/fac87d0dc4d4524713dbd7ef1cfc6acae54f9748))
+ - use Rust credential implementation ([`fb39608`](https://github.com/Byron/gitoxide/commit/fb396089495518c45104cc8d62ee4d6221c6b76a))
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - refactor ([`9e4e4c4`](https://github.com/Byron/gitoxide/commit/9e4e4c4fbe0189951eeac0ed8cbdcfcd409a9f6c))
+ - adjust to changes in `git-sec` ([`d6ef2ce`](https://github.com/Byron/gitoxide/commit/d6ef2ce9d0a7883d7d3b5ddb0010c8ab3d26bb78))
+ - adjust to changes in `git-ref` ([`296f23f`](https://github.com/Byron/gitoxide/commit/296f23fea43f543e10448fc0c948f629f241561e))
+ - adjust to changes in git-object ([`9aadac3`](https://github.com/Byron/gitoxide/commit/9aadac3341bb778e8f8b0800847b574338e16a05))
+ - Select `gix` commands will now load the git installation configuration ([`23d2dec`](https://github.com/Byron/gitoxide/commit/23d2dec375305c39d472c4f8ff764274dd033f6b))
+ - Add `permissions::Config::git_binary` field ([`d51e7c9`](https://github.com/Byron/gitoxide/commit/d51e7c901fe5ed60d5dd56006c5faedb71cad537))
+ - A way to parse the first git-config file path ([`ea52e4e`](https://github.com/Byron/gitoxide/commit/ea52e4ec917ee4caa55329ba1a1814d723e6c654))
+ - first step towards efficiently obtaining git config information ([`cc78473`](https://github.com/Byron/gitoxide/commit/cc784730f29eb239e18dad7c5013486e9b6355d1))
+ - fix exports to allow error type to be visible publicly ([`b978619`](https://github.com/Byron/gitoxide/commit/b978619eaada0ffdc88c24edbf3fc68d4cc32312))
+ - Also provide prompt configuration to allow Cascade::invoke() to be called with all arguments ([`5b4cb83`](https://github.com/Byron/gitoxide/commit/5b4cb8391c1bd4b2aab8dea249f161bafcab93c2))
+ - Add reference remote name type to make usage of `remote_name()` result clear ([`2992b1b`](https://github.com/Byron/gitoxide/commit/2992b1ba4e7bbeab26f41175cd31fd664abf2a11))
+ - refactor ([`93ac4c3`](https://github.com/Byron/gitoxide/commit/93ac4c38e5837250e158613820a6ac1bb7119ba0))
+ - remark about improvements to the type system around certain remote names. ([`a872bf7`](https://github.com/Byron/gitoxide/commit/a872bf7fbbda48df34ad92cdbc48f93d33ebd86e))
+ - `Reference::remote()` can produce remotes for URLs ([`74ede20`](https://github.com/Byron/gitoxide/commit/74ede2031d1beedf11f1cdf006fff71e597a2cb5))
+ - refactor ([`4fa8a84`](https://github.com/Byron/gitoxide/commit/4fa8a844826916007c583d684d250e6bfbc72e53))
+ - test our understanding of case-folding when matching urls ([`77c27eb`](https://github.com/Byron/gitoxide/commit/77c27ebf93dcaf81e38b2dc6271133c6bb9f3121))
+ - subdomain globbing works ([`5b19729`](https://github.com/Byron/gitoxide/commit/5b197292e6ed08633e4e20e411e973d269e30c4b))
+ - tests for domain globbing ([`60d8997`](https://github.com/Byron/gitoxide/commit/60d89970710faae804f712bb7832677278f90133))
+ - more default-port tests ([`eb34156`](https://github.com/Byron/gitoxide/commit/eb34156ea6b4ac8523d38d6181c9cc949853bb6e))
+ - username matching works ([`b99e9d8`](https://github.com/Byron/gitoxide/commit/b99e9d84721c0d8b58b5b56c8dde60952237b042))
+ - All but one test work after username handling refactor ([`64b6b30`](https://github.com/Byron/gitoxide/commit/64b6b30fb42d7ee3d65bc6238a4ad867a85c802d))
+ - better normalization and clear-list support ([`5aefe66`](https://github.com/Byron/gitoxide/commit/5aefe6684438750fe9aadb41675c816f9671d8a9))
+ - remove glob-matching as it's not correct ([`6f4e052`](https://github.com/Byron/gitoxide/commit/6f4e052560b397f2bc81a4a25f573bef517e5870))
+ - refactor ([`593e4a8`](https://github.com/Byron/gitoxide/commit/593e4a8a6befbaa14401d659ac3901c92376f94b))
+ - more tests for better host and protocol matching of http and https urls ([`2221778`](https://github.com/Byron/gitoxide/commit/22217780acf3c241125bb000f6a205ca0914a025))
+ - Support for host-based matching ([`2d81b9f`](https://github.com/Byron/gitoxide/commit/2d81b9f629a899a73fb68967ceeae18719fbd0e1))
+ - basic url matching with a simple glob ([`1b19611`](https://github.com/Byron/gitoxide/commit/1b196116fa01f1045a242d0ebe3d9627cb1fa8ec))
+ - Make tests more robust; fix windows tests ([`1983fbc`](https://github.com/Byron/gitoxide/commit/1983fbc39be3da5598cf3af6fb97f6ea0bc3ec6b))
+ - tests as far as possible without implementing url matching ([`8c686e0`](https://github.com/Byron/gitoxide/commit/8c686e072af544adea48f81ba2dc65dff528e5ab))
+ - mark a difference in the way credential helper urls are validated ([`dc57b67`](https://github.com/Byron/gitoxide/commit/dc57b676e2fcb869f8e73cc543a73c73b83bfe22))
+ - the first successful url matching test ([`beddce1`](https://github.com/Byron/gitoxide/commit/beddce1b1814b60da5881a3676b019d35c47a0a8))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ - `Object::peel_to_tree()` as convenience method. ([`0871a96`](https://github.com/Byron/gitoxide/commit/0871a96b9cc84d7a496d39393e081999c0a3fe17))
+ - fix docs ([`593f57b`](https://github.com/Byron/gitoxide/commit/593f57b486d03b4d689cda6c0800e9f349cc4ad5))
+ - Add note on why we consume the tree for looking up an entry. ([`b285097`](https://github.com/Byron/gitoxide/commit/b28509724c8877d6488bf5dc72308e8b18928124))
+ - `Tree::lookup_path()` -> `Tree::lookup_entry()`. ([`79c2255`](https://github.com/Byron/gitoxide/commit/79c22557ce0aea1ee8f3a58192c2c76087ccd3d8))
+ - simplify looking up entries by path ([`15a18e4`](https://github.com/Byron/gitoxide/commit/15a18e47f4a767a2cc31a30296844c207c7a8732))
+ - a little more complexity for diff tests ([`5878ad1`](https://github.com/Byron/gitoxide/commit/5878ad17bc0c0d9d99b36f3ff9416cf9a47a4086))
+ - `interrupt::Iter` now allows accessing the inner iterator without consumption. ([`1027be9`](https://github.com/Byron/gitoxide/commit/1027be960852618915014f9ba6e6632bd4999b0e))
+ - Once a change is obtained, it's easy to obtain changes line by line. ([`8c2e5c6`](https://github.com/Byron/gitoxide/commit/8c2e5c60f9f5f8d0859ecd84c17af20e88812512))
+ - Slightly improved docs for traversal docs. ([`963055b`](https://github.com/Byron/gitoxide/commit/963055b45643fb48460671959b10dc12658bb5d4))
+ - performance note ([`0670468`](https://github.com/Byron/gitoxide/commit/06704683cdde64c0ed9b38df5e4e8ce29dbce524))
+ - Support for Path tracking ([`64bbb3d`](https://github.com/Byron/gitoxide/commit/64bbb3da42f740206514baf2fa504371fd6f06c4))
+ - rev-spec parsing can now handle the empty tree as full hex hash. ([`ae38660`](https://github.com/Byron/gitoxide/commit/ae3866065c9c3c6d01709f8dde1cea1ae1345779))
+ - refactor ([`9d01fb4`](https://github.com/Byron/gitoxide/commit/9d01fb41c8b367b8bd73061fc5f0f7dc4d33f7d1))
+ - refactor ([`90b9c90`](https://github.com/Byron/gitoxide/commit/90b9c906bc3779d62b0317ea318c07693fda0d3c))
+ - fix docs ([`9b7aaa0`](https://github.com/Byron/gitoxide/commit/9b7aaa00ed7750e0f6a5898212d78ffa98456749))
+ - improved usability of the `Action` enum ([`d04807b`](https://github.com/Byron/gitoxide/commit/d04807bc9a70ddb6139446356df5c1bdb902a497))
+ - Support for file-name tracking ([`88c4a57`](https://github.com/Byron/gitoxide/commit/88c4a57b8e84db74d9bc2a1d626bc5c51a069fad))
+ - Provisions for tracking the location of a change. ([`7fd9b0e`](https://github.com/Byron/gitoxide/commit/7fd9b0eed4a18c2a9e9ae44bc8a8f72769995889))
+ - first test for simple file modification detection ([`a9056fd`](https://github.com/Byron/gitoxide/commit/a9056fdd3f22347737b4d3c80a793d1d26f4218b))
+ - allow user callbacks to have any error ([`5be96b3`](https://github.com/Byron/gitoxide/commit/5be96b3c5c276bc0176820da4a5f554c1a1623f3))
+ - break through API surface and sketch delegate calling user-provided function ([`e51f3cd`](https://github.com/Byron/gitoxide/commit/e51f3cda68606dafd908ec268099fc455493ebaf))
+ - diff platform for basic diff configuration ([`c857b9b`](https://github.com/Byron/gitoxide/commit/c857b9b6a113bd60fa3c9aeaf3edb81164ae772a))
+ - refactor ([`a938fe4`](https://github.com/Byron/gitoxide/commit/a938fe491e98577230b2aefd536b600e74050225))
+ - refactor ([`6ac7dbe`](https://github.com/Byron/gitoxide/commit/6ac7dbe689b5599e72a05b4e23c1943cd2bba145))
+ * **Uncategorized**
+ - 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))
+ - thanks clippy ([`77ff8ae`](https://github.com/Byron/gitoxide/commit/77ff8ae5fa9bbdb7c5e1c577845334f966294426))
+ - make fmt ([`429cccc`](https://github.com/Byron/gitoxide/commit/429cccc5831c25a7205a12dc7a0443ac48616e2c))
+ - avoid risking comparing two different current-time timestamps ([`389cb2a`](https://github.com/Byron/gitoxide/commit/389cb2abb585f4640ddd128541b05ad338599b5e))
+ - thanks clippy ([`52fa247`](https://github.com/Byron/gitoxide/commit/52fa247d3ba211ccacfc867d2f0a17022e2b9b62))
+ - Merge branch 'filter-refs' ([`fd14489`](https://github.com/Byron/gitoxide/commit/fd14489f729172d615d0fa1e8dbd605e9eacf69d))
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - use specific error type for `rev_parse_single()` ([`f5959ed`](https://github.com/Byron/gitoxide/commit/f5959edc1477573278afcfe23e9e52ddaacb37db))
+ - use rev_parse_single() instead of rev_parse().single() ([`09948a5`](https://github.com/Byron/gitoxide/commit/09948a56449c372444e1ee13138128482a97b0be))
+ - new error for `rev_parse_single` ([`9491528`](https://github.com/Byron/gitoxide/commit/9491528456310c458b35217dc6442d1c07a41c05))
+ - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1))
+ - rev_parse_single ([`d9097ab`](https://github.com/Byron/gitoxide/commit/d9097ab758611d94ad33e41e508c299796dbc77e))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - thanks clippy ([`ab81525`](https://github.com/Byron/gitoxide/commit/ab81525853db031e5f80d397c4074e2c85497e2e))
+ - add `prompt` to top level forwarding #450) ([`1c13f11`](https://github.com/Byron/gitoxide/commit/1c13f1125664fbcc276a1ca440d168d07d0bf493))
+ - 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))
+ - thanks clippy ([`34bc1b3`](https://github.com/Byron/gitoxide/commit/34bc1b33068122aa123397a1f4e5a1d9df244fa5))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - thanks clippy ([`82ee79e`](https://github.com/Byron/gitoxide/commit/82ee79e2bb7d87ed615a0cdda75d175a52978f7b))
+ - thanks clippy ([`97e23dd`](https://github.com/Byron/gitoxide/commit/97e23ddb2c0d206efab393b984ba36aed11da72f))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+
+
## 0.23.1 (2022-09-01)
+### Changed (BREAKING)
+
+ - Remove 'unstable' feature.
+ It's not worth maintaining it especially since everything is in
+ pre-release mode right now.
+
+ It might be something to re-introduce after go-live.
+
### Bug Fixes
- `max-performance-safe` mode does not include zlib-ng adjustments anymore.
@@ -22,10 +202,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 2 commits contributed to the release.
+ - 22 commits contributed to the release over the course of 3 calendar days.
- 3 days passed between releases.
- - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' where seen in commit messages
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -33,9 +213,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - adjust to changes in `git-credentials` ([`45ba6cb`](https://github.com/Byron/gitoxide/commit/45ba6cbe8b41944aef7e1a72d9fa2823bff46586))
+ - test is using baseline exclusively now; get section's username as well ([`64a9d09`](https://github.com/Byron/gitoxide/commit/64a9d090fc7a4b8d4c3db060b59462c8867b1849))
+ - get to the point where url matching plays a role. ([`94911f2`](https://github.com/Byron/gitoxide/commit/94911f26cd1cdf1229544b238e0bd11e34026317))
+ - Remove 'unstable' feature. ([`36d8c57`](https://github.com/Byron/gitoxide/commit/36d8c57824a2b921012439105e49261fac66c955))
+ - first baseline setup to trigger implementation to reproduce credential helper setup ([`22694df`](https://github.com/Byron/gitoxide/commit/22694df6bcca3bda8fc6dc10b18bbabd08523f18))
+ - sketch the API for obtaining credential information ([`d56b9d5`](https://github.com/Byron/gitoxide/commit/d56b9d5bbd2d0e204cb5d315ad19eb9df472343f))
+ - frame for baseline for credential helpers ([`55eb965`](https://github.com/Byron/gitoxide/commit/55eb9655ae66feea44aa742c7699d9b7f3e96582))
+ - refactor ([`4c7799c`](https://github.com/Byron/gitoxide/commit/4c7799cb6fbac97e9d15e4e26243f2325002e2f9))
+ - A sketch to allow obtaining a function for credentials by url on the remote ([`99fb1cf`](https://github.com/Byron/gitoxide/commit/99fb1cfa5093de2f4d0f1df7047e28082135e28c))
+ - frame for overridable credential helpers ([`2916b08`](https://github.com/Byron/gitoxide/commit/2916b08c4b6503eb9de2362a37bada4d774dad17))
+ - refactor ([`959fc09`](https://github.com/Byron/gitoxide/commit/959fc0921f3d01efe7932c02d426d20f30c8b9d3))
+ - always compile prompting support in ([`bd0ea68`](https://github.com/Byron/gitoxide/commit/bd0ea68225a73fb83c9fc1b8594fc6ad288a77a9))
+ - set version of git-prompt to 0.1 and turn prompting on ([`7657693`](https://github.com/Byron/gitoxide/commit/7657693b8e23dfb69d6da4376bcd1b8e4e264f7e))
* **Uncategorized**
+ - Release git-diff v0.18.1, git-discover v0.4.2, git-traverse v0.16.4, git-repository v0.23.1 ([`2571831`](https://github.com/Byron/gitoxide/commit/2571831e5939bf4ea6f19537b0c1ccd71dc99088))
- prepare changelog prior to release ([`fc6b958`](https://github.com/Byron/gitoxide/commit/fc6b9583d0534f70e0c8afdcad46e09a5001d62b))
- `max-performance-safe` mode does not include zlib-ng adjustments anymore. ([`d18e76c`](https://github.com/Byron/gitoxide/commit/d18e76cfb512ef7fe5bfee6e87726372c6a4a8b6))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - `parse` is pure function. ([`9ad1a5f`](https://github.com/Byron/gitoxide/commit/9ad1a5fa2ce54e978396ff3eaa7061a8edd10d4a))
+ - `parse()` returns Result. ([`206f392`](https://github.com/Byron/gitoxide/commit/206f3923f5da2e9e26677e917550e6e5baa2913a))
+ - 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))
## 0.23.0 (2022-08-28)
@@ -63,10 +264,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 14 commits contributed to the release over the course of 1 calendar day.
+ - 20 commits contributed to the release over the course of 4 calendar days.
- 4 days passed between releases.
- 7 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Commit Details
@@ -74,6 +275,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - adjust to changes in `git-credentials` ([`dc32898`](https://github.com/Byron/gitoxide/commit/dc32898e9dda9cb8eee2bcad31cbe1c13d31f214))
+ - adjust to changes in `git-credentials` ([`cabe40a`](https://github.com/Byron/gitoxide/commit/cabe40a15460cffd14618d4bb936e1f2805d687a))
+ - refactor ([`7487b5a`](https://github.com/Byron/gitoxide/commit/7487b5a4142679ef423c5bd996e40e473c5dfc27))
+ - refactor ([`335bb64`](https://github.com/Byron/gitoxide/commit/335bb64b19a79d8a1d3fe571145d5ed1c33c6417))
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
- The empty tree can always be returned by `Repository::(try_)find_object()` ([`70aa850`](https://github.com/Byron/gitoxide/commit/70aa850591de268488ae9bf2d3839a5c9c543c35))
@@ -90,6 +296,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `Reference::head_ref()` to quickly access the reference the head points to. ([`950da60`](https://github.com/Byron/gitoxide/commit/950da602925e6376b08640ed3ebfdf407394db34))
- 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))
- 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 ([`dbfa328`](https://github.com/Byron/gitoxide/commit/dbfa3282cf876596b250b2040c1ec0b761741796))
+ - Merge branch 'main' into filter-refs-by-spec ([`cfa1440`](https://github.com/Byron/gitoxide/commit/cfa144031dbcac2707ab0cec012bc35e78f9c475))
## 0.22.1 (2022-08-24)
@@ -149,7 +357,7 @@ A maintenance release without user facing changes.
- - 44 commits contributed to the release over the course of 4 calendar days.
+ - 53 commits contributed to the release over the course of 4 calendar days.
- 4 days passed between releases.
- 8 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#488](https://github.com/Byron/gitoxide/issues/488)
@@ -158,7 +366,7 @@ A maintenance release without user facing changes.
-[Clippy](https://github.com/rust-lang/rust-clippy) helped 3 times to make code idiomatic.
+[Clippy](https://github.com/rust-lang/rust-clippy) helped 5 times to make code idiomatic.
### Commit Details
@@ -167,6 +375,13 @@ A maintenance release without user facing changes.
view details
* **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - Respect `permissions.allow` ([`f8a5188`](https://github.com/Byron/gitoxide/commit/f8a51888d6f55efeb96bba13fdfc23a53781b4ba))
+ - deal with changes in `git-url` ([`6f89659`](https://github.com/Byron/gitoxide/commit/6f89659bed6d44de2149c36ce188d816e11f5a64))
+ - The first succeeding test for allowing schemes (without 'user' setting) ([`3ec28f0`](https://github.com/Byron/gitoxide/commit/3ec28f04622f7a2a99a47cde1376ff3088595e4d))
+ - support for failing configuration, for now without 'lenient' config support ([`2bce6a3`](https://github.com/Byron/gitoxide/commit/2bce6a3f04be3ea9bcb731d05f7651357810c186))
+ - sketch for lazy initialization of information to deal with allowing schemes ([`3f708f3`](https://github.com/Byron/gitoxide/commit/3f708f346f021662fa15867b5dbc2d42ccfc6fc8))
+ - tests for `protocol.allow` ([`cd59965`](https://github.com/Byron/gitoxide/commit/cd59965f46398adc8f2ac29d2369b0f5f4e0c0a1))
+ - Support for -c CLI config overrides in `gix config`. ([`19c1746`](https://github.com/Byron/gitoxide/commit/19c1746cefca9bc76537637ec99634eb4cf66a92))
- remove TODO, doesn't apply anymore ([`dcd6619`](https://github.com/Byron/gitoxide/commit/dcd66197315a9826102b7439b1ab33e72593fccf))
- fix docs ([`7d30eb3`](https://github.com/Byron/gitoxide/commit/7d30eb36e6aa7f679c97c5056cd5453f8e89ab10))
- `SnapshotMut::apply_cli_overrides()` to make it easy to support things like `-c` ([`d35cd2a`](https://github.com/Byron/gitoxide/commit/d35cd2a12c6db3d655ce10cad5c027bde99e19b4))
@@ -188,6 +403,8 @@ A maintenance release without user facing changes.
- Release git-worktree v0.4.2, git-repository v0.22.0 ([`2f0f530`](https://github.com/Byron/gitoxide/commit/2f0f530fb1d644bc0694e04f3c9309149f526e42))
- 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))
- support avoiding usage of `fast-sha1` in git-features separately. ([`c28bcec`](https://github.com/Byron/gitoxide/commit/c28bcec19b5526acf888f928e6ddc4671873368e))
+ - thanks clippy ([`dc74fbd`](https://github.com/Byron/gitoxide/commit/dc74fbd9a58e1d424713fc5f2442cedcc09c1200))
+ - thanks clippy ([`c5bd452`](https://github.com/Byron/gitoxide/commit/c5bd45251ae0f47975e9fe77f0b9a9051e319d5c))
- Release git-path v0.4.1 ([`5e82346`](https://github.com/Byron/gitoxide/commit/5e823462b3deb904f5d6154a7bf114cef1988224))
- Merge branch 'example-write-blob' ([`afedd7f`](https://github.com/Byron/gitoxide/commit/afedd7f86ec8ea18a8165f71698ecc886f5cf643))
- `Repository::write_blob[_stream]()` to more easily write blobs. ([`4f87a06`](https://github.com/Byron/gitoxide/commit/4f87a0672f7288486a9b6403c0bb07a6279d2cfe))
diff --git a/git-repository/Cargo.toml b/git-repository/Cargo.toml
index 81d4454bd5b..c7fae14a017 100644
--- a/git-repository/Cargo.toml
+++ b/git-repository/Cargo.toml
@@ -77,38 +77,38 @@ cache-efficiency-debug = ["git-features/cache-efficiency-debug"]
[dependencies]
-git-ref = { version = "^0.15.4", path = "../git-ref" }
-git-discover = { version = "^0.4.2", path = "../git-discover" }
+git-ref = { version = "^0.16.0", path = "../git-ref" }
+git-discover = { version = "^0.5.0", path = "../git-discover" }
git-tempfile = { version = "^2.0.0", path = "../git-tempfile" }
git-lock = { version = "^2.0.0", path = "../git-lock" }
-git-validate = { version = "^0.5.5", path = "../git-validate" }
-git-sec = { version = "^0.3.1", path = "../git-sec" }
-git-date = { version = "^0.1.0", path = "../git-date" }
-git-refspec = { version = "^0.1.1", path = "../git-refspec" }
-
-git-config = { version = "^0.7.1", path = "../git-config" }
-git-odb = { version = "^0.32.0", path = "../git-odb" }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-object = { version = "^0.20.3", path = "../git-object" }
-git-actor = { version = "^0.11.4", path = "../git-actor" }
-git-pack = { version = "^0.22.0", path = "../git-pack", features = ["object-cache-dynamic"] }
-git-revision = { version = "^0.4.4", path = "../git-revision" }
-
-git-path = { version = "^0.4.2", path = "../git-path" }
-git-url = { version = "^0.8.0", path = "../git-url" }
-git-traverse = { version = "^0.16.4", path = "../git-traverse" }
+git-validate = { version = "^0.6.0", path = "../git-validate" }
+git-sec = { version = "^0.4.0", path = "../git-sec" }
+git-date = { version = "^0.2.0", path = "../git-date" }
+git-refspec = { version = "^0.2.0", path = "../git-refspec" }
+
+git-config = { version = "^0.8.0", path = "../git-config" }
+git-odb = { version = "^0.33.0", path = "../git-odb" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-object = { version = "^0.21.0", path = "../git-object" }
+git-actor = { version = "^0.12.0", path = "../git-actor" }
+git-pack = { version = "^0.23.0", path = "../git-pack", features = ["object-cache-dynamic"] }
+git-revision = { version = "^0.5.0", path = "../git-revision" }
+
+git-path = { version = "^0.5.0", path = "../git-path" }
+git-url = { version = "^0.9.0", path = "../git-url" }
+git-traverse = { version = "^0.17.0", path = "../git-traverse" }
git-protocol = { version = "^0.20.0", path = "../git-protocol", optional = true }
git-transport = { version = "^0.20.0", path = "../git-transport", optional = true }
-git-diff = { version = "^0.18.1", path = "../git-diff" }
-git-mailmap = { version = "^0.3.2", path = "../git-mailmap" }
-git-features = { version = "^0.22.4", path = "../git-features", features = ["progress", "once_cell"] }
-
-git-attributes = { version = "^0.3.3", path = "../git-attributes" }
-git-glob = { version = "^0.3.2", path = "../git-glob" }
-git-credentials = { version = "^0.4.0", path = "../git-credentials" }
-git-prompt = { version = "0.1.0", path = "../git-prompt" }
-git-index = { version = "^0.4.3", path = "../git-index" }
-git-worktree = { version = "^0.4.3", path = "../git-worktree" }
+git-diff = { version = "^0.19.0", path = "../git-diff" }
+git-mailmap = { version = "^0.4.0", path = "../git-mailmap" }
+git-features = { version = "^0.22.5", path = "../git-features", features = ["progress", "once_cell"] }
+
+git-attributes = { version = "^0.4.0", path = "../git-attributes" }
+git-glob = { version = "^0.4.0", path = "../git-glob" }
+git-credentials = { version = "^0.5.0", path = "../git-credentials" }
+git-prompt = { version = "^0.1.0", path = "../git-prompt" }
+git-index = { version = "^0.5.0", path = "../git-index" }
+git-worktree = { version = "^0.5.0", path = "../git-worktree" }
once_cell = "1.14.0"
signal-hook = { version = "0.3.9", default-features = false }
diff --git a/git-repository/src/interrupt.rs b/git-repository/src/interrupt.rs
index 39fd259f7fa..070a95ea714 100644
--- a/git-repository/src/interrupt.rs
+++ b/git-repository/src/interrupt.rs
@@ -82,6 +82,11 @@ where
pub fn into_inner(self) -> I {
self.inner.inner
}
+
+ /// Return the inner iterator as reference
+ pub fn inner(&self) -> &I {
+ &self.inner.inner
+ }
}
impl Iterator for Iter
diff --git a/git-repository/src/object/peel.rs b/git-repository/src/object/peel.rs
index c09ecbf668d..0654049e658 100644
--- a/git-repository/src/object/peel.rs
+++ b/git-repository/src/object/peel.rs
@@ -2,7 +2,7 @@
use crate::{
object,
object::{peel, Kind},
- Object,
+ Object, Tree,
};
///
@@ -67,6 +67,11 @@ impl<'repo> Object<'repo> {
}
}
+ /// Peel this object into a tree and return it, if this is possible.
+ pub fn peel_to_tree(self) -> Result, peel::to_kind::Error> {
+ Ok(self.peel_to_kind(git_object::Kind::Tree)?.into_tree())
+ }
+
// TODO: tests
/// Follow all tag object targets until a commit, tree or blob is reached.
///
diff --git a/git-repository/src/object/tree.rs b/git-repository/src/object/tree.rs
deleted file mode 100644
index 90e8942a868..00000000000
--- a/git-repository/src/object/tree.rs
+++ /dev/null
@@ -1,177 +0,0 @@
-use git_hash::ObjectId;
-use git_object::{bstr::BStr, TreeRefIter};
-use git_odb::FindExt;
-
-use crate::{object::find, Id, Tree};
-
-/// Initialization
-impl<'repo> Tree<'repo> {
- /// Obtain a tree instance by handing in all components that it is made up of.
- pub fn from_data(id: impl Into, data: Vec, repo: &'repo crate::Repository) -> Self {
- Tree {
- id: id.into(),
- data,
- repo,
- }
- }
-}
-
-/// Access
-impl<'repo> Tree<'repo> {
- /// Return this tree's identifier.
- pub fn id(&self) -> Id<'repo> {
- Id::from_id(self.id, self.repo)
- }
-
- // TODO: move implementation to git-object, tests.
- /// Follow a sequence of `path` components starting from this instance, and look them up one by one until the last component
- /// is looked up and its tree entry is returned.
- ///
- /// # Performance Notes
- ///
- /// Searching tree entries is currently done in sequence, which allows to the search to be allocation free. It would be possible
- /// to re-use a vector and use a binary search instead, which might be able to improve performance over all.
- /// However, a benchmark should be created first to have some data and see which trade-off to choose here.
- pub fn lookup_path(mut self, path: I) -> Result, find::existing::Error>
- where
- I: IntoIterator- ,
- P: PartialEq
,
- {
- // let mut out = None;
- let mut path = path.into_iter().peekable();
- while let Some(component) = path.next() {
- match TreeRefIter::from_bytes(&self.data)
- .filter_map(Result::ok)
- .find(|entry| component.eq(entry.filename))
- {
- Some(entry) => {
- if path.peek().is_none() {
- return Ok(Some(entry.into()));
- } else {
- let next_id = entry.oid.to_owned();
- let handle = self.repo;
- drop(self);
- self = match handle.find_object(next_id)?.try_into_tree() {
- Ok(tree) => tree,
- Err(_) => return Ok(None),
- };
- }
- }
- None => return Ok(None),
- }
- }
- Ok(None)
- }
-
- /// Obtain a platform for initiating a variety of traversals.
- pub fn traverse(&self) -> Traversal<'_, 'repo> {
- Traversal {
- root: self,
- breadthfirst: BreadthFirstTraversalPresets { root: self },
- }
- }
-}
-
-/// An intermediate object to start traversing the parent tree from.
-pub struct Traversal<'a, 'repo> {
- root: &'a Tree<'repo>,
- /// TODO: EXPLAIN
- pub breadthfirst: BreadthFirstTraversalPresets<'a, 'repo>,
-}
-
-/// TODO: explain THIS!
-#[derive(Copy, Clone)]
-pub struct BreadthFirstTraversalPresets<'a, 'repo> {
- root: &'a Tree<'repo>,
-}
-
-impl<'a, 'repo> BreadthFirstTraversalPresets<'a, 'repo> {
- /// Returns all entries and their file paths, recursively, as reachable from this tree.
- pub fn files(&self) -> Result, git_traverse::tree::breadthfirst::Error> {
- let mut recorder = git_traverse::tree::Recorder::default();
- Traversal {
- root: self.root,
- breadthfirst: *self,
- }
- .breadthfirst(&mut recorder)?;
- Ok(recorder.records)
- }
-}
-
-impl<'a, 'repo> Traversal<'a, 'repo> {
- /// Start a breadth-first traversal with a delegate, note that it's not sorted.
- /// TODO: more docs or links to git-traverse
- pub fn breadthfirst(&self, delegate: &mut V) -> Result<(), git_traverse::tree::breadthfirst::Error>
- where
- V: git_traverse::tree::Visit,
- {
- let root = git_object::TreeRefIter::from_bytes(&self.root.data);
- let state = git_traverse::tree::breadthfirst::State::default();
- git_traverse::tree::breadthfirst(
- root,
- state,
- |oid, buf| self.root.repo.objects.find_tree_iter(oid, buf).ok(),
- delegate,
- )
- }
-}
-
-pub use iter::EntryRef;
-
-///
-mod iter {
- use super::Tree;
- use crate::Repository;
-
- /// An entry within a tree
- pub struct EntryRef<'repo, 'a> {
- /// The actual entry ref we are wrapping.
- pub inner: git_object::tree::EntryRef<'a>,
-
- repo: &'repo Repository,
- }
-
- impl<'repo, 'a> EntryRef<'repo, 'a> {
- /// The kind of object to which [`id()`][Self::id()] is pointing.
- pub fn mode(&self) -> git_object::tree::EntryMode {
- self.inner.mode
- }
-
- /// The name of the file in the parent tree.
- pub fn filename(&self) -> &git_object::bstr::BStr {
- self.inner.filename
- }
-
- /// Return the entries id, connected to the underlying repository.
- pub fn id(&self) -> crate::Id<'repo> {
- crate::Id::from_id(self.inner.oid, self.repo)
- }
- }
-
- impl<'repo, 'a> std::fmt::Display for EntryRef<'repo, 'a> {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(
- f,
- "{:06o} {:>6} {}\t{}",
- self.mode() as u32,
- self.mode().as_str(),
- self.id().shorten_or_id(),
- self.filename()
- )
- }
- }
-
- impl<'repo> Tree<'repo> {
- /// Return an iterator over tree entries.
- pub fn iter(&self) -> impl Iterator- , git_object::decode::Error>> {
- let repo = self.repo;
- git_object::TreeRefIter::from_bytes(&self.data).map(move |e| e.map(|entry| EntryRef { inner: entry, repo }))
- }
- }
-}
-
-impl<'r> std::fmt::Debug for Tree<'r> {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(f, "Tree({})", self.id)
- }
-}
diff --git a/git-repository/src/object/tree/diff.rs b/git-repository/src/object/tree/diff.rs
new file mode 100644
index 00000000000..a3f440ddc74
--- /dev/null
+++ b/git-repository/src/object/tree/diff.rs
@@ -0,0 +1,304 @@
+use crate::bstr::{BStr, BString, ByteSlice, ByteVec};
+use crate::ext::ObjectIdExt;
+use crate::{Repository, Tree};
+use git_object::TreeRefIter;
+use git_odb::FindExt;
+use std::collections::VecDeque;
+
+/// The error return by methods on the [diff platform][Platform].
+#[derive(Debug, thiserror::Error)]
+#[allow(missing_docs)]
+pub enum Error {
+ #[error(transparent)]
+ Diff(#[from] git_diff::tree::changes::Error),
+ #[error("The user-provided callback failed")]
+ ForEach(#[source] Box
),
+}
+
+/// Returned by the `for_each` function to control flow.
+#[derive(Clone, Copy, PartialOrd, PartialEq, Ord, Eq, Hash)]
+pub enum Action {
+ /// Continue the traversal of changes.
+ Continue,
+ /// Stop the traversal of changes and stop calling this function.
+ Cancel,
+}
+
+impl Default for Action {
+ fn default() -> Self {
+ Action::Continue
+ }
+}
+
+/// Represents any possible change in order to turn one tree into another.
+#[derive(Debug, Clone, Copy)]
+pub struct Change<'a, 'old, 'new> {
+ /// The location of the file or directory described by `event`, if tracking was enabled.
+ ///
+ /// Otherwise this value is always an empty path.
+ pub location: &'a BStr,
+ /// The diff event itself to provide information about what would need to change.
+ pub event: change::Event<'old, 'new>,
+}
+
+///
+pub mod change {
+ use crate::bstr::ByteSlice;
+ use crate::Id;
+ use git_object::tree::EntryMode;
+
+ /// An event emitted when finding differences between two trees.
+ #[derive(Debug, Clone, Copy)]
+ pub enum Event<'old, 'new> {
+ /// An entry was added, like the addition of a file or directory.
+ Addition {
+ /// The mode of the added entry.
+ entry_mode: git_object::tree::EntryMode,
+ /// The object id of the added entry.
+ id: Id<'new>,
+ },
+ /// An entry was deleted, like the deletion of a file or directory.
+ Deletion {
+ /// The mode of the deleted entry.
+ entry_mode: git_object::tree::EntryMode,
+ /// The object id of the deleted entry.
+ id: Id<'old>,
+ },
+ /// An entry was modified, e.g. changing the contents of a file adjusts its object id and turning
+ /// a file into a symbolic link adjusts its mode.
+ Modification {
+ /// The mode of the entry before the modification.
+ previous_entry_mode: git_object::tree::EntryMode,
+ /// The object id of the entry before the modification.
+ previous_id: Id<'old>,
+
+ /// The mode of the entry after the modification.
+ entry_mode: git_object::tree::EntryMode,
+ /// The object id after the modification.
+ id: Id<'new>,
+ },
+ }
+
+ /// A platform to keep temporary information to perform line diffs.
+ pub struct DiffPlatform<'old, 'new> {
+ old: crate::Object<'old>,
+ new: crate::Object<'new>,
+ }
+
+ impl<'old, 'new> Event<'old, 'new> {
+ /// Produce a platform for performing a line-diff, or `None` if this is not a [`Modification`][Event::Modification]
+ /// or one of the entries to compare is not a blob.
+ pub fn diff(&self) -> Option, crate::object::find::existing::Error>> {
+ match self {
+ Event::Modification {
+ previous_entry_mode: EntryMode::BlobExecutable | EntryMode::Blob,
+ previous_id,
+ entry_mode: EntryMode::BlobExecutable | EntryMode::Blob,
+ id,
+ } => match previous_id.object().and_then(|old| id.object().map(|new| (old, new))) {
+ Ok((old, new)) => Some(Ok(DiffPlatform { old, new })),
+ Err(err) => Some(Err(err)),
+ },
+ _ => None,
+ }
+ }
+ }
+
+ impl<'old, 'new> DiffPlatform<'old, 'new> {
+ /// Create a platform for performing various tasks to diff text.
+ ///
+ /// It can be used to traverse [all line changes](git_diff::lines::similar::TextDiff::iter_all_changes()) for example.
+ // TODO: How should this integrate with configurable algorithms? Maybe users should get it themselves and pass it here?
+ pub fn text<'bufs>(
+ &self,
+ algorithm: git_diff::lines::Algorithm,
+ ) -> git_diff::lines::similar::TextDiff<'_, '_, 'bufs, [u8]> {
+ git_diff::lines::with(self.old.data.as_bstr(), self.new.data.as_bstr(), algorithm)
+ }
+ }
+}
+
+/// Diffing
+impl<'repo> Tree<'repo> {
+ /// Return a platform to see the changes needed to create other trees, for instance.
+ ///
+ /// # Performance
+ ///
+ /// It's highly recommended to set an object cache to avoid extracting the same object multiple times.
+ pub fn changes<'a>(&'a self) -> Platform<'a, 'repo> {
+ Platform {
+ state: Default::default(),
+ lhs: self,
+ tracking: None,
+ }
+ }
+}
+
+/// The diffing platform returned by [`Tree::changes()`].
+#[derive(Clone)]
+pub struct Platform<'a, 'repo> {
+ state: git_diff::tree::State,
+ lhs: &'a Tree<'repo>,
+ tracking: Option,
+}
+
+#[derive(Clone, Copy)]
+enum Tracking {
+ FileName,
+ Path,
+}
+
+/// Configuration
+impl<'a, 'repo> Platform<'a, 'repo> {
+ /// Keep track of file-names, which makes the [`location`][Change::location] field usable with the filename of the changed item.
+ pub fn track_filename(&mut self) -> &mut Self {
+ self.tracking = Some(Tracking::FileName);
+ self
+ }
+
+ /// Keep track of the entire path of a change, relative to the repository.
+ ///
+ /// This makes the [`location`][Change::location] field usable.
+ pub fn track_path(&mut self) -> &mut Self {
+ self.tracking = Some(Tracking::Path);
+ self
+ }
+}
+
+/// Add the item to compare to.
+impl<'a, 'old> Platform<'a, 'old> {
+ /// Call `for_each` repeatedly with all changes that are needed to convert the source of the diff to the tree to `other`.
+ pub fn for_each_to_obtain_tree<'new, E>(
+ &mut self,
+ other: &Tree<'new>,
+ for_each: impl FnMut(Change<'_, 'old, 'new>) -> Result,
+ ) -> Result<(), Error>
+ where
+ E: std::error::Error + Sync + Send + 'static,
+ {
+ let repo = self.lhs.repo;
+ let mut delegate = Delegate {
+ repo: self.lhs.repo,
+ other_repo: other.repo,
+ tracking: self.tracking,
+ location: BString::default(),
+ path_deque: Default::default(),
+ visit: for_each,
+ err: None,
+ };
+ git_diff::tree::Changes::from(TreeRefIter::from_bytes(&self.lhs.data)).needed_to_obtain(
+ TreeRefIter::from_bytes(&other.data),
+ &mut self.state,
+ |oid, buf| repo.objects.find_tree_iter(oid, buf),
+ &mut delegate,
+ )?;
+ match delegate.err {
+ Some(err) => Err(Error::ForEach(Box::new(err))),
+ None => Ok(()),
+ }
+ }
+}
+
+struct Delegate<'old, 'new, VisitFn, E> {
+ repo: &'old Repository,
+ other_repo: &'new Repository,
+ tracking: Option,
+ location: BString,
+ path_deque: VecDeque,
+ visit: VisitFn,
+ err: Option,
+}
+
+impl Delegate<'_, '_, A, B> {
+ fn pop_element(&mut self) {
+ if let Some(pos) = self.location.rfind_byte(b'/') {
+ self.location.resize(pos, 0);
+ } else {
+ self.location.clear();
+ }
+ }
+
+ fn push_element(&mut self, name: &BStr) {
+ if !self.location.is_empty() {
+ self.location.push(b'/');
+ }
+ self.location.push_str(name);
+ }
+}
+
+impl<'old, 'new, VisitFn, E> git_diff::tree::Visit for Delegate<'old, 'new, VisitFn, E>
+where
+ VisitFn: for<'delegate> FnMut(Change<'delegate, 'old, 'new>) -> Result,
+ E: std::error::Error + Sync + Send + 'static,
+{
+ fn pop_front_tracked_path_and_set_current(&mut self) {
+ if let Some(Tracking::Path) = self.tracking {
+ self.location = self
+ .path_deque
+ .pop_front()
+ .expect("every call is matched with push_tracked_path_component");
+ }
+ }
+
+ fn push_back_tracked_path_component(&mut self, component: &BStr) {
+ if let Some(Tracking::Path) = self.tracking {
+ self.push_element(component);
+ self.path_deque.push_back(self.location.clone());
+ }
+ }
+
+ fn push_path_component(&mut self, component: &BStr) {
+ match self.tracking {
+ Some(Tracking::FileName) => {
+ self.location.clear();
+ self.location.push_str(component);
+ }
+ Some(Tracking::Path) => {
+ self.push_element(component);
+ }
+ None => {}
+ }
+ }
+
+ fn pop_path_component(&mut self) {
+ if let Some(Tracking::Path) = self.tracking {
+ self.pop_element();
+ }
+ }
+
+ fn visit(&mut self, change: git_diff::tree::visit::Change) -> git_diff::tree::visit::Action {
+ use git_diff::tree::visit::Change::*;
+ let event = match change {
+ Addition { entry_mode, oid } => change::Event::Addition {
+ entry_mode,
+ id: oid.attach(self.other_repo),
+ },
+ Deletion { entry_mode, oid } => change::Event::Deletion {
+ entry_mode,
+ id: oid.attach(self.repo),
+ },
+ Modification {
+ previous_entry_mode,
+ previous_oid,
+ entry_mode,
+ oid,
+ } => change::Event::Modification {
+ previous_entry_mode,
+ entry_mode,
+ previous_id: previous_oid.attach(self.repo),
+ id: oid.attach(self.other_repo),
+ },
+ };
+ match (self.visit)(Change {
+ event,
+ location: self.location.as_ref(),
+ }) {
+ Ok(Action::Cancel) => git_diff::tree::visit::Action::Cancel,
+ Ok(Action::Continue) => git_diff::tree::visit::Action::Continue,
+ Err(err) => {
+ self.err = Some(err);
+ git_diff::tree::visit::Action::Cancel
+ }
+ }
+ }
+}
diff --git a/git-repository/src/object/tree/iter.rs b/git-repository/src/object/tree/iter.rs
new file mode 100644
index 00000000000..a7acc10a467
--- /dev/null
+++ b/git-repository/src/object/tree/iter.rs
@@ -0,0 +1,53 @@
+use super::Tree;
+use crate::Repository;
+
+/// An entry within a tree
+pub struct EntryRef<'repo, 'a> {
+ /// The actual entry ref we are wrapping.
+ pub inner: git_object::tree::EntryRef<'a>,
+
+ pub(crate) repo: &'repo Repository,
+}
+
+impl<'repo, 'a> EntryRef<'repo, 'a> {
+ /// The kind of object to which [`id()`][Self::id()] is pointing.
+ pub fn mode(&self) -> git_object::tree::EntryMode {
+ self.inner.mode
+ }
+
+ /// The name of the file in the parent tree.
+ pub fn filename(&self) -> &git_object::bstr::BStr {
+ self.inner.filename
+ }
+
+ /// Return the entries id, connected to the underlying repository.
+ pub fn id(&self) -> crate::Id<'repo> {
+ crate::Id::from_id(self.inner.oid, self.repo)
+ }
+
+ /// Return the entries id, without repository connection.
+ pub fn oid(&self) -> git_hash::ObjectId {
+ self.inner.oid.to_owned()
+ }
+}
+
+impl<'repo, 'a> std::fmt::Display for EntryRef<'repo, 'a> {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ write!(
+ f,
+ "{:06o} {:>6} {}\t{}",
+ self.mode() as u32,
+ self.mode().as_str(),
+ self.id().shorten_or_id(),
+ self.filename()
+ )
+ }
+}
+
+impl<'repo> Tree<'repo> {
+ /// Return an iterator over tree entries.
+ pub fn iter(&self) -> impl Iterator- , git_object::decode::Error>> {
+ let repo = self.repo;
+ git_object::TreeRefIter::from_bytes(&self.data).map(move |e| e.map(|entry| EntryRef { inner: entry, repo }))
+ }
+}
diff --git a/git-repository/src/object/tree/mod.rs b/git-repository/src/object/tree/mod.rs
new file mode 100644
index 00000000000..75b4ea4c6d4
--- /dev/null
+++ b/git-repository/src/object/tree/mod.rs
@@ -0,0 +1,102 @@
+use git_hash::ObjectId;
+use git_object::{bstr::BStr, TreeRefIter};
+
+use crate::{object::find, Id, Tree};
+
+/// Initialization
+impl<'repo> Tree<'repo> {
+ /// Obtain a tree instance by handing in all components that it is made up of.
+ pub fn from_data(id: impl Into
, data: Vec, repo: &'repo crate::Repository) -> Self {
+ Tree {
+ id: id.into(),
+ data,
+ repo,
+ }
+ }
+}
+
+/// Access
+impl<'repo> Tree<'repo> {
+ /// Return this tree's identifier.
+ pub fn id(&self) -> Id<'repo> {
+ Id::from_id(self.id, self.repo)
+ }
+
+ // TODO: tests.
+ /// Follow a sequence of `path` components starting from this instance, and look them up one by one until the last component
+ /// is looked up and its tree entry is returned.
+ ///
+ /// # Performance Notes
+ ///
+ /// Searching tree entries is currently done in sequence, which allows to the search to be allocation free. It would be possible
+ /// to re-use a vector and use a binary search instead, which might be able to improve performance over all.
+ /// However, a benchmark should be created first to have some data and see which trade-off to choose here.
+ ///
+ /// # Why is this consunming?
+ ///
+ /// The borrow checker shows pathological behaviour in loops that mutate a buffer, but also want to return from it.
+ /// Workarounds include keeping an index and doing a separate access to the memory, which seems hard to do here without
+ /// re-parsing the entries.
+ pub fn lookup_entry(mut self, path: I) -> Result, find::existing::Error>
+ where
+ I: IntoIterator- ,
+ P: PartialEq
,
+ {
+ let mut path = path.into_iter().peekable();
+ while let Some(component) = path.next() {
+ match TreeRefIter::from_bytes(&self.data)
+ .filter_map(Result::ok)
+ .find(|entry| component.eq(entry.filename))
+ {
+ Some(entry) => {
+ if path.peek().is_none() {
+ return Ok(Some(entry.into()));
+ } else {
+ let next_id = entry.oid.to_owned();
+ let repo = self.repo;
+ drop(self);
+ self = match repo.find_object(next_id)?.try_into_tree() {
+ Ok(tree) => tree,
+ Err(_) => return Ok(None),
+ };
+ }
+ }
+ None => return Ok(None),
+ }
+ }
+ Ok(None)
+ }
+
+ /// Like [`lookup_entry()`][Self::lookup_entry()], but takes a `Path` directly via `relative_path`, a path relative to this tree.
+ ///
+ /// # Note
+ ///
+ /// If any path component contains illformed UTF-8 and thus can't be converted to bytes on platforms which can't do so natively,
+ /// the returned component will be empty which makes the lookup fail.
+ pub fn lookup_entry_by_path(
+ self,
+ relative_path: impl AsRef,
+ ) -> Result, find::existing::Error> {
+ self.lookup_entry(relative_path.as_ref().components().map(|c| {
+ git_path::os_str_into_bstr(c.as_os_str())
+ .unwrap_or_else(|_| "".into())
+ .as_ref()
+ }))
+ }
+}
+
+///
+pub mod diff;
+
+///
+pub mod traverse;
+
+///
+mod iter;
+pub use iter::EntryRef;
+
+impl<'r> std::fmt::Debug for Tree<'r> {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ write!(f, "Tree({})", self.id)
+ }
+}
diff --git a/git-repository/src/object/tree/traverse.rs b/git-repository/src/object/tree/traverse.rs
new file mode 100644
index 00000000000..98a9a3f168c
--- /dev/null
+++ b/git-repository/src/object/tree/traverse.rs
@@ -0,0 +1,60 @@
+use crate::Tree;
+use git_odb::FindExt;
+
+/// Traversal
+impl<'repo> Tree<'repo> {
+ /// Obtain a platform for initiating a variety of traversals.
+ pub fn traverse(&self) -> Platform<'_, 'repo> {
+ Platform {
+ root: self,
+ breadthfirst: BreadthFirstPresets { root: self },
+ }
+ }
+}
+
+/// An intermediate object to start traversing the parent tree from.
+pub struct Platform<'a, 'repo> {
+ root: &'a Tree<'repo>,
+ /// Provides easy access to presets for common breadth-first traversal.
+ pub breadthfirst: BreadthFirstPresets<'a, 'repo>,
+}
+
+/// Presets for common choices in breadth-first traversal.
+#[derive(Copy, Clone)]
+pub struct BreadthFirstPresets<'a, 'repo> {
+ root: &'a Tree<'repo>,
+}
+
+impl<'a, 'repo> BreadthFirstPresets<'a, 'repo> {
+ /// Returns all entries and their file paths, recursively, as reachable from this tree.
+ pub fn files(&self) -> Result, git_traverse::tree::breadthfirst::Error> {
+ let mut recorder = git_traverse::tree::Recorder::default();
+ Platform {
+ root: self.root,
+ breadthfirst: *self,
+ }
+ .breadthfirst(&mut recorder)?;
+ Ok(recorder.records)
+ }
+}
+
+impl<'a, 'repo> Platform<'a, 'repo> {
+ /// Start a breadth-first traversal using `delegate`, for which a [`Recorder`][git_traverse::tree::Recorder] can be used to get started.
+ ///
+ /// # Note
+ ///
+ /// Results are not sorted.
+ pub fn breadthfirst(&self, delegate: &mut V) -> Result<(), git_traverse::tree::breadthfirst::Error>
+ where
+ V: git_traverse::tree::Visit,
+ {
+ let root = git_object::TreeRefIter::from_bytes(&self.root.data);
+ let state = git_traverse::tree::breadthfirst::State::default();
+ git_traverse::tree::breadthfirst(
+ root,
+ state,
+ |oid, buf| self.root.repo.objects.find_tree_iter(oid, buf).ok(),
+ delegate,
+ )
+ }
+}
diff --git a/git-repository/src/repository/snapshots.rs b/git-repository/src/repository/snapshots.rs
index 527228828a9..6795a9a9425 100644
--- a/git-repository/src/repository/snapshots.rs
+++ b/git-repository/src/repository/snapshots.rs
@@ -42,7 +42,7 @@ impl crate::Repository {
self.head().ok().and_then(|mut head| {
let commit = head.peel_to_commit_in_place().ok()?;
let tree = commit.tree().ok()?;
- tree.lookup_path(Some(".mailmap")).ok()?.map(|e| e.oid)
+ tree.lookup_entry(Some(".mailmap")).ok()?.map(|e| e.oid)
})
});
}
diff --git a/git-repository/src/revision/spec/parse/delegate/navigate.rs b/git-repository/src/revision/spec/parse/delegate/navigate.rs
index 3bcca5ebe50..2605a40dd58 100644
--- a/git-repository/src/revision/spec/parse/delegate/navigate.rs
+++ b/git-repository/src/revision/spec/parse/delegate/navigate.rs
@@ -124,17 +124,13 @@ impl<'repo> delegate::Navigate for Delegate<'repo> {
return Ok(tree_id);
}
let tree = repo.find_object(tree_id)?.into_tree();
- let entry = tree
- .lookup_path(git_path::from_bstr(path).components().map(|c| {
- git_path::os_str_into_bstr(c.as_os_str())
- .expect("no illformed UTF-8")
- .as_ref()
- }))?
- .ok_or_else(|| Error::PathNotFound {
- path: path.into(),
- object: obj.attach(repo).shorten_or_id(),
- tree: tree_id.attach(repo).shorten_or_id(),
- })?;
+ let entry =
+ tree.lookup_entry_by_path(git_path::from_bstr(path))?
+ .ok_or_else(|| Error::PathNotFound {
+ path: path.into(),
+ object: obj.attach(repo).shorten_or_id(),
+ tree: tree_id.attach(repo).shorten_or_id(),
+ })?;
Ok(entry.oid)
};
for obj in objs.iter() {
diff --git a/git-repository/src/revision/spec/parse/delegate/revision.rs b/git-repository/src/revision/spec/parse/delegate/revision.rs
index 851686b3ddb..ead9887e144 100644
--- a/git-repository/src/revision/spec/parse/delegate/revision.rs
+++ b/git-repository/src/revision/spec/parse/delegate/revision.rs
@@ -40,7 +40,16 @@ impl<'repo> delegate::Revision for Delegate<'repo> {
self.last_call_was_disambiguate_prefix[self.idx] = true;
let mut candidates = Some(HashSet::default());
self.prefix[self.idx] = Some(prefix);
- match self.repo.objects.lookup_prefix(prefix, candidates.as_mut()) {
+
+ let empty_tree_id = git_hash::ObjectId::empty_tree(prefix.as_oid().kind());
+ let res = if prefix.as_oid() == empty_tree_id {
+ candidates.as_mut().expect("set").insert(empty_tree_id);
+ Ok(Some(Err(())))
+ } else {
+ self.repo.objects.lookup_prefix(prefix, candidates.as_mut())
+ };
+
+ match res {
Err(err) => {
self.err.push(object::find::existing::Error::Find(err).into());
None
diff --git a/git-repository/tests/fixtures/generated-archives/make_diff_repo.tar.xz b/git-repository/tests/fixtures/generated-archives/make_diff_repo.tar.xz
new file mode 100644
index 00000000000..4a7f55cb2e0
--- /dev/null
+++ b/git-repository/tests/fixtures/generated-archives/make_diff_repo.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a057f8e02b4fa2743d74c84a68ace9ce2c3a051527afa8d9a5cb671b48e36868
+size 11272
diff --git a/git-repository/tests/fixtures/generated-archives/make_rev_spec_parse_repos.tar.xz b/git-repository/tests/fixtures/generated-archives/make_rev_spec_parse_repos.tar.xz
index e2d3029e8d8..699d49f7e79 100644
--- a/git-repository/tests/fixtures/generated-archives/make_rev_spec_parse_repos.tar.xz
+++ b/git-repository/tests/fixtures/generated-archives/make_rev_spec_parse_repos.tar.xz
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:4de4199add061d1ef825b392162898fcf4da67f69c5d588012fe4d71465c768f
-size 28372
+oid sha256:0edf5366df74aaeb3c58ad070f9f9a522d0fae049f0905b7372ff28d0b3628bf
+size 28716
diff --git a/git-repository/tests/fixtures/make_diff_repo.sh b/git-repository/tests/fixtures/make_diff_repo.sh
new file mode 100644
index 00000000000..4b0a0fb7e49
--- /dev/null
+++ b/git-repository/tests/fixtures/make_diff_repo.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+set -eu -o pipefail
+
+git init -q
+
+git checkout -b main
+mkdir dir
+touch a b dir/c d
+git add .
+git commit -q -m c1
+
+echo a >> a
+echo b >> b
+echo dir/c >> dir/c
+echo d >> d
+git commit -q -am c2
+
+echo a1 >> a
+git commit -q -am c3
diff --git a/git-repository/tests/fixtures/make_rev_spec_parse_repos.sh b/git-repository/tests/fixtures/make_rev_spec_parse_repos.sh
index a0bad26d051..1d02c182d08 100644
--- a/git-repository/tests/fixtures/make_rev_spec_parse_repos.sh
+++ b/git-repository/tests/fixtures/make_rev_spec_parse_repos.sh
@@ -389,6 +389,7 @@ git init complex_graph
baseline "@^{tree}"
baseline "@:"
+ baseline "4b825dc642cb6eb9a060e54bf8d69288fbee4904"
)
git init new
diff --git a/git-repository/tests/object/commit.rs b/git-repository/tests/object/commit.rs
new file mode 100644
index 00000000000..1ebea60f0eb
--- /dev/null
+++ b/git-repository/tests/object/commit.rs
@@ -0,0 +1,36 @@
+use std::cmp::Ordering;
+
+use git_testtools::hex_to_id;
+
+use crate::basic_repo;
+
+#[test]
+fn short_id() -> crate::Result {
+ let repo = basic_repo()?;
+ let commit = repo.head_commit()?;
+ assert_eq!(commit.short_id()?.cmp_oid(&commit.id), Ordering::Equal);
+ Ok(())
+}
+
+#[test]
+fn tree() -> crate::Result {
+ let repo = basic_repo()?;
+ let commit = repo.head_commit()?;
+
+ assert_eq!(commit.tree()?.id, commit.tree_id().expect("id present"));
+ assert_eq!(
+ commit.tree_id().ok().map(|id| id.detach()),
+ Some(hex_to_id("21d3ba9a26b790a4858d67754ae05d04dfce4d0c"))
+ );
+ Ok(())
+}
+
+#[test]
+fn decode() -> crate::Result {
+ let repo = basic_repo()?;
+ let commit = repo.head_commit()?;
+ assert_eq!(commit.decode()?.message, commit.message_raw()?);
+ assert_eq!(commit.decode()?.message(), commit.message()?);
+ assert_eq!(commit.decode()?.message, "c2\n");
+ Ok(())
+}
diff --git a/git-repository/tests/object/mod.rs b/git-repository/tests/object/mod.rs
index b9315b7453d..fbfcc579c9e 100644
--- a/git-repository/tests/object/mod.rs
+++ b/git-repository/tests/object/mod.rs
@@ -1,41 +1,5 @@
-mod commit {
- use std::cmp::Ordering;
-
- use git_testtools::hex_to_id;
-
- use crate::basic_repo;
-
- #[test]
- fn short_id() -> crate::Result {
- let repo = basic_repo()?;
- let commit = repo.head_commit()?;
- assert_eq!(commit.short_id()?.cmp_oid(&commit.id), Ordering::Equal);
- Ok(())
- }
-
- #[test]
- fn tree() -> crate::Result {
- let repo = basic_repo()?;
- let commit = repo.head_commit()?;
-
- assert_eq!(commit.tree()?.id, commit.tree_id().expect("id present"));
- assert_eq!(
- commit.tree_id().ok().map(|id| id.detach()),
- Some(hex_to_id("21d3ba9a26b790a4858d67754ae05d04dfce4d0c"))
- );
- Ok(())
- }
-
- #[test]
- fn decode() -> crate::Result {
- let repo = basic_repo()?;
- let commit = repo.head_commit()?;
- assert_eq!(commit.decode()?.message, commit.message_raw()?);
- assert_eq!(commit.decode()?.message(), commit.message()?);
- assert_eq!(commit.decode()?.message, "c2\n");
- Ok(())
- }
-}
+mod commit;
+mod tree;
#[test]
fn object_ref_size_in_memory() {
diff --git a/git-repository/tests/object/tree.rs b/git-repository/tests/object/tree.rs
new file mode 100644
index 00000000000..e360d98ac60
--- /dev/null
+++ b/git-repository/tests/object/tree.rs
@@ -0,0 +1,85 @@
+mod diff {
+ use crate::named_repo;
+ use git_object::bstr::ByteSlice;
+ use git_object::tree::EntryMode;
+ use git_repository as git;
+ use git_repository::object::tree::diff::change::Event;
+ use std::convert::Infallible;
+
+ #[test]
+ fn changes_against_tree_modified() {
+ let repo = named_repo("make_diff_repo.sh").unwrap();
+ let from = tree_named(&repo, "@^{/c3}~1");
+ let to = tree_named(&repo, ":/c3");
+ from.changes()
+ .for_each_to_obtain_tree(&to, |change| -> Result<_, Infallible> {
+ assert_eq!(change.location, "", "without configuration the location field is empty");
+ match change.event {
+ Event::Modification {
+ previous_entry_mode,
+ previous_id,
+ entry_mode,
+ id,
+ } => {
+ assert_eq!(previous_entry_mode, EntryMode::Blob);
+ assert_eq!(entry_mode, EntryMode::Blob);
+ assert_eq!(previous_id.object().unwrap().data.as_bstr(), "a\n");
+ assert_eq!(id.object().unwrap().data.as_bstr(), "a\na1\n");
+ }
+ Event::Deletion { .. } | Event::Addition { .. } => unreachable!("only modification is expected"),
+ };
+
+ let count = change
+ .event
+ .diff()
+ .expect("changed file")
+ .expect("objects available")
+ .text(git::diff::lines::Algorithm::Myers)
+ .iter_all_changes()
+ .count();
+ assert_eq!(count, 2);
+ Ok(Default::default())
+ })
+ .unwrap();
+ }
+
+ #[test]
+ fn changes_against_tree_with_filename_tracking() {
+ let repo = named_repo("make_diff_repo.sh").unwrap();
+ let from = tree_named(
+ &repo,
+ &git::hash::ObjectId::empty_tree(git::hash::Kind::Sha1).to_string(),
+ );
+ let to = tree_named(&repo, ":/c1");
+
+ let mut expected = vec!["a", "b", "c", "d"];
+ from.changes()
+ .track_filename()
+ .for_each_to_obtain_tree(&to, |change| -> Result<_, Infallible> {
+ expected.retain(|name| name != change.location);
+ Ok(Default::default())
+ })
+ .unwrap();
+ assert_eq!(expected, Vec::<&str>::new(), "all paths should have been seen");
+
+ let mut expected = vec!["a", "b", "dir/c", "d"];
+ from.changes()
+ .track_path()
+ .for_each_to_obtain_tree(&to, |change| -> Result<_, Infallible> {
+ expected.retain(|name| name != change.location);
+ Ok(Default::default())
+ })
+ .unwrap();
+ assert_eq!(expected, Vec::<&str>::new(), "all paths should have been seen");
+ }
+
+ fn tree_named<'repo>(repo: &'repo git::Repository, rev_spec: &str) -> git::Tree<'repo> {
+ repo.rev_parse_single(rev_spec)
+ .unwrap()
+ .object()
+ .unwrap()
+ .peel_to_kind(git::object::Kind::Tree)
+ .unwrap()
+ .into_tree()
+ }
+}
diff --git a/git-repository/tests/revision/spec/from_bytes/mod.rs b/git-repository/tests/revision/spec/from_bytes/mod.rs
index a26b257ea10..b341badfa9f 100644
--- a/git-repository/tests/revision/spec/from_bytes/mod.rs
+++ b/git-repository/tests/revision/spec/from_bytes/mod.rs
@@ -123,3 +123,12 @@ fn access_blob_through_tree() {
"Could not find path \"missing\" in tree 0000000000c of parent object 0000000000c"
);
}
+
+#[test]
+fn empty_tree_as_full_name() {
+ let repo = repo("complex_graph").unwrap();
+ assert_eq!(
+ parse_spec("4b825dc642cb6eb9a060e54bf8d69288fbee4904", &repo).unwrap(),
+ Spec::from_id(hex_to_id("4b825dc642cb6eb9a060e54bf8d69288fbee4904").attach(&repo))
+ );
+}
diff --git a/git-revision/CHANGELOG.md b/git-revision/CHANGELOG.md
index 1a21ea08fca..bbd83ce5418 100644
--- a/git-revision/CHANGELOG.md
+++ b/git-revision/CHANGELOG.md
@@ -5,6 +5,47 @@ 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.5.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 15 commits contributed to the release over the course of 21 calendar days.
+ - 24 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - adjust to deal with changes to git-repository ([`b99b6bf`](https://github.com/Byron/gitoxide/commit/b99b6bfea47a4485496c2eb565693a6a53efe166))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - refactor ([`e1a1406`](https://github.com/Byron/gitoxide/commit/e1a1406183ae4feadad7a91925144e62cd1592c3))
+ - refactor - don't degenerate error ([`976b31f`](https://github.com/Byron/gitoxide/commit/976b31f81c830facf6386ad8ae43867c57af77e2))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - `parse` is pure function. ([`9ad1a5f`](https://github.com/Byron/gitoxide/commit/9ad1a5fa2ce54e978396ff3eaa7061a8edd10d4a))
+ - `parse()` returns Result. ([`206f392`](https://github.com/Byron/gitoxide/commit/206f3923f5da2e9e26677e917550e6e5baa2913a))
+
+
## 0.4.4 (2022-08-27)
### Bug Fixes
@@ -16,9 +57,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 2 commits contributed to the release.
+ - 3 commits contributed to the release.
- 3 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#503](https://github.com/Byron/gitoxide/issues/503)
### Commit Details
@@ -30,6 +71,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* **[#503](https://github.com/Byron/gitoxide/issues/503)**
- prepare changelog ([`3c99e7f`](https://github.com/Byron/gitoxide/commit/3c99e7f02ada72a171856ffc5b870da83fffc703))
- decscribe() won't abort before the first name check if max-candidates is 0 ([`4788270`](https://github.com/Byron/gitoxide/commit/4788270853d42be8405465a6b9b612783ae9ef6e))
+ * **Uncategorized**
+ - Release git-features v0.22.3, git-revision v0.4.4 ([`c2660e2`](https://github.com/Byron/gitoxide/commit/c2660e2503323531ba02519eaa51124ee22fec51))
## 0.4.3 (2022-08-24)
@@ -41,7 +84,7 @@ A maintenance release without user facing changes.
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -78,7 +121,7 @@ A maintenance release without user facing changes.
- 7 commits contributed to the release over the course of 4 calendar days.
- 4 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -111,7 +154,7 @@ A maintenance release without user facing changes.
- 3 commits contributed to the release.
- 1 day passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -154,7 +197,7 @@ A maintenance release without user facing changes.
- 39 commits contributed to the release over the course of 23 calendar days.
- 26 days passed between releases.
- - 8 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 8 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#427](https://github.com/Byron/gitoxide/issues/427), [#450](https://github.com/Byron/gitoxide/issues/450)
### Thanks Clippy
@@ -223,7 +266,7 @@ This is a maintenance release with no functional changes.
- 15 commits contributed to the release over the course of 38 calendar days.
- 39 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Thanks Clippy
@@ -269,7 +312,7 @@ This is a maintenance release with no functional changes.
- 76 commits contributed to the release over the course of 5 calendar days.
- 25 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427)
### Thanks Clippy
@@ -377,7 +420,7 @@ This is a maintenance release with no functional changes.
- 9 commits contributed to the release over the course of 42 calendar days.
- 43 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#301](https://github.com/Byron/gitoxide/issues/301), [#384](https://github.com/Byron/gitoxide/issues/384)
### Commit Details
@@ -417,7 +460,7 @@ This is a maintenance release with no functional changes.
- 42 commits contributed to the release over the course of 56 calendar days.
- 59 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#301](https://github.com/Byron/gitoxide/issues/301), [#364](https://github.com/Byron/gitoxide/issues/364)
### Thanks Clippy
@@ -489,7 +532,7 @@ Reserve the name for a necessary crate of the `gitoxide` project.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-revision/Cargo.toml b/git-revision/Cargo.toml
index f0005dce016..5059594115b 100644
--- a/git-revision/Cargo.toml
+++ b/git-revision/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-revision"
-version = "0.4.4"
+version = "0.5.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project dealing with finding names for revisions and parsing specifications"
@@ -16,9 +16,9 @@ doctest = false
serde1 = [ "serde", "git-hash/serde1", "git-object/serde1" ]
[dependencies]
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-object = { version = "^0.20.2", path = "../git-object" }
-git-date = { version = "^0.1.0", path = "../git-date" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-object = { version = "^0.21.0", path = "../git-object" }
+git-date = { version = "^0.2.0", path = "../git-date" }
bstr = { version = "1.0.1", default-features = false, features = ["std"]}
hash_hasher = "2.0.3"
diff --git a/git-sec/CHANGELOG.md b/git-sec/CHANGELOG.md
index a6c40f176bc..3be7884efa6 100644
--- a/git-sec/CHANGELOG.md
+++ b/git-sec/CHANGELOG.md
@@ -5,8 +5,74 @@ 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.4.0 (2022-09-20)
+
+### New Features
+
+ - `Permission::is_allowed()` as convenience method
+ - `Permissions::check_opt()` for those who don't need an error case.
+
+### Changed (BREAKING)
+
+ - remove `Perrmission::fmt()` (Display)
+ It was somewhat specific to being printed in the error scenario, and
+ not general purpose at all.
+ - `permission::Error` with only one generic parameter
+ As this error is only used for `Permission`, it's clear that it
+ contains a `Permission` instance.
+ - remove `thiserror` optional feature.
+ It's now included by default even though it's only used for a single
+ error type.
+ The reasoning is that `git-sec` is used within a tree that uses
+ `thiserror` anyway, so no need to optimize compile times for the case
+ where it doesn't.
+ - Remove `Access` without replacement.
+ It's a clear case of over-engineering and it didn't prove to be useful
+ at all.
+
+### Commit Statistics
+
+
+
+ - 18 commits contributed to the release over the course of 21 calendar days.
+ - 27 days passed between releases.
+ - 6 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - `Permission::is_allowed()` as convenience method ([`fe24b41`](https://github.com/Byron/gitoxide/commit/fe24b41bae244884f1f2cea43af11ab27976b9bc))
+ - remove `Perrmission::fmt()` (Display) ([`33f8b92`](https://github.com/Byron/gitoxide/commit/33f8b9292946329ca2b24c5f0b2877db9afa2a15))
+ - Manually implement `permission::Error` to save on `thiserror` dependency. ([`b42a64d`](https://github.com/Byron/gitoxide/commit/b42a64dededae3a24dedc3bb42a097208c76afaa))
+ - `permission::Error` with only one generic parameter ([`51c721c`](https://github.com/Byron/gitoxide/commit/51c721cccc4754e55ec9cb30344f75d7b07fc2a7))
+ - `Permissions::check_opt()` for those who don't need an error case. ([`515e521`](https://github.com/Byron/gitoxide/commit/515e52145b2bd0e484af232de4cd8450a1e7cbf2))
+ - remove `thiserror` optional feature. ([`ac3823d`](https://github.com/Byron/gitoxide/commit/ac3823d7e0dcd1e51a373c9adca1a7476ca79003))
+ - refactor ([`129bc87`](https://github.com/Byron/gitoxide/commit/129bc87cadf2d69d565ccd643ea7a4c0d51e9737))
+ - Remove `Access` without replacement. ([`0f0bca3`](https://github.com/Byron/gitoxide/commit/0f0bca3652f0e46dbebcb46956aa9c32e8812abe))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - make fmt ([`429cccc`](https://github.com/Byron/gitoxide/commit/429cccc5831c25a7205a12dc7a0443ac48616e2c))
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1))
+
+
## 0.3.1 (2022-08-24)
+
+
+
### Chore
- uniformize deny attributes
@@ -21,9 +87,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 6 commits contributed to the release over the course of 3 calendar days.
+ - 7 commits contributed to the release over the course of 3 calendar days.
- 32 days passed between releases.
- - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -33,6 +99,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - 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 'example-new-repo' ([`946dd3a`](https://github.com/Byron/gitoxide/commit/946dd3a80522ef437e09528a93aa1433f01b0ee8))
- use docsrs feature in code to show what is feature-gated automatically on docs.rs ([`b1c40b0`](https://github.com/Byron/gitoxide/commit/b1c40b0364ef092cd52d03b34f491b254816b18d))
@@ -61,7 +128,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 7 commits contributed to the release over the course of 33 calendar days.
- 39 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#331](https://github.com/Byron/gitoxide/issues/331)
### Commit Details
@@ -94,7 +161,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 5 commits contributed to the release over the course of 15 calendar days.
- 16 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -125,7 +192,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 5 commits contributed to the release over the course of 5 calendar days.
- 5 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#426](https://github.com/Byron/gitoxide/issues/426), [#429](https://github.com/Byron/gitoxide/issues/429)
### Commit Details
@@ -154,7 +221,7 @@ A maintenance release without user-facing changes.
- 6 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#422](https://github.com/Byron/gitoxide/issues/422)
### Commit Details
@@ -198,7 +265,7 @@ A maintenance release without user-facing changes.
- 33 commits contributed to the release over the course of 33 calendar days.
- 33 days passed between releases.
- - 6 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 6 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#301](https://github.com/Byron/gitoxide/issues/301), [#386](https://github.com/Byron/gitoxide/issues/386)
### Thanks Clippy
@@ -261,7 +328,7 @@ An empty crate without any content to reserve the name for the gitoxide project.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#386](https://github.com/Byron/gitoxide/issues/386)
### Commit Details
diff --git a/git-sec/Cargo.toml b/git-sec/Cargo.toml
index 72cce761967..76c77f61573 100644
--- a/git-sec/Cargo.toml
+++ b/git-sec/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-sec"
-version = "0.3.1"
+version = "0.4.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project providing a shared trust model"
@@ -25,7 +25,7 @@ document-features = { version = "0.2.1", optional = true }
libc = "0.2.123"
[target.'cfg(windows)'.dependencies]
-git-path = { version = "^0.4.2", path = "../git-path" }
+git-path = { version = "^0.5.0", path = "../git-path" }
dirs = "4"
windows = { version = "0.37.0", features = [ "alloc",
"Win32_Foundation",
diff --git a/git-tempfile/CHANGELOG.md b/git-tempfile/CHANGELOG.md
index 6be8acaa952..a4576138072 100644
--- a/git-tempfile/CHANGELOG.md
+++ b/git-tempfile/CHANGELOG.md
@@ -5,8 +5,43 @@ 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).
+## 2.0.5 (2022-09-20)
+
+Maintenance release without observable changes.
+
+### Commit Statistics
+
+
+
+ - 8 commits contributed to the release over the course of 21 calendar days.
+ - 27 days passed between releases.
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - add safety notes ([`910fa06`](https://github.com/Byron/gitoxide/commit/910fa06f39c9839c58d59467bca05ad511c23bef))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+
+
## 2.0.4 (2022-08-24)
+
+
+
### Chore
- uniformize deny attributes
@@ -16,9 +51,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 4 commits contributed to the release over the course of 3 calendar days.
+ - 5 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -34,6 +69,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - 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))
- thanks clippy ([`f90d772`](https://github.com/Byron/gitoxide/commit/f90d772cf625afea605e42c92db15ed870d7e120))
- Merge branch 'example-new-repo' ([`946dd3a`](https://github.com/Byron/gitoxide/commit/946dd3a80522ef437e09528a93aa1433f01b0ee8))
- uniformize deny attributes ([`f7f136d`](https://github.com/Byron/gitoxide/commit/f7f136dbe4f86e7dee1d54835c420ec07c96cd78))
@@ -50,7 +86,7 @@ A maintenance release without user facing changes.
- 3 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -75,7 +111,7 @@ This is a maintenance release with no functional changes.
- 4 commits contributed to the release over the course of 21 calendar days.
- 110 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -107,7 +143,7 @@ A maintenance release without any changes on the surface.
- 5 commits contributed to the release over the course of 42 calendar days.
- 44 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#328](https://github.com/Byron/gitoxide/issues/328), [#364](https://github.com/Byron/gitoxide/issues/364)
### Commit Details
@@ -148,7 +184,7 @@ A maintenance release without any changes on the surface.
- 5 commits contributed to the release over the course of 9 calendar days.
- 10 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#336](https://github.com/Byron/gitoxide/issues/336)
### Commit Details
@@ -198,7 +234,7 @@ Fixes a potential deadlock in in an interrupt handler attempting to cleanup temp
- 4 commits contributed to the release.
- 5 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#328](https://github.com/Byron/gitoxide/issues/328)
### Commit Details
@@ -229,7 +265,7 @@ Fixes a potential deadlock in in an interrupt handler attempting to cleanup temp
- 3 commits contributed to the release over the course of 7 calendar days.
- 8 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -254,7 +290,7 @@ A maintenance release thanks to upgraded dependencies.
- 7 commits contributed to the release over the course of 35 calendar days.
- 100 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#266](https://github.com/Byron/gitoxide/issues/266)
### Commit Details
@@ -284,7 +320,7 @@ This release contains no functional changes, but a more useful changelog.
- 14 commits contributed to the release over the course of 11 calendar days.
- 34 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#198](https://github.com/Byron/gitoxide/issues/198)
### Commit Details
@@ -320,7 +356,7 @@ This release contains no functional changes, but a more useful changelog.
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -343,7 +379,7 @@ This release contains no functional changes, but a more useful changelog.
- 4 commits contributed to the release over the course of 15 calendar days.
- 15 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -375,7 +411,7 @@ This release contains no functional changes, but a more useful changelog.
- 3 commits contributed to the release.
- 8 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -400,7 +436,7 @@ This release contains no functional changes, but a more useful changelog.
- 2 commits contributed to the release over the course of 1 calendar day.
- 5 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -421,7 +457,7 @@ This release contains no functional changes, but a more useful changelog.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -443,7 +479,7 @@ This release contains no functional changes, but a more useful changelog.
- 13 commits contributed to the release over the course of 40 calendar days.
- 48 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -482,7 +518,7 @@ This release contains no functional changes, but a more useful changelog.
- 9 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -510,7 +546,7 @@ This release contains no functional changes, but a more useful changelog.
- 13 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -543,7 +579,7 @@ This release contains no functional changes, but a more useful changelog.
- 46 commits contributed to the release over the course of 3 calendar days.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -614,7 +650,7 @@ This release contains no functional changes, but a more useful changelog.
- 16 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-tempfile/Cargo.toml b/git-tempfile/Cargo.toml
index 946e5b01d3b..13ff286d7cf 100644
--- a/git-tempfile/Cargo.toml
+++ b/git-tempfile/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-tempfile"
-version = "2.0.4"
+version = "2.0.5"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A tempfile implementation with a global registry to assure cleanup"
diff --git a/git-transport/CHANGELOG.md b/git-transport/CHANGELOG.md
index dfe2828390a..8033c4f1ba9 100644
--- a/git-transport/CHANGELOG.md
+++ b/git-transport/CHANGELOG.md
@@ -5,6 +5,46 @@ 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.20.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 14 commits contributed to the release over the course of 22 calendar days.
+ - 22 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - option to print server information about the connection ([`4720666`](https://github.com/Byron/gitoxide/commit/4720666c8bfdaa3acc5c832b44755d4b4f86e16e))
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Merge branch 'main' into filter-refs-by-spec ([`cef0b51`](https://github.com/Byron/gitoxide/commit/cef0b51ade2a3301fa09ede7a425aa1fe3527e78))
+
+
## 0.19.3 (2022-08-28)
Maintenance release without user-facing changes.
@@ -13,9 +53,9 @@ Maintenance release without user-facing changes.
- - 2 commits contributed to the release over the course of 1 calendar day.
+ - 5 commits contributed to the release over the course of 4 calendar days.
- 4 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Commit Details
@@ -27,7 +67,10 @@ Maintenance release without user-facing changes.
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
* **Uncategorized**
+ - 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))
- 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 ([`dbfa328`](https://github.com/Byron/gitoxide/commit/dbfa3282cf876596b250b2040c1ec0b761741796))
+ - Merge branch 'main' into filter-refs-by-spec ([`cfa1440`](https://github.com/Byron/gitoxide/commit/cfa144031dbcac2707ab0cec012bc35e78f9c475))
## 0.19.2 (2022-08-24)
@@ -53,9 +96,9 @@ Maintenance release without user-facing changes.
- - 13 commits contributed to the release over the course of 5 calendar days.
+ - 14 commits contributed to the release over the course of 5 calendar days.
- 6 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -65,6 +108,7 @@ Maintenance release without user-facing changes.
view details
* **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - adjust to changes in `git-url` ([`bb83843`](https://github.com/Byron/gitoxide/commit/bb838430ecbaa18921ef60af04ff684809572ce2))
- Make async `conenct()` signature compatible with the blocking implementation. ([`5220f9a`](https://github.com/Byron/gitoxide/commit/5220f9a59fb699e111342b076145a6899d36d433))
* **Uncategorized**
- 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))
@@ -111,7 +155,7 @@ A maintenance release without user facing changes.
- 17 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -151,7 +195,7 @@ This is a maintenance release with no functional changes.
- 6 commits contributed to the release over the course of 33 calendar days.
- 39 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -185,7 +229,7 @@ A maintenance release without user-facing changes.
- 2 commits contributed to the release.
- 25 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -211,7 +255,7 @@ A maintenance release without user-facing changes.
- 7 commits contributed to the release over the course of 33 calendar days.
- 45 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#386](https://github.com/Byron/gitoxide/issues/386)
### Commit Details
@@ -244,7 +288,7 @@ A maintenance release without user-facing changes.
- 8 commits contributed to the release over the course of 68 calendar days.
- 69 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#329](https://github.com/Byron/gitoxide/issues/329)
### Commit Details
@@ -275,7 +319,7 @@ A maintenance release with no relevant changes.
- 10 commits contributed to the release over the course of 41 calendar days.
- 55 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#279](https://github.com/Byron/gitoxide/issues/279)
### Thanks Clippy
@@ -314,7 +358,7 @@ A maintenance release, triggered by putting too many adjustments into a single c
- 4 commits contributed to the release over the course of 11 calendar days.
- 12 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -340,7 +384,7 @@ A maintenance release triggered by changes to git-pack and changelog rewrites.
- 5 commits contributed to the release over the course of 25 calendar days.
- 27 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#254](https://github.com/Byron/gitoxide/issues/254)
### Commit Details
@@ -368,7 +412,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -402,7 +446,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 21 commits contributed to the release over the course of 31 calendar days.
- 47 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#198](https://github.com/Byron/gitoxide/issues/198), [#200](https://github.com/Byron/gitoxide/issues/200)
### Commit Details
@@ -447,7 +491,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- 1 day passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -469,7 +513,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 5 commits contributed to the release.
- 10 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -494,7 +538,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -516,7 +560,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 11 commits contributed to the release over the course of 1 calendar day.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -553,7 +597,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 116 commits contributed to the release over the course of 90 calendar days.
- 93 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -695,7 +739,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 6 commits contributed to the release over the course of 21 calendar days.
- 30 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -721,7 +765,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- 13 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -743,7 +787,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 7 commits contributed to the release over the course of 70 calendar days.
- 79 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -776,7 +820,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 7 commits contributed to the release over the course of 7 calendar days.
- 20 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -808,7 +852,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -829,7 +873,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -852,7 +896,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 11 commits contributed to the release over the course of 90 calendar days.
- 92 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -889,7 +933,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 2 commits contributed to the release.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -911,7 +955,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 189 commits contributed to the release over the course of 28 calendar days.
- 62 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1125,7 +1169,7 @@ A maintenance release due to properly dealing with previously breaking changes i
- 5 commits contributed to the release over the course of 17 calendar days.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-transport/Cargo.toml b/git-transport/Cargo.toml
index 943fbec5a46..752b040f24a 100644
--- a/git-transport/Cargo.toml
+++ b/git-transport/Cargo.toml
@@ -48,10 +48,10 @@ path = "tests/async-transport.rs"
required-features = ["async-client"]
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features" }
-git-url = { version = "^0.8.0", path = "../git-url" }
-git-sec = { version = "^0.3.1", path = "../git-sec" }
-git-packetline = { version = "^0.12.7", path = "../git-packetline" }
+git-features = { version = "^0.22.5", path = "../git-features" }
+git-url = { version = "^0.9.0", path = "../git-url" }
+git-sec = { version = "^0.4.0", path = "../git-sec" }
+git-packetline = { version = "^0.13.0", path = "../git-packetline" }
serde = { version = "1.0.114", optional = true, default-features = false, features = ["std", "derive"]}
bstr = { version = "1.0.1", default-features = false, features = ["std"] }
diff --git a/git-traverse/CHANGELOG.md b/git-traverse/CHANGELOG.md
index 46d55de165a..53ef738f936 100644
--- a/git-traverse/CHANGELOG.md
+++ b/git-traverse/CHANGELOG.md
@@ -5,6 +5,42 @@ 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.17.0 (2022-09-20)
+
+### New Features
+
+ - Make it possible to access the current commits buffer during commit ancestor iteration.
+ This is useful to avoid additional lookups of the same object for
+ reading additional data from it.
+
+ Currently one needs an object cache to avoid duplciate object extraction
+ work, with such a cache being slower than accessing the same buffer
+ again.
+
+### Commit Statistics
+
+
+
+ - 5 commits contributed to the release over the course of 18 calendar days.
+ - 19 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 1 unique issue was worked on: [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ - Make it possible to access the current commits buffer during commit ancestor iteration. ([`6b2af57`](https://github.com/Byron/gitoxide/commit/6b2af578fbff43999266c2af324070b013d1699f))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Merge branch 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+
+
## 0.16.4 (2022-09-01)
Maintenance release without user-facing changes.
@@ -13,10 +49,10 @@ Maintenance release without user-facing changes.
- - 2 commits contributed to the release.
+ - 6 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' where seen in commit messages
+ - 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -24,9 +60,14 @@ Maintenance release without user-facing changes.
view details
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - fix docs ([`60c136c`](https://github.com/Byron/gitoxide/commit/60c136ca38c6ad0cd7e0ea5e3e0e83bb828a9c94))
* **Uncategorized**
+ - Release git-diff v0.18.1, git-discover v0.4.2, git-traverse v0.16.4, git-repository v0.23.1 ([`2571831`](https://github.com/Byron/gitoxide/commit/2571831e5939bf4ea6f19537b0c1ccd71dc99088))
- prepare changelog prior to release ([`fc6b958`](https://github.com/Byron/gitoxide/commit/fc6b9583d0534f70e0c8afdcad46e09a5001d62b))
- fix docs ([`34e899a`](https://github.com/Byron/gitoxide/commit/34e899ae0e4a23bba6dc36dfd7429c0d572736bd))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
## 0.16.3 (2022-08-28)
diff --git a/git-traverse/Cargo.toml b/git-traverse/Cargo.toml
index 747fe4cf701..b440efd28ce 100644
--- a/git-traverse/Cargo.toml
+++ b/git-traverse/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-traverse"
-version = "0.16.4"
+version = "0.17.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project"
@@ -12,8 +12,8 @@ include = ["src/**/*"]
doctest = false
[dependencies]
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-object = { version = "^0.20.3", path = "../git-object" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-object = { version = "^0.21.0", path = "../git-object" }
thiserror = "1.0.32"
hash_hasher = "2.0.3"
diff --git a/git-traverse/src/commit.rs b/git-traverse/src/commit.rs
index 560c3fd2009..796595937aa 100644
--- a/git-traverse/src/commit.rs
+++ b/git-traverse/src/commit.rs
@@ -46,6 +46,7 @@ impl Default for Sorting {
///
pub mod ancestors {
+ use std::borrow::Borrow;
use std::{borrow::BorrowMut, collections::VecDeque, iter::FromIterator};
use git_hash::{oid, ObjectId};
@@ -85,6 +86,7 @@ pub mod ancestors {
}
}
+ /// Builder
impl Ancestors {
/// Change our commit parent handling mode to the given one.
pub fn parents(mut self, mode: Parents) -> Self {
@@ -93,6 +95,7 @@ pub mod ancestors {
}
}
+ /// Builder
impl Ancestors
where
Find: for<'a> FnMut(&oid, &'a mut Vec) -> Result, E>,
@@ -119,6 +122,7 @@ pub mod ancestors {
}
}
+ /// Initialization
impl Ancestors bool, StateMut>
where
Find: for<'a> FnMut(&oid, &'a mut Vec) -> Result, E>,
@@ -140,6 +144,7 @@ pub mod ancestors {
}
}
+ /// Initialization
impl Ancestors
where
Find: for<'a> FnMut(&oid, &'a mut Vec) -> Result, E>,
@@ -186,6 +191,16 @@ pub mod ancestors {
}
}
}
+ /// Access
+ impl Ancestors
+ where
+ StateMut: Borrow,
+ {
+ /// Return an iterator for accessing more of the current commits data.
+ pub fn commit_iter(&self) -> CommitRefIter<'_> {
+ CommitRefIter::from_bytes(&self.state.borrow().buf)
+ }
+ }
impl Iterator for Ancestors
where
@@ -208,6 +223,7 @@ pub mod ancestors {
}
}
+ /// Utilities
impl Ancestors
where
Find: for<'a> FnMut(&oid, &'a mut Vec) -> Result, E>,
@@ -272,6 +288,7 @@ pub mod ancestors {
}
}
+ /// Utilities
impl Ancestors
where
Find: for<'a> FnMut(&oid, &'a mut Vec) -> Result, E>,
diff --git a/git-url/CHANGELOG.md b/git-url/CHANGELOG.md
index d6d39cbd409..16f132e4ded 100644
--- a/git-url/CHANGELOG.md
+++ b/git-url/CHANGELOG.md
@@ -5,11 +5,50 @@ 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.9.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 6 commits contributed to the release over the course of 15 calendar days.
+ - 15 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - 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 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+
+
## 0.8.0 (2022-09-04)
A major release to properly introduce the signature change that happened in 0.7.2, which effectively
broke compilation for users of `parse()` in 0.7.1.
+### New Features
+
+ - `Url::port_or_default()` to fill in default numbers for ports if possible.
+ - `Url::path_is_root()` to determine if the path is `/`.
+ This could also be considered an empty path depending on the context
+ which is what makes it useful.
+
### Changed (BREAKING)
- Introduce `parse(&BStr)` (previously it took `&[u8]`)
@@ -20,10 +59,10 @@ broke compilation for users of `parse()` in 0.7.1.
- - 3 commits contributed to the release over the course of 1 calendar day.
+ - 14 commits contributed to the release over the course of 6 calendar days.
- 7 days passed between releases.
- - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- - 1 unique issue was worked on: [#524](https://github.com/Byron/gitoxide/issues/524)
+ - 3 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#524](https://github.com/Byron/gitoxide/issues/524)
### Commit Details
@@ -31,11 +70,23 @@ broke compilation for users of `parse()` in 0.7.1.
view details
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - refactor ([`02e5775`](https://github.com/Byron/gitoxide/commit/02e5775f86ea414112ea9f66daf24ead8be31f73))
+ - `Url::port_or_default()` to fill in default numbers for ports if possible. ([`7484db5`](https://github.com/Byron/gitoxide/commit/7484db5d36383de450de31b4c94c01bc4c237ce4))
+ - `Url::path_is_root()` to determine if the path is `/`. ([`fbe75c9`](https://github.com/Byron/gitoxide/commit/fbe75c9457708b95dd833e00afa2dcc1db677167))
+ - make note about why we don't support passwords in URLs ([`970ec9b`](https://github.com/Byron/gitoxide/commit/970ec9b2e51a32cae070e561a13ca3d76b9d22f9))
* **[#524](https://github.com/Byron/gitoxide/issues/524)**
- prepare changelogs prior to release ([`6446b39`](https://github.com/Byron/gitoxide/commit/6446b395d5926565ef899b0c923f35468ccf1921))
- Introduce `parse(&BStr)` (previously it took `&[u8]`) ([`653ebc5`](https://github.com/Byron/gitoxide/commit/653ebc52f97116e9c72e985eda0d76f566e8c74d))
* **Uncategorized**
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - 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))
## 0.7.3 (2022-08-28)
@@ -46,10 +97,10 @@ Maintenance release without user-facing changes.
- - 3 commits contributed to the release over the course of 1 calendar day.
+ - 6 commits contributed to the release over the course of 4 calendar days.
- 4 days passed between releases.
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Commit Details
@@ -57,11 +108,15 @@ Maintenance release without user-facing changes.
view details
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - url-preprocessing for scripts ([`c00cc35`](https://github.com/Byron/gitoxide/commit/c00cc35493cec8f0b2673248caf1f0d83590dd54))
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1))
* **Uncategorized**
- 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))
- 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 ([`dbfa328`](https://github.com/Byron/gitoxide/commit/dbfa3282cf876596b250b2040c1ec0b761741796))
+ - Merge branch 'main' into filter-refs-by-spec ([`cfa1440`](https://github.com/Byron/gitoxide/commit/cfa144031dbcac2707ab0cec012bc35e78f9c475))
## 0.7.2 (2022-08-24)
@@ -74,6 +129,19 @@ Maintenance release without user-facing changes.
- uniformize deny attributes
- remove default link to cargo doc everywhere
+### Bug Fixes (BREAKING)
+
+ - make Scheme work with serde, removing `Copy` in the process. e#450)
+ This wasn't supposed to happen but a requirement to get `serde` support
+ back.
+
+### New Features (BREAKING)
+
+ - generalize extension schemes.
+ Previously this was hard-coded to `radicle`, now it's just an extension
+ scheme along with a statically known string. This means we have to
+ explicitly support new formats which should be fine.
+
### New Features
- `TryFrom<&OsStr>` to allow direct usage of `Url` in `clap`.
@@ -82,14 +150,15 @@ Maintenance release without user-facing changes.
- `TryFrom` which is useful if urls are obtained from the command-line.
- use docsrs feature in code to show what is feature-gated automatically on docs.rs
- pass --cfg docsrs when compiling for https://docs.rs
+ - `Scheme::try_from(&str)`
### Commit Statistics
- - 15 commits contributed to the release over the course of 5 calendar days.
+ - 19 commits contributed to the release over the course of 5 calendar days.
- 6 days passed between releases.
- - 6 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 9 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -99,10 +168,14 @@ Maintenance release without user-facing changes.
view details
* **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - `Scheme::try_from(&str)` ([`d40f6e1`](https://github.com/Byron/gitoxide/commit/d40f6e1f34eb3f4664caec36727bf0aa3a396a33))
+ - generalize extension schemes. ([`96a265c`](https://github.com/Byron/gitoxide/commit/96a265cc67ea787ed28adde2c5d0a07babf64c9e))
- `TryFrom<&OsStr>` to allow direct usage of `Url` in `clap`. ([`7a17690`](https://github.com/Byron/gitoxide/commit/7a1769009d68d14a134f368f93245abab0fb41dd))
- `TryFrom` which is useful if urls are obtained from the command-line. ([`b7a5f7a`](https://github.com/Byron/gitoxide/commit/b7a5f7a3b5cf058f503cc18d18fc75356ab98955))
* **Uncategorized**
- 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))
+ - thanks clippy ([`dc74fbd`](https://github.com/Byron/gitoxide/commit/dc74fbd9a58e1d424713fc5f2442cedcc09c1200))
+ - make Scheme work with serde, removing `Copy` in the process. e#450) ([`2da6c86`](https://github.com/Byron/gitoxide/commit/2da6c862e184ac37d59147e9cf809017b65db966))
- Release git-path v0.4.1 ([`5e82346`](https://github.com/Byron/gitoxide/commit/5e823462b3deb904f5d6154a7bf114cef1988224))
- Merge branch 'example-write-blob' ([`afedd7f`](https://github.com/Byron/gitoxide/commit/afedd7f86ec8ea18a8165f71698ecc886f5cf643))
- Merge pull request #494 from ultrasaurus/patch-1 ([`86fe22c`](https://github.com/Byron/gitoxide/commit/86fe22cb1aad5944a229bc2a5252b36ef1fd59ef))
diff --git a/git-url/Cargo.toml b/git-url/Cargo.toml
index e7820045713..5015d6f7e34 100644
--- a/git-url/Cargo.toml
+++ b/git-url/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-url"
-version = "0.8.0"
+version = "0.9.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project implementing parsing and serialization of git-url"
@@ -16,8 +16,8 @@ doctest = false
serde1 = ["serde", "bstr/serde"]
[dependencies]
-git-features = { version = "^0.22.4", path = "../git-features" }
-git-path = { version = "^0.4.2", path = "../git-path" }
+git-features = { version = "^0.22.5", path = "../git-features" }
+git-path = { version = "^0.5.0", path = "../git-path" }
serde = { version = "1.0.114", optional = true, default-features = false, features = ["std", "derive"]}
thiserror = "1.0.32"
diff --git a/git-validate/CHANGELOG.md b/git-validate/CHANGELOG.md
index 10bd6d5a4d3..0750f727093 100644
--- a/git-validate/CHANGELOG.md
+++ b/git-validate/CHANGELOG.md
@@ -5,8 +5,50 @@ 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.6.0 (2022-09-20)
+
+
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Chore (BREAKING)
+
+ - replace `quick-error` with `thiserror`
+
+### Commit Statistics
+
+
+
+ - 7 commits contributed to the release over the course of 13 calendar days.
+ - 27 days passed between releases.
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - fix docs ([`dad9cbe`](https://github.com/Byron/gitoxide/commit/dad9cbeb853c0cc5128360b05c04b5a3da7ec75e))
+ - adjust to changes in `git-validate` ([`4eac45f`](https://github.com/Byron/gitoxide/commit/4eac45f89d4581a7be8eedcc931512cd52c255a9))
+ - replace `quick-error` with `thiserror` ([`4d6ce80`](https://github.com/Byron/gitoxide/commit/4d6ce803da12298b5780af920479679a39d923a0))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1))
+
+
## 0.5.5 (2022-08-24)
+
+
+
### Chore
- uniformize deny attributes
@@ -16,9 +58,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 3 commits contributed to the release over the course of 3 calendar days.
+ - 4 commits contributed to the release over the course of 3 calendar days.
- 97 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -28,6 +70,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **Uncategorized**
+ - 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))
- Merge branch 'example-new-repo' ([`946dd3a`](https://github.com/Byron/gitoxide/commit/946dd3a80522ef437e09528a93aa1433f01b0ee8))
- uniformize deny attributes ([`f7f136d`](https://github.com/Byron/gitoxide/commit/f7f136dbe4f86e7dee1d54835c420ec07c96cd78))
- remove default link to cargo doc everywhere ([`533e887`](https://github.com/Byron/gitoxide/commit/533e887e80c5f7ede8392884562e1c5ba56fb9a8))
@@ -43,7 +86,7 @@ A maintenance release without user-facing changes.
- 4 commits contributed to the release over the course of 8 calendar days.
- 215 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#301](https://github.com/Byron/gitoxide/issues/301)
### Commit Details
@@ -70,7 +113,7 @@ This release contains no functional changes.
- 19 commits contributed to the release over the course of 23 calendar days.
- 59 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#198](https://github.com/Byron/gitoxide/issues/198), [#205](https://github.com/Byron/gitoxide/issues/205)
### Commit Details
@@ -111,7 +154,7 @@ This release contains no functional changes.
- 2 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -133,7 +176,7 @@ This release contains no functional changes.
- 2 commits contributed to the release.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -154,7 +197,7 @@ This release contains no functional changes.
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -176,7 +219,7 @@ This release contains no functional changes.
- 20 commits contributed to the release over the course of 76 calendar days.
- 76 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -221,7 +264,7 @@ This release contains no functional changes.
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/git-validate/Cargo.toml b/git-validate/Cargo.toml
index 1227ef717bd..b08c728fc59 100644
--- a/git-validate/Cargo.toml
+++ b/git-validate/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-validate"
-version = "0.5.5"
+version = "0.6.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "Validation functions for various kinds of names in git"
diff --git a/git-worktree/CHANGELOG.md b/git-worktree/CHANGELOG.md
index ce1a5160fa1..8e0a414ed69 100644
--- a/git-worktree/CHANGELOG.md
+++ b/git-worktree/CHANGELOG.md
@@ -5,6 +5,44 @@ 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.5.0 (2022-09-20)
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 12 commits contributed to the release over the course of 21 calendar days.
+ - 24 days passed between releases.
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
+ - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1))
+
+
## 0.4.3 (2022-08-27)
Maintenance release without user-facing changes.
@@ -13,9 +51,9 @@ Maintenance release without user-facing changes.
- - 3 commits contributed to the release.
+ - 4 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -25,6 +63,7 @@ Maintenance release without user-facing changes.
view details
* **Uncategorized**
+ - Release git-worktree v0.4.3, git-testtools v0.8.0 ([`b2e4bf2`](https://github.com/Byron/gitoxide/commit/b2e4bf2c11ff2c3c32efcb91837fb5677714bdf9))
- 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))
@@ -51,7 +90,7 @@ Maintenance release without user-facing changes.
- 8 commits contributed to the release over the course of 3 calendar days.
- 6 days passed between releases.
- - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -81,7 +120,7 @@ A maintenance release without user facing changes.
- 6 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -109,7 +148,7 @@ This is a maintenance release with no functional changes.
- 6 commits contributed to the release over the course of 33 calendar days.
- 39 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -137,7 +176,7 @@ A maintenance release without user-facing changes.
- 3 commits contributed to the release.
- 25 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -162,7 +201,7 @@ A maintenance release without documented changes.
- 76 commits contributed to the release over the course of 34 calendar days.
- 45 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#384](https://github.com/Byron/gitoxide/issues/384)
### Thanks Clippy
@@ -268,7 +307,7 @@ An initial release with the ability to checkout indices with simple files only.
- 96 commits contributed to the release over the course of 59 calendar days.
- 84 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 6 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#301](https://github.com/Byron/gitoxide/issues/301), [#331](https://github.com/Byron/gitoxide/issues/331), [#333](https://github.com/Byron/gitoxide/issues/333), [#364](https://github.com/Byron/gitoxide/issues/364), [#366](https://github.com/Byron/gitoxide/issues/366)
### Thanks Clippy
@@ -397,7 +436,7 @@ Reserve the name for a necessary crate of the `gitoxide` project.
- 3 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#293](https://github.com/Byron/gitoxide/issues/293)
### Commit Details
diff --git a/git-worktree/Cargo.toml b/git-worktree/Cargo.toml
index 15aa3452e0d..1cf969ad0e8 100644
--- a/git-worktree/Cargo.toml
+++ b/git-worktree/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "git-worktree"
-version = "0.4.3"
+version = "0.5.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT/Apache-2.0"
description = "A WIP crate of the gitoxide project dedicated implementing everything around working trees and git excludes"
@@ -29,13 +29,13 @@ internal-testing-git-features-parallel = ["git-features/parallel"]
internal-testing-to-avoid-being-run-by-cargo-test-all = []
[dependencies]
-git-index = { version = "^0.4.3", path = "../git-index" }
-git-hash = { version = "^0.9.9", path = "../git-hash" }
-git-object = { version = "^0.20.2", path = "../git-object" }
-git-glob = { version = "^0.3.2", path = "../git-glob" }
-git-path = { version = "^0.4.2", path = "../git-path" }
-git-attributes = { version = "^0.3.3", path = "../git-attributes" }
-git-features = { version = "^0.22.4", path = "../git-features" }
+git-index = { version = "^0.5.0", path = "../git-index" }
+git-hash = { version = "^0.9.10", path = "../git-hash" }
+git-object = { version = "^0.21.0", path = "../git-object" }
+git-glob = { version = "^0.4.0", path = "../git-glob" }
+git-path = { version = "^0.5.0", path = "../git-path" }
+git-attributes = { version = "^0.4.0", path = "../git-attributes" }
+git-features = { version = "^0.22.5", path = "../git-features" }
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"]}
diff --git a/gitoxide-core/CHANGELOG.md b/gitoxide-core/CHANGELOG.md
index e8062f43c53..c2bb1d8948a 100644
--- a/gitoxide-core/CHANGELOG.md
+++ b/gitoxide-core/CHANGELOG.md
@@ -5,6 +5,123 @@ 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.18.0 (2022-09-20)
+
+### Changed
+
+ - `ein tool hours -s` was split into `-f|--file-stats` and `-l|line-stats`.
+ That way more information is generated at increasingly high costs.
+
+### New Features
+
+ - `ein tool hours -s` shows statistics about files added/removed/modified.
+ - `ein tool hours --stat` to collect additional statistics per author.
+ Note that these are expensive and unconditionally use threads to speed
+ up these computations.
+ - `ein tool hours` is (even) faster and uses half the peak memory.
+ On the linux kernel, this causes a peak memory usage of 120MB, whereas
+ git hovers at 1.4GB.
+ - `ein tool hours -b` ignores bots.
+ For now it only considers bots with names containing `[bot]`.
+ - `ein tool hours -p` now shows the percentage of hours worked as well.
+ That way it's easier to tell how much time was invested per author.
+ - `protocol::Context::to_bstring()`, and use it in `example/git-credential-lite`
+
+### New Features (BREAKING)
+
+ - `git-diff` is now included by default as part of core functionality
+
+### Commit Statistics
+
+
+
+ - 70 commits contributed to the release over the course of 27 calendar days.
+ - 27 days passed between releases.
+ - 8 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 3 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470), [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - refactor ([`11851f3`](https://github.com/Byron/gitoxide/commit/11851f334f642e7bd69bcbfc7ad4f1990fc326ba))
+ - option to print server information about the connection ([`4720666`](https://github.com/Byron/gitoxide/commit/4720666c8bfdaa3acc5c832b44755d4b4f86e16e))
+ - don't print tags as target, as it's misleading ([`098961f`](https://github.com/Byron/gitoxide/commit/098961f9842f8c7d6f6254eb1ffe83fed8a403ce))
+ - nicer printing of fixes ([`fec6db8`](https://github.com/Byron/gitoxide/commit/fec6db8fc3fb13ba15b032751d0414da93adb113))
+ - adapt to changes in `git-refspec` ([`91d1a3a`](https://github.com/Byron/gitoxide/commit/91d1a3abf02841c9b43fd8a3102375315a6db160))
+ - show fixes as well ([`2237495`](https://github.com/Byron/gitoxide/commit/2237495d82624b39bf75c6430549424a5e36b8bb))
+ - Correct printing of tag information (even though it doesn't look great) ([`f4d8198`](https://github.com/Byron/gitoxide/commit/f4d8198992b4c45f64d81e20f40a1cad69883162))
+ - better refmap printing ([`6f60a79`](https://github.com/Byron/gitoxide/commit/6f60a793297e2a29cf835591add6669c067da3e5))
+ - first basic implementation of `ref-map` ([`4dbfa4c`](https://github.com/Byron/gitoxide/commit/4dbfa4c7a06a61caa28288a354e3ca3b68aafc82))
+ - wire up the `ref-map` sub-command. ([`94c2b78`](https://github.com/Byron/gitoxide/commit/94c2b785f892f85503b8927c7fa98ae99d677be7))
+ - adjust to changes in `git-protocol` ([`06d45ff`](https://github.com/Byron/gitoxide/commit/06d45ff10ec2c401ac52d77f7430a8c8c0ba93a6))
+ - remove quick-error in favor of thiserror ([`ea84e62`](https://github.com/Byron/gitoxide/commit/ea84e62493f9a8193603fd43da0de9d581d15637))
+ - Use repository configuration for calling credential helper ([`8e07784`](https://github.com/Byron/gitoxide/commit/8e07784d5935efa62fc70085bb81259c038a7330))
+ - refactor ([`7abc0a3`](https://github.com/Byron/gitoxide/commit/7abc0a39205b9f374c90c4750fe6cc9b3749d7b9))
+ - Add sketch of `gix credential` ([`642e21f`](https://github.com/Byron/gitoxide/commit/642e21fc58d8d4b68cba3067c88d44c019ec4ace))
+ - `protocol::Context::to_bstring()`, and use it in `example/git-credential-lite` ([`15f1afc`](https://github.com/Byron/gitoxide/commit/15f1afccb7ed0ebaf217cbbdd58e6ae651a31e42))
+ - adjust to deal with changes to git-repository ([`b99b6bf`](https://github.com/Byron/gitoxide/commit/b99b6bfea47a4485496c2eb565693a6a53efe166))
+ - adjust to changes in `git-credentials` ([`dc32898`](https://github.com/Byron/gitoxide/commit/dc32898e9dda9cb8eee2bcad31cbe1c13d31f214))
+ - adjust to changes in `git-credentials` ([`cabe40a`](https://github.com/Byron/gitoxide/commit/cabe40a15460cffd14618d4bb936e1f2805d687a))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ - percentages for files and lines added ([`bf63a13`](https://github.com/Byron/gitoxide/commit/bf63a139292ffe265b1d7bcbbd0c0980dc042e1e))
+ - only diff files that are probably not a binary file (as per extension). ([`2a3c5b0`](https://github.com/Byron/gitoxide/commit/2a3c5b000493a5a4cf62a5d5e2a509bc12a9fedd))
+ - replace `flume` with `crossbeam-channel` as it's already in the dependency graph ([`e27b65a`](https://github.com/Byron/gitoxide/commit/e27b65abfceb90cadd1902381414d9052ec6d8d0))
+ - refactor ([`e3e3211`](https://github.com/Byron/gitoxide/commit/e3e3211e8ae3470556a12666c1c99fdd5221e887))
+ - make stat extractions interruptable ([`cb53324`](https://github.com/Byron/gitoxide/commit/cb533241255922993bb1275428a97e6b4c3f6fdc))
+ - collect changes lines as well ([`84eb777`](https://github.com/Byron/gitoxide/commit/84eb777e52808c7c9019a7a0b004ed4d81a8be7c))
+ - show discovered file chnages in real-time ([`0614318`](https://github.com/Byron/gitoxide/commit/0614318c67927f84c07640234d266b8d24bc74d3))
+ - `ein tool hours -s` was split into `-f|--file-stats` and `-l|line-stats`. ([`3c7c9a7`](https://github.com/Byron/gitoxide/commit/3c7c9a735f5771ef787cbc86b46cbafc9226f4d6))
+ - avoid binary search if there is nothing to find ([`ffd4f0f`](https://github.com/Byron/gitoxide/commit/ffd4f0f7edcf403573044120caf789cddb38b868))
+ - `ein tool hours -s` shows statistics about files added/removed/modified. ([`b8f2f8b`](https://github.com/Byron/gitoxide/commit/b8f2f8bac8af5ea5edd774860ee06117a54a723f))
+ - working progress printing ([`67ec2c7`](https://github.com/Byron/gitoxide/commit/67ec2c7f9a4a6cefdf7148f5c7e48a79f201c4d2))
+ - First attempt to get progress information from stat worker. ([`0947c70`](https://github.com/Byron/gitoxide/commit/0947c703f9cecc31ceba101565e6ecafb00adb08))
+ - `ein tool hours --stat` to collect additional statistics per author. ([`28c4cae`](https://github.com/Byron/gitoxide/commit/28c4cae70aab2bd5b479961fcc6ee91ff80f651b))
+ * **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
+ - `git-diff` is now included by default as part of core functionality ([`e090f84`](https://github.com/Byron/gitoxide/commit/e090f843f5cffc8e8e47a8cac2e6fb98e4c47771))
+ * **Uncategorized**
+ - 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))
+ - Speed up `ein t hours` even more by optimizing `git-mailmap`. ([`2549195`](https://github.com/Byron/gitoxide/commit/2549195b601a2020ecdba21168ef9066a3ddfc50))
+ - `ein tool hours` is (even) faster and uses half the peak memory. ([`4d0977d`](https://github.com/Byron/gitoxide/commit/4d0977dce6ffd8adeeb0af02922cd8e04db8e94e))
+ - ein t hours: introduce string heap for cutting peak memory in half ([`d79133b`](https://github.com/Byron/gitoxide/commit/d79133b1f70011f2a4075b557868ebcf9f8a992f))
+ - prepare for deduplicating strings ([`98465a6`](https://github.com/Byron/gitoxide/commit/98465a61d11c6eac298d65da149338dd60004e5d))
+ - remove rayon in favor of a simple worker thread ([`5d70f87`](https://github.com/Byron/gitoxide/commit/5d70f873661492fee540a941ce5c291d597ea918))
+ - use rev-specs instead of ref-names ([`cf7182e`](https://github.com/Byron/gitoxide/commit/cf7182e3390c03df97c10cd101440f7aa8874904))
+ - make fmt ([`429cccc`](https://github.com/Byron/gitoxide/commit/429cccc5831c25a7205a12dc7a0443ac48616e2c))
+ - `ein tool hours -b` ignores bots. ([`5d0332f`](https://github.com/Byron/gitoxide/commit/5d0332f51c63c5456a28c8f3f466ad805b2e0626))
+ - `ein tool hours -p` now shows the percentage of hours worked as well. ([`f28783b`](https://github.com/Byron/gitoxide/commit/f28783b0d6a8ad37028960f7094c7570768d45cc))
+ - Merge branch 'filter-refs' ([`fd14489`](https://github.com/Byron/gitoxide/commit/fd14489f729172d615d0fa1e8dbd605e9eacf69d))
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - use rev_parse_single() instead of rev_parse().single() ([`09948a5`](https://github.com/Byron/gitoxide/commit/09948a56449c372444e1ee13138128482a97b0be))
+ - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1))
+ - Merge branch 'filter-refs' ([`e10554d`](https://github.com/Byron/gitoxide/commit/e10554d2a3b9c027353a432b0c84f7d3797b7cae))
+ - remove explicit `git-features` crate ([`c41c94b`](https://github.com/Byron/gitoxide/commit/c41c94bc322f60f81b144b27c520938d600487d1))
+ - remove `git-config` dependency ([`cf63d87`](https://github.com/Byron/gitoxide/commit/cf63d87d3fc19d317988d718adf53eeaedf0c8ca))
+ - remove unnecessary git-date dependency ([`cbc9ba9`](https://github.com/Byron/gitoxide/commit/cbc9ba949ca52c847dfa1d8e79f7686cafcac291))
+ - gix rev parse uses ISO8601 time format. ([`efefac4`](https://github.com/Byron/gitoxide/commit/efefac4576ca8a49010c10356a828f0006551065))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - 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 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b))
+ - Release git-diff v0.18.1, git-discover v0.4.2, git-traverse v0.16.4, git-repository v0.23.1 ([`2571831`](https://github.com/Byron/gitoxide/commit/2571831e5939bf4ea6f19537b0c1ccd71dc99088))
+ - Merge branch 'macos-exfat' ([`f256f8f`](https://github.com/Byron/gitoxide/commit/f256f8fb7603f83d44acda07386f277c65ac652c))
+ - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb))
+ - Make sure we start out at a commit for the traversal to work ([`ce01093`](https://github.com/Byron/gitoxide/commit/ce0109366ef46d014447c1609070d306930115dc))
+ - A basic implementation of rev-list without anything fancy ([`791dd66`](https://github.com/Byron/gitoxide/commit/791dd666430fe0586c7db75b352487a72d3789e7))
+ - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663))
+ - 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))
+ - 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 ([`dbfa328`](https://github.com/Byron/gitoxide/commit/dbfa3282cf876596b250b2040c1ec0b761741796))
+ - Merge branch 'main' into filter-refs-by-spec ([`cfa1440`](https://github.com/Byron/gitoxide/commit/cfa144031dbcac2707ab0cec012bc35e78f9c475))
+
+
## 0.17.0 (2022-08-24)
@@ -33,9 +150,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 20 commits contributed to the release over the course of 5 calendar days.
+ - 22 commits contributed to the release over the course of 5 calendar days.
- 6 days passed between releases.
- - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450)
### Commit Details
@@ -45,6 +162,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
view details
* **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - Support for -c CLI config overrides in `gix config`. ([`19c1746`](https://github.com/Byron/gitoxide/commit/19c1746cefca9bc76537637ec99634eb4cf66a92))
- remove `gix free remote ref-list` in favor of `gix remote refs` ([`dda9957`](https://github.com/Byron/gitoxide/commit/dda995790c260131048484a11e66185b9c841311))
- refactor ([`e0be6e9`](https://github.com/Byron/gitoxide/commit/e0be6e9558add3255de63f3785306daace2707a6))
- Add support for passing urls directly to bypass all remote repository logic. ([`df3cf18`](https://github.com/Byron/gitoxide/commit/df3cf18a6ac1e4f35f6d11d62184a43722397bbe))
@@ -52,6 +170,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Try to use maybe async for the simplest of possibly blocking remote interactions ([`db4df25`](https://github.com/Byron/gitoxide/commit/db4df250d7e58518015bed0b9a1e3391b209cb29))
- basic parsing of `gix remote refs` without any implementation. ([`f8f1249`](https://github.com/Byron/gitoxide/commit/f8f124943f73bacf816c6d0055f0b66659fd3906))
* **Uncategorized**
+ - Release git-date v0.1.0, git-actor v0.11.4, git-revision v0.4.3, git-repository v0.22.1, cargo-smart-release v0.11.0, git-commitgraph v0.8.2, gitoxide-core v0.17.0, gitoxide v0.15.0 ([`1fb931a`](https://github.com/Byron/gitoxide/commit/1fb931a7ea59f1cf895a6c1392fd8615b723c743))
- update changelogs prior to release ([`23cb58f`](https://github.com/Byron/gitoxide/commit/23cb58f02043e0e5027136fd6e8e724c03a2efbe))
- 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))
- Merge branch 'example-write-blob' ([`afedd7f`](https://github.com/Byron/gitoxide/commit/afedd7f86ec8ea18a8165f71698ecc886f5cf643))
@@ -101,7 +220,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 42 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- - 7 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 7 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#427](https://github.com/Byron/gitoxide/issues/427), [#450](https://github.com/Byron/gitoxide/issues/450), [#482](https://github.com/Byron/gitoxide/issues/482)
### Thanks Clippy
@@ -206,7 +325,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 71 commits contributed to the release over the course of 101 calendar days.
- 108 days passed between releases.
- - 7 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 7 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#331](https://github.com/Byron/gitoxide/issues/331), [#427](https://github.com/Byron/gitoxide/issues/427)
### Thanks Clippy
@@ -318,7 +437,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 8 commits contributed to the release.
- 2 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#298](https://github.com/Byron/gitoxide/issues/298)
### Commit Details
@@ -430,7 +549,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 144 commits contributed to the release over the course of 156 calendar days.
- 165 days passed between releases.
- - 26 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 26 commits were understood as [conventional](https://www.conventionalcommits.org).
- 14 unique issues were worked on: [#215](https://github.com/Byron/gitoxide/issues/215), [#247](https://github.com/Byron/gitoxide/issues/247), [#263](https://github.com/Byron/gitoxide/issues/263), [#266](https://github.com/Byron/gitoxide/issues/266), [#279](https://github.com/Byron/gitoxide/issues/279), [#287](https://github.com/Byron/gitoxide/issues/287), [#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), [#333](https://github.com/Byron/gitoxide/issues/333), [#364](https://github.com/Byron/gitoxide/issues/364), [#366](https://github.com/Byron/gitoxide/issues/366), [#67](https://github.com/Byron/gitoxide/issues/67)
### Commit Details
@@ -610,7 +729,7 @@ A maintenance release to properly dealing with previously breaking changes in `g
- 3 commits contributed to the release.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#222](https://github.com/Byron/gitoxide/issues/222)
### Commit Details
@@ -670,7 +789,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 25 commits contributed to the release over the course of 34 calendar days.
- 35 days passed between releases.
- - 12 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 12 commits were understood as [conventional](https://www.conventionalcommits.org).
- 5 unique issues were worked on: [#164](https://github.com/Byron/gitoxide/issues/164), [#198](https://github.com/Byron/gitoxide/issues/198), [#200](https://github.com/Byron/gitoxide/issues/200), [#205](https://github.com/Byron/gitoxide/issues/205), [#67](https://github.com/Byron/gitoxide/issues/67)
### Commit Details
@@ -720,7 +839,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 3 commits contributed to the release over the course of 1 calendar day.
- 3 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -743,7 +862,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 7 commits contributed to the release over the course of 8 calendar days.
- 8 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -770,7 +889,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 33 commits contributed to the release over the course of 11 calendar days.
- 12 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -829,7 +948,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 3 commits contributed to the release over the course of 1 calendar day.
- 2 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -852,7 +971,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 2 commits contributed to the release over the course of 3 calendar days.
- 4 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -880,7 +999,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 146 commits contributed to the release over the course of 90 calendar days.
- 93 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#83](https://github.com/Byron/gitoxide/issues/83)
### Thanks Clippy
@@ -1062,7 +1181,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 36 commits contributed to the release over the course of 27 calendar days.
- 30 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -1136,7 +1255,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 56 commits contributed to the release over the course of 98 calendar days.
- 113 days passed between releases.
- - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#63](https://github.com/Byron/gitoxide/issues/63)
### Thanks Clippy
@@ -1218,7 +1337,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 2 commits contributed to the release.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1240,7 +1359,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 20 commits contributed to the release over the course of 74 calendar days.
- 88 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1280,7 +1399,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 4 commits contributed to the release over the course of 5 calendar days.
- 6 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1304,7 +1423,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 33 commits contributed to the release over the course of 28 calendar days.
- 30 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
@@ -1363,7 +1482,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 67 commits contributed to the release over the course of 30 calendar days.
- 31 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -1449,7 +1568,7 @@ This is a maintenance release signalling breaking changes because some of the cr
- 25 commits contributed to the release over the course of 19 calendar days.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
diff --git a/gitoxide-core/Cargo.toml b/gitoxide-core/Cargo.toml
index 61819fc8aef..dc20f120309 100644
--- a/gitoxide-core/Cargo.toml
+++ b/gitoxide-core/Cargo.toml
@@ -18,7 +18,7 @@ default = []
## Discover all git repositories within a directory. Particularly useful with [skim](https://github.com/lotabout/skim).
organize = ["git-url", "jwalk"]
## Derive the amount of time invested into a git repository akin to [git-hours](https://github.com/kimmobrunfeldt/git-hours).
-estimate-hours = ["itertools", "fs-err"]
+estimate-hours = ["itertools", "fs-err", "num_cpus", "crossbeam-channel", "mime_guess"]
#! ### Mutually Exclusive Networking
#! If both are set, _blocking-client_ will take precedence, allowing `--all-features` to be used.
@@ -37,9 +37,9 @@ serde1 = ["git-commitgraph/serde1", "git-repository/serde1", "serde_json", "serd
[dependencies]
# deselect everything else (like "performance") as this should be controllable by the parent application.
git-repository = { version = "^0.24.0", path = "../git-repository", default-features = false }
-git-pack-for-configuration-only = { package = "git-pack", version = "^0.22.0", path = "../git-pack", default-features = false, features = ["pack-cache-lru-dynamic", "pack-cache-lru-static"] }
+git-pack-for-configuration-only = { package = "git-pack", version = "^0.23.0", path = "../git-pack", default-features = false, features = ["pack-cache-lru-dynamic", "pack-cache-lru-static"] }
git-transport-configuration-only = { package = "git-transport", version = "^0.20.0", path = "../git-transport", default-features = false }
-git-commitgraph = { version = "^0.8.2", path = "../git-commitgraph" }
+git-commitgraph = { version = "^0.9.0", path = "../git-commitgraph" }
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"] }
anyhow = "1.0.42"
thiserror = "1.0.34"
@@ -56,11 +56,15 @@ futures-io = { version = "0.3.16", optional = true }
blocking = { version = "1.0.2", optional = true }
# for 'organize' functionality
-git-url = { version = "^0.8.0", path = "../git-url", optional = true }
+git-url = { version = "^0.9.0", path = "../git-url", optional = true }
jwalk = { version = "0.6.0", optional = true }
+# for 'hours'
itertools = { version = "0.10.1", optional = true }
fs-err = { version = "2.6.0", optional = true }
+num_cpus = { version = "1.13.1", optional = true }
+crossbeam-channel = { version = "0.5.6", optional = true }
+mime_guess = { version = "2.0.4", optional = true }
document-features = { version = "0.2.0", optional = true }
diff --git a/gitoxide-core/src/hours.rs b/gitoxide-core/src/hours.rs
index cdc33f2ba7f..81f65042f4b 100644
--- a/gitoxide-core/src/hours.rs
+++ b/gitoxide-core/src/hours.rs
@@ -1,4 +1,6 @@
use std::collections::BTreeSet;
+use std::convert::Infallible;
+use std::sync::atomic::Ordering;
use std::{
collections::{hash_map::Entry, HashMap},
io,
@@ -9,7 +11,7 @@ use std::{
use anyhow::{anyhow, bail};
use git_repository as git;
use git_repository::bstr::BStr;
-use git_repository::{actor, bstr::ByteSlice, interrupt, objs, prelude::*, progress, Progress};
+use git_repository::{actor, bstr::ByteSlice, interrupt, prelude::*, progress, Progress};
use itertools::Itertools;
/// Additional configuration for the hours estimation functionality.
@@ -18,6 +20,10 @@ pub struct Context {
pub ignore_bots: bool,
/// Show personally identifiable information before the summary. Includes names and email addresses.
pub show_pii: bool,
+ /// Collect how many files have been added, removed and modified (without rename tracking).
+ pub file_stats: bool,
+ /// Collect how many lines in files have been added, removed and modified (without rename tracking).
+ pub line_stats: bool,
/// Omit unifying identities by name and email which can lead to the same author appear multiple times
/// due to using different names or email addresses.
pub omit_unify_identities: bool,
@@ -38,6 +44,8 @@ pub fn estimate(
Context {
show_pii,
ignore_bots,
+ file_stats,
+ line_stats,
omit_unify_identities,
mut out,
}: Context,
@@ -50,96 +58,280 @@ where
let commit_id = repo.rev_parse_single(rev_spec)?.detach();
let mut string_heap = BTreeSet::<&'static [u8]>::new();
- let (all_commits, is_shallow) = {
- let mut progress = progress.add_child("Traverse commit graph");
- let string_heap = &mut string_heap;
- std::thread::scope(
- move |scope| -> anyhow::Result<(Vec>, bool)> {
- let start = Instant::now();
- progress.init(None, progress::count("commits"));
- let (tx, rx) = std::sync::mpsc::channel::>();
- let mailmap = repo.open_mailmap();
-
- let handle = scope.spawn(move || -> anyhow::Result>> {
- let mut out = Vec::new();
- for commit_data in rx {
- if let Some(author) = objs::CommitRefIter::from_bytes(&commit_data)
- .author()
- .map(|author| mailmap.resolve_cow(author.trim()))
- .ok()
- {
- let mut string_ref = |s: &[u8]| -> &'static BStr {
- match string_heap.get(s) {
- Some(n) => n.as_bstr(),
- None => {
- let sv: Vec = s.to_owned().into();
- string_heap.insert(Box::leak(sv.into_boxed_slice()));
- (*string_heap.get(s).expect("present")).as_ref()
- }
+ let (commit_authors, stats, is_shallow) = {
+ let needs_stats = file_stats || line_stats;
+ let stat_progress = needs_stats.then(|| progress.add_child("extract stats")).map(|mut p| {
+ p.init(None, progress::count("commits"));
+ p
+ });
+ let stat_counter = stat_progress.as_ref().and_then(|p| p.counter());
+
+ let change_progress = needs_stats.then(|| progress.add_child("find changes")).map(|mut p| {
+ p.init(None, progress::count("modified files"));
+ p
+ });
+ let change_counter = change_progress.as_ref().and_then(|p| p.counter());
+
+ let lines_progress = line_stats.then(|| progress.add_child("find changes")).map(|mut p| {
+ p.init(None, progress::count("diff lines"));
+ p
+ });
+ let lines_counter = lines_progress.as_ref().and_then(|p| p.counter());
+
+ let mut progress = progress.add_child("traverse commit graph");
+ progress.init(None, progress::count("commits"));
+
+ std::thread::scope(|scope| -> anyhow::Result<_> {
+ let start = Instant::now();
+ let (tx, rx) = std::sync::mpsc::channel::<(u32, Vec)>();
+ let mailmap = repo.open_mailmap();
+
+ let commit_thread = scope.spawn(move || -> anyhow::Result> {
+ let mut out = Vec::new();
+ for (commit_idx, commit_data) in rx {
+ if let Some(author) = git::objs::CommitRefIter::from_bytes(&commit_data)
+ .author()
+ .map(|author| mailmap.resolve_cow(author.trim()))
+ .ok()
+ {
+ let mut string_ref = |s: &[u8]| -> &'static BStr {
+ match string_heap.get(s) {
+ Some(n) => n.as_bstr(),
+ None => {
+ let sv: Vec = s.to_owned().into();
+ string_heap.insert(Box::leak(sv.into_boxed_slice()));
+ (*string_heap.get(s).expect("present")).as_ref()
}
- };
- let name = string_ref(author.name.as_ref());
- let email = string_ref(&author.email.as_ref());
+ }
+ };
+ let name = string_ref(author.name.as_ref());
+ let email = string_ref(&author.email.as_ref());
- out.push(actor::SignatureRef {
+ out.push((
+ commit_idx,
+ actor::SignatureRef {
name,
email,
time: author.time,
- });
- }
+ },
+ ));
}
- out.shrink_to_fit();
- out.sort_by(|a, b| {
- a.email.cmp(&b.email).then(
- a.time
- .seconds_since_unix_epoch
- .cmp(&b.time.seconds_since_unix_epoch)
- .reverse(),
- )
- });
- Ok(out)
+ }
+ out.shrink_to_fit();
+ out.sort_by(|a, b| {
+ a.1.email.cmp(&b.1.email).then(
+ a.1.time
+ .seconds_since_unix_epoch
+ .cmp(&b.1.time.seconds_since_unix_epoch)
+ .reverse(),
+ )
});
+ Ok(out)
+ });
- let commit_iter = interrupt::Iter::new(
- commit_id.ancestors(|oid, buf| {
- progress.inc();
- repo.objects.find(oid, buf).map(|o| {
- tx.send(o.data.to_owned()).ok();
- objs::CommitRefIter::from_bytes(o.data)
+ let (tx_tree_id, stat_threads) = needs_stats
+ .then(|| {
+ let num_threads = num_cpus::get().saturating_sub(1 /*main thread*/).max(1);
+ let (tx, rx) =
+ crossbeam_channel::unbounded::<(u32, Option, git::hash::ObjectId)>();
+ let stat_workers = (0..num_threads)
+ .map(|_| {
+ scope.spawn({
+ let commit_counter = stat_counter.clone();
+ let change_counter = change_counter.clone();
+ let lines_counter = lines_counter.clone();
+ let mut repo = repo.clone();
+ repo.object_cache_size_if_unset(4 * 1024 * 1024);
+ let rx = rx.clone();
+ move || -> Result<_, git::object::tree::diff::Error> {
+ let mut out = Vec::new();
+ for (commit_idx, parent_commit, commit) in rx {
+ if let Some(c) = commit_counter.as_ref() {
+ c.fetch_add(1, Ordering::SeqCst);
+ }
+ if git::interrupt::is_triggered() {
+ return Ok(out);
+ }
+ let mut files = FileStats::default();
+ let mut lines = LineStats::default();
+ let from = match parent_commit {
+ Some(id) => {
+ match repo.find_object(id).ok().and_then(|c| c.peel_to_tree().ok()) {
+ Some(tree) => tree,
+ None => continue,
+ }
+ }
+ None => repo
+ .find_object(git::hash::ObjectId::empty_tree(repo.object_hash()))
+ .expect("always present")
+ .into_tree(),
+ };
+ let to = match repo.find_object(commit).ok().and_then(|c| c.peel_to_tree().ok())
+ {
+ Some(c) => c,
+ None => continue,
+ };
+ from.changes().track_filename().for_each_to_obtain_tree(&to, |change| {
+ use git::object::tree::diff::change::Event::*;
+ if let Some(c) = change_counter.as_ref() {
+ c.fetch_add(1, Ordering::SeqCst);
+ }
+ match change.event {
+ Addition { entry_mode, id } => {
+ if entry_mode.is_no_tree() {
+ files.added += 1
+ }
+ if let Ok(blob) = id.object() {
+ let nl = blob.data.lines_with_terminator().count();
+ lines.added += nl;
+ if let Some(c) = lines_counter.as_ref() {
+ c.fetch_add(nl, Ordering::SeqCst);
+ }
+ }
+ }
+ Deletion { entry_mode, id } => {
+ if entry_mode.is_no_tree() {
+ files.removed += 1
+ }
+ if let Ok(blob) = id.object() {
+ let nl = blob.data.lines_with_terminator().count();
+ lines.removed += nl;
+ if let Some(c) = lines_counter.as_ref() {
+ c.fetch_add(nl, Ordering::SeqCst);
+ }
+ }
+ }
+ Modification { entry_mode, .. } => {
+ if entry_mode.is_no_tree() {
+ files.modified += 1;
+ }
+ if line_stats {
+ let is_text_file = mime_guess::from_path(
+ git::path::from_bstr(change.location).as_ref(),
+ )
+ .first_or_text_plain()
+ .type_()
+ == mime_guess::mime::TEXT;
+ if let Some(Ok(diff)) =
+ is_text_file.then(|| change.event.diff()).flatten()
+ {
+ use git::diff::lines::similar::ChangeTag::*;
+ let mut nl = 0;
+ for change in diff
+ .text(git::diff::lines::Algorithm::Myers)
+ .iter_all_changes()
+ {
+ match change.tag() {
+ Delete => {
+ lines.removed += 1;
+ nl += 1;
+ }
+ Insert => {
+ lines.added += 1;
+ nl += 1
+ }
+ Equal => {}
+ }
+ }
+ if let Some(c) = lines_counter.as_ref() {
+ c.fetch_add(nl, Ordering::SeqCst);
+ }
+ }
+ }
+ }
+ }
+ Ok::<_, Infallible>(Default::default())
+ })?;
+ out.push((commit_idx, files, lines));
+ }
+ Ok(out)
+ }
+ })
})
- }),
- || anyhow!("Cancelled by user"),
- );
- let mut is_shallow = false;
- for c in commit_iter {
- match c? {
- Ok(c) => c,
- Err(git::traverse::commit::ancestors::Error::FindExisting { .. }) => {
- is_shallow = true;
- break;
+ .collect::>();
+ (Some(tx), stat_workers)
+ })
+ .unwrap_or_else(Default::default);
+
+ let mut commit_idx = 0_u32;
+ let commit_iter = interrupt::Iter::new(
+ commit_id.ancestors(|oid, buf| {
+ progress.inc();
+ repo.objects.find(oid, buf).map(|obj| {
+ tx.send((commit_idx, obj.data.to_owned())).ok();
+ if let Some((tx_tree, first_parent, commit)) = tx_tree_id.as_ref().and_then(|tx| {
+ git::objs::CommitRefIter::from_bytes(obj.data)
+ .parent_ids()
+ .next()
+ .map(|first_parent| (tx, Some(first_parent), oid.to_owned()))
+ }) {
+ tx_tree.send((commit_idx, first_parent, commit)).ok();
+ }
+ commit_idx = commit_idx.checked_add(1).expect("less then 4 billion commits");
+ git::objs::CommitRefIter::from_bytes(obj.data)
+ })
+ }),
+ || anyhow!("Cancelled by user"),
+ );
+ let mut is_shallow = false;
+ for c in commit_iter {
+ match c? {
+ Ok(c) => c,
+ Err(git::traverse::commit::ancestors::Error::FindExisting { .. }) => {
+ is_shallow = true;
+ break;
+ }
+ Err(err) => return Err(err.into()),
+ };
+ }
+ drop(tx);
+ drop(tx_tree_id);
+ progress.show_throughput(start);
+ drop(progress);
+
+ let stats_by_commit_idx = match stat_progress {
+ Some(mut progress) => {
+ progress.set_max(Some(commit_idx as usize));
+ let mut stats = Vec::new();
+ for handle in stat_threads {
+ stats.extend(handle.join().expect("no panic")?);
+ if git::interrupt::is_triggered() {
+ bail!("Cancelled by user");
}
- Err(err) => return Err(err.into()),
- };
+ }
+ stats.sort_by_key(|t| t.0);
+ progress.show_throughput(start);
+ stats
}
- drop(tx);
+ None => Vec::new(),
+ };
+ if let Some(mut progress) = change_progress {
progress.show_throughput(start);
- Ok((handle.join().expect("no panic")?, is_shallow))
- },
- )?
+ }
+ if let Some(mut progress) = lines_progress {
+ progress.show_throughput(start);
+ }
+
+ Ok((
+ commit_thread.join().expect("no panic")?,
+ stats_by_commit_idx,
+ is_shallow,
+ ))
+ })?
};
- if all_commits.is_empty() {
+ if commit_authors.is_empty() {
bail!("No commits to process");
}
let start = Instant::now();
- let mut current_email = &all_commits[0].email;
+ let mut current_email = &commit_authors[0].1.email;
let mut slice_start = 0;
let mut results_by_hours = Vec::new();
let mut ignored_bot_commits = 0_u32;
- for (idx, elm) in all_commits.iter().enumerate() {
+ for (idx, (_, elm)) in commit_authors.iter().enumerate() {
if elm.email != *current_email {
- let estimate = estimate_hours(&all_commits[slice_start..idx]);
+ let estimate = estimate_hours(&commit_authors[slice_start..idx], &stats);
slice_start = idx;
current_email = &elm.email;
if ignore_bots && estimate.name.contains_str(b"[bot]") {
@@ -149,8 +341,8 @@ where
results_by_hours.push(estimate);
}
}
- if let Some(commits) = all_commits.get(slice_start..) {
- results_by_hours.push(estimate_hours(commits));
+ if let Some(commits) = commit_authors.get(slice_start..) {
+ results_by_hours.push(estimate_hours(commits, &stats));
}
let num_authors = results_by_hours.len();
@@ -167,21 +359,26 @@ where
let elapsed = start.elapsed();
progress.done(format!(
"Extracted and organized data from {} commits in {:?} ({:0.0} commits/s)",
- all_commits.len(),
+ commit_authors.len(),
elapsed,
- all_commits.len() as f32 / elapsed.as_secs_f32()
+ commit_authors.len() as f32 / elapsed.as_secs_f32()
));
let num_unique_authors = results_by_hours.len();
- let (total_hours, total_commits) = results_by_hours
+ let (total_hours, total_commits, total_files, total_lines) = results_by_hours
.iter()
- .map(|e| (e.hours, e.num_commits))
- .reduce(|a, b| (a.0 + b.0, a.1 + b.1))
+ .map(|e| (e.hours, e.num_commits, e.files, e.lines))
+ .reduce(|a, b| (a.0 + b.0, a.1 + b.1, a.2.clone().added(&b.2), a.3.clone().added(&b.3)))
.expect("at least one commit at this point");
if show_pii {
results_by_hours.sort_by(|a, b| a.hours.partial_cmp(&b.hours).unwrap_or(std::cmp::Ordering::Equal));
for entry in results_by_hours.iter() {
- entry.write_to(total_hours, &mut out)?;
+ entry.write_to(
+ total_hours,
+ file_stats.then(|| total_files),
+ line_stats.then(|| total_lines),
+ &mut out,
+ )?;
writeln!(out)?;
}
}
@@ -194,6 +391,20 @@ where
is_shallow.then(|| " (shallow)").unwrap_or_default(),
num_authors
)?;
+ if file_stats {
+ writeln!(
+ out,
+ "total files added/removed/modified: {}/{}/{}",
+ total_files.added, total_files.removed, total_files.modified
+ )?;
+ }
+ if line_stats {
+ writeln!(
+ out,
+ "total lines added/removed: {}/{}",
+ total_lines.added, total_lines.removed
+ )?;
+ }
if !omit_unify_identities {
writeln!(
out,
@@ -207,7 +418,7 @@ where
}
assert_eq!(
total_commits,
- all_commits.len() as u32 - ignored_bot_commits,
+ commit_authors.len() as u32 - ignored_bot_commits,
"need to get all commits"
);
Ok(())
@@ -216,30 +427,56 @@ where
const MINUTES_PER_HOUR: f32 = 60.0;
const HOURS_PER_WORKDAY: f32 = 8.0;
-fn estimate_hours(commits: &[actor::SignatureRef<'static>]) -> WorkByEmail {
+fn estimate_hours(
+ commits: &[(u32, actor::SignatureRef<'static>)],
+ stats: &[(u32, FileStats, LineStats)],
+) -> WorkByEmail {
assert!(!commits.is_empty());
const MAX_COMMIT_DIFFERENCE_IN_MINUTES: f32 = 2.0 * MINUTES_PER_HOUR;
const FIRST_COMMIT_ADDITION_IN_MINUTES: f32 = 2.0 * MINUTES_PER_HOUR;
- let hours = FIRST_COMMIT_ADDITION_IN_MINUTES / 60.0
- + commits.iter().rev().tuple_windows().fold(
- 0_f32,
- |hours, (cur, next): (&actor::SignatureRef<'_>, &actor::SignatureRef<'_>)| {
- let change_in_minutes =
- (next.time.seconds_since_unix_epoch - cur.time.seconds_since_unix_epoch) as f32 / MINUTES_PER_HOUR;
- if change_in_minutes < MAX_COMMIT_DIFFERENCE_IN_MINUTES {
- hours + change_in_minutes as f32 / MINUTES_PER_HOUR
- } else {
- hours + (FIRST_COMMIT_ADDITION_IN_MINUTES / MINUTES_PER_HOUR)
- }
- },
- );
- let author = &commits[0];
+ let hours_for_commits = commits.iter().map(|t| &t.1).rev().tuple_windows().fold(
+ 0_f32,
+ |hours, (cur, next): (&actor::SignatureRef<'_>, &actor::SignatureRef<'_>)| {
+ let change_in_minutes = (next
+ .time
+ .seconds_since_unix_epoch
+ .saturating_sub(cur.time.seconds_since_unix_epoch)) as f32
+ / MINUTES_PER_HOUR;
+ if change_in_minutes < MAX_COMMIT_DIFFERENCE_IN_MINUTES {
+ hours + change_in_minutes as f32 / MINUTES_PER_HOUR
+ } else {
+ hours + (FIRST_COMMIT_ADDITION_IN_MINUTES / MINUTES_PER_HOUR)
+ }
+ },
+ );
+
+ let author = &commits[0].1;
+ let (files, lines) = (!stats.is_empty())
+ .then(|| {
+ commits
+ .iter()
+ .map(|t| &t.0)
+ .fold((FileStats::default(), LineStats::default()), |mut acc, id| match stats
+ .binary_search_by(|t| t.0.cmp(id))
+ {
+ Ok(idx) => {
+ let t = &stats[idx];
+ acc.0.add(&t.1);
+ acc.1.add(&t.2);
+ acc
+ }
+ Err(_) => acc,
+ })
+ })
+ .unwrap_or_default();
WorkByEmail {
name: author.name,
email: author.email,
- hours,
+ hours: FIRST_COMMIT_ADDITION_IN_MINUTES / 60.0 + hours_for_commits,
num_commits: commits.len() as u32,
+ files,
+ lines,
}
}
@@ -276,6 +513,8 @@ struct WorkByPerson {
email: Vec<&'static BStr>,
hours: f32,
num_commits: u32,
+ files: FileStats,
+ lines: LineStats,
}
impl<'a> WorkByPerson {
@@ -288,6 +527,7 @@ impl<'a> WorkByPerson {
}
self.num_commits += other.num_commits;
self.hours += other.hours;
+ self.files.add(&other.files);
}
}
@@ -298,12 +538,20 @@ impl<'a> From<&'a WorkByEmail> for WorkByPerson {
email: vec![w.email],
hours: w.hours,
num_commits: w.num_commits,
+ files: w.files,
+ lines: w.lines,
}
}
}
impl WorkByPerson {
- fn write_to(&self, total_hours: f32, mut out: impl std::io::Write) -> std::io::Result<()> {
+ fn write_to(
+ &self,
+ total_hours: f32,
+ total_files: Option,
+ total_lines: Option,
+ mut out: impl std::io::Write,
+ ) -> std::io::Result<()> {
writeln!(
out,
"{} <{}>",
@@ -317,7 +565,27 @@ impl WorkByPerson {
self.hours,
self.hours / HOURS_PER_WORKDAY,
(self.hours / total_hours) * 100.0
- )
+ )?;
+ if let Some(total) = total_files {
+ writeln!(
+ out,
+ "total files added/removed/modified: {}/{}/{} ({:.02}%)",
+ self.files.added,
+ self.files.removed,
+ self.files.modified,
+ (self.files.sum() / total.sum()) * 100.0
+ )?;
+ }
+ if let Some(total) = total_lines {
+ writeln!(
+ out,
+ "total lines added/removed: {}/{} ({:.02}%)",
+ self.lines.added,
+ self.lines.removed,
+ (self.lines.sum() / total.sum()) * 100.0
+ )?;
+ }
+ Ok(())
}
}
@@ -327,4 +595,63 @@ struct WorkByEmail {
email: &'static BStr,
hours: f32,
num_commits: u32,
+ files: FileStats,
+ lines: LineStats,
+}
+
+/// File statistics for a particular commit.
+#[derive(Debug, Default, Copy, Clone)]
+struct FileStats {
+ /// amount of added files
+ added: usize,
+ /// amount of removed files
+ removed: usize,
+ /// amount of modified files
+ modified: usize,
+}
+
+/// Line statistics for a particular commit.
+#[derive(Debug, Default, Copy, Clone)]
+struct LineStats {
+ /// amount of added lines
+ added: usize,
+ /// amount of removed lines
+ removed: usize,
+}
+
+impl FileStats {
+ fn add(&mut self, other: &FileStats) -> &mut Self {
+ self.added += other.added;
+ self.removed += other.removed;
+ self.modified += other.modified;
+ self
+ }
+
+ fn added(&self, other: &FileStats) -> Self {
+ let mut a = *self;
+ a.add(other);
+ a
+ }
+
+ fn sum(&self) -> f32 {
+ (self.added + self.removed + self.modified) as f32
+ }
+}
+
+impl LineStats {
+ fn add(&mut self, other: &LineStats) -> &mut Self {
+ self.added += other.added;
+ self.removed += other.removed;
+ self
+ }
+
+ fn added(&self, other: &LineStats) -> Self {
+ let mut a = *self;
+ a.add(other);
+ a
+ }
+
+ fn sum(&self) -> f32 {
+ (self.added + self.removed) as f32
+ }
}
diff --git a/src/porcelain/main.rs b/src/porcelain/main.rs
index e0656617e30..710dca6434e 100644
--- a/src/porcelain/main.rs
+++ b/src/porcelain/main.rs
@@ -40,6 +40,8 @@ pub fn main() -> Result<()> {
working_dir,
rev_spec,
no_bots,
+ file_stats,
+ line_stats,
show_pii,
omit_unify_identities,
}) => {
@@ -58,6 +60,8 @@ pub fn main() -> Result<()> {
hours::Context {
show_pii,
ignore_bots: no_bots,
+ file_stats,
+ line_stats,
omit_unify_identities,
out,
},
diff --git a/src/porcelain/options.rs b/src/porcelain/options.rs
index 5ee5774321f..5c60f71e5df 100644
--- a/src/porcelain/options.rs
+++ b/src/porcelain/options.rs
@@ -101,6 +101,14 @@ pub struct EstimateHours {
/// Ignore github bots which match the `[bot]` search string.
#[clap(short = 'b', long)]
pub no_bots: bool,
+ /// Collect additional information about file modifications, additions and deletions (without rename tracking).
+ #[clap(short = 'f', long)]
+ pub file_stats: bool,
+ /// Collect additional information about lines added and deleted (without rename tracking).
+ ///
+ /// Note that this implies the work to be done for file-stats, so it should be set as well.
+ #[clap(short = 'l', long)]
+ pub line_stats: bool,
/// Show personally identifiable information before the summary. Includes names and email addresses.
#[clap(short = 'p', long)]
pub show_pii: bool,
diff --git a/tests/journey/ein.sh b/tests/journey/ein.sh
index a0d2f7d8e49..88daa9d0852 100644
--- a/tests/journey/ein.sh
+++ b/tests/journey/ein.sh
@@ -55,6 +55,24 @@ title "Porcelain ${kind}"
expect_run_sh $SUCCESSFULLY "$exe t estimate-hours --omit-unify-identities 2>/dev/null"
}
)
+ (with "the --file-stats argument"
+ it "succeeds and shows file statistics" && {
+ WITH_SNAPSHOT="$snapshot/file-stats-success" \
+ expect_run_sh $SUCCESSFULLY "$exe tool estimate-hours --file-stats 2>/dev/null"
+ }
+ )
+ (with "the --line-stats argument"
+ it "succeeds and shows line statistics" && {
+ WITH_SNAPSHOT="$snapshot/line-stats-success" \
+ expect_run_sh $SUCCESSFULLY "$exe tool estimate-hours --line-stats 2>/dev/null"
+ }
+ )
+ (with "all --stats arguments and pii"
+ it "succeeds and shows all statistics" && {
+ WITH_SNAPSHOT="$snapshot/all-stats-success" \
+ expect_run_sh $SUCCESSFULLY "$exe tool estimate-hours -pfl 2>/dev/null"
+ }
+ )
(with "a branch name that doesn't exist"
it "fails and shows a decent enough error message" && {
WITH_SNAPSHOT="$snapshot/invalid-branch-name-failure" \
diff --git a/tests/snapshots/porcelain/estimate-hours/all-stats-success b/tests/snapshots/porcelain/estimate-hours/all-stats-success
new file mode 100644
index 00000000000..1c30a868651
--- /dev/null
+++ b/tests/snapshots/porcelain/estimate-hours/all-stats-success
@@ -0,0 +1,13 @@
+Sebastian Thiel
+3 commits found
+total time spent: 2.00h (0.25 8h days, 100.00%)
+total files added/removed/modified: 1/0/1 (100.00%)
+total lines added/removed: 1/0 (100.00%)
+
+total hours: 2.00
+total 8h days: 0.25
+total commits = 3
+total authors: 1
+total files added/removed/modified: 1/0/1
+total lines added/removed: 1/0
+total unique authors: 1 (0.00% duplication)
\ No newline at end of file
diff --git a/tests/snapshots/porcelain/estimate-hours/file-stats-success b/tests/snapshots/porcelain/estimate-hours/file-stats-success
new file mode 100644
index 00000000000..cfdb9d1ffef
--- /dev/null
+++ b/tests/snapshots/porcelain/estimate-hours/file-stats-success
@@ -0,0 +1,6 @@
+total hours: 2.00
+total 8h days: 0.25
+total commits = 3
+total authors: 1
+total files added/removed/modified: 1/0/1
+total unique authors: 1 (0.00% duplication)
\ No newline at end of file
diff --git a/tests/snapshots/porcelain/estimate-hours/line-stats-success b/tests/snapshots/porcelain/estimate-hours/line-stats-success
new file mode 100644
index 00000000000..0d1db43a6fa
--- /dev/null
+++ b/tests/snapshots/porcelain/estimate-hours/line-stats-success
@@ -0,0 +1,6 @@
+total hours: 2.00
+total 8h days: 0.25
+total commits = 3
+total authors: 1
+total lines added/removed: 1/0
+total unique authors: 1 (0.00% duplication)
\ No newline at end of file
diff --git a/tests/tools/CHANGELOG.md b/tests/tools/CHANGELOG.md
index c40096e0580..0ddd08df274 100644
--- a/tests/tools/CHANGELOG.md
+++ b/tests/tools/CHANGELOG.md
@@ -5,6 +5,59 @@ 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.9.0 (2022-09-20)
+
+### Bug Fixes
+
+ - Allow multiple scripts to run at the same time, if they are not the same.
+ Previously, per integration test and thus per crate, one would
+ effectively only be able to run a single script at a time because of the
+ global identity lock. This was required previously before the additional
+ file based lock, per script name, was introduced.
+
+ This is now fixed by dropping the lock after the script identity was
+ obtained.
+
+### Changed (BREAKING)
+
+ - upgrade `bstr` to `1.0.1`
+
+### Commit Statistics
+
+
+
+ - 15 commits contributed to the release over the course of 21 calendar days.
+ - 24 days passed between releases.
+ - 2 commits were understood as [conventional](https://www.conventionalcommits.org).
+ - 3 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470), [#509](https://github.com/Byron/gitoxide/issues/509)
+
+### Commit Details
+
+
+
+view details
+
+ * **[#450](https://github.com/Byron/gitoxide/issues/450)**
+ - upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
+ - Allow multiple scripts to run at the same time, if they are not the same. ([`cba9ede`](https://github.com/Byron/gitoxide/commit/cba9edeb403aae4d77087de4167cbabe72525d92))
+ - Make tests more robust; fix windows tests ([`1983fbc`](https://github.com/Byron/gitoxide/commit/1983fbc39be3da5598cf3af6fb97f6ea0bc3ec6b))
+ * **[#470](https://github.com/Byron/gitoxide/issues/470)**
+ - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
+ * **[#509](https://github.com/Byron/gitoxide/issues/509)**
+ - some unit tests for the time when something truly unparseable shows up ([`94fc0d6`](https://github.com/Byron/gitoxide/commit/94fc0d60d21c22a0d36f5de986cd9443755141bf))
+ - Be more verbose when git version parsing fails ([`9c2f1b5`](https://github.com/Byron/gitoxide/commit/9c2f1b5d03fbcf5dd08c2469ea17da426ea6670c))
+ * **Uncategorized**
+ - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7))
+ - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182))
+ - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8))
+ - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe))
+ - Merge branch 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046))
+ - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb))
+ - Release git-diff v0.18.1, git-discover v0.4.2, git-traverse v0.16.4, git-repository v0.23.1 ([`2571831`](https://github.com/Byron/gitoxide/commit/2571831e5939bf4ea6f19537b0c1ccd71dc99088))
+ - fix format ([`1b00ab1`](https://github.com/Byron/gitoxide/commit/1b00ab1d2a38e0ee33570714760a21cc8ca3785e))
+ - Fix git_version_from_bytes to handle trailing newline ([`14e4e66`](https://github.com/Byron/gitoxide/commit/14e4e66fe064114f3d9f1dc07ce34497abf8374e))
+
+
## 0.8.0 (2022-08-27)
@@ -34,9 +87,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- - 68 commits contributed to the release over the course of 135 calendar days.
+ - 69 commits contributed to the release over the course of 135 calendar days.
- 145 days passed between releases.
- - 7 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 7 commits were understood as [conventional](https://www.conventionalcommits.org).
- 10 unique issues were worked on: [#298](https://github.com/Byron/gitoxide/issues/298), [#301](https://github.com/Byron/gitoxide/issues/301), [#331](https://github.com/Byron/gitoxide/issues/331), [#382](https://github.com/Byron/gitoxide/issues/382), [#384](https://github.com/Byron/gitoxide/issues/384), [#391](https://github.com/Byron/gitoxide/issues/391), [#393](https://github.com/Byron/gitoxide/issues/393), [#427](https://github.com/Byron/gitoxide/issues/427), [#488](https://github.com/Byron/gitoxide/issues/488), [#XXX](https://github.com/Byron/gitoxide/issues/XXX)
### Thanks Clippy
@@ -92,6 +145,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)**
- `_with_args(…)` functions now allow non-static strings ([`004dab1`](https://github.com/Byron/gitoxide/commit/004dab17deab4c360adb5ac428f6b4951c974fe3))
* **Uncategorized**
+ - Release git-worktree v0.4.3, git-testtools v0.8.0 ([`b2e4bf2`](https://github.com/Byron/gitoxide/commit/b2e4bf2c11ff2c3c32efcb91837fb5677714bdf9))
- 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-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))
@@ -146,7 +200,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 26 commits contributed to the release over the course of 210 calendar days.
- 223 days passed between releases.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 7 unique issues were worked on: [#198](https://github.com/Byron/gitoxide/issues/198), [#266](https://github.com/Byron/gitoxide/issues/266), [#293](https://github.com/Byron/gitoxide/issues/293), [#298](https://github.com/Byron/gitoxide/issues/298), [#301](https://github.com/Byron/gitoxide/issues/301), [#364](https://github.com/Byron/gitoxide/issues/364), [#366](https://github.com/Byron/gitoxide/issues/366)
### Thanks Clippy
@@ -205,7 +259,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 3 commits contributed to the release over the course of 8 calendar days.
- 12 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -228,7 +282,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 8 commits contributed to the release over the course of 57 calendar days.
- 64 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -256,7 +310,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 7 commits contributed to the release over the course of 12 calendar days.
- 38 days passed between releases.
- - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
+ - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Commit Details
@@ -289,7 +343,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 11 commits contributed to the release over the course of 276 calendar days.
- - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
+ - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' where seen in commit messages
### Thanks Clippy
diff --git a/tests/tools/Cargo.toml b/tests/tools/Cargo.toml
index 7ba363252af..2ec0b8916b3 100644
--- a/tests/tools/Cargo.toml
+++ b/tests/tools/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "git-testtools"
description = "Shared code for gitoxide crates to facilitate testing"
-version = "0.8.0"
+version = "0.9.0"
authors = ["Sebastian Thiel "]
edition = "2018"
license = "MIT OR Apache-2.0"
@@ -14,11 +14,11 @@ path = "src/main.rs"
doctest = false
[dependencies]
-git-hash = { version = "^0.9.9", path = "../../git-hash" }
+git-hash = { version = "^0.9.10", path = "../../git-hash" }
git-lock = { version = "^2.0.0", path = "../../git-lock" }
-git-discover = { version = "^0.4.2", path = "../../git-discover" }
-git-attributes = { version = "^0.3.3", path = "../../git-attributes" }
-git-worktree = { version = "^0.4.3", path = "../../git-worktree" }
+git-discover = { version = "^0.5.0", path = "../../git-discover" }
+git-attributes = { version = "^0.4.0", path = "../../git-attributes" }
+git-worktree = { version = "^0.5.0", path = "../../git-worktree" }
nom = { version = "7", default-features = false, features = ["std"]}
bstr = "1.0.1"