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 Guerinoni and extrawurst
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 Y and extrawurst
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
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
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
0cf38b5def
use tombi for toml formatting ( #2894 )
2026-03-28 21:02:05 +01:00
extrawurst
6aeffb4be8
cargo sort
2026-03-21 12:55:31 +00:00
extrawurst
09b68f8f5b
more cargo pumps
2026-03-21 12:49:38 +00:00
extrawurst
98e130f8c8
release prep
2026-03-21 12:45:40 +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
extrawurst
5d6731326e
Rust msrv bump to 1.88 ( #2879 )
2026-03-19 18:33:52 +00:00
extrawurst
28cd5e7bb2
clippy fixes
2026-03-19 14:13:55 +00: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
extrawurst
1c118d75f3
proper pre-push hook implementation ( #2811 )
2026-01-18 17:37:45 +01: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
dependabot[bot] and Christoph 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
Christoph Rüßler
7f9aa97ada
Don't stop status iter on error, log warning instead ( #2821 )
2025-12-31 10:55:31 -05:00
extrawurst
c06235a1d5
bump git2-hooks
2025-12-14 15:01:52 -05:00
extrawurst
197bcb5fc9
version bumps for release 0.28
2025-12-14 14:57:20 -05:00
Fatpandac
3082396bf1
Support choosing checkout branch method when status is not empty ( #2494 )
2025-11-28 18:36:40 -03:00
Christoph Rüßler
a6d6f31885
Overwrite committer on amend when gpgsign = false ( #2792 )
2025-11-28 17:11:22 -03:00
Christoph Rüßler
3de0b23ef2
Take workdir into account in gix_repo ( #2789 )
...
* Use gix_repo in get_tags
* Take workdir into account in gix_repo
2025-11-27 12:12:08 -03:00
Christoph Rüßler
8a57155c4d
Add test for gix_repo respecting workdir ( #2790 )
2025-11-27 07:43:34 -03:00
xlai89 and extrawurst
cb17cfe105
feat: support pre-push hooks ( #2737 )
...
Co-authored-by: extrawurst <[email protected] >
2025-10-31 08:57:27 +01:00
extrawurst
2374e00302
validate path on startup for gix aswell ( #2768 )
...
so far we only try to open using the legacy libgit2 based one
2025-10-29 22:07:46 +01:00
extrawurst
58490961c5
update log ( #2766 )
2025-10-29 15:27:28 +01:00
extrawurst
1032cccd55
cleanup format strings ( #2765 )
2025-10-29 13:58:27 +01:00
extrawurst
6bb216c0d4
fix warnings and deny deprecated ( #2753 )
...
* fix gitoxide warning
* do not allow deprecated fn
2025-10-28 18:03:19 +01:00
linkmauve and extrawurst
88ace76db5
Fix typos ( #2740 )
...
Thanks to typos for finding those!
Co-authored-by: extrawurst <[email protected] >
2025-10-28 16:35:05 +01:00
linkmauve
26a38183cf
Fix all mismatched_lifetime_syntaxes warnings ( #2727 )
2025-10-28 16:34:42 +01:00
dependabot[bot] and extrawurst
5f23781c10
Bump the cargo-minor group across 1 directory with 8 updates ( #2750 )
...
Bumps the cargo-minor group with 7 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [bitflags](https://github.com/bitflags/bitflags ) | `2.9.1` | `2.10.0` |
| [bytesize](https://github.com/bytesize-rs/bytesize ) | `2.0.1` | `2.1.0` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.9.0` | `2.12.0` |
| [notify](https://github.com/notify-rs/notify ) | `8.0.0` | `8.2.0` |
| [rayon-core](https://github.com/rayon-rs/rayon ) | `1.12.1` | `1.13.0` |
| [syntect](https://github.com/trishume/syntect ) | `5.2.0` | `5.3.0` |
| [rayon](https://github.com/rayon-rs/rayon ) | `1.10.0` | `1.11.0` |
Updates `bitflags` from 2.9.1 to 2.10.0
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.9.1...2.10.0 )
Updates `bytesize` from 2.0.1 to 2.1.0
- [Release notes](https://github.com/bytesize-rs/bytesize/releases )
- [Changelog](https://github.com/bytesize-rs/bytesize/blob/master/CHANGELOG.md )
- [Commits](https://github.com/bytesize-rs/bytesize/compare/bytesize-v2.0.1...bytesize-v2.1.0 )
Updates `indexmap` from 2.9.0 to 2.12.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.9.0...2.12.0 )
Updates `notify` from 8.0.0 to 8.2.0
- [Release notes](https://github.com/notify-rs/notify/releases )
- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md )
- [Commits](https://github.com/notify-rs/notify/compare/notify-8.0.0...notify-8.2.0 )
Updates `rayon-core` from 1.12.1 to 1.13.0
- [Changelog](https://github.com/rayon-rs/rayon/blob/main/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.12.1...rayon-core-v1.13.0 )
Updates `serde` from 1.0.219 to 1.0.228
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.219...v1.0.228 )
Updates `syntect` from 5.2.0 to 5.3.0
- [Release notes](https://github.com/trishume/syntect/releases )
- [Changelog](https://github.com/trishume/syntect/blob/master/CHANGELOG.md )
- [Commits](https://github.com/trishume/syntect/compare/v5.2.0...v5.3.0 )
Updates `rayon` from 1.10.0 to 1.11.0
- [Changelog](https://github.com/rayon-rs/rayon/blob/main/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.10.0...rayon-core-v1.11.0 )
---
updated-dependencies:
- dependency-name: bitflags
dependency-version: 2.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: bytesize
dependency-version: 2.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: indexmap
dependency-version: 2.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: notify
dependency-version: 8.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: rayon-core
dependency-version: 1.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: serde
dependency-version: 1.0.228
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: syntect
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: rayon
dependency-version: 1.11.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>
Co-authored-by: extrawurst <[email protected] >
2025-10-28 16:34:17 +01:00
Christoph Rüßler
dd475801ae
Restore default for showUntrackedFiles ( #2751 )
...
This restores the behaviour of `gitui` <= 0.27.
2025-10-28 15:59:03 +01:00
Christoph Rüßler
db211e5ac7
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
2025-10-27 18:37:30 +01:00
Christoph Rüßler
60912c0b47
Derive Default per clippy recommendation ( #2712 )
2025-09-08 16:49:15 +02:00
Christoph Rüßler
fd46b9a0c1
Use gitoxide for get_tags ( #2664 )
2025-08-06 14:26:19 -07:00
Christoph Rüßler
fdd5a19d20
Extract GixError ( #2687 )
2025-08-05 12:55:59 -07:00
Christoph Rüßler
6685f9adb3
Use gitoxide in get_status ( #2673 )
2025-07-28 19:28:02 +02:00
Peer Sommerlund
6d0a2ec115
Minimal docs at module level ( #2639 )
2025-06-24 09:23:02 +02:00
extrawurst
69fd7e664c
bump git2-hooks version
2025-05-26 23:22:26 +02:00
Christoph Rüßler
2d7d1730ba
Use gitoxide in get_commit_info ( #2654 )
...
* Implement From<gix::ObjectId> for CommitId
* Use gitoxide in get_commit_info
2025-05-26 23:06:36 +02:00
Christoph Rüßler
7625277953
Have cargo-sort 2.0.1 sort Cargo.toml's ( #2653 )
2025-05-24 22:14:26 +02:00
extrawurst
3453e4624d
fix nightly
2025-04-30 10:37:38 +02:00
Johannes Agricola
e08d954573
Clean up a few #[allow]s ( #2614 )
2025-04-16 10:45:08 +02:00
Johannes Agricola and Naseschwarz
7f88934d05
Bump msrv to 1.81 ( #2613 )
...
Co-authored-by: Naseschwarz <[email protected] >
2025-04-16 09:21:06 +02:00
Joshix-1
711210b97b
Run git-hooks more correctly ( #2483 )
2025-04-15 15:01:39 +02:00
extrawurst
9781608584
upgrade dirs ( #2569 )
2025-04-15 09:22:50 +02:00