Skip to content

Commit 9fa1054

Browse files
committed
Merge branch 'main' into config-key-take-2
Conflicts --------- gix-config/src/file/init/from_env.rs gix-config/src/parse/mod.rs gix/src/config/cache/access.rs gix/src/config/cache/incubate.rs gix/src/config/overrides.rs gix/src/repository/index.rs
2 parents e09a4ec + 9923542 commit 9fa1054

File tree

934 files changed

+19528
-4191
lines changed

Some content is hidden

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

934 files changed

+19528
-4191
lines changed

.gitattributes

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
**/generated-archives/*.tar.xz filter=lfs-disabled diff=lfs merge=lfs -text
22

3-
# assure line feeds don't interfere with our working copy hash
3+
# assure line feeds don't interfere with our working copy hash
44
**/tests/fixtures/**/*.sh text crlf=input eol=lf
55
/justfile text crlf=input eol=lf
6+
7+
# have GitHub treat the gix-packetline-blocking src copy as auto-generated
8+
gix-packetline-blocking/src/ linguist-generated=true

.github/dependabot.yml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: "/"
5+
schedule:
6+
interval: weekly
7+
groups:
8+
github-actions:
9+
patterns: ["*"]

.github/workflows/ci.yml

+57-30
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
runs-on: ubuntu-latest
3737
container: debian:buster
3838
steps:
39-
- uses: actions/checkout@v3
39+
- uses: actions/checkout@v4
4040
- name: Prerequisites
4141
run: apt-get update && apt-get install --no-install-recommends -y ca-certificates curl gcc libc-dev # gcc is required as OS abstraction
4242
- name: install Rust via Rustup
@@ -47,18 +47,18 @@ jobs:
4747
test:
4848
runs-on: ubuntu-latest
4949
steps:
50-
- uses: actions/checkout@v3
51-
- uses: dtolnay/rust-toolchain@stable
52-
- uses: Swatinem/rust-cache@v2
53-
- name: Setup dependencies
54-
run:
55-
sudo apt-get install tree
56-
- uses: extractions/setup-just@v1
57-
- name: test
58-
env:
59-
CI: true
60-
GITOXIDE_TEST_IGNORE_ARCHIVES: 1
61-
run: just ci-test
50+
- uses: actions/checkout@v4
51+
- uses: dtolnay/rust-toolchain@stable
52+
- uses: Swatinem/rust-cache@v2
53+
- name: Setup dependencies
54+
run:
55+
sudo apt-get install tree
56+
- uses: extractions/setup-just@v2
57+
- name: test
58+
env:
59+
CI: true
60+
GIX_TEST_IGNORE_ARCHIVES: 1
61+
run: just ci-test
6262

6363
test-fast:
6464
strategy:
@@ -69,7 +69,7 @@ jobs:
6969
- ubuntu-latest
7070
runs-on: ${{ matrix.os }}
7171
steps:
72-
- uses: actions/checkout@v3
72+
- uses: actions/checkout@v4
7373
- uses: dtolnay/rust-toolchain@stable
7474
- uses: Swatinem/rust-cache@v2
7575
- name: Setup dependencies (macos)
@@ -79,10 +79,7 @@ jobs:
7979
- name: "cargo check default features"
8080
if: startsWith(matrix.os, 'windows')
8181
run: cargo check --all --bins --examples
82-
- run: |
83-
# it should never be a failure not to get the caches, as they can be regenerated.
84-
git lfs fetch && git lfs checkout || true
85-
- uses: taiki-e/install-action@v1
82+
- uses: taiki-e/install-action@v2
8683
with:
8784
tool: nextest
8885
- name: "Test (nextest)"
@@ -94,15 +91,15 @@ jobs:
9491
matrix:
9592
target: [ armv7-linux-androideabi ]
9693
steps:
97-
- uses: actions/checkout@v3
94+
- uses: actions/checkout@v4
9895
- uses: dtolnay/rust-toolchain@stable
9996
- uses: Swatinem/rust-cache@v2
10097
- name: Install Rust
10198
uses: dtolnay/rust-toolchain@master
10299
with:
103100
toolchain: stable
104101
targets: ${{ matrix.target }}
105-
- uses: taiki-e/install-action@v1
102+
- uses: taiki-e/install-action@v2
106103
with:
107104
tool: cross
108105
- name: "check"
@@ -135,7 +132,7 @@ jobs:
135132
target: i686-pc-windows-gnu
136133
runs-on: ${{ matrix.os }}
137134
steps:
138-
- uses: actions/checkout@v3
135+
- uses: actions/checkout@v4
139136
- name: Install Rust
140137
uses: dtolnay/rust-toolchain@master
141138
with:
@@ -150,20 +147,20 @@ jobs:
150147
- name: "Install prerequisites"
151148
run: vcpkg install zlib:x64-windows-static-md
152149
- name: "Installation from crates.io: gitoxide"
153-
run: cargo +${{ matrix.rust }} install --target ${{ matrix.target }} --target-dir install-artifacts --debug --force gitoxide
150+
run: cargo +${{ matrix.rust }} install --target ${{ matrix.target }} --no-default-features --features max-pure --target-dir install-artifacts --debug --force gitoxide
154151
shell: msys2 {0}
155152

156153
lint:
157154
runs-on: ubuntu-latest
158155
steps:
159-
- uses: actions/checkout@v3
156+
- uses: actions/checkout@v4
160157
- uses: dtolnay/rust-toolchain@master
161158
with:
162159
toolchain: stable
163160
components: clippy,rustfmt
164-
- uses: extractions/setup-just@v1
161+
- uses: extractions/setup-just@v2
165162
- name: Run cargo clippy
166-
run: just clippy -D warnings
163+
run: just clippy -D warnings -A unknown-lints
167164
- name: Run cargo doc
168165
run: just doc
169166
- name: Run cargo fmt
@@ -176,7 +173,7 @@ jobs:
176173
# Let's not fail CI for this, it will fail locally often enough, and a crate a little bigger
177174
# than allows is no problem either if it comes to that.
178175
just check-size || true
179-
176+
180177
cargo-deny:
181178
runs-on: ubuntu-latest
182179
strategy:
@@ -189,10 +186,11 @@ jobs:
189186
continue-on-error: ${{ matrix.checks == 'advisories' }}
190187

191188
steps:
192-
- uses: actions/checkout@v3
193-
- uses: EmbarkStudios/cargo-deny-action@v1
194-
with:
195-
command: check ${{ matrix.checks }}
189+
- uses: actions/checkout@v4
190+
- uses: EmbarkStudios/cargo-deny-action@v1
191+
with:
192+
command: check ${{ matrix.checks }}
193+
196194
wasm:
197195
name: WebAssembly
198196
runs-on: ubuntu-latest
@@ -213,3 +211,32 @@ jobs:
213211
name: crates with 'wasm' feature
214212
- run: cd gix-pack && cargo build --all-features --target ${{ matrix.target }}
215213
name: gix-pack with all features (including wasm)
214+
215+
check-packetline:
216+
strategy:
217+
fail-fast: false
218+
matrix:
219+
os:
220+
- ubuntu-latest
221+
# We consider this script read-only and its effect is the same everywhere.
222+
# However, when changes are made to `etc/copy-packetline.sh`, re-enable the other platforms for testing.
223+
# - macos-latest
224+
# - windows-latest
225+
runs-on: ${{ matrix.os }}
226+
defaults:
227+
run:
228+
shell: bash
229+
steps:
230+
- uses: actions/checkout@v4
231+
- name: Check that working tree is initially clean
232+
run: |
233+
set -x
234+
git status
235+
git diff --exit-code
236+
- name: Regenerate gix-packetline-blocking/src
237+
run: etc/copy-packetline.sh
238+
- name: Check that gix-packetline-blocking/src was already up to date
239+
run: |
240+
set -x
241+
git status
242+
git diff --exit-code

.github/workflows/cifuzz.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
language: rust
1818
fuzz-seconds: 600
1919
- name: Upload Crash
20-
uses: actions/upload-artifact@v3
20+
uses: actions/upload-artifact@v4
2121
if: failure() && steps.build.outcome == 'success'
2222
with:
2323
name: artifacts

.github/workflows/cron.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
stress:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v3
12+
- uses: actions/checkout@v4
1313
- uses: Swatinem/rust-cache@v2
1414
- name: stress
1515
run: make stress

.github/workflows/msrv.yml

+8-3
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,13 @@ jobs:
1818
- windows-2019
1919
- ubuntu-latest
2020
runs-on: ${{ matrix.os }}
21+
env:
22+
# dictated by `firefox` to support the `helix` editor, but now driven by the `time` crate. IMPORTANT: adjust etc/msrv-badge.svg as well
23+
rust_version: 1.67.0
2124
steps:
22-
- uses: actions/checkout@v3
23-
- uses: dtolnay/[email protected] # dictated by `firefox` to support the `helix` editor, but now driven by the `time` crate. IMPORTANT: adjust etc/msrv-badge.svg as well
24-
- uses: extractions/setup-just@v1
25+
- uses: actions/checkout@v4
26+
- uses: extractions/setup-just@v2
27+
- run: |
28+
rustup toolchain install ${{ env.rust_version }} --profile minimal --no-self-update
29+
rustup default ${{ env.rust_version }}
2530
- run: just ci-check-msrv

.github/workflows/release.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
run: echo "${{ env.ARTIFACT_VERSION }}" > artifacts/release-version
6161

6262
- name: Upload artifacts
63-
uses: actions/upload-artifact@v3
63+
uses: actions/upload-artifact@v4
6464
with:
6565
name: artifacts
6666
path: artifacts
@@ -129,7 +129,7 @@ jobs:
129129
runs-on: ${{ matrix.os }}
130130
steps:
131131
- name: Checkout repository
132-
uses: actions/checkout@v3
132+
uses: actions/checkout@v4
133133
with:
134134
fetch-depth: 1
135135

@@ -161,7 +161,7 @@ jobs:
161161
echo "target dir is: ${{ env.TARGET_DIR }}"
162162
163163
- name: Get release download URL
164-
uses: actions/download-artifact@v3
164+
uses: actions/download-artifact@v4
165165
with:
166166
name: artifacts
167167
path: artifacts
@@ -211,7 +211,7 @@ jobs:
211211
fi
212212
213213
- name: Upload release archive
214-
uses: actions/[email protected].1
214+
uses: actions/[email protected].2
215215
env:
216216
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
217217
with:

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@ $/tests/fixtures/commit-graphs/
1818

1919
# newer Git sees these as precious, older Git falls through to the pattern above
2020
$**/fuzz/Cargo.lock
21+
22+
# Instead of adding more environment-specific ignores here, like for the IDE in use, prefer Git's user-global
23+
# `core.excludesFile` mechanism, see https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreexcludesFile.

.gov/info.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ maintainers:
88
- push directly to 'main' branch
99
- reviews or suggestions by other maintainers if PRs are used
1010
- co-ownership of contributed crates
11-
- reveive sponsorship via GitHub from project page
11+
- receive sponsorship via GitHub from project page
1212

1313

0 commit comments

Comments
 (0)