/usr/share/doc/monotone/html/Inodeprints.html is in monotone-doc 1.1-7.
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 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ -->
<head>
<title>monotone documentation: Inodeprints</title>
<meta name="description" content="monotone documentation: Inodeprints">
<meta name="keywords" content="monotone documentation: Inodeprints">
<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="Merge-Conflicts.html#Merge-Conflicts" rel="next" title="Merge Conflicts">
<link href="Scripting.html#Scripting" rel="prev" title="Scripting">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
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">
<a name="Inodeprints"></a>
<div class="header">
<p>
Next: <a href="Merge-Conflicts.html#Merge-Conflicts" accesskey="n" rel="next">Merge Conflicts</a>, Previous: <a href="Scripting.html#Scripting" accesskey="p" rel="prev">Scripting</a>, Up: <a href="Advanced-Uses.html#Advanced-Uses" accesskey="u" rel="up">Advanced Uses</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="Inodeprints-1"></a>
<h3 class="section">3.5 Inodeprints</h3>
<p>Fairly often, in order to accomplish its job, monotone has to look at
your workspace and figure out what has been changed in it since your
last commit. Commands that do this include <code>status</code>,
<code>diff</code>, <code>update</code>, <code>commit</code>, and others. There
are two different techniques it can use to do this. The default, which
is sufficient for most projects, is to simply read every file in the
workspace, compute their <small>SHA1</small> hash, and compare them to the
hashes monotone has stored. This is very safe and reliable, and turns
out to be fast enough for most projects. However, on very large
projects, ones whose source trees are many megabytes in size, it can
become unacceptably slow.
</p>
<p>The other technique, known as <em>inodeprints</em>, is designed for this
situation. When running in inodeprints mode, monotone does not read the
whole workspace; rather, it keeps a cache of interesting information
about each file (its size, its last modification time, and so on), and
skips reading any file for which these values have not changed. This is
inherently somewhat less safe, and, as mentioned above, unnecessary for
most projects, so it is disabled by default.
</p>
<p>If you do determine that it is necessary to use inodeprints with your
project, it is simple to enable them. Simply run <code>mtn
refresh_inodeprints</code>; this will enable inodeprints mode and generate an
initial cache. If you ever wish to turn them off again, simply delete
the file <samp>_MTN/inodeprints</samp>. You can at any time delete or truncate
the <samp>_MTN/inodeprints</samp> file; monotone uses it only as a cache and
will continue to operate correctly.
</p>
<p>Normally, instead of enabling this up on a per-workspace basis, you
will want to simply define the <code>use_inodeprints</code> hook to return
<code>true</code>; this will automatically enable inodeprints mode in any new
workspaces you create. See <a href="Lua-Reference.html#Lua-Reference">Lua Reference</a> for details.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Merge-Conflicts.html#Merge-Conflicts" accesskey="n" rel="next">Merge Conflicts</a>, Previous: <a href="Scripting.html#Scripting" accesskey="p" rel="prev">Scripting</a>, Up: <a href="Advanced-Uses.html#Advanced-Uses" accesskey="u" rel="up">Advanced Uses</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>
|