This adds the --ignore-case option, which makes rsync compare filenames
in a case-insensitive manner.
---- orig/lib/wildmatch.c 2003-07-14 15:12:59
+--- orig/lib/wildmatch.c 2005-01-28 23:01:12
+++ lib/wildmatch.c 2004-08-13 16:43:27
@@ -53,6 +53,8 @@
#define ISUPPER(c) (ISASCII(c) && isupper(c))
#ifdef WILD_TEST_ITERATIONS
int wildmatch_iteration_count;
#endif
-@@ -76,9 +78,19 @@ static int domatch(const unsigned char *
+@@ -76,9 +78,19 @@ static int domatch(const uchar *p, const
ch = *++p;
/* FALLTHROUGH */
default:
case '?':
/* Match anything but '/'. */
if (*text == '/')
---- orig/options.c 2004-08-12 18:34:38
-+++ options.c 2004-07-29 16:13:45
-@@ -92,6 +92,7 @@ int opt_ignore_existing = 0;
- int max_delete = 0;
+--- orig/options.c 2005-02-11 18:21:45
++++ options.c 2004-10-14 17:22:51
+@@ -96,6 +96,7 @@ int max_delete = 0;
+ OFF_T max_size = 0;
int ignore_errors = 0;
int modify_window = 0;
+int ignore_case = 0;
int blocking_io = -1;
int checksum_seed = 0;
int inplace = 0;
-@@ -288,6 +289,7 @@ void usage(enum logcode F)
- rprintf(F," --include-from=FILE don't exclude patterns listed in FILE\n");
- rprintf(F," --files-from=FILE read FILE for list of source-file names\n");
+@@ -316,6 +317,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 file lists are delimited by nulls\n");
+ rprintf(F," --ignore-case ignore case when comparing filenames\n");
rprintf(F," --version print version number\n");
- rprintf(F," --daemon run as an rsync daemon\n");
- rprintf(F," --no-detach do not detach from the parent\n");
-@@ -343,6 +345,7 @@ static struct poptOption long_options[]
- {"include", 0, POPT_ARG_STRING, 0, OPT_INCLUDE, 0, 0 },
- {"exclude-from", 0, POPT_ARG_STRING, 0, OPT_EXCLUDE_FROM, 0, 0 },
- {"include-from", 0, POPT_ARG_STRING, 0, OPT_INCLUDE_FROM, 0, 0 },
+ rprintf(F," --port=PORT specify double-colon alternate port number\n");
+ rprintf(F," --blocking-io use blocking I/O for the remote shell\n");
+@@ -371,6 +373,7 @@ static struct poptOption long_options[]
+ {"include", 0, POPT_ARG_STRING, 0, OPT_INCLUDE, 0, 0 },
+ {"exclude-from", 0, POPT_ARG_STRING, 0, OPT_EXCLUDE_FROM, 0, 0 },
+ {"include-from", 0, POPT_ARG_STRING, 0, OPT_INCLUDE_FROM, 0, 0 },
+ {"ignore-case", 0, POPT_ARG_NONE, &ignore_case, 0, 0, 0 },
{"safe-links", 0, POPT_ARG_NONE, &safe_symlinks, 0, 0, 0 },
- {"help", 'h', POPT_ARG_NONE, 0, 'h', 0, 0 },
+ {"help", 'h', POPT_ARG_NONE, 0, 'h', 0, 0 },
{"backup", 'b', POPT_ARG_NONE, &make_backups, 0, 0, 0 },
-@@ -1037,6 +1040,9 @@ void server_options(char **args,int *arg
+@@ -1318,6 +1321,9 @@ void server_options(char **args,int *arg
args[ac++] = arg;
}
+ args[ac++] = "--ignore-case";
+
if (partial_dir && am_sender) {
- args[ac++] = "--partial-dir";
- args[ac++] = partial_dir;
---- orig/t_stub.c 2004-07-29 16:08:04
+ if (partial_dir != partialdir_for_delayupdate) {
+ args[ac++] = "--partial-dir";
+--- orig/t_stub.c 2005-01-25 12:14:14
+++ t_stub.c 2004-08-13 17:19:56
@@ -28,6 +28,7 @@
int module_id = -1;
+int ignore_case = 0;
char *partial_dir;
- struct exclude_list_struct server_exclude_list;
+ struct filter_list_struct server_filter_list;
---- orig/util.c 2004-08-13 07:18:59
+--- orig/util.c 2005-02-11 10:53:15
+++ util.c 2004-08-13 16:40:34
@@ -31,6 +31,7 @@ extern int verbose;
extern int dry_run;
extern int modify_window;
+extern int ignore_case;
extern char *partial_dir;
- extern struct exclude_list_struct server_exclude_list;
+ extern struct filter_list_struct server_filter_list;
-@@ -1015,11 +1016,23 @@ int u_strcmp(const char *cs1, const char
+@@ -1022,11 +1023,23 @@ int u_strcmp(const char *cs1, const char
{
const uchar *s1 = (const uchar *)cs1;
const uchar *s2 = (const uchar *)cs2;