From: Wayne Davison Date: Mon, 29 Dec 2008 02:07:25 +0000 (-0800) Subject: The patches for 3.0.5. X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/commitdiff_plain/bf1bd9d42a843ba2dde7bd9da1d69d4c5c398271 The patches for 3.0.5. --- diff --git a/checksum-reading.diff b/checksum-reading.diff index fdd8e64..4ad2250 100644 --- a/checksum-reading.diff +++ b/checksum-reading.diff @@ -391,7 +391,7 @@ diff --git a/flist.c b/flist.c if (basename_len == 0+1) { if (!pool) unmake_file(file); -@@ -2234,7 +2490,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) +@@ -2236,7 +2492,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) * file-list to check if this is a 1-file xfer. */ send_extra_file_list(f, 1); } @@ -401,7 +401,7 @@ diff --git a/flist.c b/flist.c return flist; } -@@ -2336,7 +2593,7 @@ struct file_list *recv_file_list(int f) +@@ -2342,7 +2599,7 @@ struct file_list *recv_file_list(int f) else if (f >= 0) recv_id_list(f, flist); @@ -410,7 +410,7 @@ diff --git a/flist.c b/flist.c if (protocol_version < 30) { /* Recv the io_error flag */ -@@ -2556,7 +2813,7 @@ void flist_free(struct file_list *flist) +@@ -2562,7 +2819,7 @@ void flist_free(struct file_list *flist) /* This routine ensures we don't have any duplicate names in our file list. * duplicate names can cause corruption because of the pipelining. */ @@ -419,7 +419,7 @@ diff --git a/flist.c b/flist.c { char fbuf[MAXPATHLEN]; int i, prev_i; -@@ -2607,7 +2864,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root) +@@ -2613,7 +2870,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root) /* If one is a dir and the other is not, we want to * keep the dir because it might have contents in the * list. Otherwise keep the first one. */ @@ -428,7 +428,7 @@ diff --git a/flist.c b/flist.c struct file_struct *fp = flist->sorted[j]; if (!S_ISDIR(fp->mode)) keep = i, drop = j; -@@ -2623,8 +2880,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root) +@@ -2629,8 +2886,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root) } else keep = j, drop = i; @@ -439,7 +439,7 @@ diff --git a/flist.c b/flist.c rprintf(FINFO, "removing duplicate name %s from file list (%d)\n", f_name(file, fbuf), drop + flist->ndx_start); -@@ -2646,7 +2903,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root) +@@ -2652,7 +2909,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root) } flist->high = prev_i; diff --git a/checksum-updating.diff b/checksum-updating.diff index 8976aa2..195cdf6 100644 --- a/checksum-updating.diff +++ b/checksum-updating.diff @@ -423,7 +423,7 @@ diff --git a/flist.c b/flist.c else file_checksum(thisname, st.st_size, tmp_sum); } -@@ -1896,6 +2109,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len, +@@ -1898,6 +2111,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len, closedir(d); @@ -433,7 +433,7 @@ diff --git a/flist.c b/flist.c if (f >= 0 && recurse && !divert_dirs) { int i, end = flist->used - 1; /* send_if_directory() bumps flist->used, so use "end". */ -@@ -2493,6 +2709,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) +@@ -2495,6 +2711,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) } else flist_eof = 1; diff --git a/db.diff b/db.diff index 524e340..e313525 100644 --- a/db.diff +++ b/db.diff @@ -788,7 +788,7 @@ diff --git a/flist.c b/flist.c if (basename_len == 0+1) { if (!pool) unmake_file(file); -@@ -1934,6 +1937,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) +@@ -1936,6 +1939,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) | (eol_nulls || reading_remotely ? RL_EOL_NULLS : 0); int implied_dot_dir = 0; diff --git a/detect-renamed.diff b/detect-renamed.diff index a8fa7e8..b40b8fa 100644 --- a/detect-renamed.diff +++ b/detect-renamed.diff @@ -117,7 +117,7 @@ diff --git a/flist.c b/flist.c static void send_directory(int f, struct file_list *flist, char *fbuf, int len, int flags); -@@ -2338,6 +2380,25 @@ struct file_list *recv_file_list(int f) +@@ -2344,6 +2386,25 @@ struct file_list *recv_file_list(int f) flist_sort_and_clean(flist, relative_paths); diff --git a/ignore-case.diff b/ignore-case.diff index afa4566..332a44a 100644 --- a/ignore-case.diff +++ b/ignore-case.diff @@ -55,7 +55,7 @@ diff --git a/flist.c b/flist.c extern int ignore_errors; extern int numeric_ids; extern int recurse; -@@ -2797,6 +2798,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2) +@@ -2803,6 +2804,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2) { int dif; const uchar *c1, *c2; @@ -63,7 +63,7 @@ diff --git a/flist.c b/flist.c enum fnc_state state1, state2; enum fnc_type type1, type2; enum fnc_type t_path = protocol_version >= 29 ? t_PATH : t_ITEM; -@@ -2907,7 +2909,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2) +@@ -2913,7 +2915,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2) if (type1 != type2) return type1 == t_PATH ? 1 : -1; } diff --git a/slow-down.diff b/slow-down.diff index 13773c3..39ec240 100644 --- a/slow-down.diff +++ b/slow-down.diff @@ -25,7 +25,7 @@ diff --git a/flist.c b/flist.c extern struct stats stats; extern char *filesfrom_host; -@@ -1629,6 +1630,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len, +@@ -1631,6 +1632,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len, } send_file_name(f, flist, fbuf, NULL, flags, filter_level); diff --git a/usermap.diff b/usermap.diff index b40650f..fdcee09 100644 --- a/usermap.diff +++ b/usermap.diff @@ -36,9 +36,9 @@ diff --git a/flist.c b/flist.c gid = match_gid(gid, &gid_flags); } } -@@ -2245,8 +2246,13 @@ struct file_list *recv_file_list(int f) - int dstart, flags; +@@ -2248,8 +2249,13 @@ struct file_list *recv_file_list(int f) int64 start_read; + int save_verbose = verbose; - if (!first_flist) + if (!first_flist) {