-Depends-On-Patch: partial-dir.diff
Depends-On-Patch: g2r-basis-filename.diff
The changes to generator.c were greatly simplified, making the patch
if (preserve_hard_links)
init_hard_links(flist);
---- orig/options.c 2004-07-26 16:43:48
+--- orig/options.c 2004-07-29 16:08:03
+++ options.c 2004-07-16 20:14:12
@@ -85,6 +85,7 @@ int safe_symlinks = 0;
int copy_unsafe_links = 0;
/* TODO: Should this take an optional int giving the compression level? */
{"compress", 'z', POPT_ARG_NONE, &do_compression, 0, 0, 0 },
{"daemon", 0, POPT_ARG_NONE, &daemon_opt, 0, 0, 0 },
-@@ -1039,6 +1042,9 @@ void server_options(char **args,int *arg
+@@ -1042,6 +1045,9 @@ void server_options(char **args,int *arg
}
}
extern int make_backups;
extern int do_progress;
extern char *backup_dir;
---- orig/rsync.yo 2004-07-28 02:26:19
+--- orig/rsync.yo 2004-07-29 16:08:04
+++ rsync.yo 2004-07-03 19:27:25
@@ -327,6 +327,7 @@ verb(
-T --temp-dir=DIR create temporary files in directory DIR
-Depends-On-Patch: partial-dir.diff
-
Added a pipe from the generator to the receiver that communicates
what basis file we used to generate the file data (if it was not
the default name). This optimizes away the basis-file search in
You must run "make proto" before compiling.
---- orig/generator.c 2004-07-28 09:58:28
+--- orig/generator.c 2004-07-29 16:08:03
+++ generator.c 2004-07-28 10:14:15
@@ -259,9 +259,9 @@ static void generate_and_send_sums(int f
* out. It might be wrong.
}
if (verbose > 2)
---- orig/main.c 2004-07-24 16:52:09
+--- orig/main.c 2004-07-29 16:08:03
+++ main.c 2004-07-22 00:10:43
@@ -58,6 +58,7 @@ extern int filesfrom_fd;
extern pid_t cleanup_child_pid;
io_flush(FULL_FLUSH);
report(f_in);
-@@ -503,6 +511,11 @@ static int do_recv(int f_in,int f_out,st
+@@ -504,6 +512,11 @@ static int do_recv(int f_in,int f_out,st
stop_write_batch();
close(error_pipe[1]);
if (f_in != f_out)
close(f_in);
-@@ -510,7 +523,7 @@ static int do_recv(int f_in,int f_out,st
+@@ -511,7 +524,7 @@ static int do_recv(int f_in,int f_out,st
set_msg_fd_in(error_pipe[0]);
get_redo_num(); /* Read final MSG_DONE and any prior messages. */
report(-1);
---- orig/receiver.c 2004-07-27 23:26:20
+--- orig/receiver.c 2004-07-29 16:08:03
+++ receiver.c 2004-07-23 21:59:07
-@@ -325,6 +325,30 @@ static int receive_data(int f_in, char *
+@@ -323,6 +323,30 @@ static int receive_data(int f_in, char *
}
static void discard_receive_data(int f_in, OFF_T length)
{
receive_data(f_in, NULL, -1, 0, NULL, -1, length);
-@@ -335,7 +359,8 @@ static void discard_receive_data(int f_i
+@@ -333,7 +357,8 @@ static void discard_receive_data(int f_i
* main routine for receiver process.
*
* Receiver process runs on the same host as the generator process. */
{
int next_gen_i = -1;
int fd1,fd2;
-@@ -364,8 +389,15 @@ int recv_files(int f_in, struct file_lis
+@@ -362,8 +387,15 @@ int recv_files(int f_in, struct file_lis
i = read_int(f_in);
if (i == -1) {
if (read_batch) {
next_gen_i = -1;
}
-@@ -413,6 +445,10 @@ int recv_files(int f_in, struct file_lis
+@@ -411,6 +443,10 @@ int recv_files(int f_in, struct file_lis
if (read_batch) {
while (i > next_gen_i) {
next_gen_i = read_int(batch_gen_fd);
if (next_gen_i == -1)
next_gen_i = flist->count;
-@@ -423,8 +459,14 @@ int recv_files(int f_in, struct file_lis
+@@ -421,8 +457,14 @@ int recv_files(int f_in, struct file_lis
discard_receive_data(f_in, file->length);
continue;
}
if (server_exclude_list.head
&& check_exclude(&server_exclude_list, fname,
S_ISDIR(file->mode)) < 0) {
-@@ -437,13 +479,7 @@ int recv_files(int f_in, struct file_lis
+@@ -435,13 +477,7 @@ int recv_files(int f_in, struct file_lis
continue;
}
/* open the file */
fd1 = do_open(fnamecmp, O_RDONLY, 0);
-@@ -453,14 +489,6 @@ int recv_files(int f_in, struct file_lis
+@@ -451,14 +487,6 @@ int recv_files(int f_in, struct file_lis
fd1 = do_open(fnamecmp, O_RDONLY, 0);
}