X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/df5a5090373531df3bf7f424ca2e5a73aa6990f8..dc8e49198e2a72faf80075fbea95024dcce41757:/append.diff diff --git a/append.diff b/append.diff index d4eea7c..45e19b5 100644 --- a/append.diff +++ b/append.diff @@ -1,7 +1,7 @@ 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-02-20 22:13:19 +--- orig/generator.c 2005-02-23 02:57:26 +++ generator.c 2005-02-15 19:31:13 @@ -46,6 +46,7 @@ extern int remove_sent_files; extern int update_only; @@ -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; -@@ -243,35 +244,42 @@ static void generate_and_send_sums(int f +@@ -245,35 +246,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) -@@ -731,6 +739,9 @@ static void recv_generator(char *fname, +@@ -733,6 +741,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) -@@ -757,7 +768,7 @@ prepare_to_open: +@@ -759,7 +770,7 @@ prepare_to_open: if (dry_run || read_batch) goto notify_others; @@ -80,7 +80,7 @@ an ftp client, appending new data onto the end of the files it updates. if (statret == 0) statret = 1; goto notify_others; -@@ -923,6 +934,9 @@ void generate_files(int f_out, struct fi +@@ -926,6 +937,9 @@ void generate_files(int f_out, struct fi csum_length = SUM_LENGTH; only_existing = max_size = opt_ignore_existing = 0; update_only = always_checksum = size_only = 0; @@ -131,7 +131,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-02-21 10:51:52 +--- orig/options.c 2005-02-23 02:57:26 +++ options.c 2005-02-16 15:36:40 @@ -39,6 +39,7 @@ int make_backups = 0; **/ @@ -141,7 +141,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; -@@ -163,6 +164,7 @@ static int F_option_cnt = 0; +@@ -162,6 +163,7 @@ static int F_option_cnt = 0; static int modify_window_set; static int refused_delete, refused_archive_part; static int refused_partial, refused_progress, refused_delete_before; @@ -149,7 +149,7 @@ an ftp client, appending new data onto the end of the files it updates. static char *dest_option = NULL; static char *max_size_arg; static char partialdir_for_delayupdate[] = ".~tmp~"; -@@ -272,6 +274,7 @@ void usage(enum logcode F) +@@ -271,6 +273,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"); @@ -157,7 +157,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"); -@@ -399,6 +402,7 @@ static struct poptOption long_options[] +@@ -397,6 +400,7 @@ static struct poptOption long_options[] {"links", 'l', POPT_ARG_NONE, &preserve_links, 0, 0, 0 }, {"copy-links", 'L', POPT_ARG_NONE, ©_links, 0, 0, 0 }, {"keep-dirlinks", 'K', POPT_ARG_NONE, &keep_dirlinks, 0, 0, 0 }, @@ -165,7 +165,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, ©_unsafe_links, 0, 0, 0 }, -@@ -573,6 +577,8 @@ static void set_refuse_options(char *bp) +@@ -570,6 +574,8 @@ static void set_refuse_options(char *bp) refused_partial = op->val; else if (wildmatch("progress", op->longName)) refused_progress = op->val; @@ -174,7 +174,7 @@ an ftp client, appending new data onto the end of the files it updates. break; } if (!is_wild) -@@ -1123,6 +1129,14 @@ int parse_arguments(int *argc, const cha +@@ -1115,6 +1121,14 @@ int parse_arguments(int *argc, const cha bwlimit_writemax = 512; } @@ -189,7 +189,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; -@@ -1420,7 +1434,9 @@ void server_options(char **args,int *arg +@@ -1412,7 +1426,9 @@ void server_options(char **args,int *arg if (opt_ignore_existing && am_sender) args[ac++] = "--ignore-existing"; @@ -247,7 +247,7 @@ an ftp client, appending new data onto the end of the files it updates. continue; } ---- orig/rsync.yo 2005-02-20 01:12:43 +--- orig/rsync.yo 2005-02-23 02:57:27 +++ rsync.yo 2005-02-11 20:36:38 @@ -309,6 +309,7 @@ to the detailed description below for a --suffix=SUFFIX backup suffix (default ~ w/o --backup-dir) @@ -257,7 +257,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 +@@ -564,6 +565,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. @@ -272,7 +272,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-02-20 01:12:43 +--- orig/sender.c 2005-02-23 02:57:27 +++ sender.c 2005-02-20 00:17:01 @@ -28,6 +28,7 @@ extern int log_format_has_i; extern int daemon_log_format_has_i;