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

Re: svn diff --summarize question

From: Dan Ellis <danellis10_at_gmail.com>
Date: Tue, 13 May 2014 10:38:22 -0700

Hi Ben,

I am actually running SVN 1.8.5 on a windows 7 box. I tried removing the
--new/--old to see if that would cause issues, but no avail:

c:\Project_files\sandbox>svn diff --ignore-properties
"c:\project_files\sandbox\AAAA.txt"http://svr/repo/AAAA.txt@3813 --summarize
D C:\project_files\sandbox_v2\AAAA.txt
A C:\project_files\sandbox_v2\AAAA.txt

I may try upgrading to 1.8.8 if you think there have been any changes since
1.8.5 in this area.

Thanks,
Dan

On Tue, May 13, 2014 at 9:42 AM, Ben Reser <ben_at_reser.org> wrote:

> On 5/12/14, 2:36 PM, Dan Ellis wrote:
> > I'm trying to diff the contents between of a local working copy file to
> a file
> > in the repository (I really just need a yes/no answer). This file
> happens to
> > be identical in content, but they do not share the same ancestry
> (unrelated nodes).
> >
> > When I do a diff with no --summarize option, I get what I expect, namely
> no output:
> >
> > c:\Project_files\sandbox>svn diff --ignore-properties
> > --old="c:\project_files\sandbox_v2\AAAA.txt" --new="
> http://svr/repo/foo.txt@3813"
> > c:\Project_files\sandbox>
> >
> > When I add the --summarize argument to the command line, I get the
> following:
> > c:\Project_files\sandbox>svn diff --ignore-properties
> > --old="c:\project_files\sandbox\AAAA.txt" --new="
> http://svr/repo/AAAA.txt@3813"
> > --summarize
> > D C:\project_files\sandbox\AAAA.txt
> > A C:\project_files\sandbox\AAAA.txt
> >
> > From reading http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.diff.html,
> it
> > looks like the behavior I'm seeing is similar to the --notice-ancestry
> flag:
> >
> > "By default, svn diff ignores the ancestry of files and merely compares
> the
> > contents of the two files being compared. If you use --notice-ancestry,
> the
> > ancestry of the paths in question will be taken into consideration when
> > comparing revisions (i.e., if you run svn diff on two files with
> identical
> > contents but different ancestry, you will see the entire contents of the
> file
> > as having been removed and added again)."
> >
> > How can I get the --summarize behavior to only look at file contents? I
> fee
> > like I might be missing something obvious.
>
> I suspect you're using 1.7.x or older. The summarize feature was entirely
> rewritten in 1.8.x and works for the scenario you describe. We know that
> --summarize has issues in 1.7.x and older (and I spent a lot of effort
> trying
> to fix some of the cases).
>
> Example using 1.8.9 (this isn't out yet but it should work in 1.8.8):
>
> $ svnadmin-1.8 create repo8
> $ svn-1.8 co file://$PWD/repo8 wc8
> Checked out revision 0.
> $ cd wc8
> $ echo something > foo
> $ svn-1.8 add foo
> A foo
> $ svn-1.8 ci -mm
> Adding foo
> Transmitting file data .
> Committed revision 1.
> $ svn-1.8 rm foo
> D foo
> $ echo something > foo
> $ svn-1.8 add foo
> A foo
> $ svn-1.8 diff foo
> $ svn-1.8 diff --summarize foo
> $ svn-1.8 diff --summarize --notice-ancestry foo
> D foo
> A foo
>
> One thing you may notice is I don't have to use --new and --old because
> 1.8 can
> do summarize against paths just within the working copy now (I'm guessing
> that
> your --old is your BASE for your wc).
>
> So I suggest that you upgrade to 1.8.x.
>
>
Received on 2014-05-13 22:25:31 CEST

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.