Hi,
I know I'm a little bit late, but now I'm implementing the new shelf 
APIs in TSVN so it's now that I have some thoughts and suggestions:
* there are deprecated APIs already, even though they weren't there in 
1.10.0, for example svn_client_shelf_save_new_version - since they're 
all new in 1.10.1, why not just remove the deprecated ones and keep the 
current one?
* when users update to the new version, existing shelves can't be used 
anymore since they're not compatible. Is there a way to convert the old 
shelves to the new format? If not then that means users would lose those 
saved shelves.
* I generate an API doc with Doxygen. But some comments are not properly 
formatted for this: if a comment is after a variable, the comment must 
be formatted properly otherwise the Doxygen docs apply the comment to 
the wrong variable. For example, svn_client_shelf_version_t looks like 
the attached image. To make this work properly, the struct should look 
like this:
typedef struct svn_client_shelf_version_t
  {
    /** Public fields (read-only for public use) */
    svn_client_shelf_t *shelf;
    apr_time_t mtime;  /**< time-stamp of this version */
    /** Private fields */
    const char *files_dir_abspath;  /**< abspath of the storage area */
    int version_number;  /**< version number starting from 1 */
  } svn_client_shelf_version_t;
Note the '<' in the field comments.
that's it for now. But since I'm not finished yet implementing 
everything in TSVN I might have some more comments soon.
Stefan
Received on 2018-09-15 09:15:42 CEST