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 <b...@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. > >