All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Support separate Meginal buffers on multiple tabs.
- Added merginal_remoteVisible variable to set remote branches to be viewed by default.
- Added a hotkey 'tr' to toggle remote branches in the view.
- Calling
Merginal
orMerginalToggle
when the merginal buffer is open but not in the main mode (branch list by default, or changes if in special Git status) will:- Jump to it, if the user is in another window.
- Change it to the main mode, if the user is in it.
- Made merginal commands global, not buffer-local, because Fugutive no longer fires the signals Merginal depended on.
- Changed
fugitive#detect
toFugitiveDetect
. - Made
pS
push with--force-with-lease
instead of just--force
. Yes, this is a fix. No this is not a breaking change. If this breaks your workflow then your workflow was broken to begin with. - Made all the mappings
<nowait>
.
g:merginal_logCommitCount
to allow limiting amount of commits displayed in history log.
- Fix
fileFullPath
bug. - Correct argument order for merging.
- NERDTree style keymaps for opening files.
g:merginal_windowWidth
/g:merginal_windowSize
to control window size.g:merginal_splitType
to control splitting (vertically/horizontally).
- Use committer date instead of author date in
historyLog
.
- Use exception number instead of string.
- Fixed handling of uninitialized modules.
- Added missing merge commands to
mergeConflicts
buffer. This is considered a fix because we had it in v1. - Fix Pushing when there are multiple remotes.
- Fix keymaps leaking between buffers.
- Fix command running for Vim8 with
:terminal
support.
- Stop refresh() from changing other buffers.
- Fixed filtering in history log.
- Added missing open-conflicted-file keymap. This is considered a fix because we had it in v1.
?
to display keymap help in the various Merginal buffers.&
to filter the entries in the various Merginal buffers.
- [BREAKING?] Use filetypes instead of autocommands to set up the Merginal buffers.
- [BREAKING?] Moved to a basic module framework to organize buffer types.
- Fixed bug when calling
:MerginalToggle
from the merginal buffer. - Fixed showing the current branch on checkout.
- Use
:terminal
for remote commands in Neovim. This is considered a fix, because without it you wouldn't be able to enter the git password in GUI Neovim.
- Clos
mn
keymap for merging with--no-ff
. - Conflict-resolving mode for cherry-picking.
- Fixed a bug where failure to do an operation would mess up the Vim windows.
q
keymap to close the merginal window.pr
keymap for pull-rebase.gl
keymap to open the history log for the branch under the cursor.- Checking out commits from the log history buffer.
- Diffing against commits in the history log buffer.
- Opening the history log buffer from the rebase amend buffer.
<C-p>
and<C-n>
to move between commits in history log.
- Use echom instead of echo to have them in
:messages
- Clear augroup (in case of reloads)
pS
keymap for force pushing branches.- A buffer type for
rebase-amend
. rn
keymap for renaming branches.
- Rebase functionality - (similar to merge functionality)
MerginalToggle
andMerginalClose
commands.
- Allow pushing/pulling/rebasing directly on remotes
- Fixed a bug where merges without conflicts open empty list.
mf
keymap to run Fugitive's:Gmerge
.merginal#branchDetails
.ct
andcT
for tracking remote branches.ps
,pl
andpf
to push, pull and fetch branches- Branch diff functionality
- Made the merginal buffer window have fixed size.
- Made
dd
be able to delete remote branches
- Set nonumber in merginal buffer.
- Fixed a bug where Merginal would change user buffers.
- Use autocmd for adding the keymaps.
- Use Fugitive's style of keymaps(
cc
=C
etc.)
- Branch list.
- Basic branch commands.