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