[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 15:57:37 +0000

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 17:02:25 CET

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