All notable changes to this project will be documented in this file.
- (config) Collapse screen headers via e.g.
general.collapsed_sections = ["recent_commits"]
- Set version properly in Github release
- Support "The Two Remotes": https://magit.vc/manual/3.2.0/magit/The-Two-Remotes.html
- Bind 'Pu' to new action:
push_to_upstream
- Bind 'Pp' to new action:
push_to_push_remote
- Bind 'Fu' to new action:
pull_from_upstream
- Bind 'Fp' to new action:
pull_from_push_remote
- Remove 'Pp' <->
git push
(depended onpush.default
) - Remove 'Fp' <->
git pull
(from upstream) - Rename
push_elsewhere
topush_to_elsewhere
- Rename
pull_elsewhere
topull_from_elsewhere
- Change priority order of editor envvar lookup
- (status) Detect renamed files
- (instant fixup commit) Would not work with some versions of Git
- (instant fixup commit) Use --keep-empty and --autostash like Magit
- (instant fixup commit) Errors wouldn't show
- (commit) Instant fixup
- Invisible menu after closing an input prompt
- Wording in menus made more consistent to Magit
- Upgrade libgit2 to 1.8.1 to support new
index.skipHash
git config
- Make cursor and selection symbol configurable
- Tabs would not be rendered, render them as 4 spaces for now
- (flake) Add AppKit to build inputs
- -n argument to limit log
- -F to grep for commits in log menu
- Support value arguments
- Pin exact tree-sitter version to prevent common build breaks
- Bad diffs when git's
autocrlf
was enabled
- Add "elsewhere" option to fetch, pull and push menu
- Syntax highlighting for Elixir
- Hint/preserve missing newlines in diffs/patches
- Crash when trying to highlight
.tsx
files
- Move to parent section with alt+h
- Move to next/prev sections with alt+j and alt+k
- On MacOS: load
~/.config/gitu/config.toml
instead of~/Library/Application Support/gitu/config.toml
- Add Revert commit/abort/continue
- Show revert status
- Scala syntax highlighter would not load
- (ci) Release dir would not be created
- Release to windows
- Syntax highlighting with tree-sitter and revamp of diff style config
- (log) Ignore
prefetch/remotes/
refs
- Moving page up/down resulted in view being refreshed
- Log whether config file is being loaded or not on startup (--log flag)
- Add blank lines between refs sections, don't show empty sections
- Segregate remotes into separate sections
- Make 3 sections in show refs screen: branches, remotes, tags
- When head detached show "?" instead of "*" on target match; update tests
- Copy commit hash with "y", move Show Refs to "Y"
- Cursor is kept in view when scrolling
- Togglable stash flags: --all & --include-untracked
- Typo in descriptions on menu
- Update stash promps to be more like in Magit
- Config option: general.always_show_help.enabled
- Add all args to rebase menu
- Add --prune and --tags flags to Fetch menu
- Add all on/off arg flags to Commit menu
- Add --rebase pull arg
- Add --force /--no-verify /--dry-run push args
- Main screen is more smart about scrolling when menu is open
- Redraw screen even if command failed
- Only stderr would show in log popup
- Display args more like Magit
- Remove move p/n from default bindings (move up/down)
- Make keybinds configurable
- Existing terminal text would bleed into gitu on startup
- Discarding staged files would not work & use git clean for removing untracked files
- Handle EDITOR args, and better deal with absolute paths
- Support sending keys on startup with a cli flag (-k)
- Prompt stash action instead of always "Stash index"
- Edge cases and error handling for stashing worktree (#103)
- Improve menu layout and define new keybind display
- Resolve issue showing files with crlf
- Set '--jobs' to 10 when running 'git fetch'
- Run fetch, pull and push without blocking the ui
- Implement 'rebase elsewhere', it prompts you where to rebase
- Prompt for rev on reset soft/mixed/hard
- Show multiple command outputs in popup
- Improve error-handling of external commands
- Discarding staged files wouldn't work
- Change command popup to be more intuitive
- Togglable argument '--force-with-lease' when pushing
- Show quit/close keybind on all menus
- Prompt input rev for 'log other'
- Style.selection_area now includes cursor line
- Change cursor to a vertical bar, add config
style.cursor
- Crash when trying to show diff of binary files
- Unstage individual lines with ctrl-up/down and 'u'
- Stage individual lines with ctrl-up/down and 's'
- Add configurable quit confirmation
- Cursor now skips unselectable lines more deterministically
- Show stash status, add 'save', 'pop', 'apply' and 'drop' actions
- Unstage all staged changes by hovering 'Staged' section
- Stage all unstaged changes by hover 'Unstaged' section
- Stage all untracked files by hovering 'Untracked' section
- Add --version flag
- Add Nix flake via ipetkov/crane
- Crate would not build (due to trying to get version via git)
- Interactive rebase includes parent (like magit)
- Target binds in help-menu had wrong name formatting
- Include changelog entry in github release
- Release to Github
- Prompt what to checkout, default to selected item (like Magit)
- Gitu would not open inside submodules
- Fixed scrolling after breaking in previous update
- Rebase --continue freeze
- Cursor would disappear when staging the last hunk of a delta
- Issue when cursor would disappear after external git updates
- Remove trailing space in 'Create and checkout branch: '
- Would not start on windows due to nix signal handling
- Move 'reset' keybind to capital 'X' to mimic magit
- Proper y/n prompt when discarding things
- Annotated tags would not display
- Add
style.line_highlight.[un]changed
config options
- Terminal would corrupt text when quitting gitu after opening editor
- Terminal would corrupt text when gitu crashed
- Read not just EDITOR env var, but GIT_EDITOR & VISUAL too
- Add error popup and more graceful error handling
- Improve CHANGELOG.md format
- Replace --exit-immediately cli flag with new --print
- Show author date (not commit date) on commits like 'git log'
- Selection_line & selection_area now extend fully to left