32 #include <apr_pools.h>    47 #define SVN_SUBST_NATIVE_EOL_STR "\n"   100                                apr_hash_t *keywords,
   168                           const char *keywords_string,
   171                           const char *repos_root_url,
   186                           const char *keywords_string,
   201                          const char *keywords_string,
   277                             apr_hash_t *keywords,
   279                             apr_pool_t *scratch_pool);
   295                             apr_pool_t *scratch_pool);
   362                             apr_hash_t *keywords,
   364                             apr_pool_t *result_pool);
   387                                            svn_subst_eol_style_t eol_style,
   390                                            apr_hash_t *keywords,
   409                            apr_pool_t *result_pool,
   410                            apr_pool_t *scratch_pool);
   432                              apr_pool_t *result_pool,
   433                              apr_pool_t *scratch_pool);
   481                               apr_hash_t *keywords,
   502                               apr_hash_t *keywords,
   563                              apr_hash_t *keywords,
   607                                    svn_subst_eol_style_t eol_style,
   610                                    apr_hash_t *keywords,
   638                               svn_subst_eol_style_t eol_style,
   641                               apr_hash_t *keywords,
   676                             const char *encoding,
   678                             apr_pool_t *result_pool,
   679                             apr_pool_t *scratch_pool);
   689                                         const char *encoding,
 svn_error_t * svn_subst_translate_string(svn_string_t **new_value, const svn_string_t *value, const char *encoding, apr_pool_t *pool)
Similar to svn_subst_translate_string2(), except that the information about whether re-encoding or li...
 
Counted-length strings for Subversion, plus some C string goodies. 
 
svn_stream_t * svn_subst_stream_translated(svn_stream_t *stream, const char *eol_str, svn_boolean_t repair, apr_hash_t *keywords, svn_boolean_t expand, apr_pool_t *result_pool)
Return a stream which performs eol translation and keyword expansion when read from or written to...
 
svn_error_t * svn_subst_translate_to_normal_form(const char *src, const char *dst, svn_subst_eol_style_t eol_style, const char *eol_str, svn_boolean_t always_repair_eols, apr_hash_t *keywords, svn_boolean_t special, apr_pool_t *pool)
Translate the file src in working copy form to a file dst in normal form. 
 
svn_error_t * svn_subst_create_specialfile(svn_stream_t **stream, const char *path, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Set *stream to a writable stream that accepts content in the "normal form" for a special file...
 
svn_error_t * svn_subst_copy_and_translate3(const char *src, const char *dst, const char *eol_str, svn_boolean_t repair, apr_hash_t *keywords, svn_boolean_t expand, svn_boolean_t special, apr_pool_t *pool)
Similar to svn_subst_copy_and_translate4() but without a cancellation function and baton...
 
Translation is set to one of LF, CR, CRLF. 
 
General file I/O for Subversion. 
 
Values used in keyword expansion. 
 
svn_error_t * svn_subst_stream_detranslated(svn_stream_t **stream_p, const char *src, svn_subst_eol_style_t eol_style, const char *eol_str, svn_boolean_t always_repair_eols, apr_hash_t *keywords, svn_boolean_t special, apr_pool_t *pool)
Set *stream_p to a stream that detranslates the file src from working copy form to normal form...
 
svn_error_t * svn_subst_build_keywords(svn_subst_keywords_t *kw, const char *keywords_string, const char *rev, const char *url, apr_time_t date, const char *author, apr_pool_t *pool)
Similar to svn_subst_build_keywords2() except that it populates an existing structure *kw instead of ...
 
svn_boolean_t svn_subst_keywords_differ2(apr_hash_t *a, apr_hash_t *b, svn_boolean_t compare_values, apr_pool_t *pool)
Return TRUE if a and b do not hold the same keywords. 
 
Translation is set to client's native eol. 
 
svn_error_t * svn_subst_translate_stream3(svn_stream_t *src_stream, svn_stream_t *dst_stream, const char *eol_str, svn_boolean_t repair, apr_hash_t *keywords, svn_boolean_t expand, apr_pool_t *scratch_pool)
Copy and translate the data in src_stream into dst_stream. 
 
svn_error_t * svn_subst_read_specialfile(svn_stream_t **stream, const char *path, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Set *stream to a readable stream containing the "normal form" of the special file located at path...
 
svn_error_t * svn_subst_translate_cstring(const char *src, const char **dst, const char *eol_str, svn_boolean_t repair, const svn_subst_keywords_t *keywords, svn_boolean_t expand, apr_pool_t *pool)
Similar to svn_subst_translate_cstring2() except that keywords is a svn_subst_keywords_t struct inste...
 
enum svn_subst_eol_style svn_subst_eol_style_t
Valid states for 'svn:eol-style' property. 
 
svn_error_t * svn_subst_build_keywords2(apr_hash_t **kw, const char *keywords_string, const char *rev, const char *url, apr_time_t date, const char *author, apr_pool_t *pool)
Similar to svn_subst_build_keywords3() except that it does not accept the repos_root_url parameter an...
 
svn_error_t * svn_subst_build_keywords3(apr_hash_t **kw, const char *keywords_string, const char *rev, const char *url, const char *repos_root_url, apr_time_t date, const char *author, apr_pool_t *pool)
Set *kw to a new keywords hash filled with the appropriate contents given a keywords_string (the cont...
 
svn_error_t * svn_subst_copy_and_translate2(const char *src, const char *dst, const char *eol_str, svn_boolean_t repair, const svn_subst_keywords_t *keywords, svn_boolean_t expand, svn_boolean_t special, apr_pool_t *pool)
Similar to svn_subst_copy_and_translate3() except that keywords is a svn_subst_keywords_t struct inst...
 
svn_boolean_t svn_subst_translation_required(svn_subst_eol_style_t style, const char *eol, apr_hash_t *keywords, svn_boolean_t special, svn_boolean_t force_eol_check)
Indicates whether the working copy and normalized versions of a file with the given the parameters di...
 
struct svn_stream_t svn_stream_t
An abstract stream of bytes–either incoming or outgoing or both. 
 
Subversion's data types. 
 
svn_error_t * svn_subst_translate_stream2(svn_stream_t *src_stream, svn_stream_t *dst_stream, const char *eol_str, svn_boolean_t repair, const svn_subst_keywords_t *keywords, svn_boolean_t expand, apr_pool_t *scratch_pool)
Similar to svn_subst_translate_stream3() except relies upon a svn_subst_keywords_t struct instead of ...
 
#define SVN_DEPRECATED
Macro used to mark deprecated functions. 
 
svn_boolean_t svn_subst_keywords_differ(const svn_subst_keywords_t *a, const svn_subst_keywords_t *b, svn_boolean_t compare_values)
Similar to svn_subst_keywords_differ2() except that it compares two svn_subst_keywords_t structs inst...
 
svn_error_t * svn_subst_translate_cstring2(const char *src, const char **dst, const char *eol_str, svn_boolean_t repair, apr_hash_t *keywords, svn_boolean_t expand, apr_pool_t *pool)
Set *dst to a copy of the string src, possibly performing line ending and keyword translations...
 
svn_error_t *(* svn_cancel_func_t)(void *cancel_baton)
A user defined callback that subversion will call with a user defined baton to see if the current ope...
 
svn_error_t * svn_subst_stream_translated_to_normal_form(svn_stream_t **stream, svn_stream_t *source, svn_subst_eol_style_t eol_style, const char *eol_str, svn_boolean_t always_repair_eols, apr_hash_t *keywords, apr_pool_t *pool)
Set *stream to a stream which performs eol translation and keyword expansion when read from or writte...
 
svn_error_t * svn_subst_detranslate_string(svn_string_t **new_value, const svn_string_t *value, svn_boolean_t for_output, apr_pool_t *pool)
Translate the string value from UTF8 and LF line-endings into native character encoding and native li...
 
struct svn_subst_keywords_t svn_subst_keywords_t
Values used in keyword expansion. 
 
int svn_boolean_t
YABT: Yet Another Boolean Type. 
 
svn_error_t * svn_subst_translate_stream(svn_stream_t *src_stream, svn_stream_t *dst_stream, const char *eol_str, svn_boolean_t repair, const svn_subst_keywords_t *keywords, svn_boolean_t expand)
Same as svn_subst_translate_stream2(), but does not take a pool argument, instead creates a temporary...
 
svn_error_t * svn_subst_copy_and_translate(const char *src, const char *dst, const char *eol_str, svn_boolean_t repair, const svn_subst_keywords_t *keywords, svn_boolean_t expand, apr_pool_t *pool)
Similar to svn_subst_copy_and_translate2() except that special is always set to FALSE. 
 
svn_error_t * svn_subst_translate_string2(svn_string_t **new_value, svn_boolean_t *translated_to_utf8, svn_boolean_t *translated_line_endings, const svn_string_t *value, const char *encoding, svn_boolean_t repair, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Translate the string value from character encoding encoding to UTF8, and also from its current line-e...
 
svn_subst_eol_style
Valid states for 'svn:eol-style' property. 
 
svn_error_t * svn_subst_stream_from_specialfile(svn_stream_t **stream, const char *path, apr_pool_t *pool)
Set *stream to a stream which translates the special file at path to the internal representation for ...
 
EOL translation is "off" or ignored value. 
 
void svn_subst_eol_style_from_value(svn_subst_eol_style_t *style, const char **eol, const char *value)
Set *style to the appropriate svn_subst_eol_style_t and *eol to the appropriate cstring for a given s...
 
svn_error_t * svn_subst_copy_and_translate4(const char *src, const char *dst, const char *eol_str, svn_boolean_t repair, apr_hash_t *keywords, svn_boolean_t expand, svn_boolean_t special, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Copy the contents of file-path src to file-path dst atomically, either creating dst or overwriting ds...