/usr/share/doc/monotone/html/External-Diff-Tools.html is in monotone-doc 1.0-12.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>monotone documentation: External Diff Tools</title>
<meta name="description" content="monotone documentation: External Diff Tools">
<meta name="keywords" content="monotone documentation: External Diff Tools">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="General-Index.html#General-Index" rel="index" title="General Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Hooks.html#Hooks" rel="up" title="Hooks">
<link href="External-Merge-Tools.html#External-Merge-Tools" rel="next" title="External Merge Tools">
<link href="Trust-Evaluation-Hooks.html#Trust-Evaluation-Hooks" rel="prev" title="Trust Evaluation Hooks">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
<link rel="stylesheet" type="text/css" href="texinfo.css">
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="External-Diff-Tools"></a>
<div class="header">
<p>
Next: <a href="External-Merge-Tools.html#External-Merge-Tools" accesskey="n" rel="next">External Merge Tools</a>, Previous: <a href="Trust-Evaluation-Hooks.html#Trust-Evaluation-Hooks" accesskey="p" rel="prev">Trust Evaluation Hooks</a>, Up: <a href="Hooks.html#Hooks" accesskey="u" rel="up">Hooks</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="General-Index.html#General-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="External-Diff-Tools-1"></a>
<h4 class="subsection">6.1.7 External Diff Tools</h4>
<p>Differences between files can be shown in a number of ways, varying
according to user preference and file type. These hooks allow
customization of the way file differences are shown in <code>diff</code>
and <code>log</code> commands.
</p>
<dl compact="compact">
<dd><a name="get_005fencloser_005fpattern"></a></dd>
<dt><code>get_encloser_pattern (<var>file_path</var>)</code>
<a name="index-get_005fencloser_005fpattern-_0028file_005fpath_0029"></a>
</dt>
<dd>
<p>Called by <code><a href="Informative.html#mtn-diff">mtn diff</a></code>, <code><a href="Automation.html#mtn-automate-content_005fdiff">mtn automate content_diff</a></code>, <code><a href="Informative.html#mtn-log">mtn log</a></code>, <code><a href="Automation.html#mtn-automate-log">mtn automate log</a></code>, for each file in the diff output, if
<samp>--no-show-encloser</samp> is not given.
</p>
<p><var>file_path</var> is the pathname of the file that is being diffed.
</p>
<p>The hook should return a string constant containing a regular
expression; this regular expression will be used to find lines in the
file that name the “top-level” constructs enclosing each “hunk” of
changes.
</p>
<p>If a null string is returned, no enclosers are shown.
</p>
<p>See <a href="Regexps.html#Regexps">Regexps</a>, for the regular expression syntax used by monotone.
</p>
<p>The default hook treats looks at the file extension, as follows:
</p>
<dl compact="compact">
<dt><samp>.texi</samp></dt>
<dd><p>Returns a regular expression matching nodes, subsections, headings.
</p>
</dd>
<dt><samp>.tex</samp></dt>
<dt><samp>.ltx</samp></dt>
<dt><samp>.latex</samp></dt>
<dd><p>Returns a regular expression matching part, chapter, [sub]sections, paragraphs.
</p>
</dd>
<dt><samp>.txt</samp></dt>
<dd><p>Empty string.
</p>
</dd>
<dd><p>Otherwise returns <code>^[[:alnum:]$_]</code>, which is correct for
many programming languages.
</p></dd>
</dl>
<a name="external_005fdiff"></a></dd>
<dt><code>external_diff (<var>file_path</var>, <var>old_data</var>, <var>new_data</var>, <var>is_binary</var>, <var>diff_args</var>, <var>old_rev</var>, <var>new_rev</var>)</code>
<a name="index-external_005fdiff-_0028file_005fpath_002c-old_005fdata_002c-new_005fdata_002c-is_005fbinary_002c-diff_005fargs_002c-old_005frev_002c-new_005frev_0029"></a>
</dt>
<dd>
<p>Called by <code><a href="Informative.html#mtn-diff">mtn diff</a></code>, <code><a href="Automation.html#mtn-automate-content_005fdiff">mtn automate content_diff</a></code>, <code><a href="Informative.html#mtn-log">mtn log</a></code>, <code><a href="Automation.html#mtn-automate-log">mtn automate log</a></code>, for each file in the diff output, if <samp>--external</samp> is
given.
</p>
<p>The hook should run a program that displays the differences between
two versions of a file. The return value of the hook is not used.
</p>
<p><var>file_path</var> is the pathname of the file that is being diffed.
</p>
<p><var>old_data</var> and <var>new_data</var> are the contents of the old and the
new file (<var>old_data</var> is nil if the file is new). If the content
is binary, <var>is_binary</var> will be true, otherwise false.
<var>old_rev</var> and <var>new_rev</var> are the revision IDs of the old and
new data.
</p>
<p>If an extra arguments are given via <samp>--diff-args</samp>, the string
will be passed in as <var>diff_args</var>. Otherwise <var>diff_args</var> will
be nil.
</p>
<p>The default implementation of this hook calls the program <code>diff</code>,
and if <samp>--diff-args</samp> were not passed, takes default arguments
from the Lua variable <code>external_diff_default_args</code>. You can
override this variable in your configuration file, without overriding
the whole hook.
</p>
</dd>
</dl>
<hr>
<div class="header">
<p>
Next: <a href="External-Merge-Tools.html#External-Merge-Tools" accesskey="n" rel="next">External Merge Tools</a>, Previous: <a href="Trust-Evaluation-Hooks.html#Trust-Evaluation-Hooks" accesskey="p" rel="prev">Trust Evaluation Hooks</a>, Up: <a href="Hooks.html#Hooks" accesskey="u" rel="up">Hooks</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="General-Index.html#General-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|