Stephen Butler wrote:
> On Aug 16, 2010, at 10:40 , Julian Foad wrote:
> > I would suggest that the output of "svn diff --summarize" should be
> > consistent with the likes of "svn add" (no 'M'), "svn status" (no 'M')
> > and "svn update" (I haven't checked this one).
>
> Fixed in r985735, while I was working on issue #2333 "svn diff URL1
> URL2 != svn diff URL2 URL1".
>
> Strangely, the 'AM' output occurred only via ra_svn and ra_file, not
> via ra_dav. But I guess that's not strange to anyone following this
> thread!
>
> The bug occurs in 1.6, too. We never tested '--summarize' properly.
>
> My fix is a simple hack in libsvn_client/repos_diff_summarize.c, but
> quite similar to some longstanding hacks in libsvn_client/repos_diff.c.
Be positive - you wrote Correct Code, no need to call it a 'hack'! To
confirm it, we should update the docs like this, yes?
Index: subversion/include/svn_client.h
===================================================================
typedef struct svn_client_diff_summarize
{
/** Path relative to the target. If the target is a file, path is
* the empty string. */
const char *path;
/** Change kind */
svn_client_diff_summarize_kind_t summarize_kind;
- /** Properties changed? */
+ /** Properties changed? (False if summarize_kind is 'added' or 'deleted'.) */
svn_boolean_t prop_changed;
/** File or dir */
svn_node_kind_t node_kind;
} svn_client_diff_summarize_t;
Hmm... or maybe instead we should have left the API and the "--xml"
output unchanged and just changed the 'svn' output in
diff-cmd.c:summarize_regular(). What do you think?
- Julian
Received on 2010-08-16 12:12:43 CEST