Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
List /etc instead of /, but only if it exists and is readable.
[rsync/rsync.git]
/
generator.c
diff --git
a/generator.c
b/generator.c
index
d33d5d0
..
6d239ba
100644
(file)
--- a/
generator.c
+++ b/
generator.c
@@
-337,6
+337,8
@@
void itemize(struct file_struct *file, int ndx, int statret, STRUCT_STAT *st,
if ((iflags & SIGNIFICANT_ITEM_FLAGS || verbose > 1
|| (xname && *xname)) && !read_batch) {
if (protocol_version >= 29) {
if ((iflags & SIGNIFICANT_ITEM_FLAGS || verbose > 1
|| (xname && *xname)) && !read_batch) {
if (protocol_version >= 29) {
+ if (iflags & (ITEM_LOCAL_CHANGE|ITEM_TRANSFER))/* XXX */
+ iflags |= ITEM_DUMMY_BIT; /* XXX Remove soon */
if (ndx >= 0)
write_int(sock_f_out, ndx);
write_shortint(sock_f_out, iflags);
if (ndx >= 0)
write_int(sock_f_out, ndx);
write_shortint(sock_f_out, iflags);
@@
-505,7
+507,7
@@
static int find_fuzzy(struct file_struct *file, struct file_list *dirlist)
{
int fname_len, fname_suf_len;
const char *fname_suf, *fname = file->basename;
{
int fname_len, fname_suf_len;
const char *fname_suf, *fname = file->basename;
- uint32 lowest_dist =
0x7FFFFFFF;
+ uint32 lowest_dist =
25 << 16; /* ignore a distance greater than 25 */
int j, lowest_j = -1;
fname_len = strlen(fname);
int j, lowest_j = -1;
fname_len = strlen(fname);
@@
-585,7
+587,7
@@
static void recv_generator(char *fname, struct file_struct *file, int ndx,
enum logcode code, int f_out)
{
static int missing_below = -1, excluded_below = -1;
enum logcode code, int f_out)
{
static int missing_below = -1, excluded_below = -1;
- static char *fuzzy_dirname =
NULL
;
+ static char *fuzzy_dirname =
""
;
static struct file_list *fuzzy_dirlist = NULL;
struct file_struct *fuzzy_file = NULL;
int fd = -1, f_copy = -1;
static struct file_list *fuzzy_dirlist = NULL;
struct file_struct *fuzzy_file = NULL;
int fd = -1, f_copy = -1;
@@
-603,7
+605,7
@@
static void recv_generator(char *fname, struct file_struct *file, int ndx,
if (fuzzy_dirlist) {
flist_free(fuzzy_dirlist);
fuzzy_dirlist = NULL;
if (fuzzy_dirlist) {
flist_free(fuzzy_dirlist);
fuzzy_dirlist = NULL;
- fuzzy_dirname =
NULL
;
+ fuzzy_dirname =
""
;
}
if (missing_below >= 0) {
dry_run--;
}
if (missing_below >= 0) {
dry_run--;
@@
-1221,9
+1223,18
@@
void generate_files(int f_out, struct file_list *flist, char *local_name)
write_int(f_out, -1);
write_int(f_out, -1);
- /* Read
post-redo-phase MSG_DONE and any prior messages
. */
+ /* Read
MSG_DONE for the redo phase (and any prior messages)
. */
get_redo_num(itemizing, code);
get_redo_num(itemizing, code);
+ if (protocol_version >= 29) {
+ phase++;
+ if (verbose > 2)
+ rprintf(FINFO, "generate_files phase=%d\n", phase);
+ write_int(f_out, -1);
+ /* Read MSG_DONE for delay-update phase & prior messages. */
+ get_redo_num(itemizing, code);
+ }
+
if (delete_after && !local_name && flist->count > 0)
do_delete_pass(flist);
if (delete_after && !local_name && flist->count > 0)
do_delete_pass(flist);
@@
-1239,9
+1250,8
@@
void generate_files(int f_out, struct file_list *flist, char *local_name)
continue;
if (!need_retouch_dir_times && file->mode & S_IWUSR)
continue;
continue;
if (!need_retouch_dir_times && file->mode & S_IWUSR)
continue;
- recv_generator(local_name ? local_name : f_name(file),
- file, i, itemizing, maybe_PERMS_REPORT,
- code, -1);
+ recv_generator(f_name(file), file, i, itemizing,
+ maybe_PERMS_REPORT, code, -1);
if (allowed_lull && !(j++ % lull_mod))
maybe_send_keepalive();
}
if (allowed_lull && !(j++ % lull_mod))
maybe_send_keepalive();
}