[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 with --ignore-properties or --properties-only

From: Bert Huijben <bert_at_qqmail.nl>
Date: Sat, 14 Feb 2015 16:57:42 +0000

Just thinking.,. I don’t think svn diff --summarize supports --git either.


I’m guessing that svn switch --relocate has the same argument handling problem. (--accept?)


But I don’t think separating the command on diff is as good as it was when we introduced svn relocate.


Bert






Sent from Windows Mail





From: Bert Huijben
Sent: ‎Saturday‎, ‎February‎ ‎14‎, ‎2015 ‎4‎:‎57‎ ‎PM
To: 'Subversion Development', Julian Foad





The api for diff summarize doesn’t support those flags. They are only used by the output generation of the normal diff code.

…. In about the same way as --summarize also changes the output. (But we avoid text transfers on that diff mode)




So ‘svn’ could apply some filtering itself, but the --summarize api can’t really do something useful. (It can’t really be optimized to support those flags, the way we create diffs)










Bert






Sent from Windows Mail





From: Julian Foad
Sent: ‎Saturday‎, ‎February‎ ‎14‎, ‎2015 ‎1‎:‎41‎ ‎PM
To: 'Subversion Development'





Try this in a subversion source WC, using current trunk:

$ svn diff --summarize -r1630000:1640000 subversion/tests/libsvn_fs_fs
MM subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c
A subversion/tests/libsvn_fs_fs/fs-fs-private-test.c
M subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
 M subversion/tests/libsvn_fs_fs

$ svn diff --summarize -r1630000:1640000 subversion/tests/libsvn_fs_fs --properties-only
MM subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c
A subversion/tests/libsvn_fs_fs/fs-fs-private-test.c
M subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
 M subversion/tests/libsvn_fs_fs

$ svn diff --summarize -r1630000:1640000 subversion/tests/libsvn_fs_fs --ignore-properties
MM subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c
A subversion/tests/libsvn_fs_fs/fs-fs-private-test.c
M subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
 M subversion/tests/libsvn_fs_fs

The --properties-only and --ignore-properties options have no effect.

I call this a bug. (I see the same with 1.8.10 and current trunk.)


Desired behaviour:


Either:


  Show the result of stripping out all (prop | non-prop) changes.

or

  Show full information for each path that has any (prop | non-prop) changes.

Details:

  An add or delete or replace is not considered to include a property change, for these purposes, no matter what properties the item had.

So, the expected output from the example above would be:

$ svn diff --summarize -r1630000:1640000 subversion/tests/libsvn_fs_fs --properties-only
MM subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c
 M subversion/tests/libsvn_fs_fs

$ svn diff --summarize -r1630000:1640000 subversion/tests/libsvn_fs_fs --ignore-properties
MM subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c
A subversion/tests/libsvn_fs_fs/fs-fs-private-test.c
M subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c

OR

$ svn diff --summarize -r1630000:1640000 subversion/tests/libsvn_fs_fs --properties-only
 M subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c
 M subversion/tests/libsvn_fs_fs

$ svn diff --summarize -r1630000:1640000 subversion/tests/libsvn_fs_fs --ignore-properties
M subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c
A subversion/tests/libsvn_fs_fs/fs-fs-private-test.c
M subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c

Makes sense?

I haven't yet looked at which of those behaviours fits better with non-summarizing diff, or with anything else, which I'd want to do before deciding which to go for.

- Julian
Received on 2015-02-14 18:01:57 CET

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