subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Sperling <s...@elego.de>
Subject Re: PATCH: keyword expansion 1.8
Date Mon, 11 Feb 2013 11:36:29 GMT
On Mon, Feb 11, 2013 at 09:38:05AM +0000, Philip Martin wrote:
> Stefan Sperling <stsp@elego.de> writes:
> 
> >> Index: subversion/include/private/svn_subst_private.h
> >> ===================================================================
> >> --- subversion/include/private/svn_subst_private.h	(revision 0)
> >> +++ subversion/include/private/svn_subst_private.h	(working copy)
> >> @@ -0,0 +1,68 @@
> 
> >> + * @file svn_subst_private.h
> >> + * @brief Non-public subst utility functions.
> >> + */
> >> +
> >> +
> >> +#ifndef SVN_SUBST_PRIVATE_H
> >> +#define SVN_SUBST_PRIVATE_H
> >> +
> >> +#include "svn_subst.h"    /* for svn_boolean_t, svn_error_t */
> >> +
> >> +#ifdef __cplusplus
> >> +extern "C" {
> >> +#endif /* __cplusplus */
> >> +
> >> +/**
> >> + * Set @a *kw to a new keywords hash filled with the appropriate contents
> >> + * given a @a keywords_string (the contents of the svn:keywords
> >> + * property for the file in question), the revision @a rev, the @a url,
> >> + * the url of the root of the @a repos, the @a date the file was committed
> >> + * on, and the @a author of the last commit.  Any of these can be @c NULL
> >> + * to indicate that the information is not present, or @c 0 for @a date.
> >> + *
> >> + * Hash keys are of type <tt>const char *</tt>.
> >> + * Hash values are of type <tt>svn_string_t *</tt>.
> >> + *
> >> + * All memory is allocated out of @a pool.
> >> + *
> >> + * @since New in 1.6
> 
> 1.6 is wrong.

Indeed. It should say "1.8" instead.

> >> + */
> >> +svn_error_t *
> >> +svn_subst_build_keywords3(apr_hash_t **kw,
> >> +                          const char *keywords_string,
> >> +                          const char *rev,
> >> +                          const char *url,
> >> +                          const char *repos,
> >> +                          apr_time_t date,
> >> +                          const char *author,
> >> +                          apr_pool_t *pool);
> >> +
> 
> Our private API uses a double underscore svn_subst__build_keywords3
> however this is replacing a public API svn_subst_build_keywords2
> declared in include/svn_subst.h.
> 
> Is the intention to deprecate the entire svn_subst_build_keywords public
> API?  Or is svn_subst_build_keywords3 intended to be the new public API?

I believe I can explain this, given the history of this patch.

This was a patch to the FreeBSD port, and I suppose they made the new
APIs they added in that patch private because it wasn't part of the
official public API. So, yes, this API should be public now that the
intention is to add it to the upstream code base.

I don't think Alfred knows about the subtleties of our API versioning
guidelines yet. Nor should he have to -- after all, that's why we're
reviewing the patch and are pointing this out.

Mime
View raw message