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

Re: svn diff non-temporary files option

From: Branko Čibej <brane_at_apache.org>
Date: Wed, 7 Feb 2018 14:21:56 +0100

On 07.02.2018 13:07, Juraj Priskin wrote:
> Hi,
>
> I'm using vimdiff as my diff tool for svn diff.  The wrapper is simple
> one line command "vimdiff -R $6 $7".  Having open vimdiff, it happens
> often that I would like to fix my local changes, mostly typos, small
> stuff, etc.  It would be thus handy if I can do it in vimdiff, rather
> than open the file separately.
>
> I thought that there should be some svn diff option to do so, but I
> did not find that.  After searching internet, I found few similar
> questions with no answers.  I briefly went through red-bean SVN book,
> chapter 7., that has some details on external diff tool setup, etc.
> but I haven't found solution there also.  I search your bugs also with
> no result.
>
> Likely I can resolve this with some small Bash scripting, like getting
> my base file revision via "svn info", then export that file revision
> from the repository, save it to some temp_base_file and call vimdiff
> directly without "svn diff" like "vimdiff -R temp_base_file file", but
> this seems to me odd.  At least just because I will not see potential
> changes in the file attributes.
>
> So, is there a way how to provide the real local file for the external
> diff tool "right side"?

No; because 'svn diff' hides differences in end-of-line style and
keyword expansions, it has to preprocess the files in the working copy,
and it sends those preprocessed files to the external diff wrapper.

We could theoretically skip that part for files that don't have
svn:eol-style or svn:keywords properties, but then the tool invocation
would be inconsistent.

Your best bet is to use an editor that has Subversion support built in.

-- Brane
Received on 2018-02-07 14:22:02 CET

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

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