X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/f80ebf7ee3dcee0f41618701ba48e4492c0b6ab8..5ba66156c2f3b31eae4a1ae88a44c1efaf248c9c:/ignore-case.diff diff --git a/ignore-case.diff b/ignore-case.diff index 1eea18b..91ae734 100644 --- a/ignore-case.diff +++ b/ignore-case.diff @@ -7,6 +7,11 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make +TODO: + + - Make this code handle multibyte character encodings, and honor the + --iconv setting when converting case. + --- old/exclude.c +++ new/exclude.c @@ -32,6 +32,7 @@ extern int io_error; @@ -50,7 +55,7 @@ To use this patch, run these commands for a successful build: extern int ignore_errors; extern int numeric_ids; extern int recurse; -@@ -2390,7 +2391,7 @@ enum fnc_type { t_PATH, t_ITEM }; +@@ -2454,7 +2455,7 @@ enum fnc_type { t_PATH, t_ITEM }; int f_name_cmp(struct file_struct *f1, struct file_struct *f2) { int dif; @@ -59,7 +64,7 @@ To use this patch, run these commands for a successful build: enum fnc_state state1, state2; enum fnc_type type1, type2; enum fnc_type t_path = protocol_version >= 29 ? t_PATH : t_ITEM; -@@ -2500,7 +2501,15 @@ int f_name_cmp(struct file_struct *f1, s +@@ -2564,7 +2565,15 @@ int f_name_cmp(struct file_struct *f1, s if (type1 != type2) return type1 == t_PATH ? 1 : -1; } @@ -163,7 +168,7 @@ To use this patch, run these commands for a successful build: --- old/options.c +++ new/options.c -@@ -113,6 +113,7 @@ OFF_T max_size = 0; +@@ -114,6 +114,7 @@ OFF_T max_size = 0; OFF_T min_size = 0; int ignore_errors = 0; int modify_window = 0; @@ -171,7 +176,7 @@ To use this patch, run these commands for a successful build: int blocking_io = -1; int checksum_seed = 0; int inplace = 0; -@@ -388,6 +389,7 @@ void usage(enum logcode F) +@@ -389,6 +390,7 @@ void usage(enum logcode F) rprintf(F," --include-from=FILE read include patterns from FILE\n"); rprintf(F," --files-from=FILE read list of source-file names from FILE\n"); rprintf(F," -0, --from0 all *-from/filter files are delimited by 0s\n"); @@ -179,15 +184,16 @@ To use this patch, run these commands for a successful build: rprintf(F," --address=ADDRESS bind address for outgoing socket to daemon\n"); rprintf(F," --port=PORT specify double-colon alternate port number\n"); rprintf(F," --sockopts=OPTIONS specify custom TCP options\n"); -@@ -567,6 +569,7 @@ static struct poptOption long_options[] +@@ -577,6 +579,8 @@ static struct poptOption long_options[] + {"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 }, {"only-write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_ONLY_WRITE_BATCH, 0, 0 }, ++ {"ignore-case", 0, POPT_ARG_VAL, &ignore_case, 1, 0, 0 }, ++ {"no-ignore-case", 0, POPT_ARG_VAL, &ignore_case, 0, 0, 0 }, {"files-from", 0, POPT_ARG_STRING, &files_from, 0, 0, 0 }, - {"from0", '0', POPT_ARG_NONE, &eol_nulls, 0, 0, 0}, -+ {"ignore-case", 0, POPT_ARG_NONE, &ignore_case, 0, 0, 0 }, - {"numeric-ids", 0, POPT_ARG_NONE, &numeric_ids, 0, 0, 0 }, - {"timeout", 0, POPT_ARG_INT, &io_timeout, 0, 0, 0 }, - {"rsh", 'e', POPT_ARG_STRING, &shell_cmd, 0, 0, 0 }, -@@ -1834,6 +1837,9 @@ void server_options(char **args,int *arg + {"from0", '0', POPT_ARG_VAL, &eol_nulls, 1, 0, 0}, + {"no-from0", 0, POPT_ARG_VAL, &eol_nulls, 0, 0, 0}, +@@ -1850,6 +1854,9 @@ void server_options(char **args,int *arg args[ac++] = arg; }