a360f6fa2d 
					 
					
						
						
							
							image_index.rs: verify header magic/version  
						
						
						
						
					 
					
						2019-01-02 13:13:13 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						44b3f62b42 
					 
					
						
						
							
							fix typo  
						
						
						
						
					 
					
						2019-01-02 12:56:04 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						594fa52016 
					 
					
						
						
							
							disable debug code  
						
						
						
						
					 
					
						2019-01-02 12:55:18 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5032b57b44 
					 
					
						
						
							
							archive_index.rs: correctly write .aidx file  
						
						
						
						
					 
					
						2019-01-02 12:54:40 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						580dc84bac 
					 
					
						
						
							
							image_index.rs: print stats  
						
						
						
						
					 
					
						2019-01-02 12:53:49 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5e7a09be0d 
					 
					
						
						
							
							src/backup/archive_index.rs: use close() instead of flush()  
						
						... 
						
						
						
						Also pass a reference to the encoder. 
						
						
					 
					
						2019-01-02 11:02:56 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						94a882e900 
					 
					
						
						
							
							src/backup/archive_index.rs: implement flush()  
						
						
						
						
					 
					
						2018-12-31 18:01:07 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0433db1949 
					 
					
						
						
							
							src/backup/archive_index.rs: first try  
						
						
						
						
					 
					
						2018-12-31 17:30:08 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cbdd8c54ae 
					 
					
						
						
							
							create backup mod in backup.rs, improve docu  
						
						
						
						
					 
					
						2018-12-31 16:08:04 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cb4412b18e 
					 
					
						
						
							
							move chunker.rs to backup/  
						
						
						
						
					 
					
						2018-12-31 15:46:16 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1c287cb19a 
					 
					
						
						
							
							rc/catar/chunker.rs: first try  
						
						
						
						
					 
					
						2018-12-31 13:01:06 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bf205f94c5 
					 
					
						
						
							
							avoid compiler warnings  
						
						
						
						
					 
					
						2018-12-31 10:54:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						37ea44a540 
					 
					
						
						
							
							add another catart test  
						
						
						
						
					 
					
						2018-12-31 10:22:39 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a147acfaaf 
					 
					
						
						
							
							add catart test for goodbye table ordering  
						
						
						
						
					 
					
						2018-12-31 10:19:15 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1b0dc9f680 
					 
					
						
						
							
							src/catar/encoder.rs: correctly sort goodbye items by hash key  
						
						
						
						
					 
					
						2018-12-31 10:11:28 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c60d34bdbf 
					 
					
						
						
							
							new catar binary  
						
						... 
						
						
						
						currently used for debugging 
						
						
					 
					
						2018-12-30 18:02:46 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e75eac73ca 
					 
					
						
						
							
							fix doc syntax  
						
						
						
						
					 
					
						2018-12-30 17:43:53 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0866748de6 
					 
					
						
						
							
							catar cleanups ...  
						
						
						
						
					 
					
						2018-12-30 17:32:52 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6cd28d200e 
					 
					
						
						
							
							binary_search_tree.rs: fix docs  
						
						
						
						
					 
					
						2018-12-30 15:34:43 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3200579ce9 
					 
					
						
						
							
							add some integreation tests for catar (compare with casync output)  
						
						
						
						
					 
					
						2018-12-30 15:33:43 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						389e562524 
					 
					
						
						
							
							src/catar/encoder.rs: auto-resize file_copy_buffer, limit number of dirs  
						
						
						
						
					 
					
						2018-12-30 14:09:59 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4fa71e0573 
					 
					
						
						
							
							improve catar docs  
						
						
						
						
					 
					
						2018-12-30 13:47:27 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						48147efd12 
					 
					
						
						
							
							add a comment about posible improvements  
						
						
						
						
					 
					
						2018-12-29 19:43:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0b78833d8e 
					 
					
						
						
							
							src/catar/binary_search_tree.rs: add regression tests and fix one bug  
						
						
						
						
					 
					
						2018-12-29 18:32:03 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b17d7149d2 
					 
					
						
						
							
							src/catar/binary_search_tree.rs: improve docu  
						
						
						
						
					 
					
						2018-12-29 17:38:50 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						985567fb45 
					 
					
						
						
							
							src/catar/encoder.rs: cleanup, factor out write_goodbye_table  
						
						
						
						
					 
					
						2018-12-29 17:26:32 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						95bd5dfec7 
					 
					
						
						
							
							src/catar/encoder.rs: correctly sort goodby items  
						
						
						
						
					 
					
						2018-12-29 17:00:48 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						46b6fbd6ae 
					 
					
						
						
							
							use external crate siphasher  
						
						... 
						
						
						
						Because std:#️⃣ :SipHasher is deprecated. 
						
						
					 
					
						2018-12-28 19:50:07 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f0f3029e26 
					 
					
						
						
							
							src/catar/encoder.rs: fix bug in file copy  
						
						
						
						
					 
					
						2018-12-28 15:02:42 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d05f93215e 
					 
					
						
						
							
							src/catar/encoder.rs: fix symlinks  
						
						
						
						
					 
					
						2018-12-28 15:02:42 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7ebb173352 
					 
					
						
						
							
							getopt: cleanup: add trailing commas  
						
						... 
						
						
						
						It is customary in rust to always use trailing commas. (also
suggested by rustfmt)
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2018-12-28 14:27:38 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2767c5d39b 
					 
					
						
						
							
							getopt: cleanup: don't condense 'if' statements too much  
						
						... 
						
						
						
						In a language which enforces curly braces this looks weird
and rustfmt doesn't like it.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2018-12-28 14:27:38 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7d95c10da0 
					 
					
						
						
							
							getopt: whitespace cleanup  
						
						... 
						
						
						
						to make rustfmt happy
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2018-12-28 14:27:38 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a0cc09b5f0 
					 
					
						
						
							
							src/catar/encoder.rs: fix binary format, write goodby table  
						
						... 
						
						
						
						We still ned to sort the table (BST) ... 
						
						
					 
					
						2018-12-28 14:27:00 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						03fb895197 
					 
					
						
						
							
							getopt: condense nested match to reduce indentation  
						
						... 
						
						
						
						The `match value` statement is the only thing covering the
entire RawArgument::Option case. `rustfmt` suggests this
more condensed way of writing this case.
See the `git diff -w` of this patch:
|diff --git a/src/getopts.rs b/src/getopts.rs
|index 9755af2..4db4579 100644
|--- a/src/getopts.rs
|+++ b/src/getopts.rs
|@@ -72,8 +72,7 @@ pub fn parse_arguments<T: AsRef<str>>(
|             RawArgument::Separator => {
|                 break;
|             }
|-            RawArgument::Option { name, value } => {
|-                match value {
|+            RawArgument::Option { name, value } => match value {
|                 None => {
|                     let mut want_bool = false;
|                     let mut can_default = false;
|@@ -125,7 +124,6 @@ pub fn parse_arguments<T: AsRef<str>>(
|                     data.push((name, v));
|                 }
|             }
|-            }
|             RawArgument::Argument { value } => {
|                 rest.push(value);
|             }
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2018-12-28 14:16:58 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4d0ea9978b 
					 
					
						
						
							
							getopt: let parse_arguments() take a slice of AsRef<str>  
						
						... 
						
						
						
						We don't need the content to be owned strings, and we don't
need the list to be a Vec, since we only care about being
able to iterate through and copy out portions of the strings
we need, so take an &[T] where T: AsRef<str>.
This avoids .iter().map(to_string).collect() before calling
parse_arguments().
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2018-12-28 14:05:05 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2482c095b1 
					 
					
						
						
							
							getopt: remove skip logic  
						
						... 
						
						
						
						The 'skip' variable was set to indicate that the "rest of
the args" is to be copied into the 'rest' vec. We can do
this directly and avoid the 'if' case in the loop
altogether.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2018-12-28 13:59:44 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						99da3a073d 
					 
					
						
						
							
							getopt: indentation reduction  
						
						... 
						
						
						
						See the `git diff -w` output:
|diff --git a/src/getopts.rs b/src/getopts.rs
|index 6548a01..517cc37 100644
|--- a/src/getopts.rs
|+++ b/src/getopts.rs
|@@ -72,7 +72,10 @@ pub fn parse_arguments(
|     while pos < args.len() {
|         if skip {
|             rest.push(args[pos].clone());
|-        } else {
|+            pos += 1;
|+            continue;
|+        }
|+
|         match parse_argument(&args[pos]) {
|             RawArgument::Separator => {
|                 skip = true;
|@@ -135,7 +138,6 @@ pub fn parse_arguments(
|                 rest.push(value);
|             }
|         }
|-        }
|
|         pos += 1;
|     }
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2018-12-28 13:54:20 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ad8a98f7e4 
					 
					
						
						
							
							parse_arguments: work with utf8 bytes and reduce indentation  
						
						... 
						
						
						
						We are only caring about '=' and '-' which are single-byte
codepoints, so there's no reason not to work on a byte
slice.
Also, some indentation reduction:
Transform
    if (a) {
        ...
        return A;
    }
    return B;
into
    if (!a)
        return B;
    return A;
and
    if (a)
        if (b)
            foo()
into
    if (a && b)
        return;
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2018-12-28 13:47:29 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						248c17af39 
					 
					
						
						
							
							src/catar/encoder.rs: write filenames  
						
						
						
						
					 
					
						2018-12-28 11:48:47 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2e4ae0e239 
					 
					
						
						
							
							src/catar/encoder.rs: write file data  
						
						
						
						
					 
					
						2018-12-28 10:44:12 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3192ae968c 
					 
					
						
						
							
							src/catar/encoder.rs: write entry and symlink data  
						
						
						
						
					 
					
						2018-12-28 09:55:26 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						50ea43962e 
					 
					
						
						
							
							make map_struct functions public  
						
						
						
						
					 
					
						2018-12-28 08:04:46 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d2b03f2397 
					 
					
						
						
							
							catar/encoder.rs: improve error handling  
						
						
						
						
					 
					
						2018-12-28 07:45:15 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0ff559990c 
					 
					
						
						
							
							cleanups, avoid compiler warnings  
						
						
						
						
					 
					
						2018-12-28 07:14:12 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						45281d4927 
					 
					
						
						
							
							catar/encoder: detect symlink and regular files  
						
						
						
						
					 
					
						2018-12-27 14:24:31 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fb8365b79f 
					 
					
						
						
							
							catar/encoder.rs: first try  
						
						
						
						
					 
					
						2018-12-27 13:15:47 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fba3437f1e 
					 
					
						
						
							
							timer: setup_timeout_handler cannot fail  
						
						... 
						
						
						
						and if it does it panics anyway
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2018-12-27 10:36:28 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bcd879cfb3 
					 
					
						
						
							
							backup-client: allow to specify directories (prepare for catar backup)  
						
						
						
						
					 
					
						2018-12-27 10:11:11 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b62b6cadf4 
					 
					
						
						
							
							start implementing catar  
						
						
						
						
					 
					
						2018-12-27 09:22:23 +01:00