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

svn diff --summarize with --ignore-properties or --properties-only

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Sat, 14 Feb 2015 12:41:13 +0000

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 13:44:13 CET

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