Commit Graph
2622 Commits
Author SHA1 Message Date
extrawurst ee1bcd1eb3 add e2e test covering gpg (#2986) 2026-07-02 10:10:49 +02:00
7a397b0c25 feat: support x509 commit signing (#2844)
* feat: support x509 commit signing

* fix changelog

* add e2e test

---------

Co-authored-by: extrawurst <[email protected]>
Co-authored-by: rusticorn <[email protected]>
2026-07-02 00:13:43 +02:00
Federico Guerinoniandextrawurst 5583cc986b feat(reword): support gpg signing for non-HEAD commits (#2959)
Rewording any commit older than HEAD used to fail with
SignRewordNonLastCommit as soon as commit.gpgsign was enabled, because
git2's rebase API has no way to sign the commits it produces. The
behaviour matched neither git CLI nor user expectation, so anyone
relying on signing had to drop down to the shell to fix a typo a few
commits back.

Co-authored-by: extrawurst <[email protected]>
2026-07-01 12:43:04 +02:00
Sai Asish Yandextrawurst 8b7a74ead1 fix: avoid index-out-of-bounds panic in staging apply_selection (#2955)
Co-authored-by: extrawurst <[email protected]>
2026-07-01 12:00:13 +02:00
rusticorn c6b370f096 fix(ci): collapse inline tables to single line for rust 1.88
The tombi 'fmt' left multi-line inline tables in Cargo.toml, which are
TOML 1.1 syntax that Cargo on our MSRV (rust 1.88) rejects with
'invalid inline table'. tombi.toml already caps line-width so tombi
keeps these single-line going forward.
2026-07-01 11:34:25 +02:00
rusticorn 328ecfb362 tombi config 2026-07-01 11:22:48 +02:00
extrawurst 8ed70068e6 fix ci lint (#2985) 2026-07-01 10:26:01 +02:00
Christoph Rüßler 9613d153aa Update git2 to 0.21 across crates (#2962)
* Update git2 to 0.21 across crates

* Use feature https for git2

* Apply clippy suggestions

* Run cargo fmt

* Apply clippy suggestions
2026-06-16 08:22:18 +02:00
Pierre Bouillonandrusticorn 4f97fb5b1c Automatically convert spaces to dashes in branch names (#2916)
* Automatically convert spaces to dashes in branch names

* cargo fmt

* docs(changelog): add an entry for the new feature

---------

Co-authored-by: rusticorn <[email protected]>
2026-05-26 12:54:49 +02:00
WaterWhisperer 8619c07f3f Open editor in diff view (#2904) 2026-04-10 19:38:29 +01:00
Christoph Rüßler 7c538e3873 Add first snapshot tests using insta (#2813) 2026-04-07 10:33:43 +01:00
extrawurst b1db21e10a fix panic when opening submodule (#2896)
this is caused by us dropping the git notify channel and creating a new one when opening the submodule.

closes #2895
2026-03-31 12:38:05 +01:00
extrawurst 1083006a55 cleanup deny ignore
after we finally upgraded ratatui
2026-03-31 12:09:57 +01:00
Jean-Yves LENHOF 693defde15 docs(README): add mise alternative method installation (#2817) 2026-03-29 20:17:28 +01:00
pm100 8b2de1171b migrate from tui-textarea to ratatui-textarea (#2889) 2026-03-29 00:45:37 +01:00
extrawurst 0cf38b5def use tombi for toml formatting (#2894) 2026-03-28 21:02:05 +01:00
extrawurst a57cbf2806 fix changelog 2026-03-25 10:29:03 +01:00
Tillerinoandextrawurst 3ad42d23c4 take "error" result from binary search into account (#2767)
Co-authored-by: extrawurst <[email protected]>
2026-03-25 10:27:25 +01:00
extrawurst e24fb45df1 version bump and formatting v0.28.1 2026-03-25 00:15:29 +01:00
extrawurst 6aeffb4be8 cargo sort 2026-03-21 12:55:31 +00:00
extrawurst 09b68f8f5b more cargo pumps v0.28.1-rc.1 2026-03-21 12:49:38 +00:00
extrawurst 98e130f8c8 release prep 2026-03-21 12:45:40 +00:00
extrawurst d47f29effb update chrono two-face and anyhow (#2881) 2026-03-20 12:47:53 +00:00
49555ce966 perf: prevent repeated status fetches in large repos (#2824)
* perf: prevent repeated status fetches in large repos

Replace time-based cache invalidation with a generation counter.

The old `StatusParams` included a millisecond timestamp (tick) in its
hash, causing the cache to invalidate on every UI tick. For large repos
with millions of files, this led to repeated index loading and 5+ minute load times.

This change uses a different strategy to manage cache invalidation:
- Remove tick from StatusParams hash
- Add generation counter that increments after each fetch completes
- Include generation in cache hash

This ensures:
- No repeated fetches while one is already pending, making gitui usable
  in large repos
- New fetch starts immediately after completion, keeping gitui responsive
  in small repos
- External file changes will still be detected on the next fetch cycle

* fix changelog

---------

Co-authored-by: Daniel Stoll <[email protected]>
Co-authored-by: extrawurst <[email protected]>
Co-authored-by: extrawurst <[email protected]>
2026-03-20 01:12:14 +00:00
hlsxxandextrawurst 3cf7a818d1 feat: build.rs version message (#2839)
* feat: build.rs version message

* doc: changelog

---------

Co-authored-by: extrawurst <[email protected]>
2026-03-20 00:35:21 +00:00
extrawurst b18becdec6 bump env_logger (#2880) 2026-03-20 00:17:31 +00:00
xvchris 06a3f660b2 fix: guard rename/update_url actions against empty remote list (#2870)
* fix: guard rename/update_url actions against empty remote list

The rename_remote() and update_remote_url() event handlers in
RemoteListPopup did not check valid_selection() before indexing
into self.remote_names, causing a panic (index out of bounds)
when no remotes are configured.

The delete_remote() handler already had this guard. This commit
adds the same valid_selection() check to the other two handlers
for consistency.

Fixes #2868
Fixes #2869

* chore: add changelog entry and sort Cargo.toml dependencies

* revert: restore original Cargo.toml formatting
2026-03-19 22:51:09 +00:00
Ang 09d6726675 Fix typos (#2649)
Found via `typos --hidden --format brief`
2026-03-19 22:29:53 +00:00
extrawurst 5d6731326e Rust msrv bump to 1.88 (#2879) 2026-03-19 18:33:52 +00:00
extrawurst 268d8ab175 fix time CVE 2026-03-19 15:34:03 +00:00
extrawurst 28cd5e7bb2 clippy fixes 2026-03-19 14:13:55 +00:00
dependabot[bot] e29b9010e5 Bump clap from 4.5.56 to 4.5.57 (#2857)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.56 to 4.5.57.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.56...clap_complete-v4.5.57)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.57
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-04 07:06:47 -05:00
dependabot[bot] 485708539e Bump git2 from 0.20.3 to 0.20.4 (#2856)
Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.20.3 to 0.20.4.
- [Changelog](https://github.com/rust-lang/git2-rs/blob/git2-0.20.4/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-0.20.3...git2-0.20.4)

---
updated-dependencies:
- dependency-name: git2
  dependency-version: 0.20.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-03 08:04:25 -05:00
dependabot[bot] 84d39309db Bump clap from 4.5.55 to 4.5.56 (#2855)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.55 to 4.5.56.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.55...clap_complete-v4.5.56)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.56
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-30 09:54:21 -05:00
dependabot[bot] 96cac13013 Bump clap from 4.5.53 to 4.5.55 (#2854)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.53 to 4.5.55.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.53...clap_complete-v4.5.55)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.55
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-28 13:29:20 -05:00
Christoph Rüßler b65de976e6 Fix clippy issues on nightly (#2852)
This fixes issues found by `clippy 0.1.95 (f134bbc78d 2026-01-24)`.
2026-01-25 16:20:23 -05:00
dependabot[bot] 13d75df6cd Bump gix from 0.77.0 to 0.78.0 (#2849) 2026-01-23 21:05:05 +01:00
dependabot[bot] 054c09a089 Bump thiserror from 2.0.17 to 2.0.18 (#2847)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.17 to 2.0.18.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.17...2.0.18)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-version: 2.0.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-19 14:22:12 -05:00
extrawurst 1c118d75f3 proper pre-push hook implementation (#2811) 2026-01-18 17:37:45 +01:00
dependabot[bot] 7747d829cc Bump unicode-truncate from 2.0.0 to 2.0.1 (#2846)
Bumps [unicode-truncate](https://github.com/Aetf/unicode-truncate) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/Aetf/unicode-truncate/releases)
- [Changelog](https://github.com/Aetf/unicode-truncate/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Aetf/unicode-truncate/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: unicode-truncate
  dependency-version: 2.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 07:57:22 -05:00
extrawurst d3dda1ec92 use nextest (#2833) 2026-01-15 17:29:15 -05:00
dependabot[bot] 71208ed570 Bump the cargo-minor group across 1 directory with 2 updates (#2836)
Bumps the cargo-minor group with 2 updates in the / directory: [indexmap](https://github.com/indexmap-rs/indexmap) and [serial_test](https://github.com/palfrey/serial_test).


Updates `indexmap` from 2.12.1 to 2.13.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.12.1...2.13.0)

Updates `serial_test` from 3.2.0 to 3.3.1
- [Release notes](https://github.com/palfrey/serial_test/releases)
- [Commits](https://github.com/palfrey/serial_test/compare/v3.2.0...v3.3.1)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-version: 2.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: serial_test
  dependency-version: 3.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-13 11:09:41 -05:00
extrawurst 450caed840 add ignore for another CVE 2026-01-10 12:28:42 -05:00
dependabot[bot]andChristoph Rüßler 68ca5701f1 Bump gix from 0.75.0 to 0.77.0 (#2826)
* Bump gix from 0.75.0 to 0.77.0

Bumps [gix](https://github.com/GitoxideLabs/gitoxide) from 0.75.0 to 0.77.0.
- [Release notes](https://github.com/GitoxideLabs/gitoxide/releases)
- [Changelog](https://github.com/GitoxideLabs/gitoxide/blob/main/CHANGELOG.md)
- [Commits](https://github.com/GitoxideLabs/gitoxide/compare/gix-v0.75.0...gix-v0.77.0)

---
updated-dependencies:
- dependency-name: gix
  dependency-version: 0.77.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Adapt to API changes

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Christoph Rüßler <[email protected]>
2026-01-10 12:07:36 -05:00
dependabot[bot] d68f366b1b Bump tempfile from 3.23.0 to 3.24.0 in the cargo-minor group (#2819)
Bumps the cargo-minor group with 1 update: [tempfile](https://github.com/Stebalien/tempfile).


Updates `tempfile` from 3.23.0 to 3.24.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.23.0...v3.24.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-version: 3.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-31 10:58:25 -05:00
Christoph Rüßler 7f9aa97ada Don't stop status iter on error, log warning instead (#2821) 2025-12-31 10:55:31 -05:00
extrawurst 463c411db5 svg logo 2025-12-18 14:41:21 -05:00
extrawurst 18624da9ed try fixing homebrew ci step (#2814) 2025-12-17 19:13:31 -05:00
extrawurst 050b6ed620 make lfs support 1.0 featre 2025-12-17 19:09:48 -05:00
extrawurst 1099f11ff8 update readme 2025-12-17 19:08:04 -05:00