You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by solo turn <so...@yahoo.com> on 2004/02/26 10:30:03 UTC

visual diff

i was not able to find the description of how to use a visual diff program in subversion any more
(book, svn help diff). i just entered the path into the "config" file.

but:
- how can i use another visual diff program (mine says it does not know -u switch)?
- how can i do a binary compare?
  even if the diff program supports it, subversion says "no, we don't do that"
  before even calling the diff program
- is there a difference between a diff for viewing changes (the user), and a diff
  for sending changes to the server?

-s.

__________________________________
Do you Yahoo!?
Get better spam protection with Yahoo! Mail.
http://antispam.yahoo.com/tools

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

Re: visual diff

Posted by Barry Scott <ba...@barrys-emacs.org>.
If you are scripting its easier to use svn cat to get the data of
interest and diff it. (Looking forward to a fix for #1361 to avoid
hacking into .svn/text_base).

This is especially true in a svn GUI app. I only use svn diff to
make patch files personally.

Barry

At 26-02-2004 16:43, Julian Foad wrote:
>Some notes on book updates needed, and issue tracking:
>
>C. Michael Pilato wrote:
>>solo turn <so...@yahoo.com> writes:
>>
>>>i was not able to find the description of how to use a visual diff
>>>program in subversion any more (book, svn help diff). i just entered
>>>the path into the "config" file.
>>>
>>>but:
>>>- how can i use another visual diff program (mine says it does not
>>>  know -u switch)?
>>You might have to write a script that wraps your visual diff program,
>>ignores a -u parameter, and add any params your diff program needs.
>
>And ignores or handles the two "-L" options that specify the friendly 
>names of the files.
>
>Note that any option string specified with "-x", including an empty 
>string, will replace the "-u" that is passed by default, but there is no 
>way of altering the "-L" options.
>
>We need to describe this in the book, specifying the syntax and giving 
>example scripts for different platforms.  And the "diff3" stuff.  The 
>relevant parts of the book are:
>
>  Chapter 3, footnote 3.
>  svn-ch-7-sect-1.3.2 "Config": diff-cmd, diff3-cmd, diff3-has-program-arg.
>  svn-ch-9-sect-1.1 "svn Switches": --diff-cmd, --diff3-cmd, --extensions.
>  The reference entry for "svn diff".
>
>(I still don't understand the "diff3-has-program-arg" config option.)
>
>We also need to try to make the use of an external "diff" program more 
>user-friendly in the future, somehow.  I think there's an issue open for it.
>
>
>>>- how can i do a binary compare?  even if the diff program supports
>>>  it, subversion says "no, we don't do that" before even calling the
>>>  diff program
>>Hm.  That's a good point.  I suppose you can't.
>
>This deserves a separate issue in the tracker.  I would call it a defect, 
>because I think we have accidentally prevented some intended functionality.
>
>
>>>- is there a difference between a diff for viewing changes (the
>>>  user), and a diff for sending changes to the server?
>>The diffs sent to and from the server are binary diffs -- not
>>contextual, human-readable ones.
>
>And the handling of differences sent to and from the sever (known as 
>"deltas") is completely separate from the generation of diffs by the 
>client program (internally or externally) for the user to see.  The delta 
>format and handling is the same for all files, and cannot be changed by 
>the user.  This is not really explained in the book; there is just a note 
>under "Subversion's Features: Consistent data handling".  A user who 
>configures an external "diff" program might well worry about the impact on 
>commits and updates.
>
>- Julian
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
>For additional commands, e-mail: dev-help@subversion.tigris.org
>



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

Re: visual diff

Posted by Julian Foad <ju...@btopenworld.com>.
Some notes on book updates needed, and issue tracking:

C. Michael Pilato wrote:
> solo turn <so...@yahoo.com> writes:
> 
>>i was not able to find the description of how to use a visual diff
>>program in subversion any more (book, svn help diff). i just entered
>>the path into the "config" file.
>>
>>but:
>>- how can i use another visual diff program (mine says it does not
>>  know -u switch)?
> 
> You might have to write a script that wraps your visual diff program,
> ignores a -u parameter, and add any params your diff program needs.

And ignores or handles the two "-L" options that specify the friendly names of the files.

Note that any option string specified with "-x", including an empty string, will replace the "-u" that is passed by default, but there is no way of altering the "-L" options.

We need to describe this in the book, specifying the syntax and giving example scripts for different platforms.  And the "diff3" stuff.  The relevant parts of the book are:

  Chapter 3, footnote 3.
  svn-ch-7-sect-1.3.2 "Config": diff-cmd, diff3-cmd, diff3-has-program-arg.
  svn-ch-9-sect-1.1 "svn Switches": --diff-cmd, --diff3-cmd, --extensions.
  The reference entry for "svn diff".

(I still don't understand the "diff3-has-program-arg" config option.)

We also need to try to make the use of an external "diff" program more user-friendly in the future, somehow.  I think there's an issue open for it.


>>- how can i do a binary compare?  even if the diff program supports
>>  it, subversion says "no, we don't do that" before even calling the
>>  diff program
> 
> Hm.  That's a good point.  I suppose you can't.

This deserves a separate issue in the tracker.  I would call it a defect, because I think we have accidentally prevented some intended functionality.


>>- is there a difference between a diff for viewing changes (the
>>  user), and a diff for sending changes to the server?
> 
> The diffs sent to and from the server are binary diffs -- not
> contextual, human-readable ones.

And the handling of differences sent to and from the sever (known as "deltas") is completely separate from the generation of diffs by the client program (internally or externally) for the user to see.  The delta format and handling is the same for all files, and cannot be changed by the user.  This is not really explained in the book; there is just a note under "Subversion's Features: Consistent data handling".  A user who configures an external "diff" program might well worry about the impact on commits and updates.

- Julian

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

Re: visual diff

Posted by "C. Michael Pilato" <cm...@collab.net>.
solo turn <so...@yahoo.com> writes:

> i was not able to find the description of how to use a visual diff
> program in subversion any more (book, svn help diff). i just entered
> the path into the "config" file.
> 
> but:
> - how can i use another visual diff program (mine says it does not
>   know -u switch)?

You might have to write a script that wraps your visual diff program,
ignores a -u parameter, and add any params your diff program needs.

> - how can i do a binary compare?  even if the diff program supports
>   it, subversion says "no, we don't do that" before even calling the
>   diff program

Hm.  That's a good point.  I suppose you can't.

> - is there a difference between a diff for viewing changes (the
>   user), and a diff for sending changes to the server?

The diffs sent to and from the server are binary diffs -- not
contextual, human-readable ones.

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