Releases: rgburke/grv
Releases · rgburke/grv
GRV v0.3.2
Release notes
This minor release contains a couple of enhancements and fixes since v0.3.1
:
- Added fancy diff display format (based on diff-so-fancy) which is now the default. The diff format can be configured using the new
diff-display
config variable. - Set shell command working directory to be the root of the repository.
- Fix bug causing mouse to be disabled when GRV is restored after being backgrounded.
- Shell commands invoked with ! are run in the controlling terminal.
- Escape or
<C-c>
cancels the prompt. - Added
input-prompt-after-command
config variable to configure whether the "Press any key to continue" message is displayed after executing an external command. - Added
diff-view-file
GRV variable which contains the currently selected file in the active DiffView. - Defaulted
commit-limit
variable to 100,000. - A search term can be provided as an argument to the
help
command. - Added
sleep
command which causes GRV to sleep for the provided number of seconds. - Removed built in
cold
theme.
GRV v0.3.1
Release notes
This minor release contains a couple of fixes and enhancements since v0.3.0
:
- Fix
confirm-checkout
to also cover file checkout in theStatus View
. - Fix crash when diff view is empty.
- Pop-up views can now handle mouse events.
- Show diffs for unmerged files.
- Added
def
command which enables user defined commands. - Added
undef
command to undefine user defined commands. - Added
default-view
config variable which allows a command to be specified to define the default view. - Added
evalkeys
command which can evaluate key strings sequences.
GRV v0.3.0
Release notes
The main focus of this release was to implement a set of basic git operations common in many workflows. GRV can then be used not just to view repositories but to interact with them. Operations are performed by shelling out to the git
command, which was done to speed up development.
The sections below detail the changes that were made in these areas since v0.2.0:
General
- GRV Variables:
- Added a variety of variables to GRV which hold values based on the selected rows of each view.
- Variables can be embedded into shell commands.
- Added Variable View which can be used to see the current values of all variables.
- Shell Commands:
- Shell commands can be run from within GRV.
- Command input prompts can be embedded within shell commands.
- Key bindings can now map key sequences directly to shell commands.
- Display remotes in the History View.
- Added
commit-limit
variable which can be used to limit the number of commits loaded. - Yes/No confirmation now appears as a pop-up window instead of a command prompt.
- The Status View now displays a status message similar to the output of
git status
. - Start up time performance improvements:
- Load git status asynchronously on startup.
- Refs are displayed quicker by not loading the target commit for each tag.
Repository modification
- Create branch and checkout - New branches can be created and checked out from selected refs and commits.
- Checkout previous ref - The previously value of HEAD can be checked out.
- Checkout files - Unstaged changes to modified files can be discarded.
- Amend last commit - The last commit can be amended.
- Create (annotated) tag - A (optionally annotated) tag can be created at a selected ref or commit.
- Perform git pull - A
git pull
can be performed on a selected remote. - Push refs - Refs can be pushed to a remote.
- Delete ref (and corresponding remote ref) - Refs can be deleted and optionally the remote ref they track.
- Merge branch into current - A selected branch can be merged into the current branch.
- Rebase branch onto current - A selected branch cab be rebased onto the current branch.
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.
GRV v0.1.3
Updates since v0.1.2:
- Added mouse support
- Added more vim keybindings
- Can filter by full commit message
- Many bug fixes
GRV v0.1.2
- Dependencies are now vendored
- A couple of bug fixes since v0.1.1
GRV v0.1.1
This release contains bug fixes made since v0.1.0
GRV v0.1.0
GRV version 0.1.0