-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
121 lines (121 loc) · 7.01 KB
/
index.html
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
<!-- HTML header for doxygen 1.8.10-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<title>librsync: README</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!-- ad -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- librsync -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-3547096055927362"
data-ad-slot="8322976738"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">librsync
 <span id="projectnumber">2.3.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div><div class="header">
<div class="headertitle"><div class="title">README </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p ><a class="anchor" id="md_README"></a> <a href="http://librsync.sourcefrog.net/">http://librsync.sourcefrog.net/</a></p>
<dl class="section copyright"><dt>Copyright</dt><dd></dd></dl>
<p>Copyright 1999-2016 Martin Pool and other contributors.</p>
<p >librsync is distributed under the <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html">GNU LGPL v2.1</a> (see COPYING), which basically means that you can dynamically link librsync into non-GPL programs, but you must redistribute the librsync source, with any modifications you have made.</p>
<p >librsync contains the BLAKE2 hash algorithm, written by Samuel Neves and released under the <a href="http://creativecommons.org/publicdomain/zero/1.0/">CC0 public domain dedication</a>.</p>
<h1><a class="anchor" id="autotoc_md42"></a>
Introduction</h1>
<p >librsync is a library for calculating and applying network deltas, with an interface designed to ease integration into diverse network applications.</p>
<p >librsync encapsulates the core algorithms of the rsync protocol, which help with efficient calculation of the differences between two files. The rsync algorithm is different from most differencing algorithms because it does not require the presence of the two files to calculate the delta. Instead, it requires a set of checksums of each block of one file, which together form a signature for that file. Blocks at any position in the other file which have the same checksum are likely to be identical, and whatever remains is the difference.</p>
<p >This algorithm transfers the differences between two files without needing both files on the same system.</p>
<p >librsync is for building other programs that transfer files as efficiently as rsync. You can use librsync in a program you write to do backups, distribute binary patches to programs, or sync directories to a server or between peers.</p>
<p >This tree also produces the <a class="el" href="page_rdiff.html">rdiff command</a> that exposes the key operations of librsync: generating file signatures, generating the delta from a signature to a new file, and applying the delta to regenerate the new file given the old file.</p>
<p >librsync was originally written for the rproxy experiment in delta-compression for HTTP. librsync is used by: <a href="https://dropbox.com/">Dropbox</a>, <a href="http://www.nongnu.org/rdiff-backup/">rdiff-backup</a>, <a href="http://www.nongnu.org/duplicity/">Duplicity</a>, and others. (If you would like to be listed here, let me know.)</p>
<h2><a class="anchor" id="autotoc_md43"></a>
What librsync is not</h2>
<ol type="1">
<li>librsync does not implement the rsync wire protocol. If you want to talk to an rsync server to transfer files you'll need to shell out to <code>rsync</code>. You cannot make use of librsync to talk to an rsync server.</li>
<li>librsync does not deal with file metadata or structure, such as filenames, permissions, or directories. To this library, a file is just a stream of bytes. Higher-level tools can deal with such issues in a way appropriate to their users.</li>
<li>librsync also does not include any network functions for talking to SSH or any other server. To access a remote filesystem, you need to provide your own code or make use of some other virtual filesystem layer.</li>
</ol>
<h1><a class="anchor" id="autotoc_md44"></a>
More information</h1>
<ul>
<li><a class="el" href="page_downloads.html">Downloads</a></li>
<li><a class="el" href="page_versioning.html">Versioning</a></li>
<li><a class="el" href="page_install.html">Installing</a></li>
<li><a class="el" href="page_rdiff.html">rdiff command</a></li>
<li><a class="el" href="page_librsync.html">librsync library</a></li>
<li><a class="el" href="page_formats.html">File formats</a></li>
<li><a class="el" href="page_support.html">Support</a></li>
<li><a class="el" href="md_CONTRIBUTING.html">CONTRIBUTING</a></li>
<li><a class="el" href="md_NEWS.html">NEWS</a></li>
<li><a class="el" href="md_TODO.html">TODO</a> </li>
</ul>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.10-->
<!-- start footer part -->
<!-- ad -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- librsync -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-3547096055927362"
data-ad-slot="8322976738"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-71109100-1', 'auto');
ga('send', 'pageview');
</script>
<hr class="footer"/><address class="footer"><small>
Generated on Sun Feb 19 2023 16:26:52 for librsync by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.9.4
</small></address>
</body>
</html>