You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jason Rust <jr...@rustyparts.com> on 2003/11/18 19:52:21 UTC

diff-cmd with binary files

I'm trying to use an external diff command (gnu diff) when showing the diff between
two binary files.  The command I run:
svn diff --diff-cmd /usr/bin/diff -r 878:879 logout.gif
Results in this error:
Binary files logout.gif (revision 878) and logout.gif   (revision 879)
differ
svn: Error calling external program
svn: '/usr/bin/diff' returned 2

If I leave out the svn diff-cmd option I get:
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Is this user error or a bug in svn/diff?

Using svn 0.32 and diff 1.8.2

Thanks,
-Jason

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: diff-cmd with binary files

Posted by Ben Collins-Sussman <su...@collab.net>.
On Tue, 2003-11-18 at 14:10, Jason Rust wrote:
> > Are you simply saying that the inconsistency is a bug?
> 
> Consistency would be nice, but the larger problem is that because svn
> dies with "svn: Error calling external program" it prevents me
> from seeing a patchset.  If I am trying to see all the changes for
> revision X and one of the files changed is to a binary file, svn will
> throw the error and show only the diffs for the files up to the binary
> file.

Ah, yes... well, making the --diff-cmd behave the same way as
internal-diff command will fix this very problem.  No early exits.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: diff-cmd with binary files

Posted by Jason Rust <jr...@rustyparts.com>.
> Are you simply saying that the inconsistency is a bug?

Consistency would be nice, but the larger problem is that because svn
dies with "svn: Error calling external program" it prevents me
from seeing a patchset.  If I am trying to see all the changes for
revision X and one of the files changed is to a binary file, svn will
throw the error and show only the diffs for the files up to the binary
file.

-Jason

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: diff-cmd with binary files

Posted by Ben Collins-Sussman <su...@collab.net>.
On Tue, 2003-11-18 at 13:52, Jason Rust wrote:
> I'm trying to use an external diff command (gnu diff) when showing the diff between
> two binary files.  The command I run:
> svn diff --diff-cmd /usr/bin/diff -r 878:879 logout.gif
> Results in this error:
> Binary files logout.gif (revision 878) and logout.gif   (revision 879)
> differ
> svn: Error calling external program
> svn: '/usr/bin/diff' returned 2
> 
> If I leave out the svn diff-cmd option I get:
> Cannot display: file marked as a binary type.
> svn:mime-type = application/octet-stream
> 
> Is this user error or a bug in svn/diff?

Are you simply saying that the inconsistency is a bug?

If so, I agree.   The --diff-cmd variant should behave the same as the
command that uses the internal diff.  It's easy to fix.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org