Skip to content

git-repository diff API #535

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 48 commits into from
Sep 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
6ac7dbe
refactor (#470)
Byron Sep 19, 2022
a938fe4
refactor (#470)
Byron Sep 19, 2022
c857b9b
diff platform for basic diff configuration (#470)
Byron Sep 19, 2022
e51f3cd
break through API surface and sketch delegate calling user-provided f…
Byron Sep 19, 2022
5be96b3
allow user callbacks to have any error (#470)
Byron Sep 19, 2022
a9056fd
first test for simple file modification detection (#470)
Byron Sep 19, 2022
7fd9b0e
Provisions for tracking the location of a change. (#470)
Byron Sep 19, 2022
88c4a57
Support for file-name tracking (#470)
Byron Sep 19, 2022
d04807b
improved usability of the `Action` enum (#470)
Byron Sep 19, 2022
9b7aaa0
fix docs (#470)
Byron Sep 19, 2022
90b9c90
refactor (#470)
Byron Sep 19, 2022
9d01fb4
refactor (#470)
Byron Sep 19, 2022
ae38660
fix: rev-spec parsing can now handle the empty tree as full hex hash.…
Byron Sep 19, 2022
64bbb3d
Support for Path tracking (#470)
Byron Sep 19, 2022
0670468
performance note (#470)
Byron Sep 19, 2022
963055b
Slightly improved docs for traversal docs. (#470)
Byron Sep 19, 2022
e164856
feat: forward line-diffing capabilities curtesy of the `similar` crat…
Byron Sep 19, 2022
8c2e5c6
feat: Once a change is obtained, it's easy to obtain changes line by …
Byron Sep 19, 2022
6b2af57
feat: Make it possible to access the current commits buffer during co…
Byron Sep 19, 2022
1027be9
feat: `interrupt::Iter` now allows accessing the inner iterator witho…
Byron Sep 19, 2022
28c4cae
feat: `ein tool hours --stat` to collect additional statistics per au…
Byron Sep 19, 2022
5878ad1
a little more complexity for diff tests (#470)
Byron Sep 19, 2022
523418f
feat: add support for `wasi` (#470)
Byron Sep 20, 2022
15a18e4
simplify looking up entries by path (#470)
Byron Sep 20, 2022
79c2255
rename!: `Tree::lookup_path()` -> `Tree::lookup_entry()`. (#470)
Byron Sep 20, 2022
5ec714f
adapt to changes in `git-repository` (#470)
Byron Sep 20, 2022
b285097
Add note on why we consume the tree for looking up an entry. (#470)
Byron Sep 20, 2022
77ff8ae
thanks clippy
Byron Sep 20, 2022
593f57b
fix docs (#470)
Byron Sep 20, 2022
0ac4a2c
upgrade to prodash 20.1 for `Progress::counter()` feature (#470)
Byron Sep 20, 2022
0871a96
feat: `Object::peel_to_tree()` as convenience method. (#470)
Byron Sep 20, 2022
0947c70
First attempt to get progress information from stat worker. (#470)
Byron Sep 20, 2022
67ec2c7
working progress printing (#470)
Byron Sep 20, 2022
b8f2f8b
feat: `ein tool hours -s` shows statistics about files added/removed/…
Byron Sep 20, 2022
ffd4f0f
avoid binary search if there is nothing to find (#470)
Byron Sep 20, 2022
3c7c9a7
change: `ein tool hours -s` was split into `-f|--file-stats` and `-l|…
Byron Sep 20, 2022
0614318
show discovered file chnages in real-time (#470)
Byron Sep 20, 2022
84eb777
collect changes lines as well (#470)
Byron Sep 20, 2022
cb53324
make stat extractions interruptable (#470)
Byron Sep 20, 2022
e3e3211
refactor (#470)
Byron Sep 20, 2022
e27b65a
replace `flume` with `crossbeam-channel` as it's already in the depen…
Byron Sep 20, 2022
2a3c5b0
only diff files that are probably not a binary file (as per extension…
Byron Sep 20, 2022
bf63a13
percentages for files and lines added (#470)
Byron Sep 20, 2022
47e2370
Some tests to pin the new statistical capabilities (#470)
Byron Sep 20, 2022
caa7a1b
update changelogs prior to release (#470)
Byron Sep 20, 2022
29a043b
Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-…
Byron Sep 20, 2022
9a8369d
fix dependency declaration (#470)
Byron Sep 20, 2022
f5c36d8
Release git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-cr…
Byron Sep 20, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 80 additions & 18 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

- <csr-id-3c7c9a735f5771ef787cbc86b46cbafc9226f4d6/> `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

- <csr-id-28c4cae70aab2bd5b479961fcc6ee91ff80f651b/> `ein tool hours --stat` to collect additional statistics per author.
Note that these are expensive and unconditionally use threads to speed
up these computations.
- <csr-id-5d0332f51c63c5456a28c8f3f466ad805b2e0626/> `ein tool hours -b` ignores bots.
For now it only considers bots with names containing `[bot]`.

### Commit Statistics

<csr-read-only-do-not-edit/>

- 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

<csr-read-only-do-not-edit/>

<details><summary>view details</summary>

* **[#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))
</details>

## 0.15.0 (2022-08-24)

<csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/>
Expand Down Expand Up @@ -33,9 +94,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

<csr-read-only-do-not-edit/>

- 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
Expand All @@ -51,6 +112,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
<details><summary>view details</summary>

* **[#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))
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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)
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -667,7 +729,7 @@ Many small and possibly breaking changes are not mentioned here.
<csr-read-only-do-not-edit/>

- 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
Expand Down
Loading