Fix failing hunks.
[rsync/rsync-patches.git] / early-chmod.diff
index e3778e7..a90f6c2 100644 (file)
@@ -1,43 +1,28 @@
---- backup.c   23 Feb 2004 07:03:03 -0000      1.27
-+++ backup.c   6 Mar 2004 07:46:00 -0000
-@@ -130,8 +130,8 @@ failure:
- /* robustly move a file, creating new directory structures if necessary */
- static int robust_move(char *src, char *dst)
- {
--      if (robust_rename(src, dst, 0755) != 0 && (errno != ENOENT
--          || make_bak_dir(dst) < 0 || robust_rename(src, dst, 0755) != 0))
-+      if (robust_rename(src, dst, 0755) < 0 && (errno != ENOENT
-+          || make_bak_dir(dst) < 0 || robust_rename(src, dst, 0755) < 0))
-               return -1;
-       return 0;
- }
---- rsync.c    25 Feb 2004 21:20:59 -0000      1.133
-+++ rsync.c    6 Mar 2004 07:46:00 -0000
-@@ -235,15 +235,19 @@ void finish_transfer(char *fname, char *
-       if (make_backups && !make_backup(fname))
-               return;
+--- orig/rsync.c       2004-07-23 17:16:13
++++ rsync.c    2004-07-26 06:27:27
+@@ -246,6 +246,9 @@ void finish_transfer(char *fname, char *
+               goto do_set_perms;
+       }
  
 +      /* Change permissions before putting the file into place. */
-+      set_perms(fnametmp, file, NULL, 0);
++      set_perms(fnametmp, file, NULL, ok_to_set_time ? 0 : PERMS_SKIP_MTIME);
 +
        /* move tmp file over real file */
-       ret = robust_rename(fnametmp, fname, file->mode & INITACCESSPERMS);
--      if (ret != 0) {
-+      if (ret < 0) {
-               rprintf(FERROR, "%s %s -> \"%s\": %s\n",
-                   ret == -2 ? "copy" : "rename",
-                   full_fname(fnametmp), fname, strerror(errno));
+       if (verbose > 2)
+               rprintf(FINFO, "renaming %s to %s\n", fnametmp, fname);
+@@ -257,6 +260,10 @@ void finish_transfer(char *fname, char *
                do_unlink(fnametmp);
--      } else {
--              set_perms(fname,file,NULL,0);
-+      } else if (ret == 1) {
-+              /* The file got copied, so set the permissions again. */
-+              set_perms(fname, file, NULL, 0);
+               return;
        }
++      if (ret == 0) {
++              /* The file was moved into place (not copied), so it's done. */
++              return;
++      }
+     do_set_perms:
+       set_perms(fname, file, NULL, ok_to_set_time ? 0 : PERMS_SKIP_MTIME);
  }
---- t_stub.c   11 Sep 2003 04:48:13 -0000      1.4
-+++ t_stub.c   6 Mar 2004 07:46:00 -0000
+--- orig/t_stub.c      2004-05-15 20:10:13
++++ t_stub.c   2004-07-03 20:17:55
 @@ -26,6 +26,7 @@
   * functions, so that module test harnesses can run standalone.
   **/
 +int am_root = 0;
  int modify_window = 0;
  int module_id = -1;
- struct exclude_struct **server_exclude_list;
---- util.c     17 Feb 2004 23:13:10 -0000      1.132
-+++ util.c     6 Mar 2004 07:46:00 -0000
-@@ -28,6 +28,7 @@
- #include "rsync.h"
+ struct exclude_list_struct server_exclude_list;
+--- orig/util.c        2004-06-09 21:54:47
++++ util.c     2004-07-03 20:17:55
+@@ -29,6 +29,7 @@
  
  extern int verbose;
+ extern int dry_run;
 +extern int am_root;
int sanitize_paths = 0;
-@@ -262,6 +263,8 @@ int copy_file(char *source, char *dest, 
+ extern int module_id;
extern int modify_window;
+ extern struct exclude_list_struct server_exclude_list;
+@@ -263,6 +264,8 @@ int copy_file(char *source, char *dest, 
                return -1;
        }
  
@@ -64,8 +49,8 @@
 +              mode |= S_IWUSR;
        ofd = do_open(dest, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, mode);
        if (ofd == -1) {
-               rprintf(FERROR,"open %s: %s\n",
-@@ -353,8 +356,8 @@ int robust_unlink(char *fname)
+               rsyserr(FERROR, errno, "open %s", full_fname(dest));
+@@ -361,8 +364,8 @@ int robust_unlink(char *fname)
  #endif
  }
  
@@ -76,7 +61,7 @@
  int robust_rename(char *from, char *to, int mode)
  {
        int tries = 4;
-@@ -371,10 +374,12 @@ int robust_rename(char *from, char *to, 
+@@ -379,10 +382,12 @@ int robust_rename(char *from, char *to, 
                        break;
  #endif
                case EXDEV: