subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Ellis <danelli...@gmail.com>
Subject Re: svn diff --summarize question
Date Tue, 13 May 2014 17:38:22 GMT
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@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.
>
>

Mime
View raw message