summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1997-12-15 22:23:30 +0000
committerAndrew Tridgell <tridge@samba.org>1997-12-15 22:23:30 +0000
commit7c5969064009f1d305ab86e42d924cb3f7acc853 (patch)
tree789de339b97cd2b584372daf3c46ca5ef89bb03f
parent1634f4c4594055f384c81a64fa87870be2f0fe55 (diff)
downloadrsync-7c5969064009f1d305ab86e42d924cb3f7acc853.tar.gz
process directory permissions and times ater hard links becuase the
hard link processing can modify the directory times
-rw-r--r--main.c2
-rw-r--r--rsync.c14
2 files changed, 7 insertions, 9 deletions
diff --git a/main.c b/main.c
index 246a6ac2..3fbdea11 100644
--- a/main.c
+++ b/main.c
@@ -334,8 +334,6 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name)
if ((pid=fork()) == 0) {
recv_files(f_in,flist,local_name,recv_pipe[1]);
- if (preserve_hard_links)
- do_hard_links(flist);
if (verbose > 2)
fprintf(FERROR,"receiver read %d\n",read_total());
exit_cleanup(0);
diff --git a/rsync.c b/rsync.c
index f66efc63..38bbdcde 100644
--- a/rsync.c
+++ b/rsync.c
@@ -729,16 +729,16 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen)
}
}
+ if (preserve_hard_links)
+ do_hard_links(flist);
+
/* now we need to fix any directory permissions that were
modified during the transfer */
- if (!am_root) {
- for (i = 0; i < flist->count; i++) {
- struct file_struct *file = &flist->files[i];
- if (!file->name || !S_ISDIR(file->mode)) continue;
- recv_generator(file->name,flist,i,-1);
- }
+ for (i = 0; i < flist->count; i++) {
+ struct file_struct *file = &flist->files[i];
+ if (!file->name || !S_ISDIR(file->mode)) continue;
+ recv_generator(file->name,flist,i,-1);
}
-
if (verbose > 2)
fprintf(FERROR,"recv_files finished\n");