Skip to content

Commit a5b31eb

Browse files
committed
Auto merge of #13592 - Byron:gix-for-list-files-git, r=arlosi
Use `gitoxide` for `list_files_git` Related to #10150. ### Tasks * [x] update `gix` to v0.60 * [x] assure this is tested (currently only git-tests run with `git2` and `gitoxide`) * [x] allow `list_files_git` to use `gitoxide` if it is enabled as feature. * [x] use dirwalk iterator * [x] use new release of `gix` with necessary updates ### Review Notes As this PR has come a long way, I decided to keep a few of the steps leading up to the final state, showing the PR's evolution in the hope it helps the review. * Would it be better to simply use `gitoxide` for this without a switch? I don't think it will cause more trouble than `git2`, and if there is an issue I will fix it with priority. * In one test, the walk resolves a symlink to a submodule to individual files, including the `.git/*` folder contained in the submodule which is ignored by the walk, i.e. `submodule/*` does not contain it, but `submodule-link/*` does. This is fixed in the gitoxide version, and the `git2` version. * I noticed that symlinks are resolved for packaging *and* are allowed to point to anywhere, even outside of package root. I left it, but felt that maybe this should be reconsidered. ### Remarks * I love the test-suite! It's incredibly exhaustive to the point where it uncovers shortcomings in `gitoxide`, which I greatly appreciate. * I also love `git2` as it's API for many things leads to pretty idiomatic code, and sometimes I really have to work to match it. The example here is the initial `dirwalk()` method which requires a delegate as it doesn't just collect into a `Vec` like `git2` does (for good reason). Turning that into an iterator via `dirwalk_iter()` makes it far more usable, and will definitely be good for performance as the dirwalk work is offloaded into its own thread.
2 parents 77506e5 + 9178160 commit a5b31eb

File tree

6 files changed

+369
-153
lines changed

6 files changed

+369
-153
lines changed

.github/renovate.json5

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,6 @@
6767
internalChecksFilter: 'strict',
6868
groupName: 'msrv',
6969
},
70-
{
71-
matchManagers: [
72-
'cargo',
73-
],
74-
matchPackageNames: [
75-
'gix-features-for-configuration-only',
76-
'gix',
77-
],
78-
groupName: 'gix',
79-
},
8070
// Goals:
8171
// - Rollup safe upgrades to reduce CI runner load
8272
// - Have lockfile and manifest in-sync (implicit rules)

0 commit comments

Comments
 (0)