This file is indexed.

/usr/share/doc/monotone/html/Quality-Assurance.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
<!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: Quality Assurance</title>

<meta name="description" content="monotone documentation: Quality Assurance">
<meta name="keywords" content="monotone documentation: Quality Assurance">
<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="Advanced-Uses.html#Advanced-Uses" rel="up" title="Advanced Uses">
<link href="Vars.html#Vars" rel="next" title="Vars">
<link href="Workspace-Collisions.html#Workspace-Collisions" rel="prev" title="Workspace Collisions">
<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="Quality-Assurance"></a>
<div class="header">
<p>
Next: <a href="Vars.html#Vars" accesskey="n" rel="next">Vars</a>, Previous: <a href="Workspace-Collisions.html#Workspace-Collisions" accesskey="p" rel="prev">Workspace Collisions</a>, Up: <a href="Advanced-Uses.html#Advanced-Uses" accesskey="u" rel="up">Advanced Uses</a> &nbsp; [<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="Quality-Assurance-1"></a>
<h3 class="section">3.8 Quality Assurance</h3>

<p>Monotone was constructed to serve both as a version control tool and
as a quality assurance tool. The quality assurance features permit
users to ignore, or &ldquo;filter out&rdquo;, versions which do not meet their
criteria for quality. This section describes the way monotone
represents and reasons about quality information.
</p>
<p>Monotone often views the collection of revisions as a directed graph,
in which revisions are the nodes and changes between revisions are the
edges. We call this the <em>revision graph</em>. The revision graph has a
number of important subgraphs, many of which overlap. For example,
each branch is a subgraph of the revision graph, containing only the
nodes carrying a particular <code>branch</code> cert.
</p>
<p>Many of monotone&rsquo;s operations involve searching the revision graph for
the ancestors or descendants of a particular revision, or extracting
the &ldquo;heads&rdquo; of a subgraph, which is the subgraph&rsquo;s set of nodes with
no descendants. For example, when you run the <code>update</code> command,
monotone searches the subgraph consisting of descendants of the base
revision of the current workspace, trying to locate a unique head to
update the base revision to.
</p>
<p>Monotone&rsquo;s quality assurance mechanisms are mostly based on
restricting the subgraph each command operates on. There are two
methods used to restrict the subgraph:
</p>
<ul>
<li> By restricting the set of trusted <code>branch</code> certificates, you
can require that specific code reviewers have approved of each edge in
the subgraph you focus on.
</li><li> By restricting the set of trusted <code>testresult</code> certificates, you
can require that the <em>endpoints</em> of an update operation have a
certificate asserting that the revision in question passed a certain
test, or testsuite.
</li></ul>

<p>The evaluation of trust is done on a cert-by-cert basis by calling a
set of Lua hooks: <a href="Trust-Evaluation-Hooks.html#get_005frevision_005fcert_005ftrust">get_revision_cert_trust</a>,
<a href="Trust-Evaluation-Hooks.html#get_005fmanifest_005fcert_005ftrust">get_manifest_cert_trust</a>, and <a href="Trust-Evaluation-Hooks.html#get_005ffile_005fcert_005ftrust">get_file_cert_trust</a>.  These
hooks are only called when a cert has at least one good signature from
a known key, and are passed <em>all</em> the keys which have signed the
cert, as well as the cert&rsquo;s ID, name and value. The hook can then
evaluate the set of signers, as a group, and decide whether to grant
or deny trust to the assertion made by the cert.
</p>
<p>The evaluation of testresults is controlled by the
<code>accept_testresult_change</code> hook (see <a href="Trust-Evaluation-Hooks.html#accept_005ftestresult_005fchange">accept_testresult_change</a>).
This hook is called when
selecting update candidates, and is passed a pair of tables describing
the <code>testresult</code> certs present on the source and proposed
destination of an update. Only if the change in test results are
deemed &ldquo;acceptable&rdquo; does monotone actually select an update target
to merge into your workspace.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Vars.html#Vars" accesskey="n" rel="next">Vars</a>, Previous: <a href="Workspace-Collisions.html#Workspace-Collisions" accesskey="p" rel="prev">Workspace Collisions</a>, Up: <a href="Advanced-Uses.html#Advanced-Uses" accesskey="u" rel="up">Advanced Uses</a> &nbsp; [<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>