GRV v0.2.0
Release notes
This release has two main focuses:
- Update and improve existing views and functionality.
- Begin work on repository modification to allow basic git operations to be performed from grv.
The sections below detail the changes that were made in these areas since v0.1.3:
General
- Help view - The help view contains full documentation for grv. The values and options displayed are generated dynamically ensuring that the documentation is correct for the version of grv used. The online documentation is now auto-generated from grv by running
make doc
. - Commit graph - A commit graph can now be displayed in the commit view. Enable by setting the
commit-graph
config variable to true. - Actions popup - Some views now support a pop-up menu which displays actions available for the selected row.
- Prompt history - Prompt history is now limited to 1000 entries by default. This can be changed by setting the
prompt-history-size
config variable. - Tab handling:
- Close empty tab - Tabs are now closed when their last view is removed.
- Switch back a tab on closure - Switch to the tab before when the active tab is closed.
- Open tab next to current - New tabs are opened next to the active tab
- New commands:
- unmap - Allows key bindings to be removed.
- git - Allows a non-interactive
git
command to be run from within grv. The output of the command is displayed in a pop-up window. - giti - Allows an interactive
git
command to be run from within grv. The command is run the controlling terminal. - help - Opens the help view described above.
Repository modification
- Checkout refs and commits - HEAD can be set to a selected ref or commit.
- Checkout confirmation - Users are prompted for confirmation before a checkout is performed. The
confirm-checkout
config variable is used toggle this behaviour. - Create branch - New branches can be created from selected ref's and commits.
- Stage & unstage - Individual files and groups of files in the
Status View
can now be staged and unstaged. - Commit - Staged files in the
Status View
can now be committed. The users configured editor is opened in order to provide a commit message, which grv uses to create the commit. - Read only mode - A
-readOnly
command line flag has been added. When provided any operation that attempts to modify the repository will result in a read-only error. Use this flag to ensure grv cannot modify a repository.
Bug fixes
- Invalid collation character (#39, #25) - grv now falls back to using the
git
binary when theInvalid collation character
error is detected. Thegit-binary-file-path
config variable can be used to specify the file path to thegit
binary if it is not in a users$PATH
. This is a workaround until the underlying issue is fixed in libgit2. - Error opening terminal: xterm-256color (#46) - The version of ncurses statically compiled into the grv
v0.1.3
release was not compatible with the new terminfo format used by ncurses 6.1. Future grv releases will be compiled with newer versions of ncurses, which are compatible with both the old and new terminfo formats. - Status bar could dynamically show current key bindings (#58) - The key bindings displayed on the bottom row of grv now take into account user defined bindings.
- Remapped default key bindings not shown in the Help View (#60) - The help view now correctly takes into account user defined key bindings when displaying current key bindings.
- <grv-remove-view> has to be run twice to remove Help View (#61) - Fixed by the improved tab handling described in the General section above.
- Switch back to the last active view after closing the Help View (#62) - Fixed by the improved tab handling described in the General section above.
- cannot scroll with mouse wheel when mouse is enabled (#63) - grv could not detect scroll down events as ncurses did not provide mouse event data when a scroll down event occurred. grv now interprets a mouse event without data to be a scroll down event.