kieranpotts / dotfiles

My UNIX dotfiles.
MIT License
1 stars 0 forks source link

Git difftools and mergetool configuration #246

Open kieranpotts opened 1 year ago

kieranpotts commented 1 year ago

Update docs for use of vimdiff. Provide docs for configuring other dfftools/mergetools:

kieranpotts commented 1 year ago

git mergetool, if not explicitly configured, will attempt to use one of the following tools:

kieranpotts commented 1 year ago

Run git mergetool --tool-help for the list of valid tool settings.

git mergetool --tool-help
'git mergetool --tool=<tool>' may be set to one of the following:
                vimdiff          Use Vim with a custom layout (see `git help mergetool`'s `BACKEND SPECIFIC HINTS` section)
                vimdiff1         Use Vim with a 2 panes layout (LOCAL and REMOTE)
                vimdiff2         Use Vim with a 3 panes layout (LOCAL, MERGED and REMOTE)
                vimdiff3         Use Vim where only the MERGED file is shown

The following tools are valid, but not currently available:
                araxis           Use Araxis Merge (requires a graphical session)
                bc               Use Beyond Compare (requires a graphical session)
                bc3              Use Beyond Compare (requires a graphical session)
                bc4              Use Beyond Compare (requires a graphical session)
                codecompare      Use Code Compare (requires a graphical session)
                deltawalker      Use DeltaWalker (requires a graphical session)
                diffmerge        Use DiffMerge (requires a graphical session)
                diffuse          Use Diffuse (requires a graphical session)
                ecmerge          Use ECMerge (requires a graphical session)
                emerge           Use Emacs' Emerge
                examdiff         Use ExamDiff Pro (requires a graphical session)
                guiffy           Use Guiffy's Diff Tool (requires a graphical session)
                gvimdiff         Use gVim (requires a graphical session) with a custom layout (see `git help mergetool`'s `BACKEND SPECIFIC HINTS` section)
                gvimdiff1        Use gVim (requires a graphical session) with a 2 panes layout (LOCAL and REMOTE)
                gvimdiff2        Use gVim (requires a graphical session) with a 3 panes layout (LOCAL, MERGED and REMOTE)
                gvimdiff3        Use gVim (requires a graphical session) where only the MERGED file is shown
                kdiff3           Use KDiff3 (requires a graphical session)
                meld             Use Meld (requires a graphical session) with optional `auto merge` (see `git help mergetool`'s `CONFIGURATION` section)
                nvimdiff         Use Neovim with a custom layout (see `git help mergetool`'s `BACKEND SPECIFIC HINTS` section)
                nvimdiff1        Use Neovim with a 2 panes layout (LOCAL and REMOTE)
                nvimdiff2        Use Neovim with a 3 panes layout (LOCAL, MERGED and REMOTE)
                nvimdiff3        Use Neovim where only the MERGED file is shown
                opendiff         Use FileMerge (requires a graphical session)
                p4merge          Use HelixCore P4Merge (requires a graphical session)
                smerge           Use Sublime Merge (requires a graphical session)
                tkdiff           Use TkDiff (requires a graphical session)
                tortoisemerge    Use TortoiseMerge (requires a graphical session)
                winmerge         Use WinMerge (requires a graphical session)
                xxdiff           Use xxdiff (requires a graphical session)

Some of the tools listed above only work in a windowed
environment. If run in a terminal-only session, they will fail.