58 Commits
Author SHA1 Message Date
Christoph Rüßler d7214eccb3 Enable unstable-sha256 for git2 (#3001) 2026-10-06 09:08:04 +02:00
Christoph Rüßler bc086cf2e5 Update gix to 0.84 (#2967)
* Update gix to 0.84

* Update gix-path to 0.12.1 in git2-hooks

* Add sha1-checked to deny.toml

* Run tombi format

* Regenerate Cargo.lock based on upstream

* Fix nightly clippy issue
2026-07-17 09:32:50 +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
Christoph Rüßler 7c538e3873 Add first snapshot tests using insta (#2813) 2026-04-07 10:33:43 +01: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
Christoph Rüßler 7f9aa97ada Don't stop status iter on error, log warning instead (#2821) 2025-12-31 10:55:31 -05:00
Christoph Rüßler e53692e781 Add snapshot test using insta (#2411) 2025-12-06 17:52:44 -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
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 f5893d991f Split cargo group into cargo-minor and cargo-patch (#2719) 2025-09-17 09:50:38 -03:00
Christoph Rüßler 047f1402de Address clippy issues (#2718) 2025-09-15 16:26:52 -03:00
Christoph Rüßler 60912c0b47 Derive Default per clippy recommendation (#2712) 2025-09-08 16:49:15 +02:00
Christoph Rüßler 8bff603a72 Address clippy issues on nightly (#2707) 2025-09-08 10:31:11 +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 57d7d00701 Fix clippy errors on nightly (#2688) 2025-08-05 10:02:26 -07:00
Christoph Rüßler 6685f9adb3 Use gitoxide in get_status (#2673) 2025-07-28 19:28:02 +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
Christoph Rüßler fa3d751621 Group Dependabot updates (#2647) 2025-05-20 11:16:17 +02:00
Christoph Rüßler 3b22a4f3b9 Simplify code for moving selection (#2645) 2025-05-20 11:15:51 +02:00
Christoph Rüßler 534da90b12 Update scc and sdd to non-yanked versions (#2646) 2025-05-19 10:34:19 +02:00
Christoph Rüßleranddependabot[bot] b49bacfac1 Bump gix from 0.66.0 to 0.67.0 and adapt to API changes (#2422)
* Bump gix from 0.66.0 to 0.67.0

Bumps [gix](https://github.com/GitoxideLabs/gitoxide) from 0.66.0 to 0.67.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.66.0...gix-v0.67.0)

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

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

* Adapt to API changes

* Update backtrace

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 09:53:43 +01:00
Christoph Rüßlerandextrawurst 9c4bd29fc8 Improve test for env variables (#2409)
* Add test for AsyncLog respecting GIT_DIR

* Mark test as serial

* Mark additional test as serial

* Unwrap result to get more info in error case

---------

Co-authored-by: extrawurst <[email protected]>
2024-10-29 09:42:25 +01:00
Christoph Rüßler 9c433b4de3 Add test for AsyncLog respecting GIT_DIR (#2387) 2024-10-15 20:20:03 +02:00
Christoph Rüßlerandextrawurst 2b8ef40289 Fix log crashing in subdirectories (#2301)
* Fix log crashing in subdirectories
Replace `gix::open` by `gix::discover`. `gix::open` errors when the
passed directory is not a git repository.
* Add test for AsyncLog in sub-directory
* Respect env variables when discovering repo

---------

Co-authored-by: extrawurst <[email protected]>
2024-09-17 11:37:52 +02:00
Christoph Rüßlerandextrawurst d30de223fe Add LogWalkerWithoutFilter, using gitoxide (#2275)
* Add LogWalkerWithoutFilter, using gitoxide
* Use feature revision for gix

---------

Co-authored-by: extrawurst <[email protected]>
2024-07-08 09:25:44 +02:00
Christoph Rüßler a92be3be9d Get default fetch remote from configuration (#2204)
fixes #1093
2024-05-16 12:03:55 +02:00
Christoph Rüßler b08eddb45b Get default push remote from configuration (#2156) 2024-04-14 12:12:09 +02:00
Christoph Rüßler 7d8b7c9239 Add CONTRIBUTING.md (#2121) 2024-03-24 12:40:39 -07:00
Christoph Rüßler aa7aa7a5c1 Fix file history for all sizes (#1738) 2023-09-09 11:29:04 +02:00
Christoph Rüßler 3c9c266c01 Simplify theme overrides (#1652)
* Simplify theme overrides

Theme overrides are now loaded the same way key overrides are loaded.
The config file, `theme.ron`, does not have to contain a complete theme
anymore. Instead, it is possible to specify only the values that are
supposed to override their corresponding default values.

* Document breaking change in changelog
* Test that override differs from default
* Convert existing theme to patch
2023-06-25 14:09:40 +02:00
Christoph Rüßler 49cd7ea2db Fix file history for sizes <= 1200 entries 2023-05-04 15:49:21 +02:00
Christoph Rüßler 370aff5fcc Default to tick-based updates (#1657)
* Default to tick-based updates

This commit reintroduces code that was previously removed in favor of a
notify-based update trigger. It turned out that notify-based updates can
cause issues in larger repositories, so tick-based updates seemed like a
safer default.

https://github.com/extrawurst/gitui/issues/1444
https://github.com/extrawurst/gitui/pull/1310

* Add FAQ entry for --watcher

* Remove --poll
2023-04-29 17:03:43 +02:00
Christoph Rüßler 3e0ec29d0d Add entry to changelog 2023-04-12 11:53:08 +02:00
Christoph Rüßler 2554f04ace Don’t show upstream if commit is local branch head 2023-04-12 11:53:08 +02:00
Christoph Rüßler 3af256c75a Show remote branches in revlog 2023-04-12 11:53:08 +02:00
Christoph Rüßler 9fa5fddd93 Allow to scroll diffs horizontally (#1327) 2023-01-08 12:47:37 +01:00
Christoph Rüßler b622ceef94 Add popup for file history (#841) 2022-01-30 18:50:50 +01:00
Christoph Rüßler bce652ecca Add filter to AsyncLog
This is a small change that makes it possible to reuse the logic in
`AsyncLog` for the file history view. `AsyncLog` passes the filter to
`FileLogWalker` unchanged.
2021-06-26 13:07:03 +02:00
Christoph Rüßler c0296687b8 Add push to commands in tags popup
- Update missing remote tags after tags are pushed.
2021-06-14 23:18:04 +02:00
Christoph Rüßler 2a5834aeb0 Add shortcut for files tab to help 2021-06-14 23:18:04 +02:00
Christoph Rüßler f132722272 Add filter to LogWalker
This is the first step towards adding a file history view. The filter
itself is not related to files specifically, though. It could also be
used for different purposes.
2021-06-14 00:18:10 +02:00
Christoph Rüßler 0fa3e0f5a8 Show symbol if tag is not yet pushed
This partly addresses #742.
2021-06-12 22:35:57 +02:00
Christoph Rüßler 2ed6f53dcf Add popup for tags
This closes #483.
2021-05-27 21:02:30 +02:00
Christoph Rüßler 26fbc8650f Add async wrapper to blame
- Rename `self.path` to `self.file_path`.
- Take into account that `draw_scrollbar` subtracts the area’s height
  before calculating the scrollbar’s position.
- Show in title if blame is pending.
2021-04-25 13:35:34 +02:00
Christoph Rüßler 3b1a004657 Call get_commits_info instead of get_commit_info
This results in far fewer calls to `repo.find_commit` in almost all
cases.
2021-04-24 15:21:12 +02:00
Christoph Rüßler e7b703b922 Improve blame view
- Set default shortcut to `B` instead of `b` because the latter would
  shadow `[b]ranches`.
- Add scrollbar.
- Show resolved commit id in title instead of `HEAD`.
- Make commit id bold if it is the commit id the file is blamed at.
- Don’t run blame on a binary file.
- Add shortcut for inspecting a commit in blame view.
2021-04-24 14:02:51 +02:00
Christoph Rüßler 8030022303 Address minor issues in blame view 2021-04-22 09:17:42 +02:00
Christoph Rüßler b7eed4361e Add blame view
This closes #484.
2021-04-21 15:03:37 +02:00
Christoph Rüßler fe0c2f558c Use get_entry instead of get_str (#269) 2021-02-04 19:22:08 +01:00
Christoph Rüßler 04bd45e641 Use helper binary for clipboard access (#262)
Use `clip` on Windows, `pbcopy` on MacOX, `xclip` on Linux.

- Remove dependency on `clipboard`
- Remove feature `clipboard`
2020-10-10 23:31:40 +02:00
Christoph Rüßler bc23270951 Add multiple selection in diff view (#231)
* Add multiple selection in diff view
* Copy selection to clipboard in diff view
* Show error message if copy to clipboard fails
- Draw `msg` after `inspect_commit_popup` to make sure the error message
  is visible
- Move `try_or_popup!` to `utils`
2020-08-19 21:02:19 +02:00
Christoph Rüßler 1a90fd365f Add scrolling to commit message in details
- Manually wrap commit message using `textwrap`

Closes #181
2020-08-08 19:42:02 +02:00
Christoph Rüßler 70423c5b83 Add command for tagging commit 2020-07-15 23:22:03 +02:00