blob: cdaeff975db92526bdbb1391941ae064db21f60e [file] [log] [blame]
Junio C Hamano3bd66e92009-04-18 06:17:561<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Junio C Hamano2e6ded82010-12-05 06:20:486<meta name="generator" content="AsciiDoc 8.4.5" />
7<title>git-difftool(1)</title>
Junio C Hamano3bd66e92009-04-18 06:17:568<style type="text/css">
9/* Debug borders */
10p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11/*
12 border: 1px solid red;
13*/
14}
15
16body {
17 margin: 1em 5% 1em 5%;
18}
19
20a {
21 color: blue;
22 text-decoration: underline;
23}
24a:visited {
25 color: fuchsia;
26}
27
28em {
29 font-style: italic;
Junio C Hamano2e6ded82010-12-05 06:20:4830 color: navy;
Junio C Hamano3bd66e92009-04-18 06:17:5631}
32
33strong {
34 font-weight: bold;
Junio C Hamano2e6ded82010-12-05 06:20:4835 color: #083194;
Junio C Hamano3bd66e92009-04-18 06:17:5636}
37
38tt {
39 color: navy;
40}
41
42h1, h2, h3, h4, h5, h6 {
43 color: #527bbd;
44 font-family: sans-serif;
45 margin-top: 1.2em;
46 margin-bottom: 0.5em;
47 line-height: 1.3;
48}
49
50h1, h2, h3 {
51 border-bottom: 2px solid silver;
52}
53h2 {
54 padding-top: 0.5em;
55}
56h3 {
57 float: left;
58}
59h3 + * {
60 clear: left;
61}
62
63div.sectionbody {
64 font-family: serif;
65 margin-left: 0;
66}
67
68hr {
69 border: 1px solid silver;
70}
71
72p {
73 margin-top: 0.5em;
74 margin-bottom: 0.5em;
75}
76
Junio C Hamano2e6ded82010-12-05 06:20:4877ul, ol, li > p {
78 margin-top: 0;
79}
80
Junio C Hamano3bd66e92009-04-18 06:17:5681pre {
82 padding: 0;
83 margin: 0;
84}
85
86span#author {
87 color: #527bbd;
88 font-family: sans-serif;
89 font-weight: bold;
90 font-size: 1.1em;
91}
92span#email {
93}
Junio C Hamano2e6ded82010-12-05 06:20:4894span#revnumber, span#revdate, span#revremark {
Junio C Hamano3bd66e92009-04-18 06:17:5695 font-family: sans-serif;
96}
97
98div#footer {
99 font-family: sans-serif;
100 font-size: small;
101 border-top: 2px solid silver;
102 padding-top: 0.5em;
103 margin-top: 4.0em;
104}
105div#footer-text {
106 float: left;
107 padding-bottom: 0.5em;
108}
109div#footer-badges {
110 float: right;
111 padding-bottom: 0.5em;
112}
113
Junio C Hamano2e6ded82010-12-05 06:20:48114div#preamble {
115 margin-top: 1.5em;
116 margin-bottom: 1.5em;
117}
Junio C Hamano3bd66e92009-04-18 06:17:56118div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
119div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120div.admonitionblock {
Junio C Hamano3bd66e92009-04-18 06:17:56121 margin-top: 1.5em;
122 margin-bottom: 1.5em;
123}
124div.admonitionblock {
125 margin-top: 2.5em;
126 margin-bottom: 2.5em;
127}
128
129div.content { /* Block element content. */
130 padding: 0;
131}
132
133/* Block element titles. */
134div.title, caption.title {
Junio C Hamano2e6ded82010-12-05 06:20:48135 color: #527bbd;
Junio C Hamano3bd66e92009-04-18 06:17:56136 font-family: sans-serif;
137 font-weight: bold;
138 text-align: left;
139 margin-top: 1.0em;
140 margin-bottom: 0.5em;
141}
142div.title + * {
143 margin-top: 0;
144}
145
146td div.title:first-child {
147 margin-top: 0.0em;
148}
149div.content div.title:first-child {
150 margin-top: 0.0em;
151}
152div.content + div.title {
153 margin-top: 0.0em;
154}
155
156div.sidebarblock > div.content {
157 background: #ffffee;
158 border: 1px solid silver;
159 padding: 0.5em;
160}
161
Junio C Hamano3bd66e92009-04-18 06:17:56162div.listingblock > div.content {
163 border: 1px solid silver;
164 background: #f4f4f4;
165 padding: 0.5em;
166}
167
Junio C Hamano2e6ded82010-12-05 06:20:48168div.quoteblock {
Junio C Hamano3bd66e92009-04-18 06:17:56169 padding-left: 2.0em;
Junio C Hamano2e6ded82010-12-05 06:20:48170 margin-right: 10%;
Junio C Hamano3bd66e92009-04-18 06:17:56171}
Junio C Hamano2e6ded82010-12-05 06:20:48172div.quoteblock > div.attribution {
173 padding-top: 0.5em;
Junio C Hamano3bd66e92009-04-18 06:17:56174 text-align: right;
175}
Junio C Hamano2e6ded82010-12-05 06:20:48176
177div.verseblock {
178 padding-left: 2.0em;
179 margin-right: 10%;
180}
181div.verseblock > div.content {
182 white-space: pre;
183}
184div.verseblock > div.attribution {
185 padding-top: 0.75em;
186 text-align: left;
187}
188/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
Junio C Hamano3bd66e92009-04-18 06:17:56189div.verseblock + div.attribution {
190 text-align: left;
191}
192
193div.admonitionblock .icon {
194 vertical-align: top;
195 font-size: 1.1em;
196 font-weight: bold;
197 text-decoration: underline;
198 color: #527bbd;
199 padding-right: 0.5em;
200}
201div.admonitionblock td.content {
202 padding-left: 0.5em;
203 border-left: 2px solid silver;
204}
205
206div.exampleblock > div.content {
207 border-left: 2px solid silver;
208 padding: 0.5em;
209}
210
Junio C Hamano3bd66e92009-04-18 06:17:56211div.imageblock div.content { padding-left: 0; }
Junio C Hamano3bd66e92009-04-18 06:17:56212span.image img { border-style: none; }
Junio C Hamano2e6ded82010-12-05 06:20:48213a.image:visited { color: white; }
Junio C Hamano3bd66e92009-04-18 06:17:56214
215dl {
216 margin-top: 0.8em;
217 margin-bottom: 0.8em;
218}
219dt {
220 margin-top: 0.5em;
221 margin-bottom: 0;
Junio C Hamano2e6ded82010-12-05 06:20:48222 font-style: normal;
223 color: navy;
Junio C Hamano3bd66e92009-04-18 06:17:56224}
225dd > *:first-child {
Junio C Hamano2e6ded82010-12-05 06:20:48226 margin-top: 0.1em;
Junio C Hamano3bd66e92009-04-18 06:17:56227}
228
229ul, ol {
230 list-style-position: outside;
231}
Junio C Hamano2e6ded82010-12-05 06:20:48232ol.arabic {
233 list-style-type: decimal;
234}
235ol.loweralpha {
Junio C Hamano3bd66e92009-04-18 06:17:56236 list-style-type: lower-alpha;
237}
Junio C Hamano2e6ded82010-12-05 06:20:48238ol.upperalpha {
239 list-style-type: upper-alpha;
240}
241ol.lowerroman {
242 list-style-type: lower-roman;
243}
244ol.upperroman {
245 list-style-type: upper-roman;
246}
247
248div.compact ul, div.compact ol,
249div.compact p, div.compact p,
250div.compact div, div.compact div {
251 margin-top: 0.1em;
252 margin-bottom: 0.1em;
253}
Junio C Hamano3bd66e92009-04-18 06:17:56254
255div.tableblock > table {
256 border: 3px solid #527bbd;
257}
258thead {
259 font-family: sans-serif;
260 font-weight: bold;
261}
262tfoot {
263 font-weight: bold;
264}
Junio C Hamano2e6ded82010-12-05 06:20:48265td > div.verse {
266 white-space: pre;
267}
268p.table {
269 margin-top: 0;
270}
271/* Because the table frame attribute is overriden by CSS in most browsers. */
272div.tableblock > table[frame="void"] {
273 border-style: none;
274}
275div.tableblock > table[frame="hsides"] {
276 border-left-style: none;
277 border-right-style: none;
278}
279div.tableblock > table[frame="vsides"] {
280 border-top-style: none;
281 border-bottom-style: none;
282}
Junio C Hamano3bd66e92009-04-18 06:17:56283
Junio C Hamano2e6ded82010-12-05 06:20:48284
285div.hdlist {
Junio C Hamano3bd66e92009-04-18 06:17:56286 margin-top: 0.8em;
287 margin-bottom: 0.8em;
288}
Junio C Hamano2e6ded82010-12-05 06:20:48289div.hdlist tr {
290 padding-bottom: 15px;
Junio C Hamano3bd66e92009-04-18 06:17:56291}
Junio C Hamano2e6ded82010-12-05 06:20:48292dt.hdlist1.strong, td.hdlist1.strong {
293 font-weight: bold;
294}
295td.hdlist1 {
Junio C Hamano3bd66e92009-04-18 06:17:56296 vertical-align: top;
Junio C Hamano2e6ded82010-12-05 06:20:48297 font-style: normal;
Junio C Hamano3bd66e92009-04-18 06:17:56298 padding-right: 0.8em;
Junio C Hamano2e6ded82010-12-05 06:20:48299 color: navy;
Junio C Hamano3bd66e92009-04-18 06:17:56300}
Junio C Hamano2e6ded82010-12-05 06:20:48301td.hdlist2 {
Junio C Hamano3bd66e92009-04-18 06:17:56302 vertical-align: top;
303}
Junio C Hamano2e6ded82010-12-05 06:20:48304div.hdlist.compact tr {
305 margin: 0;
306 padding-bottom: 0;
307}
308
309.comment {
310 background: yellow;
311}
Junio C Hamano3bd66e92009-04-18 06:17:56312
313@media print {
314 div#footer-badges { display: none; }
315}
316
317div#toctitle {
318 color: #527bbd;
319 font-family: sans-serif;
320 font-size: 1.1em;
321 font-weight: bold;
322 margin-top: 1.0em;
323 margin-bottom: 0.1em;
324}
325
326div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
327 margin-top: 0;
328 margin-bottom: 0;
329}
330div.toclevel2 {
331 margin-left: 2em;
332 font-size: 0.9em;
333}
334div.toclevel3 {
335 margin-left: 4em;
336 font-size: 0.9em;
337}
338div.toclevel4 {
339 margin-left: 6em;
340 font-size: 0.9em;
341}
Junio C Hamano2e6ded82010-12-05 06:20:48342/* Overrides for manpage documents */
343h1 {
344 padding-top: 0.5em;
345 padding-bottom: 0.5em;
346 border-top: 2px solid silver;
347 border-bottom: 2px solid silver;
348}
349h2 {
350 border-style: none;
351}
352div.sectionbody {
353 margin-left: 5%;
354}
355
356@media print {
357 div#toc { display: none; }
358}
359
Junio C Hamano3bd66e92009-04-18 06:17:56360/* Workarounds for IE6's broken and incomplete CSS2. */
361
362div.sidebar-content {
363 background: #ffffee;
364 border: 1px solid silver;
365 padding: 0.5em;
366}
367div.sidebar-title, div.image-title {
Junio C Hamano2e6ded82010-12-05 06:20:48368 color: #527bbd;
Junio C Hamano3bd66e92009-04-18 06:17:56369 font-family: sans-serif;
370 font-weight: bold;
371 margin-top: 0.0em;
372 margin-bottom: 0.5em;
373}
374
375div.listingblock div.content {
376 border: 1px solid silver;
377 background: #f4f4f4;
378 padding: 0.5em;
379}
380
Junio C Hamano2e6ded82010-12-05 06:20:48381div.quoteblock-attribution {
382 padding-top: 0.5em;
383 text-align: right;
384}
385
386div.verseblock-content {
387 white-space: pre;
388}
389div.verseblock-attribution {
390 padding-top: 0.75em;
391 text-align: left;
Junio C Hamano3bd66e92009-04-18 06:17:56392}
393
394div.exampleblock-content {
395 border-left: 2px solid silver;
396 padding-left: 0.5em;
397}
398
399/* IE6 sets dynamically generated links as visited. */
400div#toc a:visited { color: blue; }
401</style>
Junio C Hamano3bd66e92009-04-18 06:17:56402</head>
403<body>
404<div id="header">
405<h1>
406git-difftool(1) Manual Page
407</h1>
408<h2>NAME</h2>
409<div class="sectionbody">
410<p>git-difftool -
411 Show changes using common diff tools
412</p>
413</div>
414</div>
Junio C Hamano2e6ded82010-12-05 06:20:48415<h2 id="_synopsis">SYNOPSIS</h2>
Junio C Hamano3bd66e92009-04-18 06:17:56416<div class="sectionbody">
Junio C Hamano15567bc2011-07-23 00:51:59417<div class="verseblock">
418<div class="verseblock-content"><em>git difftool</em> [&lt;options&gt;] [&lt;commit&gt; [&lt;commit&gt;]] [--] [&lt;path&gt;&#8230;]</div>
419<div class="verseblock-attribution">
420</div></div>
Junio C Hamano3bd66e92009-04-18 06:17:56421</div>
422<h2 id="_description">DESCRIPTION</h2>
423<div class="sectionbody">
Junio C Hamano2e6ded82010-12-05 06:20:48424<div class="paragraph"><p><em>git difftool</em> is a git command that allows you to compare and edit files
Junio C Hamano3bd66e92009-04-18 06:17:56425between revisions using common diff tools. <em>git difftool</em> is a frontend
Junio C Hamano2e6ded82010-12-05 06:20:48426to <em>git diff</em> and accepts the same options and arguments. See
427<a href="git-diff.html">git-diff(1)</a>.</p></div>
Junio C Hamano3bd66e92009-04-18 06:17:56428</div>
429<h2 id="_options">OPTIONS</h2>
430<div class="sectionbody">
Junio C Hamano2e6ded82010-12-05 06:20:48431<div class="dlist"><dl>
432<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56433-y
434</dt>
Junio C Hamano2e6ded82010-12-05 06:20:48435<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56436--no-prompt
437</dt>
438<dd>
439<p>
440 Do not prompt before launching a diff tool.
441</p>
442</dd>
Junio C Hamano2e6ded82010-12-05 06:20:48443<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56444--prompt
445</dt>
446<dd>
447<p>
448 Prompt before each invocation of the diff tool.
449 This is the default behaviour; the option is provided to
450 override any configuration settings.
451</p>
452</dd>
Junio C Hamano2e6ded82010-12-05 06:20:48453<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56454-t &lt;tool&gt;
455</dt>
Junio C Hamano2e6ded82010-12-05 06:20:48456<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56457--tool=&lt;tool&gt;
458</dt>
459<dd>
460<p>
461 Use the diff tool specified by &lt;tool&gt;.
462 Valid merge tools are:
Junio C Hamanod2c978f2011-03-20 19:42:22463 araxis, bc3, diffuse, emerge, ecmerge, gvimdiff, kdiff3,
464 kompare, meld, opendiff, p4merge, tkdiff, vimdiff and xxdiff.
Junio C Hamano3bd66e92009-04-18 06:17:56465</p>
Junio C Hamano2e6ded82010-12-05 06:20:48466<div class="paragraph"><p>If a diff tool is not specified, <em>git difftool</em>
Junio C Hamano3bd66e92009-04-18 06:17:56467will use the configuration variable <tt>diff.tool</tt>. If the
Junio C Hamano1aa40d22010-01-21 17:46:43468configuration variable <tt>diff.tool</tt> is not set, <em>git difftool</em>
Junio C Hamano3bd66e92009-04-18 06:17:56469will pick a suitable default.</p></div>
Junio C Hamano2e6ded82010-12-05 06:20:48470<div class="paragraph"><p>You can explicitly provide a full path to the tool by setting the
Junio C Hamano3bd66e92009-04-18 06:17:56471configuration variable <tt>difftool.&lt;tool&gt;.path</tt>. For example, you
472can configure the absolute path to kdiff3 by setting
Junio C Hamano1aa40d22010-01-21 17:46:43473<tt>difftool.kdiff3.path</tt>. Otherwise, <em>git difftool</em> assumes the
Junio C Hamano3bd66e92009-04-18 06:17:56474tool is available in PATH.</p></div>
Junio C Hamano2e6ded82010-12-05 06:20:48475<div class="paragraph"><p>Instead of running one of the known diff tools,
Junio C Hamano1aa40d22010-01-21 17:46:43476<em>git difftool</em> can be customized to run an alternative program
Junio C Hamano3bd66e92009-04-18 06:17:56477by specifying the command line to invoke in a configuration
478variable <tt>difftool.&lt;tool&gt;.cmd</tt>.</p></div>
Junio C Hamano2e6ded82010-12-05 06:20:48479<div class="paragraph"><p>When <em>git difftool</em> is invoked with this tool (either through the
Junio C Hamano3bd66e92009-04-18 06:17:56480<tt>-t</tt> or <tt>--tool</tt> option or the <tt>diff.tool</tt> configuration variable)
481the configured command line will be invoked with the following
482variables available: <tt>$LOCAL</tt> is set to the name of the temporary
483file containing the contents of the diff pre-image and <tt>$REMOTE</tt>
484is set to the name of the temporary file containing the contents
Junio C Hamano0d75e872010-12-17 06:57:26485of the diff post-image. <tt>$MERGED</tt> is the name of the file which is
486being compared. <tt>$BASE</tt> is provided for compatibility
487with custom merge tool commands and has the same value as <tt>$MERGED</tt>.</p></div>
Junio C Hamano3bd66e92009-04-18 06:17:56488</dd>
Junio C Hamano2e6ded82010-12-05 06:20:48489<dt class="hdlist1">
Junio C Hamanoa9701f02010-01-21 00:42:16490-x &lt;command&gt;
491</dt>
Junio C Hamano2e6ded82010-12-05 06:20:48492<dt class="hdlist1">
Junio C Hamanoa9701f02010-01-21 00:42:16493--extcmd=&lt;command&gt;
494</dt>
495<dd>
496<p>
497 Specify a custom command for viewing diffs.
498 <em>git-difftool</em> ignores the configured defaults and runs
499 <tt>$command $LOCAL $REMOTE</tt> when this option is specified.
Junio C Hamano0d75e872010-12-17 06:57:26500 Additionally, <tt>$BASE</tt> is set in the environment.
Junio C Hamanoa9701f02010-01-21 00:42:16501</p>
502</dd>
Junio C Hamano2e6ded82010-12-05 06:20:48503<dt class="hdlist1">
Junio C Hamanoa9701f02010-01-21 00:42:16504-g
505</dt>
Junio C Hamano2e6ded82010-12-05 06:20:48506<dt class="hdlist1">
Junio C Hamanoa9701f02010-01-21 00:42:16507--gui
508</dt>
509<dd>
510<p>
511 When <em>git-difftool</em> is invoked with the <tt>-g</tt> or <tt>--gui</tt> option
512 the default diff tool will be read from the configured
513 <tt>diff.guitool</tt> variable instead of <tt>diff.tool</tt>.
514</p>
515</dd>
Junio C Hamano3bd66e92009-04-18 06:17:56516</dl></div>
Junio C Hamano2e6ded82010-12-05 06:20:48517<div class="paragraph"><p>See <a href="git-diff.html">git-diff(1)</a> for the full list of supported options.</p></div>
Junio C Hamano3bd66e92009-04-18 06:17:56518</div>
519<h2 id="_config_variables">CONFIG VARIABLES</h2>
520<div class="sectionbody">
Junio C Hamano2e6ded82010-12-05 06:20:48521<div class="paragraph"><p><em>git difftool</em> falls back to <em>git mergetool</em> config variables when the
Junio C Hamano3bd66e92009-04-18 06:17:56522difftool equivalents have not been defined.</p></div>
Junio C Hamano2e6ded82010-12-05 06:20:48523<div class="dlist"><dl>
524<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56525diff.tool
526</dt>
527<dd>
528<p>
529 The default diff tool to use.
530</p>
531</dd>
Junio C Hamano2e6ded82010-12-05 06:20:48532<dt class="hdlist1">
Junio C Hamanoa9701f02010-01-21 00:42:16533diff.guitool
534</dt>
535<dd>
536<p>
537 The default diff tool to use when <tt>--gui</tt> is specified.
538</p>
539</dd>
Junio C Hamano2e6ded82010-12-05 06:20:48540<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56541difftool.&lt;tool&gt;.path
542</dt>
543<dd>
544<p>
545 Override the path for the given tool. This is useful in case
546 your tool is not in the PATH.
547</p>
548</dd>
Junio C Hamano2e6ded82010-12-05 06:20:48549<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56550difftool.&lt;tool&gt;.cmd
551</dt>
552<dd>
553<p>
554 Specify the command to invoke the specified diff tool.
555</p>
Junio C Hamano2e6ded82010-12-05 06:20:48556<div class="paragraph"><p>See the <tt>--tool=&lt;tool&gt;</tt> option above for more details.</p></div>
Junio C Hamano3bd66e92009-04-18 06:17:56557</dd>
Junio C Hamano2e6ded82010-12-05 06:20:48558<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56559difftool.prompt
560</dt>
561<dd>
562<p>
563 Prompt before each invocation of the diff tool.
564</p>
565</dd>
566</dl></div>
567</div>
568<h2 id="_see_also">SEE ALSO</h2>
569<div class="sectionbody">
Junio C Hamano2e6ded82010-12-05 06:20:48570<div class="dlist"><dl>
571<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56572<a href="git-diff.html">git-diff(1)</a>
573</dt>
574<dd>
575<p>
576 Show changes between commits, commit and working tree, etc
577</p>
578</dd>
Junio C Hamano2e6ded82010-12-05 06:20:48579<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56580<a href="git-mergetool.html">git-mergetool(1)</a>
581</dt>
582<dd>
583<p>
584 Run merge conflict resolution tools to resolve merge conflicts
585</p>
586</dd>
Junio C Hamano2e6ded82010-12-05 06:20:48587<dt class="hdlist1">
Junio C Hamano3bd66e92009-04-18 06:17:56588<a href="git-config.html">git-config(1)</a>
589</dt>
590<dd>
591<p>
592 Get and set repository or global options
593</p>
594</dd>
595</dl></div>
596</div>
Junio C Hamano3bd66e92009-04-18 06:17:56597<h2 id="_git">GIT</h2>
598<div class="sectionbody">
Junio C Hamano2e6ded82010-12-05 06:20:48599<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano3bd66e92009-04-18 06:17:56600</div>
601<div id="footer">
602<div id="footer-text">
Junio C Hamano15567bc2011-07-23 00:51:59603Last updated 2011-07-23 00:49:30 UTC
Junio C Hamano3bd66e92009-04-18 06:17:56604</div>
605</div>
606</body>
607</html>