diff options
author | Andrew Tridgell <tridge@samba.org> | 1997-12-15 22:23:30 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1997-12-15 22:23:30 +0000 |
commit | 7c5969064009f1d305ab86e42d924cb3f7acc853 (patch) | |
tree | 789de339b97cd2b584372daf3c46ca5ef89bb03f | |
parent | 1634f4c4594055f384c81a64fa87870be2f0fe55 (diff) | |
download | rsync-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.c | 2 | ||||
-rw-r--r-- | rsync.c | 14 |
2 files changed, 7 insertions, 9 deletions
@@ -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); @@ -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"); |