/usr/share/doc/monotone/html/Conflicts.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 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 | <!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: Conflicts</title>
<meta name="description" content="monotone documentation: Conflicts">
<meta name="keywords" content="monotone documentation: Conflicts">
<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="Tree.html#Tree" rel="up" title="Tree">
<link href="Workspace.html#Workspace" rel="next" title="Workspace">
<link href="Tree.html#Tree" rel="prev" title="Tree">
<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="Conflicts"></a>
<div class="header">
<p>
Previous: <a href="Tree.html#Tree" accesskey="p" rel="prev">Tree</a>, Up: <a href="Tree.html#Tree" accesskey="u" rel="up">Tree</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="Conflicts-1"></a>
<h4 class="subsection">4.2.1 Conflicts</h4>
<p>The <code>conflicts</code> set of commands is used to specify conflict
resolutions for merges, asynchronously from the merge command itself.
This lets the user take as much time as needed to prepare all the
conflict resolutions, and avoids losing work when a merge is aborted
due to a complicated conflict. See <a href="Merge-Conflicts.html#Merge-Conflicts">Merge Conflicts</a>.
</p>
<p>These commands require a workspace, to provide a place to store the
conflicts and user resolution files.
</p>
<p>For all of these commands, if the <samp>--conflicts-file</samp> option is
not given, the file <samp>_MTN/conflicts</samp> is used. If the
<samp>--conflicts-file</samp> option is given, the file must be in the
bookkeeping directory.
</p>
<p>Files given in these commands are relative to the current working
directory, or absolute. In the conflict file, they are relative to the
workspace root, or absolute.
</p>
<p>The commands are listed in the order they are typically used, not
in alphabetical order. Then the conflict resolutions are discussed.
</p>
<a name="Commands"></a>
<h4 class="subheading">Commands</h4>
<dl compact="compact">
<dt><code>mtn conflicts store [--conflicts-file=<var>file</var>] [<var>left_rev_id</var> <var>right_rev_id</var>]</code>
<a name="index-mtn-conflicts-store-_005b_002d_002dconflicts_002dfile_003dfile_005d-_005bleft_005frev_005fid-right_005frev_005fid_005d"></a>
</dt>
<dd><p>Store the conflicts encountered by merging <var>left_rev_id</var> with
<var>right_rev_id</var>, in the specified file (defaults to
<samp>_MTN/conflicts</samp>. If <var>left_rev_id</var> and <var>right_rev_id</var> are
not given, the first two heads that the <code>merge</code> command would
merge are used.
</p>
<p>The conflicts file format is as output by the <code>automate
show_conflicts</code> command; see <code><a href="Automation.html#mtn-automate-show_005fconflicts">mtn automate show_conflicts</a></code>.
</p>
<p>Content conflicts that can be resolved by the internal line merger
have resolutions, so they will not show up in subsequent
<code>show_first</code> commands.
</p>
</dd>
<dt><code>mtn conflicts show_first [--conflicts-file=<var>file</var>]</code>
<a name="index-mtn-conflicts-show_005ffirst-_005b_002d_002dconflicts_002dfile_003dfile_005d"></a>
</dt>
<dd><p>Show the first unresolved conflict in the conflicts file, and list the
possible resolutions.
</p>
</dd>
<dt><code>mtn conflicts show_remaining [--conflicts-file=<var>file</var>]</code>
<a name="index-mtn-conflicts-show_005fremaining-_005b_002d_002dconflicts_002dfile_003dfile_005d"></a>
</dt>
<dd><p>Show remaining unresolved conflicts in the conflicts file.
</p>
</dd>
<dt><code>mtn conflicts resolve_first [--conflicts-file=<var>file</var>] <var>resolution</var></code>
<a name="index-mtn-conflicts-resolve_005ffirst-_005b_002d_002dconflicts_002dfile_003dfile_005d-resolution"></a>
</dt>
<dd><p>Specify a resolution for the first conflict in the conflicts file; it
must be a single file conflict. The conflicts file is updated.
</p>
<a name="mtn-conflicts-resolve_005ffirst"></a></dd>
<dt><code>mtn conflicts resolve_first_left [--conflicts-file=<var>file</var>] <var>resolution</var></code>
<a name="index-mtn-conflicts-resolve_005ffirst_005fleft-_005b_002d_002dconflicts_002dfile_003dfile_005d-resolution"></a>
</dt>
<dt><code>mtn conflicts resolve_first_right [--conflicts-file=<var>file</var>] <var>resolution</var></code>
<a name="index-mtn-conflicts-resolve_005ffirst_005fright-_005b_002d_002dconflicts_002dfile_003dfile_005d-resolution"></a>
</dt>
<dd><p>Specify a resolution for one of the files in the first conflict in the
conflicts file; it must be a two file conflict. The conflicts file is
updated.
</p>
</dd>
<dt><code>mtn conflicts clean</code>
<a name="index-mtn-conflicts-clean"></a>
</dt>
<dd><p>Delete the default conflicts file <samp>_MTN/conflicts</samp>, and the
directory <samp>_MTN/resolutions</samp>. Users may store conflict
resolution files in <samp>_MTN/resolutions</samp>; this command provides a
convenient way to clean up.
</p></dd>
</dl>
<a name="Single-file-conflict-resolutions"></a>
<h4 class="subheading">Single file conflict resolutions</h4>
<p>For single file conflicts, there are several possible
resolutions. Note that <code>resolved_user_left</code> is used even for
single file conflicts.
</p>
<dl compact="compact">
<dt><code>interactive [<var>file</var>]</code>
<a name="index-interactive-_005bfile_005d"></a>
</dt>
<dd><p>The Lua <a href="External-Merge-Tools.html#merge3">merge3</a> hook is called to allow the user to manually
merge the left and right files, leaving the result in the specified file.
</p>
<p><var>file</var> must be a bookkeeping path; under <samp>_MTN</samp>. If not
specified, <var>file</var> defaults to <samp>_MTN/resolutions/<path></samp>,
where <samp><path></samp> is the path to the file that has the conflict.
</p>
<p>This inserts a <code>resolved_user_left <var>file</var></code> conflict resolution in the
conflicts file.
</p>
</dd>
<dt><code>user <var>file</var></code>
<a name="index-user-file"></a>
</dt>
<dd><p>The file contents are replaced by the contents of the specified file.
</p>
<p>This inserts a <code>resolved_user_left <var>file</var></code> conflict resolution in the
conflicts file.
</p>
</dd>
<dt><code>drop</code>
<a name="index-drop"></a>
</dt>
<dd><p>The file is dropped in the merge. This is useful for an orphaned file
conflict.
</p>
<p>This inserts a <code>resolved_drop_left</code> conflict resolution in the
conflicts file.
</p>
</dd>
<dt><code>rename <var>filename</var></code>
<a name="index-rename-filename"></a>
</dt>
<dd><p>The file is renamed. This is useful for an orphaned file conflict.
</p>
<p>This inserts a <code>resolved_rename_left <var>filename</var></code> conflict resolution
in the conflicts file.
</p>
</dd>
</dl>
<a name="Two-file-conflict-resolutions"></a>
<h4 class="subheading">Two file conflict resolutions</h4>
<p>For two file conflicts, the possible resolutions are:
</p>
<dl compact="compact">
<dt><code>drop</code>
<a name="index-drop-1"></a>
</dt>
<dd><p>The file is dropped in the merge.
</p>
<p>This inserts a <code>resolved_drop_left</code> or <code>resolved_drop_right</code>
conflict resolution in the conflicts file.
</p>
</dd>
<dt><code>keep</code>
<a name="index-keep"></a>
</dt>
<dd><p>The file is kept in the merge.
</p>
<p>This inserts a <code>resolved_keep_left</code> or <code>resolved_keep_right</code>
conflict resolution in the conflicts file.
</p>
</dd>
<dt><code>rename <var>filename</var></code>
<a name="index-rename-filename-1"></a>
</dt>
<dd><p>The file is renamed.
</p>
<p>This inserts a <code>resolved_rename_left <var>filename</var></code> or
<code>resolved_rename_right <var>filename</var></code> conflict resolution in
the conflicts file.
</p>
</dd>
<dt><code>user <var>file</var></code>
<a name="index-user-file-1"></a>
</dt>
<dd><p>The file contents are replaced by the contents of the specified file.
The other file in the conflict must be dropped or renamed.
</p>
<p>This inserts a <code>resolved_user_left <var>file</var></code> or
<code>resolved_user_right <var>file</var></code> conflict resolution in the
conflicts file.
</p>
</dd>
</dl>
<p>monotone internals note: we don’t provide an <code>interactive</code>
resolution for two-file conflicts, because monotone currently does not
provide a <code>merge2</code> Lua hook. two-file conflicts don’t have a
shared ancestor, so <code>merge3</code> is not applicable.
</p>
<hr>
<div class="header">
<p>
Previous: <a href="Tree.html#Tree" accesskey="p" rel="prev">Tree</a>, Up: <a href="Tree.html#Tree" accesskey="u" rel="up">Tree</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>
|