Updated to apply cleanly.
[rsync-patches.git] / append.diff
index be2f5f614e3150e73fd4c93017d290144dd47856..a8bd3818869636fad4961764284fce380750a29e 100644 (file)
@@ -1,9 +1,9 @@
 This patch adds the --append option, which works like a "resume" mode in
 an ftp client, appending new data onto the end of the files it updates.
 
---- orig/generator.c   2005-03-30 16:35:08
+--- orig/generator.c   2005-04-28 16:26:28
 +++ generator.c        2005-03-03 02:59:17
-@@ -53,6 +53,7 @@ extern int delay_updates;
+@@ -54,6 +54,7 @@ extern int delay_updates;
  extern int update_only;
  extern int opt_ignore_existing;
  extern int inplace;
@@ -11,7 +11,7 @@ an ftp client, appending new data onto the end of the files it updates.
  extern int make_backups;
  extern int csum_length;
  extern int ignore_times;
-@@ -465,35 +466,42 @@ static void generate_and_send_sums(int f
+@@ -473,35 +474,42 @@ static void generate_and_send_sums(int f
        OFF_T offset = 0;
  
        sum_sizes_sqroot(&sum, len);
@@ -61,7 +61,7 @@ an ftp client, appending new data onto the end of the files it updates.
        }
  
        if (mapbuf)
-@@ -972,6 +980,9 @@ static void recv_generator(char *fname, 
+@@ -1010,6 +1018,9 @@ static void recv_generator(char *fname, 
                return;
        }
  
@@ -71,7 +71,7 @@ an ftp client, appending new data onto the end of the files it updates.
        if (!compare_dest && fnamecmp_type <= FNAMECMP_BASIS_DIR_HIGH)
                ;
        else if (fnamecmp_type == FNAMECMP_FUZZY)
-@@ -1144,7 +1155,7 @@ void generate_files(int f_out, struct fi
+@@ -1185,7 +1196,7 @@ void generate_files(int f_out, struct fi
                do_delete_pass(flist);
        do_progress = 0;
  
@@ -80,7 +80,7 @@ an ftp client, appending new data onto the end of the files it updates.
                whole_file = 0;
        if (verbose >= 2) {
                rprintf(FINFO, "delta-transmission %s\n",
-@@ -1195,6 +1206,8 @@ void generate_files(int f_out, struct fi
+@@ -1242,6 +1253,8 @@ void generate_files(int f_out, struct fi
        only_existing = max_size = opt_ignore_existing = 0;
        update_only = always_checksum = size_only = 0;
        ignore_times = 1;
@@ -88,7 +88,7 @@ an ftp client, appending new data onto the end of the files it updates.
 +              append_mode = -1; /* ... but only longer files */
        make_backups = 0; /* avoid a duplicate backup for inplace processing */
  
-       /* We expect to just sit around now, so don't exit on a timeout.
+       if (verbose > 2)
 --- orig/match.c       2005-03-05 17:51:23
 +++ match.c    2005-02-11 20:26:31
 @@ -23,6 +23,7 @@ extern int verbose;
@@ -130,7 +130,7 @@ an ftp client, appending new data onto the end of the files it updates.
                        matched(f, s, buf, j, -2);
                matched(f, s, buf, len, -1);
        }
---- orig/options.c     2005-03-31 00:24:21
+--- orig/options.c     2005-05-03 16:47:32
 +++ options.c  2005-03-11 11:21:34
 @@ -39,6 +39,7 @@ int make_backups = 0;
   **/
@@ -140,7 +140,7 @@ an ftp client, appending new data onto the end of the files it updates.
  int archive_mode = 0;
  int keep_dirlinks = 0;
  int copy_links = 0;
-@@ -165,6 +166,7 @@ static int modify_window_set;
+@@ -166,6 +167,7 @@ static int modify_window_set;
  static int itemize_changes = 0;
  static int refused_delete, refused_archive_part;
  static int refused_partial, refused_progress, refused_delete_before;
@@ -148,7 +148,7 @@ an ftp client, appending new data onto the end of the files it updates.
  static char *max_size_arg;
  static char partialdir_for_delayupdate[] = ".~tmp~";
  
-@@ -273,6 +275,7 @@ void usage(enum logcode F)
+@@ -274,6 +276,7 @@ void usage(enum logcode F)
    rprintf(F,"     --suffix=SUFFIX         set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX);
    rprintf(F," -u, --update                skip files that are newer on the receiver\n");
    rprintf(F,"     --inplace               update destination files in-place (SEE MAN PAGE)\n");
@@ -156,7 +156,7 @@ an ftp client, appending new data onto the end of the files it updates.
    rprintf(F," -d, --dirs                  transfer directories without recursing\n");
    rprintf(F," -l, --links                 copy symlinks as symlinks\n");
    rprintf(F," -L, --copy-links            transform symlink into referent file/dir\n");
-@@ -401,6 +404,7 @@ static struct poptOption long_options[] 
+@@ -405,6 +408,7 @@ static struct poptOption long_options[] 
    {"links",           'l', POPT_ARG_NONE,   &preserve_links, 0, 0, 0 },
    {"copy-links",      'L', POPT_ARG_NONE,   &copy_links, 0, 0, 0 },
    {"keep-dirlinks",   'K', POPT_ARG_NONE,   &keep_dirlinks, 0, 0, 0 },
@@ -164,7 +164,7 @@ an ftp client, appending new data onto the end of the files it updates.
    {"whole-file",      'W', POPT_ARG_VAL,    &whole_file, 1, 0, 0 },
    {"no-whole-file",    0,  POPT_ARG_VAL,    &whole_file, 0, 0, 0 },
    {"copy-unsafe-links",0,  POPT_ARG_NONE,   &copy_unsafe_links, 0, 0, 0 },
-@@ -575,6 +579,8 @@ static void set_refuse_options(char *bp)
+@@ -580,6 +584,8 @@ static void set_refuse_options(char *bp)
                                                refused_partial = op->val;
                                        else if (wildmatch("progress", op->longName))
                                                refused_progress = op->val;
@@ -173,7 +173,7 @@ an ftp client, appending new data onto the end of the files it updates.
                                        break;
                                }
                                if (!is_wild)
-@@ -1108,6 +1114,14 @@ int parse_arguments(int *argc, const cha
+@@ -1130,6 +1136,14 @@ int parse_arguments(int *argc, const cha
                        bwlimit_writemax = 512;
        }
  
@@ -188,7 +188,7 @@ an ftp client, appending new data onto the end of the files it updates.
        if (delay_updates && !partial_dir)
                partial_dir = partialdir_for_delayupdate;
  
-@@ -1418,7 +1432,9 @@ void server_options(char **args,int *arg
+@@ -1442,7 +1456,9 @@ void server_options(char **args,int *arg
        if (opt_ignore_existing && am_sender)
                args[ac++] = "--ignore-existing";
  
@@ -199,9 +199,9 @@ an ftp client, appending new data onto the end of the files it updates.
                args[ac++] = "--inplace";
  
        if (tmpdir) {
---- orig/receiver.c    2005-03-29 22:39:37
+--- orig/receiver.c    2005-04-14 01:53:12
 +++ receiver.c 2005-02-11 20:26:32
-@@ -44,6 +44,7 @@ extern int remove_sent_files;
+@@ -45,6 +45,7 @@ extern int remove_sent_files;
  extern int module_id;
  extern int ignore_errors;
  extern int orig_umask;
@@ -209,7 +209,7 @@ an ftp client, appending new data onto the end of the files it updates.
  extern int keep_partial;
  extern int checksum_seed;
  extern int inplace;
-@@ -211,6 +212,28 @@ static int receive_data(int f_in, char *
+@@ -212,6 +213,28 @@ static int receive_data(int f_in, char *
  
        sum_init(checksum_seed);
  
@@ -238,7 +238,7 @@ an ftp client, appending new data onto the end of the files it updates.
        while ((i = recv_token(f_in, &data)) != 0) {
                if (do_progress)
                        show_progress(offset, total_size);
-@@ -416,6 +439,7 @@ int recv_files(int f_in, struct file_lis
+@@ -417,6 +440,7 @@ int recv_files(int f_in, struct file_lis
                        send_msg(MSG_DONE, "", 0);
                        if (keep_partial && !partial_dir)
                                make_backups = 0; /* prevents double backup */
@@ -246,9 +246,9 @@ an ftp client, appending new data onto the end of the files it updates.
                        continue;
                }
  
---- orig/rsync.yo      2005-03-30 16:57:29
+--- orig/rsync.yo      2005-05-03 16:47:33
 +++ rsync.yo   2005-02-11 20:36:38
-@@ -308,6 +308,7 @@ to the detailed description below for a 
+@@ -317,6 +317,7 @@ to the detailed description below for a 
       --suffix=SUFFIX         backup suffix (default ~ w/o --backup-dir)
   -u, --update                skip files that are newer on the receiver
       --inplace               update destination files in-place
@@ -256,7 +256,7 @@ an ftp client, appending new data onto the end of the files it updates.
   -d, --dirs                  transfer directories without recursing
   -l, --links                 copy symlinks as symlinks
   -L, --copy-links            transform symlink into referent file/dir
-@@ -565,6 +566,14 @@ should not use this option to update fil
+@@ -576,6 +577,14 @@ should not use this option to update fil
  rsync will be unable to update a file in-place that is not writable by the
  receiving user.
  
@@ -271,7 +271,7 @@ an ftp client, appending new data onto the end of the files it updates.
  dit(bf(-d, --dirs)) Tell the sending side to include any directories that
  are encountered.  Unlike bf(--recursive), a directory's contents are not copied
  unless the directory was specified on the command-line as either "." or a
---- orig/sender.c      2005-03-28 20:56:55
+--- orig/sender.c      2005-04-14 01:53:12
 +++ sender.c   2005-03-16 02:25:18
 @@ -28,6 +28,7 @@ extern int log_format_has_i;
  extern int daemon_log_format_has_i;
@@ -281,7 +281,7 @@ an ftp client, appending new data onto the end of the files it updates.
  extern int protocol_version;
  extern int remove_sent_files;
  extern int updating_basis_file;
-@@ -68,6 +69,13 @@ static struct sum_struct *receive_sums(i
+@@ -70,6 +71,13 @@ static struct sum_struct *receive_sums(i
                        (double)s->count, (long)s->blength, (long)s->remainder);
        }
  
@@ -295,7 +295,7 @@ an ftp client, appending new data onto the end of the files it updates.
        if (s->count == 0)
                return(s);
  
-@@ -227,6 +235,7 @@ void send_files(struct file_list *flist,
+@@ -226,6 +234,7 @@ void send_files(struct file_list *flist,
                        /* For inplace: redo phase turns off the backup
                         * flag so that we do a regular inplace send. */
                        make_backups = 0;