summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonovan Baarda <abo@minkirri.apana.org.au>2021-08-23 23:17:02 +1000
committerDonovan Baarda <abo@minkirri.apana.org.au>2021-08-23 23:17:02 +1000
commitad93b2dc03e8e1c6ec4f6911825a32b7c480c91b (patch)
tree918f29abfeaa9209ef7020880260beae9bad067b
parentfae107485e4e7293e26f3b7af837280a9bf359c6 (diff)
downloadlibrsync-ad93b2dc03e8e1c6ec4f6911825a32b7c480c91b.tar.gz
Reformat README.md and use markdown links for root docs.
This mostly just reformats paragraphs but also uses markdown links for root docs CONTRIBUTING.md, NEWS.md, and TODO.md instead of Doxygen `\ref` links. The root docs don't have `{#anchor}` doxygen anchors which is a pre-requisite for markdown links to work on the old ubuntu_latest version of Doxygen. Note currently CONTRIBUTING.md does have an anchor, but I want to test that it actually fails before removing it.
-rw-r--r--README.md71
1 files changed, 34 insertions, 37 deletions
diff --git a/README.md b/README.md
index de95708..813be9f 100644
--- a/README.md
+++ b/README.md
@@ -6,10 +6,10 @@ http://librsync.sourcefrog.net/
Copyright 1999-2016 Martin Pool and other contributors.
-librsync is distributed under the [GNU LGPL v2.1][LGPL]
-(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.
+librsync is distributed under the [GNU LGPL v2.1][LGPL] (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.
[LGPL]: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
@@ -21,53 +21,49 @@ released under the [CC0 public domain dedication][CC0].
## Introduction
-librsync is a library for calculating and applying network deltas,
-with an interface designed to ease integration into diverse
-network applications.
+librsync is a library for calculating and applying network deltas, with an
+interface designed to ease integration into diverse network applications.
-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 in the other file which have the same checksum are likely to be
-identical, and whatever remains is the difference.
+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 in the other file which have the same
+checksum are likely to be identical, and whatever remains is the difference.
-This algorithm transfers the differences between two files without
-needing both files on the same system.
+This algorithm transfers the differences between two files without needing
+both files on the same system.
-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.
+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.
This tree also produces the \ref page_rdiff 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.
-librsync was originally written for the rproxy experiment in
-delta-compression for HTTP.
-librsync is used by: [Dropbox](https://dropbox.com/),
+librsync was originally written for the rproxy experiment in delta-compression
+for HTTP. librsync is used by: [Dropbox](https://dropbox.com/),
[rdiff-backup](http://www.nongnu.org/rdiff-backup/),
-[Duplicity](http://www.nongnu.org/duplicity/), and others.
-(If you would like to be listed here, let me know.)
+[Duplicity](http://www.nongnu.org/duplicity/), and others. (If you would like
+to be listed here, let me know.)
### What librsync is not
1. 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 `rsync`.
-You cannot make use of librsync to talk to an rsync server.
+an rsync server to transfer files you'll need to shell out to `rsync`. You
+cannot make use of librsync to talk to an rsync server.
2. 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.
-
-3. 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.
+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.
+
+3. 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.
## More information
@@ -79,5 +75,6 @@ your own code or make use of some other virtual filesystem layer.
* \ref page_api
* \ref page_formats
* \ref page_support
-* \ref page_contributing
-* \ref NEWS.md
+* [CONTRIBUTING](CONTRIBUTING.md)
+* [NEWS](NEWS.md)
+* [TODO](TODO.md)