Commit Diff


commit - 7945ca33f91319207b2f0bddfcb5f206ec1bc14b
commit + 1a21a6dd6de115f2de954e005a5ceef57dbfc943
blob - /dev/null
blob + bee95739eff634d4a5afa0f356db30c6d3f314cb (mode 644)
--- /dev/null
+++ got.conf.5.html
@@ -0,0 +1,285 @@
+<!DOCTYPE html>
+<html>
+<!-- This is an automatically generated file.  Do not edit.
+   Copyright (c) 2020 Stefan Sperling <stsp@openbsd.org>
+  
+   Permission to use, copy, modify, and distribute this software for any
+   purpose with or without fee is hereby granted, provided that the above
+   copyright notice and this permission notice appear in all copies.
+  
+   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+   WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+   MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+   ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+   -->
+<head>
+  <meta charset="utf-8"/>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+  <style>
+    table.head, table.foot { width: 100%; }
+    td.head-rtitle, td.foot-os { text-align: right; }
+    td.head-vol { text-align: center; }
+    .Nd, .Bf, .Op { display: inline; }
+    .Pa, .Ad { font-style: italic; }
+    .Ms { font-weight: bold; }
+    .Bl-diag > dt { font-weight: bold; }
+    code.Nm, .Fl, .Cm, .Ic, code.In, .Fd, .Fn, .Cd { font-weight: bold;
+      font-family: inherit; }
+  </style>
+  <title>GOT.CONF(5)</title>
+</head>
+<body>
+<table class="head">
+  <tr>
+    <td class="head-ltitle">GOT.CONF(5)</td>
+    <td class="head-vol">File Formats Manual</td>
+    <td class="head-rtitle">GOT.CONF(5)</td>
+  </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">got.conf</code> &#x2014; <span class="Nd">Game of
+    Trees configuration file</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp"><code class="Nm">got.conf</code> is the run-time configuration
+    file for <a class="Xr">got(1)</a>.</p>
+<p class="Pp"><code class="Nm">got.conf</code> may be present in the root
+    directory of a Git repository for repository-wide settings, or in the
+    <span class="Pa">.got</span> meta-data directory of a work tree to override
+    repository-wide settings for <a class="Xr">got(1)</a> commands executed
+    within this work tree.</p>
+<p class="Pp">The file format is line-based, with one configuration directive
+    per line. Any lines beginning with a &#x2018;#&#x2019; are treated as
+    comments and ignored.</p>
+<p class="Pp">The available configuration directives are as follows:</p>
+<dl class="Bl-tag">
+  <dt id="author"><a class="permalink" href="#author"><code class="Ic">author</code></a>
+    &#x201C;Real Name &lt;email address&gt;&#x201D;</dt>
+  <dd>Configure the author's name and email address for <code class="Cm">got
+      commit</code> and <code class="Cm">got import</code> when operating on
+      this repository. Author information specified here overrides the
+      <code class="Ev">GOT_AUTHOR</code> environment variable.
+    <p class="Pp">Because <a class="Xr">git(1)</a> may fail to parse commits
+        without an email address in author data, <a class="Xr">got(1)</a>
+        attempts to reject author information with a missing email address.</p>
+  </dd>
+  <dt id="remote"><a class="permalink" href="#remote"><code class="Ic">remote</code></a>
+    <var class="Ar">name</var> {...}</dt>
+  <dd>Define a remote repository. The specified <var class="Ar">name</var> can
+      be used to refer to the remote repository on the command line of
+      <code class="Cm">got fetch</code> and <code class="Cm">got send</code>.
+    <p class="Pp">Information about this repository is declared in a block of
+        options enclosed in curly brackets:</p>
+    <dl class="Bl-tag">
+      <dt id="server"><a class="permalink" href="#server"><code class="Ic">server</code></a>
+        <var class="Ar">hostname</var></dt>
+      <dd>Defines the hostname to use for contacting the remote repository's
+          server.</dd>
+      <dt id="repository"><a class="permalink" href="#repository"><code class="Ic">repository</code></a>
+        <var class="Ar">path</var></dt>
+      <dd>Defines the path to the repository on the remote repository's
+        server.</dd>
+      <dt id="protocol"><a class="permalink" href="#protocol"><code class="Ic">protocol</code></a>
+        <var class="Ar">scheme</var></dt>
+      <dd>Defines the protocol to use for communicating with the remote
+          repository's server.
+        <p class="Pp">The following protocol schemes are supported:</p>
+        <dl class="Bl-tag">
+          <dt>git</dt>
+          <dd>The Git protocol as implemented by the
+              <a class="Xr">git-daemon(1)</a> server. Use of this protocol is
+              discouraged since it supports neither authentication nor
+              encryption.</dd>
+          <dt>git+ssh</dt>
+          <dd>The Git protocol wrapped in an authenticated and encrypted
+              <a class="Xr">ssh(1)</a> tunnel. With this protocol the hostname
+              may contain an embedded username for <a class="Xr">ssh(1)</a> to
+              use:
+            <a class="Mt" href="mailto:user@hostname">user@hostname</a></dd>
+          <dt>ssh</dt>
+          <dd>Short alias for git+ssh.</dd>
+        </dl>
+      </dd>
+      <dt id="port"><a class="permalink" href="#port"><code class="Ic">port</code></a>
+        <var class="Ar">port</var></dt>
+      <dd>Defines the port to use for connecting to the remote repository's
+          server. The <var class="Ar">port</var> can be specified by number or
+          name. The port name to number mappings are found in the file
+          <span class="Pa">/etc/services</span>; see
+          <a class="Xr">services(5)</a> for details. If not specified, the
+          default port of the specified <code class="Cm">protocol</code> will be
+          used.</dd>
+      <dt id="branch"><a class="permalink" href="#branch"><code class="Ic">branch</code></a>
+        {<var class="Ar">branch ...</var>}</dt>
+      <dd>Specify one or more branches which <code class="Cm">got fetch</code>
+          and <code class="Cm">got send</code> should fetch from and send to the
+          remote repository by default. The list of branches specified here can
+          be overridden at the <code class="Cm">got fetch</code> and
+          <code class="Cm">got send</code> command lines with the
+          <code class="Fl">-b</code> option.</dd>
+      <dt id="fetch-all-branches"><a class="permalink" href="#fetch-all-branches"><code class="Ic">fetch-all-branches</code></a>
+        <var class="Ar">yes</var> | <var class="Ar">no</var></dt>
+      <dd>This option controls whether <code class="Cm">got fetch</code> will
+          fetch all branches from the remote repository by default. If enabled,
+          this behaviour can be overridden at the <code class="Cm">got
+          fetch</code> command line with the <code class="Fl">-b</code> option,
+          and any <code class="Cm">branch</code> configuration settings for this
+          remote repository will be ignored.</dd>
+      <dt id="reference"><a class="permalink" href="#reference"><code class="Ic">reference</code></a>
+        {<var class="Ar">reference ...</var>}</dt>
+      <dd>Specify one or more arbitrary references which <code class="Cm">got
+          fetch</code> should fetch by default, in addition to the branches and
+          tags that will be fetched. The list of references specified here can
+          be overridden at the <code class="Cm">got fetch</code> command line
+          with the <code class="Fl">-R</code> option. <code class="Cm">got
+          fetch</code> will refuse to fetch references from the remote
+          repository's &#x201C;refs/remotes/&#x201D; or
+          &#x201C;refs/got/&#x201D; namespace. In any case, references in the
+          &#x201C;refs/tags/&#x201D; namespace will always be fetched and mapped
+          directly to local references in the same namespace.</dd>
+      <dt id="mirror-references"><a class="permalink" href="#mirror-references"><code class="Ic">mirror-references</code></a>
+        <var class="Ar">yes</var> | <var class="Ar">no</var></dt>
+      <dd>This option controls the behaviour of <code class="Cm">got
+          fetch</code> when updating references.
+          <a class="permalink" href="#Enabling"><b class="Sy" id="Enabling">Enabling
+          this option can lead to the loss of local commits.</b></a> Maintaining
+          custom changes in a mirror repository is therefore discouraged.
+        <p class="Pp">If this option is not specified or set to
+            <var class="Ar">no</var>, <code class="Cm">got fetch</code> will map
+            references of the remote repository into the local repository's
+            &#x201C;refs/remotes/&#x201D; namespace.</p>
+        <p class="Pp">If this option is set to <var class="Ar">yes</var>, all
+            branches in the &#x201C;refs/heads/&#x201D; namespace will be
+            updated directly to match the corresponding branches in the remote
+            repository.</p>
+      </dd>
+      <dt id="fetch"><a class="permalink" href="#fetch"><code class="Ic">fetch</code></a>
+        {...}</dt>
+      <dd>An optional <code class="Ic">fetch</code> block may contain any of the
+          following configuration settings for use by <code class="Cm">got
+          fetch</code>, overriding corresponding settings in the containing
+          <code class="Ic">remote</code> <var class="Ar">name</var> {...} block.
+        <ul class="Bl-bullet">
+          <li id="server~2"><a class="permalink" href="#server~2"><code class="Ic">server</code></a>
+              <var class="Ar">hostname</var></li>
+          <li id="repository~2"><a class="permalink" href="#repository~2"><code class="Ic">repository</code></a>
+              <var class="Ar">path</var></li>
+          <li id="protocol~2"><a class="permalink" href="#protocol~2"><code class="Ic">protocol</code></a>
+              <var class="Ar">path</var></li>
+          <li id="port~2"><a class="permalink" href="#port~2"><code class="Ic">port</code></a>
+              <var class="Ar">port</var></li>
+          <li id="branch~2"><a class="permalink" href="#branch~2"><code class="Ic">branch</code></a>
+              {<var class="Ar">branch ...</var>}</li>
+        </ul>
+      </dd>
+      <dt id="send"><a class="permalink" href="#send"><code class="Ic">send</code></a>
+        {...}</dt>
+      <dd>An optional <code class="Ic">send</code> block may contain any of the
+          following configuration settings for use by <code class="Cm">got
+          send</code>, overriding corresponding settings in the containing
+          <code class="Ic">remote</code> <var class="Ar">name</var> {...} block.
+        <ul class="Bl-bullet">
+          <li id="server~3"><a class="permalink" href="#server~3"><code class="Ic">server</code></a>
+              <var class="Ar">hostname</var></li>
+          <li id="repository~3"><a class="permalink" href="#repository~3"><code class="Ic">repository</code></a>
+              <var class="Ar">path</var></li>
+          <li id="protocol~3"><a class="permalink" href="#protocol~3"><code class="Ic">protocol</code></a>
+              <var class="Ar">path</var></li>
+          <li id="port~3"><a class="permalink" href="#port~3"><code class="Ic">port</code></a>
+              <var class="Ar">port</var></li>
+          <li id="branch~3"><a class="permalink" href="#branch~3"><code class="Ic">branch</code></a>
+              {<var class="Ar">branch ...</var>}</li>
+        </ul>
+      </dd>
+    </dl>
+  </dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
+<p class="Pp">Configure author information:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>author &quot;Flan Hacker &lt;flan_hacker@openbsd.org&gt;&quot;</pre>
+</div>
+<p class="Pp">Remote repository specification for the Game of Trees
+  repository:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>remote &quot;origin&quot; {
+	server git.gameoftrees.org
+	protocol git
+	repository got
+	branch { &quot;main&quot; }
+}</pre>
+</div>
+<p class="Pp">Mirror the <span class="Ux">OpenBSD</span> src repository from
+    Github:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>remote &quot;origin&quot; {
+	repository &quot;openbsd/src&quot;
+	server git@github.com
+	protocol git+ssh
+	mirror-references yes
+}</pre>
+</div>
+<p class="Pp">Fetch changes via the Git protocol and send changes via the SSH
+    protocol:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>remote &quot;origin&quot; {
+	repository my_repo
+	server git.example.com
+	protocol git
+	send {
+		server git@git.example.com
+		protocol ssh
+	}
+}</pre>
+</div>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
+<dl class="Bl-tag Bl-compact">
+  <dt><span class="Pa">got.conf</span></dt>
+  <dd>If present, <code class="Nm">got.conf</code> located in the root directory
+      of a Git repository supersedes any relevant settings in Git's
+      <span class="Pa">config</span> file.
+    <p class="Pp"></p>
+  </dd>
+  <dt><span class="Pa">.got/got.conf</span></dt>
+  <dd>If present, <code class="Nm">got.conf</code> located in the
+      <span class="Pa">.got</span> meta-data directory of a
+      <a class="Xr">got(1)</a> work tree supersedes any relevant settings in the
+      repository's <code class="Nm">got.conf</code> configuration file and Git's
+      <span class="Pa">config</span> file.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+  ALSO</a></h1>
+<p class="Pp"><a class="Xr">got(1)</a>, <a class="Xr">git-repository(5)</a>,
+    <a class="Xr">got-worktree(5)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
+<p class="Pp"><code class="Nm">got.conf</code> offers no way to configure the
+    editor spawned by <code class="Cm">got commit</code>, <code class="Cm">got
+    histedit</code>, <code class="Cm">got import</code>, or <code class="Cm">got
+    tag</code>. This is deliberate and prevents potential arbitrary command
+    execution as another user when repositories or work trees are shared between
+    users. Users should set their <code class="Ev">VISUAL</code> or
+    <code class="Ev">EDITOR</code> environment variables instead.</p>
+</section>
+</div>
+<table class="foot">
+  <tr>
+    <td class="foot-date">September 12, 2021</td>
+    <td class="foot-os">OpenBSD 7.0</td>
+  </tr>
+</table>
+</body>
+</html>
blob - 1b0b3bb94870df57945da272454653d63f4f1e75
blob + 2324f8a5f5cb036b699fb0ece288febfc6dd11b1
--- manual.html
+++ manual.html
@@ -19,6 +19,7 @@ Manual pages installed by the <tt>got</tt> package:
 <li><a href="got.1.html">got</a> &mdash; Game of Trees
 <li><a href="gotadmin.1.html">gotadmin</a> &mdash; Game of Trees repository administration
 <li><a href="tog.1.html">tog</a> &mdash; Git repository browser
+<li><a href="got.conf.5.html">got.conf</a> &mdash; Game of Trees configuration file
 <li><a href="got-worktree.5.html">got-worktree</a> &mdash; Got work tree format
 <li><a href="git-repository.5.html">git-repository</a> &mdash; Git repository format
 </ul>
blob - 9736b245e1734f4b365fe2426b8119babcbeafed
blob + d863c1e11126f6c78471c762b797a1000a8e8035
--- sync-man.sh
+++ sync-man.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-for f in got.1 got-worktree.5 git-repository.5; do
+for f in got.1 got-worktree.5 git-repository.5 got.conf.5; do
 	mandoc -T html $HOME/src/got/got/$f > ./${f}.html
 done
 mandoc -T html $HOME/src/got/gotadmin/gotadmin.1 > ./gotadmin.1.html