From: Wayne Davison Date: Tue, 24 Feb 2004 19:08:39 +0000 (+0000) Subject: A few more tweaks. X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/commitdiff_plain/b11ed64f2a9adfb8c9a0b6dd7f6192f99bf78185 A few more tweaks. --- diff --git a/ignore-case.diff b/ignore-case.diff index 566aa10..b589add 100644 --- a/ignore-case.diff +++ b/ignore-case.diff @@ -15,18 +15,16 @@ 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. [NOTE: patch -updated for latest CVS source way Wayne Davison, but UNTESTED!] +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 since it was for local use. +incompatible command line option) since it was for local use. -The patch is based on a 2.4.x series rsync, but if it doesn't apply -cleanly to 2.5.x, it's should be simple enough to just apply manually. +NOTE: patch updated for latest CVS source by Wayne Davison, but UNTESTED! -- David @@ -38,7 +36,6 @@ cleanly to 2.5.x, it's should be simple enough to just apply manually. - - - - - - - - - - - - - - - - - - - - - - - - - -Index: options.c --- options.c 22 Feb 2004 08:56:43 -0000 1.139 +++ options.c 23 Feb 2004 19:25:19 -0000 @@ -87,6 +87,7 @@ int opt_ignore_existing = 0; @@ -75,7 +72,6 @@ Index: options.c if (keep_partial) args[ac++] = "--partial"; -Index: util.c --- util.c 17 Feb 2004 23:13:10 -0000 1.132 +++ util.c 23 Feb 2004 19:25:20 -0000 @@ -890,6 +890,19 @@ int u_strcmp(const char *cs1, const char @@ -89,7 +85,7 @@ Index: util.c + uchar c1 = islower(*s1) ? toupper(*s1) : *s1; + uchar c2 = islower(*s2) ? toupper(*s2) : *s2; + if (c1 != c2) -+ return c1 - c2; ++ return (int)c1 - (int)c2; + s1++; s2++; + } + @@ -98,7 +94,6 @@ Index: util.c while (*s1 && *s2 && (*s1 == *s2)) { s1++; s2++; -Index: lib/wildmatch.c --- lib/wildmatch.c 14 Jul 2003 15:12:59 -0000 1.12 +++ lib/wildmatch.c 23 Feb 2004 19:25:20 -0000 @@ -76,8 +76,20 @@ static int domatch(const unsigned char *