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

Confusing svn_log_entry_t docstrings.

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Fri, 13 Aug 2010 12:40:12 -0400

Can someone help me make sense of some of our public docstrings? I'm
looking at the svn_log_entry_t structure, and I see the following:

typedef struct svn_log_entry_t
{
  /** A hash containing as keys every path committed in @a revision; the
   * values are (#svn_log_changed_path_t *) stuctures.
   *
   * The subversion core libraries will always set this field to the same
   * value as changed_paths2 for compatibity reasons.
   *
   * @deprecated Provided for backward compatibility with the 1.5 API.
   */
  apr_hash_t *changed_paths;

[...]

  /** A hash containing as keys every path committed in @a revision; the
   * values are (#svn_log_changed_path2_t *) stuctures.
   *
   * If this value is not @c NULL, it MUST have the same value as
   * changed_paths or svn_log_entry_dup() will not create an identical copy.
   *
   * The subversion core libraries will always set this field to the same
   * value as changed_paths for compatibity with users assuming an older
   * version.
   *
   * @since New in 1.6.
   */
  apr_hash_t *changed_paths2;

'changed_paths2' says that it is a "hash containing as keys every path
committed in @a revision; the values are (#svn_log_changed_path2_t *)
stuctures" and that "If this value is not @c NULL, it MUST have the same
value as changed_paths."

But 'changed_paths' says that it is a "hash containing as keys every path
committed in @a revision; the values are (#svn_log_changed_path_t *) stuctures."

How in the world can 'changed_paths2' and 'changed_paths' have the same
value while managing to point to hashes with two different value types?
What am I missing?

-- 
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on 2010-08-13 18:40:51 CEST

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