-Peter Tattam [peter@jazz-1.trumpet.com.au] writes:
-
-> I believe a suitable workaround would be to ignore case for file names
-> when the rsync process is undertaken. Is this facility available or
-> planned in the near future?
-
-I've attached a context diff for some changes I made to our local copy
-a while back to add an "--ignore-case" option just for this purpose.
-In our case it came up in the context of disting between NTFS and FAT
-remote systems. I think we ended up not needing it, but it does make
-rsync match filenames in a case insensitive manner, so it might at
-least be worth trying to see if it resolves your issue.
-
-A few caveats - both ends have to support the option - I couldn't make
-it backwards compatible because both ends exchange information about a
-sorted file list that has to sort the same way on either side (which
-very subtly bit me when I first did this). I also didn't bump the
-protocol in this patch (wasn't quite sure it was appropriate just for an
-incompatible command line option) since it was for local use.
-
-NOTE: patch updated for latest CVS source by Wayne Davison, but UNTESTED!
-
--- David
-
-/-----------------------------------------------------------------------\
- \ David Bolen \ E-mail: db3l@fitlinxx.com /
- | FitLinxx, Inc. \ Phone: (203) 708-5192 |
- / 860 Canal Street, Stamford, CT 06902 \ Fax: (203) 316-5150 \
-\-----------------------------------------------------------------------/
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
-
---- orig/lib/wildmatch.c 2003-07-14 15:12:59
-+++ lib/wildmatch.c 2004-06-18 17:27:00
-@@ -76,8 +76,20 @@ static int domatch(const unsigned char *
- ch = *++p;
- /* FALLTHROUGH */
- default:
-- if (*text != ch)
-+ if (*text != ch) {
-+ extern int ignore_case;
+--- old/flist.c
++++ new/flist.c
+@@ -37,6 +37,7 @@ extern int am_sender;
+ extern int do_progress;
+ extern int always_checksum;
+ extern int module_id;
++extern int ignore_case;
+ extern int ignore_errors;
+ extern int numeric_ids;
+ extern int recurse;
+@@ -1801,7 +1802,14 @@ int f_name_cmp(struct file_struct *f1, s
+ return type1 == t_PATH ? 1 : -1;
+
+ while (1) {
+- if ((dif = (int)*c1++ - (int)*c2++) != 0)