From dfe44fb14c6b66aadbb930d61c6472c92effecb2 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Sat, 19 Dec 2020 14:57:25 +0530 Subject: [PATCH] git/nvim: Switch to using diffconflicts for resolving merge conflicts While we dropped diffconflicts earlier and switch to vanilla vimdiff, two way merges are definitely better than three way merges. 3 way merge as in gina or vimdiff is extremely confusing except for may be the simplest of merge conflicts. conflict-marker and diffconflicts should let us handle all cases. --- git/.gitconfig | 8 ++++---- nvim/.config/nvim/lua/plugins.lua | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/git/.gitconfig b/git/.gitconfig index 7c6e58d..052c910 100644 --- a/git/.gitconfig +++ b/git/.gitconfig @@ -18,15 +18,15 @@ [diff] colorMoved = default [merge] - tool = vimdiff + tool = diffconflicts conflictstyle = diff3 ff = only [mergetool] prompt = false -[mergetool "vimdiff"] - cmd = nvim -d $BASE $LOCAL $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J' - trustExitCode = true keepBackup = false +[mergetool "diffconflicts"] + cmd = 'nvim -c DiffConflicts "$MERGED" "$BASE" "$LOCAL" "$REMOTE"' + trustExitCode = true [rebase] autoStash = true [commit] diff --git a/nvim/.config/nvim/lua/plugins.lua b/nvim/.config/nvim/lua/plugins.lua index 915835d..74a385a 100644 --- a/nvim/.config/nvim/lua/plugins.lua +++ b/nvim/.config/nvim/lua/plugins.lua @@ -50,6 +50,7 @@ local init = function () use 'rhysd/git-messenger.vim' use 'rhysd/conflict-marker.vim' use 'salcode/vim-interactive-rebase-reverse' + use 'whiteinge/diffconflicts' -- Boost vim command line mode use 'vim-utils/vim-husk' -- Rainbow Parentheses