[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: BUG: TortoiseMerge "Ignore case changes" option is broken

From: <steven.davison_at_juno.com>
Date: 2007-03-18 03:31:28 CET

> On Thu, Mar 01, 2007 at 09:52:13PM -0600, wrote:
> > Yes, I agree that the "Ignore case changes" is pretty useless as
it is.
> > That option should behave as "diff -i" does:
>
> Dave Huang wrote:
>
> FWIW, I tried looking into fixing this myself, and it turns out that
> TortoiseMerge doesn't implement the diff algorithm itself--it relies
on a
> SVN library to do the real work, and SVN doesn't support case-
insensitive
> diffs. TortoiseMerge's "Ignore case changes" is a bit of a kludge to
> simply not highlight case changes in the changes that SVN's diff
returns.

So basically, TortoiseSVN ended up doing a half-baked improvement
over the Tortoise API. Better no improvement than one that really
doesn't do any good. BUT IT'S SO CLOSE! If Tortoise is able to
recognize that a change is only in the case (whether by kludge or
otherwise), and remove the change markers in the margin and highlight
the change differently, then WHY STOP THERE? Is it really that
difficult to make it ignore the change altogether? It's a little
bit like fixing a broken step by putting a cardboard look-
alike in its place, and a sign pointing to it saying "don't step
here".

> I found this thread about adding various enhancements to svn diff:
> http://svn.haxx.se/dev/archive-2006-02/0259.shtml , but it looks like
> it was decided to not add case-insensitivity due to encoding and
locale
> problems-- [snip]

I know this doesn't directly relate to Tortoise client, but I think
worth arguing... While there are a few exceptions, most projects
are goin to use a single encoding and locality for every single file.
For those projects with more than one encoding (usually for language
translations), MOST files will still use a single encoding and
locality. So to provide an archive-wide setting for case-folding
rules would meet just about eveny need for case-insensitive diffs.
For files that don't work with those rules, just don't use the switch!
Making --ignore-case work perfectly for every file individually could
be implemented as a future improvement. That's my take. It's called
the 80/20 rule (or in this case more like 98/2).

An example file for case-folding would be in its native encoding and
look something like:
a A
b B
[snip]
z Z

Any characters on the same line are considered equivalent when using
--ignore-case. Am I oversimplifying??

Steve Davison

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: users-help@tortoisesvn.tigris.org
Received on Sun Mar 18 03:33:50 2007

This is an archived mail posted to the TortoiseSVN Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.