diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-05-10 17:55:58 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-05-10 17:55:58 -0700 |
commit | 84d4cc0f4680776dd97a47c94542f687016d6969 (patch) | |
tree | 9424578e4d5e86cf45f5a526c8390c8573678b6f | |
parent | 618d168e87f2df1c2024d642806af7abfb79cc74 (diff) | |
download | git-htmldocs-84d4cc0f4680776dd97a47c94542f687016d6969.tar.gz |
Autogenerated HTML docs for v2.36.1-60-gb9de9
-rw-r--r-- | RelNotes/2.37.0.txt | 23 | ||||
-rw-r--r-- | git-config.html | 578 | ||||
-rw-r--r-- | git-merge.html | 301 | ||||
-rw-r--r-- | git-mergetool.html | 281 | ||||
-rw-r--r-- | git-mergetool.txt | 8 | ||||
-rw-r--r-- | howto/coordinate-embargoed-releases.html | 2 | ||||
-rw-r--r-- | howto/keep-canonical-history-correct.html | 2 | ||||
-rw-r--r-- | howto/maintain-git.html | 2 | ||||
-rw-r--r-- | howto/new-command.html | 2 | ||||
-rw-r--r-- | howto/rebase-from-internal-branch.html | 2 | ||||
-rw-r--r-- | howto/rebuild-from-update-hook.html | 2 | ||||
-rw-r--r-- | howto/recover-corrupted-blob-object.html | 2 | ||||
-rw-r--r-- | howto/recover-corrupted-object-harder.html | 2 | ||||
-rw-r--r-- | howto/revert-a-faulty-merge.html | 2 | ||||
-rw-r--r-- | howto/revert-branch-rebase.html | 2 | ||||
-rw-r--r-- | howto/separating-topic-branches.html | 2 | ||||
-rw-r--r-- | howto/setup-git-server-over-http.html | 2 | ||||
-rw-r--r-- | howto/update-hook-example.html | 2 | ||||
-rw-r--r-- | howto/use-git-daemon.html | 2 | ||||
-rw-r--r-- | howto/using-merge-subtree.html | 2 | ||||
-rw-r--r-- | howto/using-signed-tag-in-pull-request.html | 2 | ||||
-rw-r--r-- | mergetools-diff.txt | 57 | ||||
-rw-r--r-- | mergetools-merge.txt | 66 |
23 files changed, 941 insertions, 405 deletions
diff --git a/RelNotes/2.37.0.txt b/RelNotes/2.37.0.txt index 091207f18..817540643 100644 --- a/RelNotes/2.37.0.txt +++ b/RelNotes/2.37.0.txt @@ -1,6 +1,19 @@ Git v2.37 Release Notes ======================= +UI, Workflows & Features + + * "vimdiff[123]" mergetool drivers have been reimplemented with a + more generic layout mechanism. + + +Performance, Internal Implementation, Development Support etc. + + * The performance of the "untracked cache" feature has been improved + when "--untracked-files=<mode>" and "status.showUntrackedFiles" + are combined. + + Fixes since v2.36 ----------------- @@ -49,5 +62,13 @@ Fixes since v2.36 * Correct choices of C compilers used in various CI jobs. (merge 3506cae04f ab/cc-package-fixes later to maint). - * Code clean-up. + * Various cleanups to "git p4". + (merge 4ff0108d9e jh/p4-various-fixups later to maint). + + * The progress meter of "git blame" was showing incorrect numbers + when processing only parts of the file. + (merge e5f5d7d42e ea/progress-partial-blame later to maint). + + * Other code cleanup, docfix, build fix, etc. (merge e6b2582da3 cm/reftable-0-length-memset later to maint). + (merge 0b75e5bf22 ab/misc-cleanup later to maint). diff --git a/git-config.html b/git-config.html index 29a8fe13a..09c49e31a 100644 --- a/git-config.html +++ b/git-config.html @@ -4821,173 +4821,200 @@ diff.guitool and requires that a corresponding difftool.<guitool>.cmd variable
is defined.
</p>
-<div class="ulist"><ul>
-<li>
-<p>
-araxis
-</p>
-</li>
-<li>
-<p>
-bc
-</p>
-</li>
-<li>
-<p>
-bc3
-</p>
-</li>
-<li>
-<p>
-bc4
-</p>
-</li>
-<li>
-<p>
-codecompare
-</p>
-</li>
-<li>
-<p>
-deltawalker
-</p>
-</li>
-<li>
-<p>
-diffmerge
-</p>
-</li>
-<li>
-<p>
-diffuse
-</p>
-</li>
-<li>
-<p>
-ecmerge
-</p>
-</li>
-<li>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>araxis</code>
+</dt>
+<dd>
<p>
-emerge
+Use Araxis Merge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>bc</code>
+</dt>
+<dd>
<p>
-examdiff
+Use Beyond Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>bc3</code>
+</dt>
+<dd>
<p>
-guiffy
+Use Beyond Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>bc4</code>
+</dt>
+<dd>
<p>
-gvimdiff
+Use Beyond Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>codecompare</code>
+</dt>
+<dd>
<p>
-gvimdiff1
+Use Code Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>deltawalker</code>
+</dt>
+<dd>
<p>
-gvimdiff2
+Use DeltaWalker (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>diffmerge</code>
+</dt>
+<dd>
<p>
-gvimdiff3
+Use DiffMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>diffuse</code>
+</dt>
+<dd>
<p>
-kdiff3
+Use Diffuse (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>ecmerge</code>
+</dt>
+<dd>
<p>
-kompare
+Use ECMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>emerge</code>
+</dt>
+<dd>
<p>
-meld
+Use Emacs' Emerge
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>examdiff</code>
+</dt>
+<dd>
<p>
-nvimdiff
+Use ExamDiff Pro (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>guiffy</code>
+</dt>
+<dd>
<p>
-nvimdiff1
+Use Guiffy’s Diff Tool (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>gvimdiff</code>
+</dt>
+<dd>
<p>
-nvimdiff2
+Use gVim (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>kdiff3</code>
+</dt>
+<dd>
<p>
-nvimdiff3
+Use KDiff3 (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>kompare</code>
+</dt>
+<dd>
<p>
-opendiff
+Use Kompare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>meld</code>
+</dt>
+<dd>
<p>
-p4merge
+Use Meld (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>nvimdiff</code>
+</dt>
+<dd>
<p>
-smerge
+Use Neovim
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>opendiff</code>
+</dt>
+<dd>
<p>
-tkdiff
+Use FileMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>p4merge</code>
+</dt>
+<dd>
<p>
-vimdiff
+Use HelixCore P4Merge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>smerge</code>
+</dt>
+<dd>
<p>
-vimdiff1
+Use Sublime Merge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>tkdiff</code>
+</dt>
+<dd>
<p>
-vimdiff2
+Use TkDiff (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>vimdiff</code>
+</dt>
+<dd>
<p>
-vimdiff3
+Use Vim
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>winmerge</code>
+</dt>
+<dd>
<p>
-winmerge
+Use WinMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>xxdiff</code>
+</dt>
+<dd>
<p>
-xxdiff
+Use xxdiff (requires a graphical session)
</p>
-</li>
-</ul></div>
+</dd>
+</dl></div>
</dd>
<dt class="hdlist1">
diff.indentHeuristic
@@ -7867,173 +7894,272 @@ merge.guitool Any other value is treated as a custom merge tool and requires that a
corresponding mergetool.<guitool>.cmd variable is defined.
</p>
-<div class="ulist"><ul>
-<li>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>araxis</code>
+</dt>
+<dd>
<p>
-araxis
+Use Araxis Merge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>bc</code>
+</dt>
+<dd>
<p>
-bc
+Use Beyond Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>bc3</code>
+</dt>
+<dd>
<p>
-bc3
+Use Beyond Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>bc4</code>
+</dt>
+<dd>
<p>
-bc4
+Use Beyond Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>codecompare</code>
+</dt>
+<dd>
<p>
-codecompare
+Use Code Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>deltawalker</code>
+</dt>
+<dd>
<p>
-deltawalker
+Use DeltaWalker (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>diffmerge</code>
+</dt>
+<dd>
<p>
-diffmerge
+Use DiffMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>diffuse</code>
+</dt>
+<dd>
<p>
-diffuse
+Use Diffuse (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>ecmerge</code>
+</dt>
+<dd>
<p>
-ecmerge
+Use ECMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>emerge</code>
+</dt>
+<dd>
<p>
-emerge
+Use Emacs' Emerge
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>examdiff</code>
+</dt>
+<dd>
<p>
-examdiff
+Use ExamDiff Pro (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>guiffy</code>
+</dt>
+<dd>
<p>
-guiffy
+Use Guiffy’s Diff Tool (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>gvimdiff</code>
+</dt>
+<dd>
<p>
-gvimdiff
+Use gVim (requires a graphical session) with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>gvimdiff1</code>
+</dt>
+<dd>
<p>
-gvimdiff1
+Use gVim (requires a graphical session) with a 2 panes layout (LOCAL and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>gvimdiff2</code>
+</dt>
+<dd>
<p>
-gvimdiff2
+Use gVim (requires a graphical session) with a 3 panes layout (LOCAL, MERGED and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>gvimdiff3</code>
+</dt>
+<dd>
<p>
-gvimdiff3
+Use gVim (requires a graphical session) where only the MERGED file is shown
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>kdiff3</code>
+</dt>
+<dd>
<p>
-kdiff3
+Use KDiff3 (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>meld</code>
+</dt>
+<dd>
<p>
-meld
+Use Meld (requires a graphical session) with optional <code>auto merge</code> (see <code>git help mergetool</code>'s <code>CONFIGURATION</code> section)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>nvimdiff</code>
+</dt>
+<dd>
<p>
-nvimdiff
+Use Neovim with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>nvimdiff1</code>
+</dt>
+<dd>
<p>
-nvimdiff1
+Use Neovim with a 2 panes layout (LOCAL and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>nvimdiff2</code>
+</dt>
+<dd>
<p>
-nvimdiff2
+Use Neovim with a 3 panes layout (LOCAL, MERGED and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>nvimdiff3</code>
+</dt>
+<dd>
<p>
-nvimdiff3
+Use Neovim where only the MERGED file is shown
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>opendiff</code>
+</dt>
+<dd>
<p>
-opendiff
+Use FileMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>p4merge</code>
+</dt>
+<dd>
<p>
-p4merge
+Use HelixCore P4Merge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>smerge</code>
+</dt>
+<dd>
<p>
-smerge
+Use Sublime Merge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>tkdiff</code>
+</dt>
+<dd>
<p>
-tkdiff
+Use TkDiff (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>tortoisemerge</code>
+</dt>
+<dd>
<p>
-tortoisemerge
+Use TortoiseMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>vimdiff</code>
+</dt>
+<dd>
<p>
-vimdiff
+Use Vim with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>vimdiff1</code>
+</dt>
+<dd>
<p>
-vimdiff1
+Use Vim with a 2 panes layout (LOCAL and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>vimdiff2</code>
+</dt>
+<dd>
<p>
-vimdiff2
+Use Vim with a 3 panes layout (LOCAL, MERGED and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>vimdiff3</code>
+</dt>
+<dd>
<p>
-vimdiff3
+Use Vim where only the MERGED file is shown
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>winmerge</code>
+</dt>
+<dd>
<p>
-winmerge
+Use WinMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>xxdiff</code>
+</dt>
+<dd>
<p>
-xxdiff
+Use xxdiff (requires a graphical session)
</p>
-</li>
-</ul></div>
+</dd>
+</dl></div>
</dd>
<dt class="hdlist1">
merge.verbosity
@@ -8154,6 +8280,18 @@ mergetool.meld.useAutoMerge </p>
</dd>
<dt class="hdlist1">
+mergetool.vimdiff.layout
+</dt>
+<dd>
+<p>
+ The vimdiff backend uses this variable to control how its split
+ windows look like. Applies even if you are using Neovim (<code>nvim</code>) or
+ gVim (<code>gvim</code>) as the merge tool. See BACKEND SPECIFIC HINTS section
+ in <a href="git-mergetool.html">git-mergetool(1)</a>.
+ for details.
+</p>
+</dd>
+<dt class="hdlist1">
mergetool.hideResolved
</dt>
<dd>
diff --git a/git-merge.html b/git-merge.html index 6dd7e7e7c..8d4925461 100644 --- a/git-merge.html +++ b/git-merge.html @@ -1973,173 +1973,272 @@ merge.guitool Any other value is treated as a custom merge tool and requires that a
corresponding mergetool.<guitool>.cmd variable is defined.
</p>
-<div class="ulist"><ul>
-<li>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>araxis</code>
+</dt>
+<dd>
<p>
-araxis
+Use Araxis Merge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>bc</code>
+</dt>
+<dd>
<p>
-bc
+Use Beyond Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>bc3</code>
+</dt>
+<dd>
<p>
-bc3
+Use Beyond Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>bc4</code>
+</dt>
+<dd>
<p>
-bc4
+Use Beyond Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>codecompare</code>
+</dt>
+<dd>
<p>
-codecompare
+Use Code Compare (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>deltawalker</code>
+</dt>
+<dd>
<p>
-deltawalker
+Use DeltaWalker (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>diffmerge</code>
+</dt>
+<dd>
<p>
-diffmerge
+Use DiffMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>diffuse</code>
+</dt>
+<dd>
<p>
-diffuse
+Use Diffuse (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>ecmerge</code>
+</dt>
+<dd>
<p>
-ecmerge
+Use ECMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>emerge</code>
+</dt>
+<dd>
<p>
-emerge
+Use Emacs' Emerge
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>examdiff</code>
+</dt>
+<dd>
<p>
-examdiff
+Use ExamDiff Pro (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>guiffy</code>
+</dt>
+<dd>
<p>
-guiffy
+Use Guiffy’s Diff Tool (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>gvimdiff</code>
+</dt>
+<dd>
<p>
-gvimdiff
+Use gVim (requires a graphical session) with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>gvimdiff1</code>
+</dt>
+<dd>
<p>
-gvimdiff1
+Use gVim (requires a graphical session) with a 2 panes layout (LOCAL and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>gvimdiff2</code>
+</dt>
+<dd>
<p>
-gvimdiff2
+Use gVim (requires a graphical session) with a 3 panes layout (LOCAL, MERGED and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>gvimdiff3</code>
+</dt>
+<dd>
<p>
-gvimdiff3
+Use gVim (requires a graphical session) where only the MERGED file is shown
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>kdiff3</code>
+</dt>
+<dd>
<p>
-kdiff3
+Use KDiff3 (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>meld</code>
+</dt>
+<dd>
<p>
-meld
+Use Meld (requires a graphical session) with optional <code>auto merge</code> (see <code>git help mergetool</code>'s <code>CONFIGURATION</code> section)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>nvimdiff</code>
+</dt>
+<dd>
<p>
-nvimdiff
+Use Neovim with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>nvimdiff1</code>
+</dt>
+<dd>
<p>
-nvimdiff1
+Use Neovim with a 2 panes layout (LOCAL and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>nvimdiff2</code>
+</dt>
+<dd>
<p>
-nvimdiff2
+Use Neovim with a 3 panes layout (LOCAL, MERGED and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>nvimdiff3</code>
+</dt>
+<dd>
<p>
-nvimdiff3
+Use Neovim where only the MERGED file is shown
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>opendiff</code>
+</dt>
+<dd>
<p>
-opendiff
+Use FileMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>p4merge</code>
+</dt>
+<dd>
<p>
-p4merge
+Use HelixCore P4Merge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>smerge</code>
+</dt>
+<dd>
<p>
-smerge
+Use Sublime Merge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>tkdiff</code>
+</dt>
+<dd>
<p>
-tkdiff
+Use TkDiff (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>tortoisemerge</code>
+</dt>
+<dd>
<p>
-tortoisemerge
+Use TortoiseMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>vimdiff</code>
+</dt>
+<dd>
<p>
-vimdiff
+Use Vim with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>vimdiff1</code>
+</dt>
+<dd>
<p>
-vimdiff1
+Use Vim with a 2 panes layout (LOCAL and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>vimdiff2</code>
+</dt>
+<dd>
<p>
-vimdiff2
+Use Vim with a 3 panes layout (LOCAL, MERGED and REMOTE)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>vimdiff3</code>
+</dt>
+<dd>
<p>
-vimdiff3
+Use Vim where only the MERGED file is shown
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>winmerge</code>
+</dt>
+<dd>
<p>
-winmerge
+Use WinMerge (requires a graphical session)
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+<code>xxdiff</code>
+</dt>
+<dd>
<p>
-xxdiff
+Use xxdiff (requires a graphical session)
</p>
-</li>
-</ul></div>
+</dd>
+</dl></div>
</dd>
<dt class="hdlist1">
merge.verbosity
diff --git a/git-mergetool.html b/git-mergetool.html index 6548a4065..837c8d310 100644 --- a/git-mergetool.html +++ b/git-mergetool.html @@ -966,6 +966,17 @@ mergetool.meld.useAutoMerge </p>
</dd>
<dt class="hdlist1">
+mergetool.vimdiff.layout
+</dt>
+<dd>
+<p>
+ The vimdiff backend uses this variable to control how its split
+ windows look like. Applies even if you are using Neovim (<code>nvim</code>) or
+ gVim (<code>gvim</code>) as the merge tool. See BACKEND SPECIFIC HINTS section
+ for details.
+</p>
+</dd>
+<dt class="hdlist1">
mergetool.hideResolved
</dt>
<dd>
@@ -1037,6 +1048,274 @@ are successfully merged.</p></div> </div>
</div>
<div class="sect1">
+<h2 id="_backend_specific_hints">BACKEND SPECIFIC HINTS</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_vimdiff">vimdiff</h3>
+<div class="sect3">
+<h4 id="_description_2">Description</h4>
+<div class="paragraph"><p>When specifying <code>--tool=vimdiff</code> in <code>git mergetool</code> Git will open Vim with a 4
+windows layout distributed in the following way:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>------------------------------------------
+| | | |
+| LOCAL | BASE | REMOTE |
+| | | |
+------------------------------------------
+| |
+| MERGED |
+| |
+------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p><code>LOCAL</code>, <code>BASE</code> and <code>REMOTE</code> are read-only buffers showing the contents of the
+conflicting file in specific commits ("commit you are merging into", "common
+ancestor commit" and "commit you are merging from" respectively)</p></div>
+<div class="paragraph"><p><code>MERGED</code> is a writable buffer where you have to resolve the conflicts (using the
+other read-only buffers as a reference). Once you are done, save and exit Vim as
+usual (<code>:wq</code>) or, if you want to abort, exit using <code>:cq</code>.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_layout_configuration">Layout configuration</h4>
+<div class="paragraph"><p>You can change the windows layout used by Vim by setting configuration variable
+<code>mergetool.vimdiff.layout</code> which accepts a string where the following separators
+have special meaning:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>+</code> is used to "open a new tab"
+</p>
+</li>
+<li>
+<p>
+<code>,</code> is used to "open a new vertical split"
+</p>
+</li>
+<li>
+<p>
+<code>/</code> is used to "open a new horizontal split"
+</p>
+</li>
+<li>
+<p>
+<code>@</code> is used to indicate which is the file containing the final version after
+ solving the conflicts. If not present, <code>MERGED</code> will be used by default.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>The precedence of the operators is this one (you can use parentheses to change
+it):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>`@` > `+` > `/` > `,`</code></pre>
+</div></div>
+<div class="paragraph"><p>Let’s see some examples to understand how it works:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>layout = "(LOCAL,BASE,REMOTE)/MERGED"</code>
+</p>
+<div class="openblock">
+<div class="content">
+<div class="paragraph"><p>This is exactly the same as the default layout we have already seen.</p></div>
+<div class="paragraph"><p>Note that <code>/</code> has precedence over <code>,</code> and thus the parenthesis are not
+needed in this case. The next layout definition is equivalent:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>layout = "LOCAL,BASE,REMOTE / MERGED"</code></pre>
+</div></div>
+</div></div>
+</li>
+<li>
+<p>
+<code>layout = "LOCAL,MERGED,REMOTE"</code>
+</p>
+<div class="openblock">
+<div class="content">
+<div class="paragraph"><p>If, for some reason, we are not interested in the <code>BASE</code> buffer.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>------------------------------------------
+| | | |
+| | | |
+| LOCAL | MERGED | REMOTE |
+| | | |
+| | | |
+------------------------------------------</code></pre>
+</div></div>
+</div></div>
+</li>
+<li>
+<p>
+<code>layout = "MERGED"</code>
+</p>
+<div class="openblock">
+<div class="content">
+<div class="paragraph"><p>Only the <code>MERGED</code> buffer will be shown. Note, however, that all the other
+ones are still loaded in vim, and you can access them with the "buffers"
+command.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>------------------------------------------
+| |
+| |
+| MERGED |
+| |
+| |
+------------------------------------------</code></pre>
+</div></div>
+</div></div>
+</li>
+<li>
+<p>
+<code>layout = "@LOCAL,REMOTE"</code>
+</p>
+<div class="openblock">
+<div class="content">
+<div class="paragraph"><p>When <code>MERGED</code> is not present in the layout, you must "mark" one of the
+buffers with an asterisk. That will become the buffer you need to edit and
+save after resolving the conflicts.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>------------------------------------------
+| | |
+| | |
+| | |
+| LOCAL | REMOTE |
+| | |
+| | |
+| | |
+------------------------------------------</code></pre>
+</div></div>
+</div></div>
+</li>
+<li>
+<p>
+<code>layout = "LOCAL,BASE,REMOTE / MERGED + BASE,LOCAL + BASE,REMOTE"</code>
+</p>
+<div class="openblock">
+<div class="content">
+<div class="paragraph"><p>Three tabs will open: the first one is a copy of the default layout, while
+the other two only show the differences between (<code>BASE</code> and <code>LOCAL</code>) and
+(<code>BASE</code> and <code>REMOTE</code>) respectively.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>------------------------------------------
+| <TAB #1> | TAB #2 | TAB #3 | |
+------------------------------------------
+| | | |
+| LOCAL | BASE | REMOTE |
+| | | |
+------------------------------------------
+| |
+| MERGED |
+| |
+------------------------------------------</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>------------------------------------------
+| TAB #1 | <TAB #2> | TAB #3 | |
+------------------------------------------
+| | |
+| | |
+| | |
+| BASE | LOCAL |
+| | |
+| | |
+| | |
+------------------------------------------</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>------------------------------------------
+| TAB #1 | TAB #2 | <TAB #3> | |
+------------------------------------------
+| | |
+| | |
+| | |
+| BASE | REMOTE |
+| | |
+| | |
+| | |
+------------------------------------------</code></pre>
+</div></div>
+</div></div>
+</li>
+<li>
+<p>
+<code>layout = "LOCAL,BASE,REMOTE / MERGED + BASE,LOCAL + BASE,REMOTE + (LOCAL/BASE/REMOTE),MERGED"</code>
+</p>
+<div class="openblock">
+<div class="content">
+<div class="paragraph"><p>Same as the previous example, but adds a fourth tab with the same
+information as the first tab, with a different layout.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>---------------------------------------------
+| TAB #1 | TAB #2 | TAB #3 | <TAB #4> |
+---------------------------------------------
+| LOCAL | |
+|---------------------| |
+| BASE | MERGED |
+|---------------------| |
+| REMOTE | |
+---------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Note how in the third tab definition we need to use parenthesis to make <code>,</code>
+have precedence over <code>/</code>.</p></div>
+</div></div>
+</li>
+</ul></div>
+</div>
+<div class="sect3">
+<h4 id="_variants">Variants</h4>
+<div class="paragraph"><p>Instead of <code>--tool=vimdiff</code>, you can also use one of these other variants:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>--tool=gvimdiff</code>, to open gVim instead of Vim.
+</p>
+</li>
+<li>
+<p>
+<code>--tool=nvimdiff</code>, to open Neovim instead of Vim.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>When using these variants, in order to specify a custom layout you will have to
+set configuration variables <code>mergetool.gvimdiff.layout</code> and
+<code>mergetool.nvimdiff.layout</code> instead of <code>mergetool.vimdiff.layout</code></p></div>
+<div class="paragraph"><p>In addition, for backwards compatibility with previous Git versions, you can
+also append <code>1</code>, <code>2</code> or <code>3</code> to either <code>vimdiff</code> or any of the variants (ex:
+<code>vimdiff3</code>, <code>nvimdiff1</code>, etc…) to use a predefined layout.
+In other words, using <code>--tool=[g,n,]vimdiffx</code> is the same as using
+<code>--tool=[g,n,]vimdiff</code> and setting configuration variable
+<code>mergetool.[g,n,]vimdiff.layout</code> to…</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>x=1</code>: <code>"@LOCAL, REMOTE"</code>
+</p>
+</li>
+<li>
+<p>
+<code>x=2</code>: <code>"LOCAL, MERGED, REMOTE"</code>
+</p>
+</li>
+<li>
+<p>
+<code>x=3</code>: <code>"MERGED"</code>
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Example: using <code>--tool=gvimdiff2</code> will open <code>gvim</code> with three columns (LOCAL,
+MERGED and REMOTE).</p></div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
<h2 id="_git">GIT</h2>
<div class="sectionbody">
<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
@@ -1047,7 +1326,7 @@ are successfully merged.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2021-03-18 23:59:50 PDT
+ 2022-05-10 17:54:15 PDT
</div>
</div>
</body>
diff --git a/git-mergetool.txt b/git-mergetool.txt index e587c7763..f784027bc 100644 --- a/git-mergetool.txt +++ b/git-mergetool.txt @@ -101,6 +101,7 @@ success of the resolution after the custom tool has exited. CONFIGURATION ------------- +:git-mergetool: 1 include::config/mergetool.txt[] TEMPORARY FILES @@ -113,6 +114,13 @@ Setting the `mergetool.keepBackup` configuration variable to `false` causes `git mergetool` to automatically remove the backup as files are successfully merged. +BACKEND SPECIFIC HINTS +---------------------- + +vimdiff +~~~~~~~ +include::mergetools/vimdiff.txt[] + GIT --- Part of the linkgit:git[1] suite diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html index c2c887905..d93537a7c 100644 --- a/howto/coordinate-embargoed-releases.html +++ b/howto/coordinate-embargoed-releases.html @@ -873,7 +873,7 @@ Thanks, <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:06 PDT
+ 2022-05-10 17:54:44 PDT
</div>
</div>
</body>
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index 23da56106..841e55d5b 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html @@ -938,7 +938,7 @@ tip of your <em>master</em> again and redo the two merges:</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:06 PDT
+ 2022-05-10 17:54:44 PDT
</div>
</div>
</body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html index 90eb75882..f3f6d45fc 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html @@ -1469,7 +1469,7 @@ $ git update-ref -d $mf/ai/topic</code></pre> <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:06 PDT
+ 2022-05-10 17:54:44 PDT
</div>
</div>
</body>
diff --git a/howto/new-command.html b/howto/new-command.html index a2b485f83..3d71cf27a 100644 --- a/howto/new-command.html +++ b/howto/new-command.html @@ -863,7 +863,7 @@ letter [PATCH 0/n]. <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:04 PDT
+ 2022-05-10 17:54:42 PDT
</div>
</div>
</body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index cd2658469..83273a33d 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html @@ -895,7 +895,7 @@ the #1' commit.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:06 PDT
+ 2022-05-10 17:54:44 PDT
</div>
</div>
</body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index a4e6b45fd..856d853a4 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html @@ -847,7 +847,7 @@ This is still crude and does not protect against simultaneous <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:06 PDT
+ 2022-05-10 17:54:43 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index 469efed8d..674394308 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html @@ -880,7 +880,7 @@ thing.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:06 PDT
+ 2022-05-10 17:54:43 PDT
</div>
</div>
</body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index 98b152234..338897853 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html @@ -1189,7 +1189,7 @@ int main(int argc, char **argv) <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:06 PDT
+ 2022-05-10 17:54:43 PDT
</div>
</div>
</body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index fd27dd777..b55dd59a0 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html @@ -1025,7 +1025,7 @@ P---o---o---M---x---x---W---x---M2 <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:05 PDT
+ 2022-05-10 17:54:43 PDT
</div>
</div>
</body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 549eb2391..e921681ac 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html @@ -907,7 +907,7 @@ Committed merge 7fb9b7262a1d1e0a47bbfdcbbcf50ce0635d3f8f <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:04 PDT
+ 2022-05-10 17:54:42 PDT
</div>
</div>
</body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index f19f957fb..e2bdb73f4 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html @@ -841,7 +841,7 @@ o---o"master"</code></pre> <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:05 PDT
+ 2022-05-10 17:54:43 PDT
</div>
</div>
</body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index 93404dc9b..b44b592da 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html @@ -1071,7 +1071,7 @@ help diagnosing the problem, but removes security checks.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:05 PDT
+ 2022-05-10 17:54:43 PDT
</div>
</div>
</body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index a3784a383..e28f89d7e 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html @@ -930,7 +930,7 @@ that JC can make non-fast-forward pushes on it.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:05 PDT
+ 2022-05-10 17:54:43 PDT
</div>
</div>
</body>
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index 69043dbf6..a22a76870 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html @@ -791,7 +791,7 @@ a good practice to put the paths after a "--" separator.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:05 PDT
+ 2022-05-10 17:54:42 PDT
</div>
</div>
</body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index 885144402..e4a666015 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html @@ -848,7 +848,7 @@ Please note that if the other project merges from you, then it will <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:05 PDT
+ 2022-05-10 17:54:42 PDT
</div>
</div>
</body>
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index dee2799fd..1c11ab78e 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html @@ -952,7 +952,7 @@ as part of the merge commit.</p></div> <div id="footer">
<div id="footer-text">
Last updated
- 2022-05-06 09:59:05 PDT
+ 2022-05-10 17:54:42 PDT
</div>
</div>
</body>
diff --git a/mergetools-diff.txt b/mergetools-diff.txt index c685056e6..a2876794f 100644 --- a/mergetools-diff.txt +++ b/mergetools-diff.txt @@ -1,33 +1,24 @@ -* araxis -* bc -* bc3 -* bc4 -* codecompare -* deltawalker -* diffmerge -* diffuse -* ecmerge -* emerge -* examdiff -* guiffy -* gvimdiff -* gvimdiff1 -* gvimdiff2 -* gvimdiff3 -* kdiff3 -* kompare -* meld -* nvimdiff -* nvimdiff1 -* nvimdiff2 -* nvimdiff3 -* opendiff -* p4merge -* smerge -* tkdiff -* vimdiff -* vimdiff1 -* vimdiff2 -* vimdiff3 -* winmerge -* xxdiff +`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) +`kdiff3`;; Use KDiff3 (requires a graphical session) +`kompare`;; Use Kompare (requires a graphical session) +`meld`;; Use Meld (requires a graphical session) +`nvimdiff`;; Use Neovim +`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) +`vimdiff`;; Use Vim +`winmerge`;; Use WinMerge (requires a graphical session) +`xxdiff`;; Use xxdiff (requires a graphical session) diff --git a/mergetools-merge.txt b/mergetools-merge.txt index cb538a2b9..f34a03f27 100644 --- a/mergetools-merge.txt +++ b/mergetools-merge.txt @@ -1,33 +1,33 @@ -* araxis -* bc -* bc3 -* bc4 -* codecompare -* deltawalker -* diffmerge -* diffuse -* ecmerge -* emerge -* examdiff -* guiffy -* gvimdiff -* gvimdiff1 -* gvimdiff2 -* gvimdiff3 -* kdiff3 -* meld -* nvimdiff -* nvimdiff1 -* nvimdiff2 -* nvimdiff3 -* opendiff -* p4merge -* smerge -* tkdiff -* tortoisemerge -* vimdiff -* vimdiff1 -* vimdiff2 -* vimdiff3 -* winmerge -* xxdiff +`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) +`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 +`winmerge`;; Use WinMerge (requires a graphical session) +`xxdiff`;; Use xxdiff (requires a graphical session) |