I wanted to let people know that I'm making good progress with issue
#1019: "don't run diff on files marked as binary".
If you don't know already, 'svn diff' and 'svn merge' are very close
cousins. They implement different versions of the same vtable: one
implementation spews changes to the screen, the other applies them to
your working copy.
Karl and I came up with a good solution: the driver of the vtable
passes 2 svn:mime-type values into the vtable functions, alongside the
2 files to compare. Then the vtable implementation can decide what to
do: in the case of 'svn diff', a binary svn:mime-type simply isn't
diffed, but a warning comes out instead.
The neat thing about this is that it also potentially paves the way
for future "pluggable" mime-type diff engines. :-)
Anyway, the vtable has two callers: a repos-repos editor, and a
repos-wc editor. It was very easy to make the repos-repos editor pass
svn:mime-type values into the vtable; it's already fetching full text
and props from the server, for both files. It's turning out to be a
lot messier to make the repos-wc editor discover mime-types, though.
But it's definitely doable.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Mar 14 23:44:08 2003