From 52f258648cc1ec9ded55910e76b7bdaf81d2f223 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Mon, 21 Feb 2005 11:05:29 +0000 Subject: [PATCH] Fixed failing hunks. --- atimes.diff | 47 ++++++++++--------- backup-dir-dels.diff | 104 ++++++++++++++++++++++--------------------- fname-convert.diff | 38 ++++++++-------- link-by-hash.diff | 30 ++++++------- 4 files changed, 111 insertions(+), 108 deletions(-) diff --git a/atimes.diff b/atimes.diff index cbb3d17..5ad0682 100644 --- a/atimes.diff +++ b/atimes.diff @@ -15,17 +15,17 @@ command before "make": rprintf(FINFO, "flist->length=%.0f\n", (double) fptr[i]->length); rprintf(FINFO, "flist->mode=%#o\n", (int) fptr[i]->mode); ---- orig/flist.c 2005-02-20 00:16:35 +--- orig/flist.c 2005-02-21 10:51:51 +++ flist.c 2005-02-07 21:06:04 -@@ -54,6 +54,7 @@ extern int relative_paths; +@@ -56,6 +56,7 @@ extern int relative_paths; extern int implied_dirs; extern int copy_links; extern int copy_unsafe_links; +extern int copy_atimes; extern int protocol_version; extern int sanitize_paths; - extern int deletion_count; -@@ -143,16 +144,18 @@ static void list_file_entry(struct file_ + extern int max_delete; +@@ -148,16 +149,18 @@ static void list_file_entry(struct file_ #ifdef SUPPORT_LINKS if (preserve_links && S_ISLNK(f->mode)) { @@ -46,7 +46,7 @@ command before "make": safe_fname(f_name(f))); } } -@@ -316,6 +319,7 @@ void send_file_entry(struct file_struct +@@ -321,6 +324,7 @@ void send_file_entry(struct file_struct { unsigned short flags; static time_t modtime; @@ -54,7 +54,7 @@ command before "make": static mode_t mode; static int64 dev; static dev_t rdev; -@@ -331,7 +335,7 @@ void send_file_entry(struct file_struct +@@ -336,7 +340,7 @@ void send_file_entry(struct file_struct if (!file) { write_byte(f, 0); @@ -63,7 +63,7 @@ command before "make": dev = 0, rdev = makedev(0, 0); rdev_major = 0; uid = 0, gid = 0; -@@ -380,6 +384,12 @@ void send_file_entry(struct file_struct +@@ -385,6 +389,12 @@ void send_file_entry(struct file_struct flags |= XMIT_SAME_TIME; else modtime = file->modtime; @@ -76,7 +76,7 @@ command before "make": #ifdef SUPPORT_HARD_LINKS if (file->link_u.idev) { -@@ -435,6 +445,8 @@ void send_file_entry(struct file_struct +@@ -440,6 +450,8 @@ void send_file_entry(struct file_struct write_int(f, modtime); if (!(flags & XMIT_SAME_MODE)) write_int(f, to_wire_mode(mode)); @@ -85,7 +85,7 @@ command before "make": if (preserve_uid && !(flags & XMIT_SAME_UID)) { if (!numeric_ids) add_uid(uid); -@@ -508,6 +520,7 @@ static struct file_struct *receive_file_ +@@ -513,6 +525,7 @@ static struct file_struct *receive_file_ unsigned short flags, int f) { static time_t modtime; @@ -93,7 +93,7 @@ command before "make": static mode_t mode; static int64 dev; static dev_t rdev; -@@ -526,7 +539,7 @@ static struct file_struct *receive_file_ +@@ -531,7 +544,7 @@ static struct file_struct *receive_file_ struct file_struct *file; if (!flist) { @@ -102,7 +102,7 @@ command before "make": dev = 0, rdev = makedev(0, 0); rdev_major = 0; uid = 0, gid = 0; -@@ -582,6 +595,8 @@ static struct file_struct *receive_file_ +@@ -587,6 +600,8 @@ static struct file_struct *receive_file_ modtime = (time_t)read_int(f); if (!(flags & XMIT_SAME_MODE)) mode = from_wire_mode(read_int(f)); @@ -111,7 +111,7 @@ command before "make": if (preserve_uid && !(flags & XMIT_SAME_UID)) uid = (uid_t)read_int(f); -@@ -632,6 +647,7 @@ static struct file_struct *receive_file_ +@@ -637,6 +652,7 @@ static struct file_struct *receive_file_ file->flags = 0; file->modtime = modtime; @@ -119,7 +119,7 @@ command before "make": file->length = file_length; file->mode = mode; file->uid = uid; -@@ -881,6 +897,7 @@ skip_filters: +@@ -886,6 +902,7 @@ skip_filters: file->flags = flags; file->modtime = st.st_mtime; @@ -147,8 +147,8 @@ command before "make": if (verbose > 1) rprintf(FINFO, "%s is newer\n", safe_fname(fname)); return; ---- orig/options.c 2005-02-21 07:28:59 -+++ options.c 2005-01-24 01:51:48 +--- orig/options.c 2005-02-21 10:51:52 ++++ options.c 2005-02-21 10:53:28 @@ -50,6 +50,7 @@ int preserve_uid = 0; int preserve_gid = 0; int preserve_times = 0; @@ -168,22 +168,22 @@ command before "make": @@ -408,6 +410,7 @@ static struct poptOption long_options[] {"devices", 'D', POPT_ARG_NONE, &preserve_devices, 0, 0, 0 }, {"times", 't', POPT_ARG_NONE, &preserve_times, 0, 0, 0 }, - {"omit-dir-times", 'O', POPT_ARG_NONE, &omit_dir_times, 0, 0, 0 }, + {"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 2, 0, 0 }, + {"copy-atimes", 'A', POPT_ARG_NONE, ©_atimes, 0, 0, 0 }, {"checksum", 'c', POPT_ARG_NONE, &always_checksum, 0, 0, 0 }, {"verbose", 'v', POPT_ARG_NONE, 0, 'v', 0, 0 }, {"quiet", 'q', POPT_ARG_NONE, 0, 'q', 0, 0 }, -@@ -1272,6 +1275,8 @@ void server_options(char **args,int *arg +@@ -1274,6 +1277,8 @@ void server_options(char **args,int *arg argstr[x++] = 'D'; if (preserve_times) argstr[x++] = 't'; + if (copy_atimes) + argstr[x++] = 'A'; - if (omit_dir_times && am_sender) + if (omit_dir_times == 2 && am_sender) argstr[x++] = 'O'; if (preserve_perms) ---- orig/rsync.c 2005-02-20 00:02:23 -+++ rsync.c 2005-01-24 01:59:12 +--- orig/rsync.c 2005-02-21 10:51:52 ++++ rsync.c 2005-02-21 10:57:03 @@ -27,6 +27,7 @@ extern int dry_run; extern int daemon_log_format_has_i; extern int preserve_times; @@ -192,7 +192,7 @@ command before "make": extern int am_root; extern int am_server; extern int am_sender; -@@ -173,6 +174,7 @@ int set_perms(char *fname,struct file_st +@@ -56,6 +57,7 @@ int set_perms(char *fname,struct file_st int updated = 0; STRUCT_STAT st2; int change_uid, change_gid; @@ -200,15 +200,14 @@ command before "make": if (!st) { if (dry_run) -@@ -185,18 +187,28 @@ int set_perms(char *fname,struct file_st +@@ -68,17 +70,27 @@ int set_perms(char *fname,struct file_st st = &st2; } + if (!copy_atimes || S_ISLNK(st->st_mode) || S_ISDIR(st->st_mode)) + flags |= PERMS_SKIP_ATIME; if (!preserve_times || S_ISLNK(st->st_mode) - || (S_ISDIR(st->st_mode) - && (omit_dir_times || (make_backups && !backup_dir)))) + || (S_ISDIR(st->st_mode) && omit_dir_times)) flags |= PERMS_SKIP_MTIME; + if (!(flags & PERMS_SKIP_ATIME) + && cmp_time(st->st_atime, file->atime) != 0) { diff --git a/backup-dir-dels.diff b/backup-dir-dels.diff index 0a0729a..6effce4 100644 --- a/backup-dir-dels.diff +++ b/backup-dir-dels.diff @@ -105,9 +105,48 @@ Marc St-Onge + deleting = 0; + return ret; +} ---- orig/options.c 2005-02-20 01:12:42 -+++ options.c 2005-02-20 03:09:33 -@@ -121,10 +121,14 @@ int no_detach = 0; +--- orig/flist.c 2005-02-21 10:51:51 ++++ flist.c 2005-02-21 11:00:19 +@@ -67,6 +67,9 @@ extern char *log_format; + extern char *backup_dir; + extern char *backup_suffix; + extern int backup_suffix_len; ++extern char *backup_dir_rm; ++extern char *backup_suffix_rm; ++extern int backup_suffix_rm_len; + + extern char curr_dir[MAXPATHLEN]; + +@@ -1773,10 +1776,14 @@ struct file_list *get_dirlist(const char + + static int deletion_count = 0; /* used to implement --max-delete */ + ++/* Function now checks if file matches backup- or delete-suffix patterns. */ + static int is_backup_file(char *fn) + { + int k = strlen(fn) - backup_suffix_len; +- return k > 0 && strcmp(fn+k, backup_suffix) == 0; ++ if (k > 0 && strcmp(fn+k, backup_suffix) == 0) ++ return 1; ++ k += backup_suffix_len - backup_suffix_rm_len; ++ return k > 0 && strcmp(fn+k, backup_suffix_rm) == 0; + } + + +@@ -1850,8 +1857,8 @@ int delete_file(char *fname, int mode, i + if (max_delete && deletion_count >= max_delete) + return -1; + +- if (make_backups && !backup_dir && !is_backup_file(fname)) +- ok = make_backup(fname); ++ if (make_backups && !backup_dir_rm && !is_backup_file(fname)) ++ ok = safe_delete(fname); + else + ok = do_rmdir(fname) == 0; + if (!ok && errno != ENOENT) { +--- orig/options.c 2005-02-21 10:51:52 ++++ options.c 2005-02-21 11:02:45 +@@ -126,10 +126,14 @@ int no_detach int write_batch = 0; int read_batch = 0; int backup_dir_len = 0; @@ -122,7 +161,7 @@ Marc St-Onge char *tmpdir = NULL; char *partial_dir = NULL; char *basis_dir[MAX_BASIS_DIRS+1]; -@@ -134,7 +138,9 @@ char *log_format = NULL; +@@ -139,7 +143,9 @@ char *log_format = NULL; char *password_file = NULL; char *rsync_path = RSYNC_PATH; char *backup_dir = NULL; @@ -132,7 +171,7 @@ Marc St-Onge int rsync_port = 0; int compare_dest = 0; int copy_dest = 0; -@@ -265,6 +271,8 @@ void usage(enum logcode F) +@@ -270,6 +276,8 @@ void usage(enum logcode F) rprintf(F," -b, --backup make backups (see --suffix & --backup-dir)\n"); rprintf(F," --backup-dir=DIR make backups into hierarchy based in DIR\n"); rprintf(F," --suffix=SUFFIX set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX); @@ -141,7 +180,7 @@ Marc St-Onge 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"); rprintf(F," -d, --dirs transfer directories without recursing\n"); -@@ -360,6 +368,7 @@ static struct poptOption long_options[] +@@ -365,6 +373,7 @@ static struct poptOption long_options[] /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */ {"version", 0, POPT_ARG_NONE, 0, OPT_VERSION, 0, 0}, {"suffix", 0, POPT_ARG_STRING, &backup_suffix, 0, 0, 0 }, @@ -149,7 +188,7 @@ Marc St-Onge {"rsync-path", 0, POPT_ARG_STRING, &rsync_path, 0, 0, 0 }, {"password-file", 0, POPT_ARG_STRING, &password_file, 0, 0, 0 }, {"ignore-times", 'I', POPT_ARG_NONE, &ignore_times, 0, 0, 0 }, -@@ -440,6 +449,7 @@ static struct poptOption long_options[] +@@ -445,6 +454,7 @@ static struct poptOption long_options[] {"itemize-changes", 'i', POPT_ARG_NONE, &itemize_changes, 0, 0, 0 }, {"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 }, {"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 }, @@ -157,7 +196,7 @@ Marc St-Onge {"hard-links", 'H', POPT_ARG_NONE, &preserve_hard_links, 0, 0, 0 }, {"read-batch", 0, POPT_ARG_STRING, &batch_name, OPT_READ_BATCH, 0, 0 }, {"write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_WRITE_BATCH, 0, 0 }, -@@ -1006,6 +1016,8 @@ int parse_arguments(int *argc, const cha +@@ -1013,6 +1023,8 @@ int parse_arguments(int *argc, const cha partial_dir = sanitize_path(NULL, partial_dir, NULL, 0); if (backup_dir) backup_dir = sanitize_path(NULL, backup_dir, NULL, 0); @@ -166,7 +205,7 @@ Marc St-Onge if (files_from) files_from = sanitize_path(NULL, files_from, NULL, 0); } -@@ -1038,6 +1050,12 @@ int parse_arguments(int *argc, const cha +@@ -1045,6 +1057,12 @@ int parse_arguments(int *argc, const cha if (check_filter(elp, backup_dir, 1) < 0) goto options_rejected; } @@ -179,7 +218,7 @@ Marc St-Onge } if (server_filter_list.head && files_from) { if (!*files_from) -@@ -1060,6 +1078,16 @@ int parse_arguments(int *argc, const cha +@@ -1067,6 +1085,16 @@ int parse_arguments(int *argc, const cha backup_suffix); return 0; } @@ -196,7 +235,7 @@ Marc St-Onge if (backup_dir) { backup_dir_len = strlcpy(backup_dir_buf, backup_dir, sizeof backup_dir_buf); backup_dir_remainder = sizeof backup_dir_buf - backup_dir_len; -@@ -1081,6 +1109,31 @@ int parse_arguments(int *argc, const cha +@@ -1088,6 +1116,31 @@ int parse_arguments(int *argc, const cha "--suffix cannot be a null string without --backup-dir\n"); return 0; } @@ -225,10 +264,10 @@ Marc St-Onge + "--backup-suffix-rm cannot be a null string without --backup-dir-rm\n"); + return 0; + } + if (make_backups && !backup_dir) + omit_dir_times = 1; - if (log_format) { - if (strstr(log_format, "%i") != NULL) -@@ -1344,6 +1397,10 @@ void server_options(char **args,int *arg +@@ -1353,6 +1406,10 @@ void server_options(char **args,int *arg args[ac++] = "--backup-dir"; args[ac++] = backup_dir; } @@ -239,7 +278,7 @@ Marc St-Onge /* Only send --suffix if it specifies a non-default value. */ if (strcmp(backup_suffix, backup_dir ? "" : BACKUP_SUFFIX) != 0) { -@@ -1352,7 +1409,13 @@ void server_options(char **args,int *arg +@@ -1361,7 +1418,13 @@ void server_options(char **args,int *arg goto oom; args[ac++] = arg; } @@ -254,38 +293,3 @@ Marc St-Onge if (am_sender) { if (delete_excluded) args[ac++] = "--delete-excluded"; ---- orig/rsync.c 2005-02-20 00:02:23 -+++ rsync.c 2005-02-20 03:08:42 -@@ -44,12 +44,19 @@ extern char *backup_dir; - extern char *log_format; - extern char *backup_suffix; - extern int backup_suffix_len; -+extern char *backup_dir_rm; -+extern char *backup_suffix_rm; -+extern int backup_suffix_rm_len; - - -+/* Function now checks if file matches backup or delete suffix patterns */ - static int is_backup_file(char *fn) - { - int k = strlen(fn) - backup_suffix_len; -- return k > 0 && strcmp(fn+k, backup_suffix) == 0; -+ if (k > 0 && strcmp(fn+k, backup_suffix) == 0) -+ return 1; -+ k += backup_suffix_len - backup_suffix_rm_len; -+ return k > 0 && strcmp(fn+k, backup_suffix_rm) == 0; - } - - -@@ -82,8 +89,9 @@ int delete_file(char *fname, int mode, i - - if (!S_ISDIR(mode)) { - int ok; -- if (make_backups && (backup_dir || !is_backup_file(fname))) -- ok = make_backup(fname); -+ int backup_file = is_backup_file(fname); -+ if (make_backups && (backup_dir_rm || !backup_file)) -+ ok = safe_delete(fname); - else - ok = robust_unlink(fname) == 0; - if (ok) { diff --git a/fname-convert.diff b/fname-convert.diff index c36b33b..58ed8f8 100644 --- a/fname-convert.diff +++ b/fname-convert.diff @@ -87,17 +87,17 @@ Note that you'll need to run 'make proto' after applying this patch. #define RERR_SIGNAL 20 /* status returned when sent SIGUSR1, SIGINT */ #define RERR_WAITCHILD 21 /* some error returned by waitpid() */ ---- orig/flist.c 2005-02-20 00:16:35 -+++ flist.c 2005-02-19 09:31:41 -@@ -62,6 +62,7 @@ extern int orig_umask; - extern int list_only; +--- orig/flist.c 2005-02-21 10:51:51 ++++ flist.c 2005-02-21 11:04:00 +@@ -63,6 +63,7 @@ extern int force_delete; + extern int orig_umask; + extern int make_backups; extern unsigned int curr_dir_len; - extern char *log_format; +extern char *fname_convert_cmd; - - extern char curr_dir[MAXPATHLEN]; - -@@ -341,7 +342,10 @@ void send_file_entry(struct file_struct + extern char *log_format; + extern char *backup_dir; + extern char *backup_suffix; +@@ -346,7 +347,10 @@ void send_file_entry(struct file_struct io_write_phase = "send_file_entry"; @@ -109,7 +109,7 @@ Note that you'll need to run 'make proto' after applying this patch. flags = base_flags; -@@ -557,6 +561,9 @@ static struct file_struct *receive_file_ +@@ -562,6 +566,9 @@ static struct file_struct *receive_file_ strlcpy(lastname, thisname, MAXPATHLEN); @@ -119,7 +119,7 @@ Note that you'll need to run 'make proto' after applying this patch. clean_fname(thisname, 0); if (sanitize_paths) -@@ -1070,6 +1077,9 @@ struct file_list *send_file_list(int f, +@@ -1075,6 +1082,9 @@ struct file_list *send_file_list(int f, start_write = stats.total_written; gettimeofday(&start_tv, NULL); @@ -129,7 +129,7 @@ Note that you'll need to run 'make proto' after applying this patch. flist = flist_new(WITH_HLINK, "send_file_list"); io_start_buffering_out(); -@@ -1252,6 +1262,9 @@ struct file_list *send_file_list(int f, +@@ -1257,6 +1267,9 @@ struct file_list *send_file_list(int f, stats.flist_size = stats.total_written - start_write; stats.num_files = flist->count; @@ -139,7 +139,7 @@ Note that you'll need to run 'make proto' after applying this patch. if (verbose > 3) output_flist(flist, who_am_i()); -@@ -1273,6 +1286,9 @@ struct file_list *recv_file_list(int f) +@@ -1278,6 +1291,9 @@ struct file_list *recv_file_list(int f) start_read = stats.total_read; @@ -149,7 +149,7 @@ Note that you'll need to run 'make proto' after applying this patch. flist = flist_new(WITH_HLINK, "recv_file_list"); received_flist = flist; -@@ -1326,6 +1342,9 @@ struct file_list *recv_file_list(int f) +@@ -1331,6 +1347,9 @@ struct file_list *recv_file_list(int f) io_error |= read_int(f); } @@ -399,7 +399,7 @@ Note that you'll need to run 'make proto' after applying this patch. static void recv_generator(char *fname, struct file_list *flist, struct file_struct *file, int ndx, int f_out, int f_out_name) ---- orig/log.c 2005-02-20 00:02:23 +--- orig/log.c 2005-02-21 07:28:59 +++ log.c 2004-07-03 20:18:02 @@ -62,6 +62,7 @@ struct { { RERR_STREAMIO , "error in rsync protocol data stream" }, @@ -420,9 +420,9 @@ Note that you'll need to run 'make proto' after applying this patch. if (dir) free(dir); ---- orig/options.c 2005-02-20 01:12:42 +--- orig/options.c 2005-02-21 10:51:52 +++ options.c 2005-02-14 02:50:32 -@@ -131,6 +131,7 @@ char *basis_dir[MAX_BASIS_DIRS+1]; +@@ -136,6 +136,7 @@ char *basis_dir[MAX_BASIS_DIRS+1]; char *config_file = NULL; char *shell_cmd = NULL; char *log_format = NULL; @@ -430,7 +430,7 @@ Note that you'll need to run 'make proto' after applying this patch. char *password_file = NULL; char *rsync_path = RSYNC_PATH; char *backup_dir = NULL; -@@ -314,6 +315,7 @@ void usage(enum logcode F) +@@ -319,6 +320,7 @@ void usage(enum logcode F) rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n"); rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n"); rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n"); @@ -438,7 +438,7 @@ Note that you'll need to run 'make proto' after applying this patch. rprintf(F," -z, --compress compress file data during the transfer\n"); rprintf(F," -C, --cvs-exclude auto-ignore files the same way CVS does\n"); rprintf(F," -f, --filter=RULE add a file-filtering RULE\n"); -@@ -423,6 +425,7 @@ static struct poptOption long_options[] +@@ -428,6 +430,7 @@ static struct poptOption long_options[] {"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 }, {"link-dest", 0, POPT_ARG_STRING, 0, OPT_LINK_DEST, 0, 0 }, {"fuzzy", 'y', POPT_ARG_NONE, &fuzzy_basis, 0, 0, 0 }, diff --git a/link-by-hash.diff b/link-by-hash.diff index ba2df4a..5589bd5 100644 --- a/link-by-hash.diff +++ b/link-by-hash.diff @@ -365,9 +365,9 @@ the file's name. +} + +#endif ---- orig/options.c 2005-02-20 01:12:42 +--- orig/options.c 2005-02-21 10:51:52 +++ options.c 2005-02-14 02:52:09 -@@ -134,6 +134,7 @@ char *log_format = NULL; +@@ -139,6 +139,7 @@ char *log_format = NULL; char *password_file = NULL; char *rsync_path = RSYNC_PATH; char *backup_dir = NULL; @@ -375,7 +375,7 @@ the file's name. char backup_dir_buf[MAXPATHLEN]; int rsync_port = 0; int compare_dest = 0; -@@ -314,6 +315,7 @@ void usage(enum logcode F) +@@ -319,6 +320,7 @@ void usage(enum logcode F) rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n"); rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n"); rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n"); @@ -383,7 +383,7 @@ the file's name. rprintf(F," -z, --compress compress file data during the transfer\n"); rprintf(F," -C, --cvs-exclude auto-ignore files the same way CVS does\n"); rprintf(F," -f, --filter=RULE add a file-filtering RULE\n"); -@@ -353,7 +355,7 @@ void usage(enum logcode F) +@@ -358,7 +360,7 @@ void usage(enum logcode F) enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM, OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, @@ -392,7 +392,7 @@ the file's name. OPT_REFUSED_BASE = 9000}; static struct poptOption long_options[] = { -@@ -422,6 +424,7 @@ static struct poptOption long_options[] +@@ -427,6 +429,7 @@ static struct poptOption long_options[] {"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 }, {"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 }, {"link-dest", 0, POPT_ARG_STRING, 0, OPT_LINK_DEST, 0, 0 }, @@ -400,7 +400,7 @@ the file's name. {"fuzzy", 'y', POPT_ARG_NONE, &fuzzy_basis, 0, 0, 0 }, /* TODO: Should this take an optional int giving the compression level? */ {"compress", 'z', POPT_ARG_NONE, &do_compression, 0, 0, 0 }, -@@ -853,6 +856,21 @@ int parse_arguments(int *argc, const cha +@@ -860,6 +863,21 @@ int parse_arguments(int *argc, const cha basis_dir[basis_dir_cnt++] = (char *)arg; break; @@ -422,7 +422,7 @@ the file's name. default: /* A large opt value means that set_refuse_options() * turned this option off. */ -@@ -1431,6 +1449,11 @@ void server_options(char **args,int *arg +@@ -1440,6 +1458,11 @@ void server_options(char **args,int *arg } } @@ -519,17 +519,17 @@ the file's name. if (!log_before_transfer) log_recv(file, &initial_stats, iflags); ---- orig/rsync.c 2005-02-20 00:02:23 -+++ rsync.c 2005-02-19 09:32:31 -@@ -41,6 +41,7 @@ extern int keep_dirlinks; +--- orig/rsync.c 2005-02-21 10:51:52 ++++ rsync.c 2005-02-21 11:04:36 +@@ -38,6 +38,7 @@ extern int recurse; + extern int keep_dirlinks; extern int make_backups; extern struct stats stats; - extern char *backup_dir; +extern char *link_by_hash_dir; - extern char *log_format; - extern char *backup_suffix; - extern int backup_suffix_len; -@@ -306,7 +307,12 @@ void finish_transfer(char *fname, char * + + + /* +@@ -188,7 +189,12 @@ void finish_transfer(char *fname, char * rprintf(FINFO, "renaming %s to %s\n", safe_fname(fnametmp), safe_fname(fname)); } -- 2.34.1