Commit Diff


commit - e0d06aab561848700342d8374259a62baf703ccb
commit + 299409c0f135dfb87a18a686066070e16e97583a
blob - ad8bfdf33e9d1ef91d68576670f7b78784f82374
blob + 9e6e902a1c1463cf0b045c65c15759e6136c6a51
--- goals.html
+++ goals.html
@@ -16,14 +16,20 @@ Goals
 <hr>
 
 <ul>
-<li>
-Provide an intuitive command interface for working with
-<a href="https://git-scm.com">Git</a> repositories.
+<li>Provide a complete version control tool suite for OpenBSD.
 <ul>
-<li>Provide a single interface usable by both Git experts and CVS experts.
+<li>Intuitive command line interface for required version control operations
+(<a href="got.1.html">got</a>).
+<li>Interactive repository browser for history analysis and review of
+committed changes (<a href="tog.1.html">tog</a>).
+<li>CGI script repository browser for web servers.
+<li>Repository administration tooling with a strong focus on backup and recovery.
+<li>Repository server for hosting a central repository and synchronizing
+changes to a cascade of public and private mirrors.
 </ul>
 <li>
-Remain on-disk compatible with bare Git repositories.
+Remain on-disk compatible with bare
+<a href="https://git-scm.com">Git</a> repositories.
 <ul>
 <li>Don't bother with Git-compatibility beyond this requirement.
 </ul>
@@ -31,15 +37,28 @@ Remain on-disk compatible with bare Git repositories.
 Consider workflow requirements of <a href="https://www.openbsd.org">OpenBSD</a>
 developers.
 <ul>
-<li>Implement strictly required features only.
+<li>Strong built-in support for a centralized repository model.
+<li>Keep things easy for developers who don't need branches.
+<li>Support local branches for developers who need them.
+<li>Support &quot;-stable&quot; release branches.
+<li>Support features required by the OpenBSD project's build infrastructure.
 </ul>
+<li>Implement authenticated and encrypted network communications only.
+<ul>
+<li>Provide <a href="https://openssh.com">SSH</a> and optional
+<a href="https://libressl.org">TLS</a> support for cloning repositories
+and pulling changes.
+<li>Exclusively rely on SSH for pushing changes.
+</ul>
 <li>
 Follow OpenBSD's security practices and coding style.
 <ul>
 <li>Use a development process based on code review in email.
-<li>Run as much code as possible under
+<li>Consistently use
 <a href="https://man.openbsd.org/pledge">pledge(2)</a> and
-<a href="https://man.openbsd.org/unveil">unveil(2)</a>.
+<a href="https://man.openbsd.org/unveil">unveil(2)</a> across the code base.
 <li>Use privilege-separation when parsing repository data from network or disk.
 </ul>
+<li>
+Keep the entire code base BSD-licenced.
 </ul>