On Thu, 2004-07-22 at 06:22, auke.jilderda@philips.com wrote:
> GNU diff bails out with a not so descriptive error message which turns
> out to already have been posted once before on this list [2]. I suspect
> it is simply a matter of not properly passing on long file names under
> Windows -- manually running the diff like 'diff \dev\some file \dev\some
> other file' fails with the same message while running 'diff "\dev\some
> file" "\dev\some other file"' works fine. I consider this to be a bug
> because the file system allows spaces in file names and, with that, SVN
> should be able to cope with them.
>
> Digged shortly in the code and I suspect that inserting quotes on line
> 1670 and 1671 of subversion/libsvn_subr/io.c should help a lot.
> However, since I can't get the thing to build properly on Windows, I
> cannot try it and send a patch.
Hi Auke...
Well, I added quotes around the arguments at those two places in the
code, rebuilt on win32, and guess what? 'svn diff --diff-cmd
c:\path\to\diff.exe' suddenly *stopped* working on files with spaces in
their name. And they were working just fine for me beforehand!
If you look at the code, notice that we're *not* invoking the external
diff process via a shell: the arguments are being directly passed to
the subprocess programmatically. So when I forcibly add quotes around
the args, the diff program is most likely looking for a file with
literal double-quote marks in its name!
So Mike Pilato and I think we're barking up the wrong tree here. Is it
possible that you just happen to be using an external diff.exe which
doesn't understand long filenames? Which diff.exe you using? Where did
you get it from? And maybe we can give you our own diff.exe binaries to
try instead?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jul 22 21:38:42 2004