I have benchmarked this a little, and it appears to slow things down
for a local copy, so the old algorithm is used for local copies.
+To use this patch, run these commands for a successful build:
+
+ patch -p1 <patches/early-checksum.diff
+ ./configure (optional if already run)
+ make
+
--- old/flist.c
+++ new/flist.c
@@ -31,6 +31,7 @@ extern int am_daemon;
continue;
best_match = j;
match_level = 2;
-@@ -1212,7 +1216,7 @@ static void recv_generator(char *fname,
+@@ -1215,7 +1219,7 @@ static void recv_generator(char *fname,
;
else if (fnamecmp_type == FNAMECMP_FUZZY)
;
handle_partial_dir(partialptr, PDIR_DELETE);
--- old/hlink.c
+++ new/hlink.c
-@@ -222,7 +222,7 @@ int hard_link_check(struct file_struct *
+@@ -224,7 +224,7 @@ int hard_link_check(struct file_struct *
}
break;
}