magit-imerge

Homepage: https://github.com/magit/magit-imerge

Author: Kyle Meyer

Updated:

Summary

Magit extension for git-imerge

Commentary

Magit-imerge is a Magit interface to git-imerge [*], a Git
extension for performing incremental merges.

There are four high-level git-imerge subcommands that can be used
to start an incremental merge.  Each has a corresponding command in
Magit-imerge.

  * git-imerge merge  => magit-imerge-merge
  * git-imerge rebase => magit-imerge-rebase
  * git-imerge revert => magit-imerge-revert
  * git-imerge drop   => magit-imerge-drop

All these commands are available under the `magit-imerge'
transient.  If you use `magit-imerge' regularly, you may want to
bind it in `magit-mode-map'.  One option is to free up "i" for
`magit-imerge' by moving `magit-gitignore' to another binding:

  (define-key magit-mode-map (kbd "C-c C-i") 'magit-gitignore)
  (define-key magit-mode-map "i" 'magit-imerge)

And, if you prefer, you can also update `magit-dispatch' to reflect
those changes:

  (transient-replace-suffix 'magit-dispatch "i"
    '("i" "Imerge" magit-imerge))
  (transient-append-suffix 'magit-dispatch "!"
    '("C-c C-i" "Ignore" magit-gitignore))

Once an incremental merge has been started with one of the commands
above, the imerge popup will display the following sequence
commands:

  * magit-imerge-continue
  * magit-imerge-suspend
  * magit-imerge-finish
  * magit-imerge-abort

One of the advantages of incremental merges is that you can return
to them at a later time.  Calling `magit-imerge-suspend' will
suspend the current incremental merge.  You can resume it later
using `magit-imerge-resume'.

[*] https://github.com/mhagger/git-imerge

Dependencies