]> Sergey Matveev's repositories - syncer.git/blobdiff - README
Refactoring
[syncer.git] / README
diff --git a/README b/README
index bf9f7032b2be5ad1bbc02052924e5248b1b89249..db5032ec26e0a827eac521cb6c40a5a1a64e0165 100644 (file)
--- a/README
+++ b/README
@@ -1,23 +1,25 @@
-syncer -- Fast stateful file/disk data syncer.
+syncer -- fast stateful file/disk data syncer.
 
-DESCRIPTION
+WARNING: I advise you to use ZFS and its native send/recv commands.
+I abandoned that project because of that.
 
-Main purpose of this utility is fast data synchronizing between two hard
-drives: one is fast (SSD, SATA HDD), another is connected through slow
-USB interface. Task is to lower amounts of data needed to be transferred.
+The main purpose of this utility is fast data synchronization between
+two hard drives: one is fast (SSD, SATA HDD), another is connected
+through slow USB interface. Target is to lower data amounts needed to
+be transferred.
 
 This utility is stateful: it keeps precomputed data hashes in separate
-statefile and use it to determine if we need to update block of data.
+statefile and uses it to determine if we need to update block of data.
 
     # sync from very fast SSD to slow USB connected HDD
-    % ./syncer -src /dev/ada0 -dst /dev/da0 -state state.bin
+    syncer -src /dev/ada0 -dst /dev/da0 -state state.bin
     [%%%%%%]
     # all blocks were transferred to da0
 
 Now we have statefile containing cryptographic hashes of the blocks from
 source and copy of all read data in destination. Now if we run it again:
 
-    % ./syncer -src /dev/ada0 -dst /dev/da0 -state state.bin
+    syncer -src /dev/ada0 -dst /dev/da0 -state state.bin
     [....%.]
     # only one block was transferred to da0
 
@@ -32,18 +34,3 @@ You can configure the blocksize: shorter transfers but bigger statefile
 writes are sequential.
 
 syncer is free software: see the file COPYING for copying conditions.
-
-INSTALLATION
-
-    % go get github.com/dchest/blake2b
-    % go build
-    # syncer executable file should be in current directory
-
-STATEFILE FORMAT
-
-    SRC_SIZE || BLK_SIZE || HASH0 || HASH1 || ...
-
-SRC_SIZE contains size of the source, when it was firstly read. BLK_SIZE
-is the blocksize used. Both is 64-bit big-endian unsigned integers. If
-either size or blocksize differs, then syncer will deny using that
-statefile as a precaution. HASHx is BLAKE2b-512 hash output, 64 bytes.