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


Reply via email to