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
Make sure we process a parent patch before a dependent patch.
[rsync/rsync.git]
/
generator.c
diff --git
a/generator.c
b/generator.c
index
24435ea
..
dbcd80e
100644
(file)
--- a/
generator.c
+++ b/
generator.c
@@
-84,6
+84,7
@@
extern int list_only;
extern int read_batch;
extern int safe_symlinks;
extern long block_size; /* "long" because popt can't set an int32. */
extern int read_batch;
extern int safe_symlinks;
extern long block_size; /* "long" because popt can't set an int32. */
+extern int unsort_ndx;
extern int max_delete;
extern int force_delete;
extern int one_file_system;
extern int max_delete;
extern int force_delete;
extern int one_file_system;
@@
-95,9
+96,6
@@
extern char *backup_suffix;
extern int backup_suffix_len;
extern struct file_list *cur_flist, *first_flist, *dir_flist;
extern struct filter_list_struct server_filter_list;
extern int backup_suffix_len;
extern struct file_list *cur_flist, *first_flist, *dir_flist;
extern struct filter_list_struct server_filter_list;
-#ifdef ICONV_OPTION
-extern int ic_ndx;
-#endif
int ignore_perishable = 0;
int non_perishable_cnt = 0;
int ignore_perishable = 0;
int non_perishable_cnt = 0;
@@
-517,6
+515,14
@@
static void do_delete_pass(void)
int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
{
int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
{
+#ifndef HAVE_LUTIMES
+ if (S_ISLNK(file->mode)) {
+ ;
+ } else
+#endif
+ if (preserve_times && cmp_time(sxp->st.st_mtime, file->modtime) != 0)
+ return 0;
+
if (preserve_perms && !BITS_EQUAL(sxp->st.st_mode, file->mode, CHMOD_BITS))
return 0;
if (preserve_perms && !BITS_EQUAL(sxp->st.st_mode, file->mode, CHMOD_BITS))
return 0;
@@
-895,9
+901,6
@@
static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
case 2:
if (!unchanged_attrs(cmpbuf, file, sxp))
continue;
case 2:
if (!unchanged_attrs(cmpbuf, file, sxp))
continue;
- if (always_checksum > 0 && preserve_times
- && cmp_time(sxp->st.st_mtime, file->modtime))
- continue;
best_match = j;
match_level = 3;
break;
best_match = j;
match_level = 3;
break;
@@
-2027,14
+2030,8
@@
void generate_files(int f_out, const char *local_name)
do {
#ifdef SUPPORT_HARD_LINKS
if (preserve_hard_links && inc_recurse) {
do {
#ifdef SUPPORT_HARD_LINKS
if (preserve_hard_links && inc_recurse) {
- while (!flist_eof) {
- int cnt = first_flist->prev
- ? first_flist->prev->ndx_end - first_flist->ndx_start + 1
- : first_flist->ndx_end - first_flist->ndx_start + 1;
- if (cnt >= FILECNT_LOOKAHEAD/2)
- break;
+ while (!flist_eof && file_total < FILECNT_LOOKAHEAD/2)
wait_for_receiver();
wait_for_receiver();
- }
}
#endif
}
#endif
@@
-2061,11
+2058,9
@@
void generate_files(int f_out, const char *local_name)
if (!F_IS_ACTIVE(file))
continue;
if (!F_IS_ACTIVE(file))
continue;
-#ifdef ICONV_OPTION
- if (ic_ndx)
+ if (unsort_ndx)
ndx = F_NDX(file);
else
ndx = F_NDX(file);
else
-#endif
ndx = i + cur_flist->ndx_start;
if (solo_file)
ndx = i + cur_flist->ndx_start;
if (solo_file)