Skip to content

Commit 19771d7

Browse files
committed
Merge branch 'main' into gix-url-parse-rewrite
2 parents 7aed6b3 + f603fd7 commit 19771d7

File tree

842 files changed

+15179
-19048
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

842 files changed

+15179
-19048
lines changed

.cargo/config.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ rustflags = [
55

66
# Clippy lints
77
"-W", "clippy::cloned_instead_of_copied",
8-
"-W", "clippy::explicit_iter_loop",
98
"-W", "clippy::map_unwrap_or",
109
"-W", "clippy::redundant_closure_for_method_calls",
1110
"-W", "clippy::unnested_or_patterns",
@@ -14,6 +13,7 @@ rustflags = [
1413
# Rejected for now, and why
1514
# "-W" "clippy::default_trait_access" - sometimes makes imports necessary, just for a default value. It's good for more explicit typing though.
1615
# "-W" "clippy::range_plus_one" - useful, but caused too many false positives as we use range types directly quite a lot
16+
# "-W", "clippy::explicit_iter_loop", - the cases I saw turned `foo.iter_mut()` into `&mut *foo`
1717

1818

1919
# Rustdoc lints

.github/workflows/ci.yml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
name: ci
22

3+
env:
4+
CARGO_TERM_COLOR: always
5+
CLICOLOR: 1
6+
37
on:
48
push:
59
branches: [ main ]
@@ -106,7 +110,7 @@ jobs:
106110
installation:
107111
strategy:
108112
matrix:
109-
build: [ win-msvc, win-gnu, win32-msvc ]
113+
build: [ win-msvc, win-gnu, win32-msvc, win32-gnu ]
110114
include:
111115
- build: win-msvc
112116
os: windows-latest
@@ -120,6 +124,10 @@ jobs:
120124
os: windows-latest
121125
rust: stable
122126
target: i686-pc-windows-msvc
127+
- build: win32-gnu
128+
os: windows-latest
129+
rust: stable
130+
target: i686-pc-windows-gnu
123131
runs-on: ${{ matrix.os }}
124132
steps:
125133
- uses: actions/checkout@v3
@@ -129,12 +137,16 @@ jobs:
129137
toolchain: ${{ matrix.rust }}
130138
targets: ${{ matrix.target }}
131139
- uses: Swatinem/rust-cache@v2
140+
- uses: msys2/setup-msys2@v2
141+
with:
142+
msystem: MINGW${{ startsWith(matrix.target, 'i686-') && '32' || '64' }}
143+
pacboy: cc:p
144+
path-type: inherit
132145
- name: "Install prerequisites"
133146
run: vcpkg install zlib:x64-windows-static-md
134147
- name: "Installation from crates.io: gitoxide"
135148
run: cargo +${{ matrix.rust }} install --target ${{ matrix.target }} --target-dir install-artifacts --debug --force gitoxide
136-
- name: "Installation from crates.io: cargo-smart-release"
137-
run: cargo +${{ matrix.rust }} install --target ${{ matrix.target }} --target-dir install-artifacts --debug --force cargo-smart-release
149+
shell: msys2 {0}
138150

139151
lint:
140152
runs-on: ubuntu-latest

.github/workflows/msrv.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@ jobs:
2020
runs-on: ${{ matrix.os }}
2121
steps:
2222
- uses: actions/checkout@v3
23-
- uses: dtolnay/[email protected] # dictated by `windows` crates effectively, IMPORTANT: adjust etc/msrv-badge.svg as well
23+
- uses: dtolnay/[email protected] # dictated by `firefox` to support the `helix` editor, IMPORTANT: adjust etc/msrv-badge.svg as well
2424
- uses: extractions/setup-just@v1
2525
- run: just ci-check-msrv

.github/workflows/release.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212

1313
name: release
1414

15+
env:
16+
RUST_BACKTRACE: 1
17+
CARGO_TERM_COLOR: always
18+
CLICOLOR: 1
19+
1520
on:
1621
workflow_dispatch:
1722
push:
@@ -77,7 +82,6 @@ jobs:
7782
EXE_NAME: ein
7883
strategy:
7984
matrix:
80-
# build: [ linux, linux-arm, macos, win-msvc, win-gnu, win32-msvc ]
8185
build: [ linux, linux-arm, macos, win-msvc, win-gnu, win32-msvc ]
8286
feature: [ "small", "lean", "max", "max-pure" ]
8387
include:

CHANGELOG.md

Lines changed: 119 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,125 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## Unreleased
8+
## 0.30.0 (2023-09-24)
9+
10+
<csr-id-d3ac691446c9d029eb4f04d111887fa06720939d/>
11+
<csr-id-ed327f6163f54756e58c20f86a563a97efb256ca/>
12+
13+
This release contains a security fix which assure URLs like `'ssh://-oProxyCommand=open$IFS-aCalculator/foo'` will not execute attacker-controlled
14+
strings. The above can, on MacOS, launch the calculator app when using it with `gix clone` for example, up to v0.29.0.
15+
16+
### New Features
17+
18+
- <csr-id-f094f71dc1a50955552509d108556c01517c6ed6/> `gix status` with basic index-worktree comparison
19+
- <csr-id-3ff5ac0cda9e3e089dc79fdfbff5ff619ee60b1f/> `gix free index from-list` and `gix index from-tree` gain `--skip-hash`.
20+
This flag can be derived from options, but thus far we have no higher-level
21+
writing of the index so this has to do to see the difference in performance.
22+
23+
### Refactor
24+
25+
- <csr-id-d3ac691446c9d029eb4f04d111887fa06720939d/> both `ein` and `gix` now share some code via the `gitoxide` library.
26+
This can slightly improve compile times as well, even though it wasn't measured.
27+
28+
### Chore (BREAKING)
29+
30+
- <csr-id-ed327f6163f54756e58c20f86a563a97efb256ca/> update to the latest `prodash`
31+
It makes proper usage of `Progress` types easier and allows them to be used
32+
as `dyn` traits as well.
33+
34+
### Bug Fixes (BREAKING)
35+
36+
- <csr-id-072ee32f693a31161cd6a843da6582d13efbb20b/> use `dyn` trait where possible.
37+
This reduces compile time due to avoiding duplication.
38+
39+
### Commit Statistics
40+
41+
<csr-read-only-do-not-edit/>
42+
43+
- 13 commits contributed to the release over the course of 27 calendar days.
44+
- 33 days passed between releases.
45+
- 5 commits were understood as [conventional](https://www.conventionalcommits.org).
46+
- 2 unique issues were worked on: [#987](https://github.com/Byron/gitoxide/issues/987), [#992](https://github.com/Byron/gitoxide/issues/992)
47+
48+
### Thanks Clippy
49+
50+
<csr-read-only-do-not-edit/>
51+
52+
[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
53+
54+
### Commit Details
55+
56+
<csr-read-only-do-not-edit/>
57+
58+
<details><summary>view details</summary>
59+
60+
* **[#987](https://github.com/Byron/gitoxide/issues/987)**
61+
- Use a multi-call binary ('uni') to have only one build step ([`4ef9a32`](https://github.com/Byron/gitoxide/commit/4ef9a32307a5e91868161a5f683b6b97ad9ebbdd))
62+
* **[#992](https://github.com/Byron/gitoxide/issues/992)**
63+
- Both `ein` and `gix` now share some code via the `gitoxide` library. ([`d3ac691`](https://github.com/Byron/gitoxide/commit/d3ac691446c9d029eb4f04d111887fa06720939d))
64+
* **Uncategorized**
65+
- Merge branch 'reset' ([`54a8495`](https://github.com/Byron/gitoxide/commit/54a849545140f7f1c0c7564c418071c0a76a34e7))
66+
- `gix status` with basic index-worktree comparison ([`f094f71`](https://github.com/Byron/gitoxide/commit/f094f71dc1a50955552509d108556c01517c6ed6))
67+
- Merge branch `dyn`ification ([`f658fcc`](https://github.com/Byron/gitoxide/commit/f658fcc52dc2200ae34ca53dc10be97fb9012057))
68+
- Use `dyn` trait where possible. ([`072ee32`](https://github.com/Byron/gitoxide/commit/072ee32f693a31161cd6a843da6582d13efbb20b))
69+
- Update to the latest `prodash` ([`ed327f6`](https://github.com/Byron/gitoxide/commit/ed327f6163f54756e58c20f86a563a97efb256ca))
70+
- Merge branch 'adjustments-for-cargo' ([`b7560a2`](https://github.com/Byron/gitoxide/commit/b7560a2445b62f888bf5aa2ba4c5a47ae037cb23))
71+
- Merge branch 'fixes' ([`4bfd1cc`](https://github.com/Byron/gitoxide/commit/4bfd1cc8f7922a8c4de6b9d078d54b93e78f51ff))
72+
- Thanks clippy ([`0d6d4ec`](https://github.com/Byron/gitoxide/commit/0d6d4ec8030d2e8f4c7a9d6f421d54776c4b67fb))
73+
- Adapt to changes in `gix-index` and pass skip-hash through for performance.. ([`713cd59`](https://github.com/Byron/gitoxide/commit/713cd59f0b1eff6397b80f1e1fceec278532fd59))
74+
- `gix free index from-list` and `gix index from-tree` gain `--skip-hash`. ([`3ff5ac0`](https://github.com/Byron/gitoxide/commit/3ff5ac0cda9e3e089dc79fdfbff5ff619ee60b1f))
75+
- Add more configuration variables prior to potentially using them; remove `index.skipHash` ([`773b6e3`](https://github.com/Byron/gitoxide/commit/773b6e3d5b69f819805fc77e963ec2a059bf40be))
76+
</details>
77+
78+
## 0.29.0 (2023-08-22)
79+
80+
### New Features
81+
82+
- <csr-id-1ccbe16117d58b68b25a8e3e66676a61a07dd49c/> `gix submodule` subcommand for simple submodule listing and information retrieval
83+
- <csr-id-6bc69e37deb3ebd88af8b0e8ffb9661562dcc679/> `gix index entries --recurse-subomdules` to also list submodules.
84+
- <csr-id-c30ac0c9f89fb4480c8f8c8c0c06fa046dcd4314/> `gix index entries` with styles and pathspecs.
85+
This adds support for more simple git style, which is faster and thus
86+
allows for more direct comparisons to `git ls-files`.
87+
- <csr-id-f194cfc920cc8622215bab5aa6b7b87e4fb9d7b2/> use real pathspecs where it was supported before.
88+
- <csr-id-cd6cfe4049bacd8d8a691668b5501a673867f149/> add `gix commit verify-signature` to do something akin to `git ... --show-signature`.
89+
90+
### Commit Statistics
91+
92+
<csr-read-only-do-not-edit/>
93+
94+
- 20 commits contributed to the release over the course of 15 calendar days.
95+
- 30 days passed between releases.
96+
- 5 commits were understood as [conventional](https://www.conventionalcommits.org).
97+
- 0 issues like '(#ID)' were seen in commit messages
98+
99+
### Commit Details
100+
101+
<csr-read-only-do-not-edit/>
102+
103+
<details><summary>view details</summary>
104+
105+
* **Uncategorized**
106+
- Merge branch 'gix-submodule' ([`8f3f358`](https://github.com/Byron/gitoxide/commit/8f3f358800f1fe77d7ba7ebd396a90b692d3c0c1))
107+
- `gix submodule` subcommand for simple submodule listing and information retrieval ([`1ccbe16`](https://github.com/Byron/gitoxide/commit/1ccbe16117d58b68b25a8e3e66676a61a07dd49c))
108+
- Just fmt ([`0d258f4`](https://github.com/Byron/gitoxide/commit/0d258f40afcd848509e2b0c7c264e9f346ed1726))
109+
- Merge branch 'submodule-in-gix' ([`36f7b78`](https://github.com/Byron/gitoxide/commit/36f7b783c67b8a087076a130f5ee9b90b23bc3cc))
110+
- `gix index entries --recurse-subomdules` to also list submodules. ([`6bc69e3`](https://github.com/Byron/gitoxide/commit/6bc69e37deb3ebd88af8b0e8ffb9661562dcc679))
111+
- Merge branch 'submodule-active' ([`a3afaa4`](https://github.com/Byron/gitoxide/commit/a3afaa42741616a0f1abeef9b54557e7c2b800cb))
112+
- Adapt to changes in `gix` ([`ca972a2`](https://github.com/Byron/gitoxide/commit/ca972a244c9b074a2dc89ff3bbf83df0c3853904))
113+
- Use `Defaults::from_environment()` when parsing pathspecs. ([`2a99034`](https://github.com/Byron/gitoxide/commit/2a99034bf451b1a801650b80705c96ce4c9e61c1))
114+
- Optimize startup times of `gix index entries` ([`22477bd`](https://github.com/Byron/gitoxide/commit/22477bdcf37419627dbb7afe0df166935825ad2b))
115+
- Merge branch 'pathspec-matching' ([`9f4dfe0`](https://github.com/Byron/gitoxide/commit/9f4dfe0f0b948280692916b596923959ea2fd9da))
116+
- `gix index entries` with styles and pathspecs. ([`c30ac0c`](https://github.com/Byron/gitoxide/commit/c30ac0c9f89fb4480c8f8c8c0c06fa046dcd4314))
117+
- Use real pathspecs where it was supported before. ([`f194cfc`](https://github.com/Byron/gitoxide/commit/f194cfc920cc8622215bab5aa6b7b87e4fb9d7b2))
118+
- Merge branch 'handlers-mt' ([`f584d76`](https://github.com/Byron/gitoxide/commit/f584d7698d93836daef2000fd369034de46037f0))
119+
- Adapt to changes in `gix` ([`a201f0d`](https://github.com/Byron/gitoxide/commit/a201f0d45936826ef26ac815acb9d2efbb3d5c68))
120+
- Merge branch 'extract-signatures' ([`b37affe`](https://github.com/Byron/gitoxide/commit/b37affefecfb30a94431cd21dae6659004ca6244))
121+
- Add `gix commit verify-signature` to do something akin to `git ... --show-signature`. ([`cd6cfe4`](https://github.com/Byron/gitoxide/commit/cd6cfe4049bacd8d8a691668b5501a673867f149))
122+
- Merge branch 'archive-gz' ([`c7d9129`](https://github.com/Byron/gitoxide/commit/c7d912917a2dad5c076d0bd645cfda092c66ff79))
123+
- Adapt to changes in `gix-archive` ([`feba76d`](https://github.com/Byron/gitoxide/commit/feba76d636e3d177c41f120639980f8b46edfcaa))
124+
- Merge branch 'submodules' ([`b629f8a`](https://github.com/Byron/gitoxide/commit/b629f8a774931d58c0a9b124fa75f85807c6c5d1))
125+
- `.gitmodule` file abstraction ([`6a2e6a4`](https://github.com/Byron/gitoxide/commit/6a2e6a436f76c8bbf2487f9967413a51356667a0))
126+
</details>
9127

10128
## 0.28.0 (2023-07-22)
11129

0 commit comments

Comments
 (0)