sponsor Vim development Vim logo Vim Book Ad

Merginal : Fugitive extention to manage and merge Git branches

 script karma  Rating 6/6, Downloaded by 4361  Comments, bugs, improvements  Vim wiki

created by
Idan Arye
script type
GitHub repository: https://github.com/idanarye/vim-merginal

Merginal aims provide a nice inteface for dealing with Git branches. It offers interactive TUI for:

* Viewing the list of branches
* Checking out branches from that list
* Creating new branches
* Deleting branches
* Merging branches
* Solving merge conflicts
* Interacting with remotes(pulling, pushing, fetching, tracking)
* Diffing against other branches
* Renaming branches
install details

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
merginal_v2.2.3.zip 2.2.3 2022-10-30 7.0 Idan Arye ### Fixed
- Remove a stray echo when generating help for the various Merginal buffers.
merginal_v2.2.2.zip 2.2.2 2022-10-05 7.3 Idan Arye - Replace fugitive#repo() usage with Fugitives standalone functions.
merginal_v2.2.1.zip 2.2.1 2021-11-27 7.3 Idan Arye Fixes:
- Use FugitiveShellCommand instead of repo.git_command (which is deprecated by Fugitive)
- Use Git merge instead of Gmerge (which is deprecated by Fugitive)
merginal_v2.2.0.zip 2.2.0 2020-12-07 7.3 Idan Arye - 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` or `MerginalToggle` 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.
merginal_v2.1.2.zip 2.1.2 2020-01-30 7.3 Idan Arye
    Made merginal commands global, not buffer-local, because Fugutive no longer fires the signals Merginal depended on.
    Changed fugitive#detect to FugitiveDetect.
    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>.
merginal_v2.1.1.zip 2.1.1 2019-09-06 7.3 Idan Arye * Fix fileFullPath bug.
* Fix order of arguments when merging.
* Limit amount of commits displayed. This is considered a bugfix and not a feature because the only reason for
limiting the commit was performance.
* Fix a typo in historyLog.vim.
merginal_v2.1.0.zip 2.1.0 2017-10-28 7.3 Idan Arye New features:
* Add NERDTree style keymaps for opening files
* Use committer date instead of author date in historyLog
* Allow setting the Merginal window width
* Add option to split vertically/horizontally
* Add merginal_windowSize configuration

* Use exception number instead of string
* Fix try catch to has_key
* Add missing merge commands to mergeConflicts buffer
* Pushing when there are multiple remotes
* Keymaps leaking between buffers
* Add -- after commands to solve branch/path ambiguity
* Fix command running for Vim8 with :terminal support
merginal_v2.0.2.zip 2.0.2 2016-06-08 7.3 Idan Arye Fix refresh - prevent it from modifying other windows
merginal_v2.0.1.zip 2.0.1 2016-04-30 7.3 Idan Arye * Add the missing open-conflicted-file command from v1
* Fix the way filtering works in history log
merginal_v2.0.0.zip 2.0.0 2016-04-09 7.3 Idan Arye Merginal 2.0.0!

* Huge refactor - moving to object model
* Add built-in help(pressing ?)
* Add filtering(pressing &)
* Minor bug fixes
merginal_v1.6.0.zip 1.6.0 2015-09-23 7.0 Idan Arye * Add mn keymap for merging with --no-ff
* Add keymap and conflict-resolving mode for cherry-picking
* Fix a bug where failure to do an operation would mess up the Vim windows
merginal_v1.5.0.zip 1.5.0 2015-02-14 7.0 Idan Arye Add the history log buffer(`gl` from the branch list), which allows:
* Viewing the commit history of a branch
* Viewing information on each commit
* Checking out commits
* Diffing against commits

Other changes:
* Add `pr` keymap for `pull --rebase`
* Add `q` keymap for closing the side-buffers
* Minor typo fixes and output/doc styling changes
merginal_v1.4.0.zip 1.4.0 2014-09-19 7.0 Idan Arye - Add the `rn` keymap for renaming branches
- Add a buffer type for `rebase-amend`
- Add `pS` command for force pushing branches
merginal_v1.3.0.zip 1.3.0 2014-08-11 7.0 Idan Arye - Add the `rb` keymap to start a rebase.
  - The rebase buffer supports the merge buffer's keymaps(`R`, `<Cr>`,
    `aa`, `A`).
  - The rebase buffer also support `ra` to abort the rebase, `rc` to
    continue to the next patch and `rs` to skip the current patch.
- Add `MerginalToggle` command to toggle the merginal buffer.
- Add `MerginalClose` command to close the merginal buffer.
- Support `ps`, `pl` and `pf` directly on remote branches.
- Fix a bug with non-linear merges that don't have merge conflicts.
merginal_v1.2.0.zip 1.2.0 2014-07-07 7.0 Idan Arye - Add the `mf` keymap to run Fugitive's `:Gmerge`
- Add `merginal#branchDetails` for better parsing of the branch info
- Add `ct` and `cT` for tracking remote branches
- Add `ps`,`pl` and `pf` to push, pull and fetch branches
- Make `dd` be able to delete remote branches
- `bd` in the branch list opens the diff files buffer to diff against the
   selected branch.
merginal_v1.1.0.zip 1.1.0 2014-06-06 7.0 Idan Arye Made it more plugin-friendly
merginal_v1.0.0.zip 1.0.0 2014-06-04 7.0 Idan Arye Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
Vim at Github