Commit Diff


commit - 3744bd2a1d20a232a88d08e00614968ef9aaee15
commit + 417cb0574f8a96ca68bb09be10a689fd06a5c205
blob - b7f26f9137b11e4e7c13ad0365239aab903e2652
blob + 683d8411a544d1d56b0d5f9e3902ab95d46b5d66
--- git-repository.5.html
+++ git-repository.5.html
@@ -219,7 +219,7 @@
 </div>
 <table class="foot">
   <tr>
-    <td class="foot-date">September 15, 2021</td>
+    <td class="foot-date">October 3, 2021</td>
     <td class="foot-os">OpenBSD 7.0</td>
   </tr>
 </table>
blob - 80dbe0572243a7e5e0104f9480aae80ad14ac755
blob + 55ab265e049976b4ad3cbdc014886408a2dcf896
--- got-worktree.5.html
+++ got-worktree.5.html
@@ -192,7 +192,7 @@
 </div>
 <table class="foot">
   <tr>
-    <td class="foot-date">September 15, 2021</td>
+    <td class="foot-date">October 3, 2021</td>
     <td class="foot-os">OpenBSD 7.0</td>
   </tr>
 </table>
blob - 60478589975c5a3b96538c4b6aa07b59b8bbe784
blob + e2e3e3fd03ceb92bdc40b93df90855e7e3fa8d06
--- got.1.html
+++ got.1.html
@@ -1451,7 +1451,7 @@
       </tr>
       <tr>
         <td>d</td>
-        <td>file's deletion was obstructed by local modifications</td>
+        <td>file's deletion was prevented by local modifications</td>
       </tr>
       <tr>
         <td>A</td>
@@ -1508,7 +1508,7 @@
       </tr>
       <tr>
         <td>d</td>
-        <td>file's deletion was obstructed by local modifications</td>
+        <td>file's deletion was prevented by local modifications</td>
       </tr>
       <tr>
         <td>A</td>
@@ -1593,7 +1593,7 @@
       </tr>
       <tr>
         <td>d</td>
-        <td>file's deletion was obstructed by local modifications</td>
+        <td>file's deletion was prevented by local modifications</td>
       </tr>
       <tr>
         <td>A</td>
@@ -1609,10 +1609,16 @@
       </tr>
     </table>
     <p class="Pp">If merge conflicts occur the rebase operation is interrupted
-        and may be continued once conflicts have been resolved. Alternatively,
-        the rebase operation may be aborted which will leave
-        <var class="Ar">branch</var> unmodified and the work tree switched back
-        to its original branch.</p>
+        and may be continued once conflicts have been resolved. If any files
+        with destined changes are found to be missing or unversioned, or if
+        files could not be deleted due to differences in deleted content, the
+        rebase operation will be interrupted to prevent potentially incomplete
+        changes from being committed to the repository without user
+        intervention. The work tree may be modified as desired and the rebase
+        operation can be continued once the changes present in the work tree are
+        considered complete. Alternatively, the rebase operation may be aborted
+        which will leave <var class="Ar">branch</var> unmodified and the work
+        tree switched back to its original branch.</p>
     <p class="Pp">If a merge conflict is resolved in a way which renders the
         merged change into a no-op change, the corresponding commit will be
         elided when the rebase operation continues.</p>
@@ -1682,10 +1688,10 @@
   <dd>Short alias for <code class="Cm">rebase</code>.</dd>
   <dt id="histedit"><a class="permalink" href="#histedit"><code class="Cm">histedit</code></a>
     [<code class="Fl">-a</code>] [<code class="Fl">-c</code>]
-    [<code class="Fl">-f</code>] [<code class="Fl">-F</code>
-    <var class="Ar">histedit-script</var>] [<code class="Fl">-m</code>]
-    [<code class="Fl">-l</code>] [<code class="Fl">-X</code>]
-    [<var class="Ar">branch</var>]</dt>
+    [<code class="Fl">-e</code>] [<code class="Fl">-f</code>]
+    [<code class="Fl">-F</code> <var class="Ar">histedit-script</var>]
+    [<code class="Fl">-m</code>] [<code class="Fl">-l</code>]
+    [<code class="Fl">-X</code>] [<var class="Ar">branch</var>]</dt>
   <dd>Edit commit history between the work tree's current base commit and the
       tip commit of the work tree's current branch.
     <p class="Pp">Before starting a <code class="Cm">histedit</code> operation
@@ -1772,7 +1778,7 @@
       </tr>
       <tr>
         <td>d</td>
-        <td>file's deletion was obstructed by local modifications</td>
+        <td>file's deletion was prevented by local modifications</td>
       </tr>
       <tr>
         <td>A</td>
@@ -1788,9 +1794,16 @@
       </tr>
     </table>
     <p class="Pp">If merge conflicts occur the histedit operation is interrupted
-        and may be continued once conflicts have been resolved. Alternatively,
-        the histedit operation may be aborted which will leave the work tree
-        switched back to its original branch.</p>
+        and may be continued once conflicts have been resolved. If any files
+        with destined changes are found to be missing or unversioned, or if
+        files could not be deleted due to differences in deleted content, the
+        histedit operation will be interrupted to prevent potentially incomplete
+        changes from being committed to the repository without user
+        intervention. The work tree may be modified as desired and the histedit
+        operation can be continued once the changes present in the work tree are
+        considered complete. Alternatively, the histedit operation may be
+        aborted which will leave the work tree switched back to its original
+        branch.</p>
     <p class="Pp">If a merge conflict is resolved in a way which renders the
         merged change into a no-op change, the corresponding commit will be
         elided when the histedit operation continues.</p>
@@ -1823,6 +1836,13 @@
       <dt id="c~10"><a class="permalink" href="#c~10"><code class="Fl">-c</code></a></dt>
       <dd>Continue an interrupted histedit operation. If this option is used, no
           other command-line arguments are allowed.</dd>
+      <dt id="e"><a class="permalink" href="#e"><code class="Fl">-e</code></a></dt>
+      <dd>Interrupt the histedit operation for editing after merging each
+          commit. This option is a quick equivalent to a histedit script which
+          uses the <code class="Cm">edit</code> command for all commits. The
+          <code class="Fl">-e</code> option can only be used when starting a new
+          histedit operation. If this option is used, no other command-line
+          arguments are allowed.</dd>
       <dt id="f~3"><a class="permalink" href="#f~3"><code class="Fl">-f</code></a></dt>
       <dd>Fold all commits into a single commit. This option is a quick
           equivalent to a histedit script which folds all commits, combining
@@ -1931,6 +1951,121 @@
   </dd>
   <dt id="ig"><a class="permalink" href="#ig"><code class="Cm">ig</code></a></dt>
   <dd>Short alias for <code class="Cm">integrate</code>.</dd>
+  <dt id="merge"><a class="permalink" href="#merge"><code class="Cm">merge</code></a>
+    [<code class="Fl">-a</code>] [<code class="Fl">-c</code>]
+    [<code class="Fl">-n</code>] [<var class="Ar">branch</var>]</dt>
+  <dd>Create a merge commit based on the current branch of the work tree and the
+      specified <var class="Ar">branch</var>. If a linear project history is
+      desired, then use of <code class="Cm">got rebase</code> should be
+      preferred over <code class="Cm">got merge</code>. However, even strictly
+      linear projects may require merge commits in order to merge in new
+      versions of third-party code stored on vendor branches created with
+      <code class="Cm">got import</code>.
+    <p class="Pp">Merge commits are commits based on multiple parent commits.
+        The tip commit of the work tree's current branch, which must be set with
+        <code class="Cm">got update -b</code> before starting the
+        <code class="Cm">merge</code> operation, will be used as the first
+        parent. The tip commit of the specified <var class="Ar">branch</var>
+        will be used as the second parent.</p>
+    <p class="Pp">No ancestral relationship between the two branches is
+        required. If the two branches have already been merged previously, only
+        new changes will be merged.</p>
+    <p class="Pp">It is not possible to create merge commits with more than two
+        parents. If more than one branch needs to be merged, then multiple merge
+        commits with two parents each can be created in sequence.</p>
+    <p class="Pp">While merging changes found on the
+        <var class="Ar">branch</var> into the work tree, show the status of each
+        affected file, using the following status codes:</p>
+    <table class="Bl-column">
+      <tr>
+        <td>G</td>
+        <td>file was merged</td>
+      </tr>
+      <tr>
+        <td>C</td>
+        <td>file was merged and conflicts occurred during merge</td>
+      </tr>
+      <tr>
+        <td>!</td>
+        <td>changes destined for a missing file were not merged</td>
+      </tr>
+      <tr>
+        <td>D</td>
+        <td>file was deleted</td>
+      </tr>
+      <tr>
+        <td>d</td>
+        <td>file's deletion was prevented by local modifications</td>
+      </tr>
+      <tr>
+        <td>A</td>
+        <td>new file was added</td>
+      </tr>
+      <tr>
+        <td>~</td>
+        <td>changes destined for a non-regular file were not merged</td>
+      </tr>
+      <tr>
+        <td>?</td>
+        <td>changes destined for an unversioned file were not merged</td>
+      </tr>
+    </table>
+    <p class="Pp">If merge conflicts occur, the merge operation is interrupted
+        and conflicts must be resolved before the merge operation can continue.
+        If any files with destined changes are found to be missing or
+        unversioned, or if files could not be deleted due to differences in
+        deleted content, the merge operation will be interrupted to prevent
+        potentially incomplete changes from being committed to the repository
+        without user intervention. The work tree may be modified as desired and
+        the merge can be continued once the changes present in the work tree are
+        considered complete. Alternatively, the merge operation may be aborted
+        which will leave the work tree's current branch unmodified.</p>
+    <p class="Pp">If a merge conflict is resolved in a way which renders all
+        merged changes into no-op changes, the merge operation cannot continue
+        and must be aborted.</p>
+    <p class="Pp"><code class="Cm">got merge</code> will refuse to run if
+        certain preconditions are not met. If history of the
+        <var class="Ar">branch</var> is based on the work tree's current branch,
+        then no merge commit can be created and <code class="Cm">got
+        integrate</code> may be used to integrate the
+        <var class="Ar">branch</var> instead. If the work tree is not yet fully
+        updated to the tip commit of its branch, then the work tree must first
+        be updated with <code class="Cm">got update</code>. If the work tree
+        contains multiple base commits it must first be updated to a single base
+        commit with <code class="Cm">got update</code>. If changes have been
+        staged with <code class="Cm">got stage</code>, these changes must first
+        be committed with <code class="Cm">got commit</code> or unstaged with
+        <code class="Cm">got unstage</code>. If the work tree contains local
+        changes, these changes must first be committed with <code class="Cm">got
+        commit</code> or reverted with <code class="Cm">got revert</code>. If
+        the <var class="Ar">branch</var> contains changes to files outside of
+        the work tree's path prefix, the work tree cannot be used to merge this
+        branch.</p>
+    <p class="Pp">The <code class="Cm">got update</code>, <code class="Cm">got
+        commit</code>, <code class="Cm">got rebase</code>, <code class="Cm">got
+        histedit</code>, <code class="Cm">got integrate</code>, and
+        <code class="Cm">got stage</code> commands will refuse to run while a
+        merge operation is in progress. Other commands which manipulate the work
+        tree may be used for conflict resolution purposes.</p>
+    <p class="Pp">The options for <code class="Cm">got merge</code> are as
+        follows:</p>
+    <dl class="Bl-tag">
+      <dt id="a~7"><a class="permalink" href="#a~7"><code class="Fl">-a</code></a></dt>
+      <dd>Abort an interrupted merge operation. If this option is used, no other
+          command-line arguments are allowed.</dd>
+      <dt id="c~11"><a class="permalink" href="#c~11"><code class="Fl">-c</code></a></dt>
+      <dd>Continue an interrupted merge operation. If this option is used, no
+          other command-line arguments are allowed.</dd>
+      <dt id="n~2"><a class="permalink" href="#n~2"><code class="Fl">-n</code></a></dt>
+      <dd>Merge changes into the work tree as usual but do not create a merge
+          commit immediately. The merge result can be adjusted as desired before
+          a merge commit is created with <code class="Cm">got merge -c</code>.
+          Alternatively, the merge may be aborted with <code class="Cm">got
+          merge -a</code>.</dd>
+    </dl>
+  </dd>
+  <dt id="mg"><a class="permalink" href="#mg"><code class="Cm">mg</code></a></dt>
+  <dd>Short alias for <code class="Cm">merge</code>.</dd>
   <dt id="stage"><a class="permalink" href="#stage"><code class="Cm">stage</code></a>
     [<code class="Fl">-l</code>] [<code class="Fl">-p</code>]
     [<code class="Fl">-F</code> <var class="Ar">response-script</var>]
@@ -2050,7 +2185,7 @@
       </tr>
       <tr>
         <td>d</td>
-        <td>file's deletion was obstructed by local modifications</td>
+        <td>file's deletion was prevented by local modifications</td>
       </tr>
       <tr>
         <td>~</td>
@@ -2098,7 +2233,7 @@
     <p class="Pp">The options for <code class="Cm">got cat</code> are as
         follows:</p>
     <dl class="Bl-tag">
-      <dt id="c~11"><a class="permalink" href="#c~11"><code class="Fl">-c</code></a>
+      <dt id="c~12"><a class="permalink" href="#c~12"><code class="Fl">-c</code></a>
         <var class="Ar">commit</var></dt>
       <dd>Look up paths in the specified <var class="Ar">commit</var>. If this
           option is not used, paths are looked up in the commit resolved via the
@@ -2488,8 +2623,8 @@
       <a class="Xr">git-clone(1)</a> and <a class="Xr">git-fetch(1)</a>.</li>
   <li>Writing to remote repositories over HTTP or HTTPS protocols requires
       <a class="Xr">git-push(1)</a>.</li>
-  <li>The creation of merge commits, i.e. commits with two or more parent
-      commits, requires <a class="Xr">git-merge(1)</a>.</li>
+  <li>The creation of merge commits with more than two parent commits requires
+      <a class="Xr">git-merge(1)</a>.</li>
   <li>In situations where files or directories were moved around
       <code class="Cm">got</code> will not automatically merge changes to new
       locations and <a class="Xr">git(1)</a> will usually produce better
@@ -2499,7 +2634,7 @@
 </div>
 <table class="foot">
   <tr>
-    <td class="foot-date">September 15, 2021</td>
+    <td class="foot-date">October 3, 2021</td>
     <td class="foot-os">OpenBSD 7.0</td>
   </tr>
 </table>
blob - bcfb07dcfa41e3f321059f8a85fbaf549f00550e
blob + a442e641d81204862a9da3df8477f8a37b12519d
--- got.conf.5.html
+++ got.conf.5.html
@@ -277,7 +277,7 @@
 </div>
 <table class="foot">
   <tr>
-    <td class="foot-date">September 15, 2021</td>
+    <td class="foot-date">October 3, 2021</td>
     <td class="foot-os">OpenBSD 7.0</td>
   </tr>
 </table>
blob - c2a38330c764d5ef7d3b6ad07bac8220793cf606
blob + 0d6a32a1fc77482b7d998624f471684bbfe7703b
--- gotadmin.1.html
+++ gotadmin.1.html
@@ -303,7 +303,7 @@
 </div>
 <table class="foot">
   <tr>
-    <td class="foot-date">September 15, 2021</td>
+    <td class="foot-date">October 3, 2021</td>
     <td class="foot-os">OpenBSD 7.0</td>
   </tr>
 </table>
blob - 0640238c84914dcc202955b9f72cc0692129d686
blob + 93b2503364dc77b97ced6c6bd2a8d22ebe29890a
--- gotweb.8.html
+++ gotweb.8.html
@@ -155,7 +155,7 @@
 </div>
 <table class="foot">
   <tr>
-    <td class="foot-date">September 15, 2021</td>
+    <td class="foot-date">October 3, 2021</td>
     <td class="foot-os">OpenBSD 7.0</td>
   </tr>
 </table>
blob - 5437e9ffe6baea0af7636ed22cb4f9d05d9ac254
blob + 1406d2a29c03fb22e542b5ce95e9c71707d4cd11
--- gotweb.conf.5.html
+++ gotweb.conf.5.html
@@ -171,7 +171,7 @@ got_logo_url			&quot;https://gameoftrees.org&quot;
 </div>
 <table class="foot">
   <tr>
-    <td class="foot-date">September 15, 2021</td>
+    <td class="foot-date">October 3, 2021</td>
     <td class="foot-os">OpenBSD 7.0</td>
   </tr>
 </table>
blob - edd57a21741079ac66b6fcd2f138766af63d3159
blob + 21c63c0e9a5fcbc2d7ea6d171b86b27747c548a6
--- tog.1.html
+++ tog.1.html
@@ -595,7 +595,7 @@
 </div>
 <table class="foot">
   <tr>
-    <td class="foot-date">September 15, 2021</td>
+    <td class="foot-date">October 3, 2021</td>
     <td class="foot-os">OpenBSD 7.0</td>
   </tr>
 </table>