Update gix from 0.71.0 to 0.74.1 (#2745)

* Update gix from 0.71.0 to 0.74.1

* Bump MSRC from 1.81 to 1.82

This is required by `gitoxide` 0.74.

* Address clippy issues

* Add getrandom and rustix to deny.toml

* Document reasons for ignoring duplicates
This commit is contained in:
Christoph Rüßler 2025-10-27 18:37:30 +01:00 committed by GitHub
parent e5ebb2239f
commit db211e5ac7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 333 additions and 243 deletions

View file

@ -1,2 +1,2 @@
msrv = "1.81.0"
msrv = "1.82.0"
cognitive-complexity-threshold = 18

View file

@ -17,7 +17,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
rust: [nightly, stable, "1.81"]
rust: [nightly, stable, "1.82"]
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.rust == 'nightly' }}
@ -92,7 +92,7 @@ jobs:
strategy:
fail-fast: false
matrix:
rust: [nightly, stable, "1.81"]
rust: [nightly, stable, "1.82"]
continue-on-error: ${{ matrix.rust == 'nightly' }}
steps:
- uses: actions/checkout@v4
@ -144,7 +144,7 @@ jobs:
strategy:
fail-fast: false
matrix:
rust: [nightly, stable, "1.81"]
rust: [nightly, stable, "1.82"]
continue-on-error: ${{ matrix.rust == 'nightly' }}
steps:
- uses: actions/checkout@v4
@ -195,7 +195,7 @@ jobs:
strategy:
fail-fast: false
matrix:
rust: [nightly, stable, "1.81"]
rust: [nightly, stable, "1.82"]
continue-on-error: ${{ matrix.rust == 'nightly' }}
steps:
- uses: actions/checkout@v4

View file

@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased
* execute git-hooks directly if possible (on *nix) else use sh instead of bash (without reading SHELL variable) [[@Joshix](https://github.com/Joshix-1)] ([#2483](https://github.com/extrawurst/gitui/pull/2483))
* increase MSRV from 1.81 to 1.82 [[@cruessler](https://github.com/cruessler)]
### Added
* Files and status tab support pageUp and pageDown [[@fatpandac](https://github.com/fatpandac)] ([#1951](https://github.com/extrawurst/gitui/issues/1951))

528
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -4,7 +4,7 @@ version = "0.27.0"
authors = ["extrawurst <mail@rusticorn.com>"]
description = "blazing fast terminal-ui for git"
edition = "2021"
rust-version = "1.81"
rust-version = "1.82"
exclude = [".github/*", ".vscode/*", "assets/*"]
homepage = "https://github.com/gitui-org/gitui"
repository = "https://github.com/gitui-org/gitui"
@ -57,8 +57,7 @@ log = "0.4"
notify = "8"
notify-debouncer-mini = "0.6"
once_cell = "1"
# pin until upgrading this does not introduce a duplicate dependency
parking_lot_core = "=0.9.10"
parking_lot_core = "0.9"
ratatui = { version = "0.29", default-features = false, features = [
'crossterm',
'serde',

View file

@ -220,7 +220,7 @@ see [NIGHTLIES.md](./NIGHTLIES.md)
### Requirements
- Minimum supported `rust`/`cargo` version: `1.81`
- Minimum supported `rust`/`cargo` version: `1.82`
- See [Install Rust](https://www.rust-lang.org/tools/install)
- To build openssl dependency (see https://docs.rs/openssl/latest/openssl/)

View file

@ -24,7 +24,7 @@ easy-cast = "0.5"
fuzzy-matcher = "0.3"
git2 = "0.20"
git2-hooks = { path = "../git2-hooks", version = ">=0.5" }
gix = { version = "0.71.0", default-features = false, features = [
gix = { version = "0.74.1", default-features = false, features = [
"max-performance",
"revision",
"mailmap",

View file

@ -55,7 +55,7 @@ impl AsyncTags {
fn is_outdated(&self, dur: Duration) -> bool {
self.last
.as_ref()
.map_or(true, |(last_time, _)| last_time.elapsed() > dur)
.is_none_or(|(last_time, _)| last_time.elapsed() > dur)
}
///

View file

@ -49,4 +49,17 @@ skip-tree = [
# currently needed due to:
# * `gix-hashtable v0.6.0`
{ name = "hashbrown" },
# 2022-10-26 `getrandom` and `rustix` were added when `gitoxide` was
# upgraded from 0.71.0 to 0.74.1.
# currently needed due to:
# * `tempfile v3.23.0`
# * `rand_core v0.6.4`
# * `redox_users v0.5.0`
{ name = "getrandom" },
# currently needed due to:
# * `crossterm v0.28.1`
# * `which v7.0.2`
# * `gix-index v0.42.1`
# * `tempfile v3.23.0`
{ name = "rustix" },
]

View file

@ -309,7 +309,7 @@ impl FileTreeItems {
if prefix
.as_ref()
.map_or(true, |prefix| item_path.starts_with(prefix))
.is_none_or(|prefix| item_path.starts_with(prefix))
{
self.tree_items[i].info_mut().set_visible(true);
} else {

View file

@ -627,8 +627,7 @@ impl CommitList {
let filtered_branches: Vec<_> = remote_branches
.iter()
.filter(|remote_branch| {
self.local_branches.get(&e.id).map_or(
true,
self.local_branches.get(&e.id).is_none_or(
|local_branch| {
local_branch.iter().any(|local_branch| {
let has_corresponding_local_branch =

View file

@ -446,7 +446,7 @@ impl StatusTree {
}
if prefix
.map_or(true, |prefix| item_path.starts_with(prefix))
.is_none_or(|prefix| item_path.starts_with(prefix))
{
self.tree[i].info.visible = true;
} else {

View file

@ -66,7 +66,7 @@ impl FuzzyFindPopup {
} else if self
.query
.as_ref()
.map_or(true, |q| q != self.find_text.get_text())
.is_none_or(|q| q != self.find_text.get_text())
{
self.set_query(Some(
self.find_text.get_text().to_string(),

View file

@ -613,7 +613,7 @@ impl Status {
let is_ahead = self
.git_branch_state
.as_ref()
.map_or(true, |state| state.ahead > 0);
.is_none_or(|state| state.ahead > 0);
is_ahead && self.remotes.has_remote_for_push
}

View file

@ -61,7 +61,7 @@ impl AsyncProgressBuffer {
pub fn update(&mut self, current: usize) -> bool {
self.current = current;
self.last_send.map_or(true, |last_send| {
self.last_send.is_none_or(|last_send| {
last_send.elapsed() > self.min_interval
})
}