295
312
svn_repos_notify_action_t action;
297
314
/** For #svn_repos_notify_dump_rev_end and #svn_repos_notify_verify_rev_end,
298
* the revision which just completed. */
315
* the revision which just completed.
316
* For #svn_fs_upgrade_format_bumped, the new format version. */
299
317
svn_revnum_t revision;
301
/** For #svn_repos_notify_warning, the warning object. */
319
/** For #svn_repos_notify_warning, the warning message. */
302
320
const char *warning_str;
321
/** For #svn_repos_notify_warning, the warning type. */
303
322
svn_repos_notify_warning_t warning;
305
324
/** For #svn_repos_notify_pack_shard_start,
306
325
#svn_repos_notify_pack_shard_end,
326
#svn_repos_notify_pack_revprops,
327
#svn_repos_notify_cleanup_revprops
307
328
#svn_repos_notify_pack_shard_start_revprop, and
308
329
#svn_repos_notify_pack_shard_end_revprop, the shard processed. */
309
330
apr_int64_t shard;
311
/** For #svn_repos_notify_load_node_done, the revision committed. */
332
/** For #svn_repos_notify_load_txn_committed, the revision committed. */
312
333
svn_revnum_t new_revision;
314
/** For #svn_repos_notify_load_node_done, the source revision, if
335
/** For #svn_repos_notify_load_txn_committed, the source revision, if
315
336
different from @a new_revision, otherwise #SVN_INVALID_REVNUM.
316
For #svn_repos_notify_load_txn_start, the source revision. */
337
For #svn_repos_notify_load_txn_start and
338
#svn_repos_notify_load_skipped_rev, the source revision. */
317
339
svn_revnum_t old_revision;
319
341
/** For #svn_repos_notify_load_node_start, the action being taken on the
516
590
* If you add a capability, update svn_repos_capabilities().
597
* Store in @a repos the client-reported capabilities @a capabilities,
598
* which must be allocated in memory at least as long-lived as @a repos.
600
* The elements of @a capabilities are 'const char *', a subset of
601
* the constants beginning with @c SVN_RA_CAPABILITY_.
602
* @a capabilities is not copied, so changing it later will affect
603
* what is remembered by @a repos.
605
* @note The capabilities are passed along to the start-commit hook;
606
* see that hook's template for details.
608
* @note As of Subversion 1.5, there are no error conditions defined,
609
* so this always returns SVN_NO_ERROR. In future releases it may
610
* return error, however, so callers should check.
615
svn_repos_remember_client_capabilities(svn_repos_t *repos,
616
const apr_array_header_t *capabilities);
520
619
/** Return the filesystem associated with repository object @a repos. */
522
621
svn_repos_fs(svn_repos_t *repos);
623
/** Return the type of filesystem associated with repository object
624
* @a repos allocated in @a result_pool.
626
* @see #svn_fs_backend_names
631
svn_repos_fs_type(svn_repos_t *repos,
632
apr_pool_t *result_pool);
525
634
/** Make a hot copy of the Subversion repository found at @a src_path
526
635
* to @a dst_path.
535
644
* already present in the destination. If incremental hotcopy is not
536
645
* implemented by the filesystem backend, raise SVN_ERR_UNSUPPORTED_FEATURE.
647
* For each revision range copied, the @a notify_func function will be
648
* called with the @a notify_baton and a notification structure containing
649
* appropriate values in @c start_revision and @c end_revision (both
650
* inclusive). @c start_revision might be equal to @c end_revision in
651
* case the copied range consists of a single revision. Currently, this
652
* notification is not triggered by the BDB backend. @a notify_func
653
* may be @c NULL if this notification is not required.
655
* The optional @a cancel_func callback will be invoked with
656
* @a cancel_baton as usual to allow the user to preempt this potentially
659
* Use @a scratch_pool for temporary allocations.
664
svn_repos_hotcopy3(const char *src_path,
665
const char *dst_path,
666
svn_boolean_t clean_logs,
667
svn_boolean_t incremental,
668
svn_repos_notify_func_t notify_func,
670
svn_cancel_func_t cancel_func,
672
apr_pool_t *scratch_pool);
675
* Like svn_repos_hotcopy3(), but with @a notify_func and @a notify_baton
676
* always passed as @c NULL.
538
678
* @since New in 1.8.
679
* @deprecated Provided for backward compatibility with the 1.8 API.
541
683
svn_repos_hotcopy2(const char *src_path,
542
684
const char *dst_path,
1380
1526
* If @a commit_callback is non-NULL, then before @c close_edit returns (but
1381
1527
* after the commit has succeeded) @c close_edit will invoke
1382
1528
* @a commit_callback with a filled-in #svn_commit_info_t *, @a commit_baton,
1383
* and @a pool or some subpool thereof as arguments. If @a commit_callback
1529
* and @a pool or some subpool thereof as arguments. The @c repos_root field
1530
* of the #svn_commit_info_t is @c NULL. If @a commit_callback
1384
1531
* returns an error, that error will be returned from @c close_edit,
1385
1532
* otherwise if there was a post-commit hook failure, then that error
1386
1533
* will be returned with code SVN_ERR_REPOS_POST_COMMIT_HOOK_FAILED.
1387
* (Note that prior to Subversion 1.6, @a commit_callback cannot be NULL; if
1388
* you don't need a callback, pass a dummy function.)
1534
* (Note that prior to Subversion 1.6, @a commit_callback cannot be @c NULL;
1535
* if you don't need a callback, pass a dummy function.)
1390
1537
* Calling @a (*editor)->abort_edit aborts the commit, and will also
1391
1538
* abort the commit transaction unless @a txn was supplied (not @c
1392
1539
* NULL). Callers who supply their own transactions are responsible
1393
1540
* for cleaning them up (either by committing them, or aborting them).
1395
* @since New in 1.5.
1542
* @since New in 1.5. Since 1.6, @a commit_callback can be @c NULL.
1397
* @note Yes, @a repos_url is a <em>decoded</em> URL. We realize
1544
* @note Yes, @a repos_url_decoded is a <em>decoded</em> URL. We realize
1398
1545
* that's sorta wonky. Sorry about that.
1547
* @note Like most commit editors, the returned editor requires that the
1548
* @c copyfrom_path parameter passed to its @c add_file and @c add_directory
1549
* methods is a full, URI-encoded URL, not a relative path.
1401
1552
svn_repos_get_commit_editor5(const svn_delta_editor_t **editor,
1402
1553
void **edit_baton,
1403
1554
svn_repos_t *repos,
1404
1555
svn_fs_txn_t *txn,
1405
const char *repos_url,
1556
const char *repos_url_decoded,
1406
1557
const char *base_path,
1407
1558
apr_hash_t *revprop_table,
1408
1559
svn_commit_callback2_t commit_callback,
2090
/** Like svn_fs_lock(), but invoke the @a repos's pre- and
2091
* post-lock hooks before and after the locking action. Use @a pool
2092
* for any necessary allocations.
2094
* If the pre-lock hook or svn_fs_lock() fails, throw the original
2095
* error to caller. If an error occurs when running the post-lock
2096
* hook, return the original error wrapped with
2097
* SVN_ERR_REPOS_POST_LOCK_HOOK_FAILED. If the caller sees this
2098
* error, it knows that the lock succeeded anyway.
2254
/** Like svn_fs_lock_many(), but invoke the @a repos's pre- and
2255
* post-lock hooks before and after the locking action.
2257
* The pre-lock is run for every path in @a targets. Those targets for
2258
* which the pre-lock is successful are passed to svn_fs_lock_many and
2259
* the post-lock is run for those that are successfully locked.
2260
* Pre-lock hook errors are passed to @a lock_callback.
2262
* For each path in @a targets @a lock_callback will be invoked
2263
* passing @a lock_baton and the lock and error that apply to path.
2264
* @a lock_callback can be NULL in which case it is not called and any
2265
* errors that would have been passed to the callback are not reported.
2267
* If an error occurs when running the post-lock hook the error is
2268
* returned wrapped with #SVN_ERR_REPOS_POST_LOCK_HOOK_FAILED. If the
2269
* caller sees this error, it knows that some locks succeeded.
2100
2271
* The pre-lock hook may cause a different token to be used for the
2101
* lock, instead of @a token; see the pre-lock-hook documentation for
2272
* lock, instead of the token supplied; see the pre-lock-hook
2273
* documentation for more.
2275
* The lock and path passed to @a lock_callback will be allocated in
2276
* @a result_pool. Use @a scratch_pool for temporary allocations.
2278
* @note This function is not atomic. If it returns an error, some targets
2279
* may remain unlocked while others may have been locked.
2281
* @see svn_fs_lock_many
2283
* @since New in 1.9.
2286
svn_repos_fs_lock_many(svn_repos_t *repos,
2287
apr_hash_t *lock_targets,
2288
const char *comment,
2289
svn_boolean_t is_dav_comment,
2290
apr_time_t expiration_date,
2291
svn_boolean_t steal_lock,
2292
svn_fs_lock_callback_t lock_callback,
2294
apr_pool_t *result_pool,
2295
apr_pool_t *scratch_pool);
2297
/** Similar to svn_repos_fs_lock_many() but locks only a single path.
2104
2299
* @since New in 1.2.
2116
2311
apr_pool_t *pool);
2119
/** Like svn_fs_unlock(), but invoke the @a repos's pre- and
2120
* post-unlock hooks before and after the unlocking action. Use @a
2121
* pool for any necessary allocations.
2123
* If the pre-unlock hook or svn_fs_unlock() fails, throw the original
2124
* error to caller. If an error occurs when running the post-unlock
2125
* hook, return the original error wrapped with
2126
* SVN_ERR_REPOS_POST_UNLOCK_HOOK_FAILED. If the caller sees this
2127
* error, it knows that the unlock succeeded anyway.
2314
/** Like svn_fs_unlock_many(), but invoke the @a repos's pre- and
2315
* post-unlock hooks before and after the unlocking action.
2317
* The pre-unlock hook is run for every path in @a targets. Those
2318
* targets for which the pre-unlock is successful are passed to
2319
* svn_fs_unlock_many and the post-unlock is run for those that are
2320
* successfully unlocked. Pre-unlock hook errors are passed to @a
2323
* For each path in @a targets @a lock_callback will be invoked
2324
* passing @a lock_baton and error that apply to path. The lock
2325
* passed to the callback will be NULL. @a lock_callback can be NULL
2326
* in which case it is not called and any errors that would have been
2327
* passed to the callback are not reported.
2329
* If an error occurs when running the post-unlock hook, return the
2330
* original error wrapped with #SVN_ERR_REPOS_POST_UNLOCK_HOOK_FAILED.
2331
* If the caller sees this error, it knows that some unlocks
2334
* The path passed to @a lock_callback will be allocated in @a result_pool.
2335
* Use @a scratch_pool for temporary allocations.
2337
* @note This function is not atomic. If it returns an error, some targets
2338
* may remain locked while others may have been unlocked.
2340
* @see svn_fs_unlock_many
2342
* @since New in 1.9.
2345
svn_repos_fs_unlock_many(svn_repos_t *repos,
2346
apr_hash_t *unlock_targets,
2347
svn_boolean_t break_lock,
2348
svn_fs_lock_callback_t lock_callback,
2350
apr_pool_t *result_pool,
2351
apr_pool_t *scratch_pool);
2353
/** Similar to svn_repos_fs_unlock_many() but only unlocks a single path.
2129
2355
* @since New in 1.2.
2359
2572
const svn_string_t *value,
2360
2573
apr_pool_t *pool);
2576
* Set @a *inherited_values to a depth-first ordered array of
2577
* #svn_prop_inherited_item_t * structures (the path_or_url members of
2578
* which are relative filesystem paths) representing the properties
2579
* inherited by @a path in @a root. If no properties are inherited,
2580
* then set @a *inherited_values to an empty array.
2582
* if @a propname is NULL then retrieve all explicit and/or inherited
2583
* properties. Otherwise retrieve only the properties named @a propname.
2585
* If optional @a authz_read_func is non-NULL, then use this function
2586
* (along with optional @a authz_read_baton) to check the readability
2587
* of each parent path from which properties are inherited. Silently omit
2588
* properties for unreadable parent paths.
2590
* Allocate @a *inherited_props in @a result_pool. Use @a scratch_pool for
2591
* temporary allocations.
2593
* @since New in 1.8.
2596
svn_repos_fs_get_inherited_props(apr_array_header_t **inherited_props,
2597
svn_fs_root_t *root,
2599
const char *propname,
2600
svn_repos_authz_func_t authz_read_func,
2601
void *authz_read_baton,
2602
apr_pool_t *result_pool,
2603
apr_pool_t *scratch_pool);
2362
2605
/** Validating wrapper for svn_fs_change_txn_prop() (which see for
2363
2606
* argument descriptions). See svn_repos_fs_change_txn_props() for more
2539
2806
#define SVN_REPOS_DUMPFILE_TEXT_DELTA_BASE_CHECKSUM \
2540
2807
SVN_REPOS_DUMPFILE_TEXT_DELTA_BASE_MD5
2809
/** The different policies for processing the UUID in the dumpfile. */
2810
enum svn_repos_load_uuid
2812
/** only update uuid if the repos has no revisions. */
2813
svn_repos_load_uuid_default,
2814
/** never update uuid. */
2815
svn_repos_load_uuid_ignore,
2816
/** always update uuid. */
2817
svn_repos_load_uuid_force
2820
/** Callback type for use with svn_repos_verify_fs3(). @a revision
2821
* and @a verify_err are the details of a single verification failure
2822
* that occurred during the svn_repos_verify_fs3() call. @a baton is
2823
* the same baton given to svn_repos_verify_fs3(). @a scratch_pool is
2824
* provided for the convenience of the implementor, who should not
2825
* expect it to live longer than a single callback call.
2827
* @a verify_err will be cleared and becomes invalid after the callback
2828
* returns, use svn_error_dup() to preserve the error. If a callback uses
2829
* @a verify_err as the return value or as a part of the return value, it
2830
* should also call svn_error_dup() for @a verify_err. Implementors of this
2831
* callback are forbidden to call svn_error_clear() for @a verify_err.
2833
* @see svn_repos_verify_fs3
2835
* @since New in 1.9.
2837
typedef svn_error_t *(*svn_repos_verify_callback_t)(void *baton,
2838
svn_revnum_t revision,
2839
svn_error_t *verify_err,
2840
apr_pool_t *scratch_pool);
2543
2843
* Verify the contents of the file system in @a repos.
2545
* If @a feedback_stream is not @c NULL, write feedback to it (lines of
2546
* the form "* Verified revision %ld\n").
2548
* If @a start_rev is #SVN_INVALID_REVNUM, then start verifying at
2549
* revision 0. If @a end_rev is #SVN_INVALID_REVNUM, then verify
2550
* through the @c HEAD revision.
2552
* For every verified revision call @a notify_func with @a rev set to
2553
* the verified revision and @a warning_text @c NULL. For warnings call @a
2554
* notify_func with @a warning_text set.
2845
* Verify the revisions from @a start_rev to @a end_rev inclusive. If
2846
* @a start_rev is #SVN_INVALID_REVNUM, start at revision 0; if @a end_rev
2847
* is #SVN_INVALID_REVNUM, end at the head revision. @a start_rev must be
2848
* older than or equal to @a end_rev. If revision 0 is included in the
2849
* range, then also verify "global invariants" of the repository, as
2850
* described in svn_fs_verify().
2852
* If @a check_normalization is @c TRUE, report any name collisions
2853
* within the same directory or svn:mergeinfo property where the names
2854
* differ only in character representation, but are otherwise
2857
* If @a metadata_only is @c TRUE, backends that have a concept of separate
2858
* metadata verification will only perform that and skip the more expensive
2859
* file context reconstruction and verification. For FSFS format 7+ and
2860
* FSX, this allows for a very fast check against external corruption.
2862
* If @a verify_callback is not @c NULL, call it with @a verify_baton upon
2863
* receiving an FS-specific structure failure or a revision verification
2864
* failure. Set @c revision callback argument to #SVN_INVALID_REVNUM or
2865
* to the revision number respectively. Set @c verify_err to svn_error_t
2866
* describing the reason of the failure. @c verify_err will be cleared
2867
* after the callback returns, use svn_error_dup() to preserve the error.
2868
* If @a verify_callback returns an error different from #SVN_NO_ERROR,
2869
* stop verifying the repository and immediately return the error from
2870
* @a verify_callback.
2872
* If @a verify_callback is @c NULL, this function returns the first
2873
* encountered verification error or #SVN_NO_ERROR if there were no failures
2874
* during the verification. Errors that prevent the verification process
2875
* from continuing, such as #SVN_ERR_CANCELLED, are returned immediately
2876
* and do not trigger an invocation of @a verify_callback.
2878
* If @a notify_func is not null, then call it with @a notify_baton and
2879
* with a notification structure in which the fields are set as follows.
2880
* (For a warning that does not apply to a specific revision, the revision
2881
* number is #SVN_INVALID_REVNUM.)
2883
* For each FS-specific structure warning:
2884
* @c action = svn_repos_notify_verify_rev_structure
2885
* @c revision = the revision or #SVN_INVALID_REVNUM
2887
* For each revision verification warning:
2888
* @c action = #svn_repos_notify_warning
2889
* @c warning and @c warning_str fields set accordingly
2890
* ### TODO: Set @c revision = the revision?
2892
* For each successfully verified revision:
2893
* @c action = #svn_repos_notify_verify_rev_end
2894
* @c revision = the revision
2897
* @c action = svn_repos_notify_verify_end
2898
* ### Do we really need a callback to tell us the function we
2899
* called has reached its end and is about to return?
2900
* ### Not sent, currently, if a FS structure error is found.
2556
2902
* If @a cancel_func is not @c NULL, call it periodically with @a
2557
2903
* cancel_baton as argument to see if the caller wishes to cancel the
2558
2904
* verification.
2906
* Use @a scratch_pool for temporary allocation.
2908
* @see svn_repos_verify_callback_t
2910
* @since New in 1.9.
2913
svn_repos_verify_fs3(svn_repos_t *repos,
2914
svn_revnum_t start_rev,
2915
svn_revnum_t end_rev,
2916
svn_boolean_t check_normalization,
2917
svn_boolean_t metadata_only,
2918
svn_repos_notify_func_t notify_func,
2920
svn_repos_verify_callback_t verify_callback,
2922
svn_cancel_func_t cancel,
2924
apr_pool_t *scratch_pool);
2927
* Like svn_repos_verify_fs3(), but with @a verify_callback and
2928
* @a verify_baton set to @c NULL and with @a check_normalization
2929
* and @a metadata_only set to @c FALSE.
2560
2931
* @since New in 1.7.
2932
* @deprecated Provided for backward compatibility with the 1.8 API.
2563
2936
svn_repos_verify_fs2(svn_repos_t *repos,
2564
2937
svn_revnum_t start_rev,
2590
2966
* Dump the contents of the filesystem within already-open @a repos into
2591
* writable @a dumpstream. Begin at revision @a start_rev, and dump every
2592
* revision up through @a end_rev. Use @a pool for all allocation. If
2593
* non-@c NULL, send feedback to @a feedback_stream. If @a dumpstream is
2967
* writable @a dumpstream. If @a dumpstream is
2594
2968
* @c NULL, this is effectively a primitive verify. It is not complete,
2595
* however; svn_repos_verify_fs2() and svn_fs_verify().
2969
* however; see instead svn_repos_verify_fs3().
2597
* If @a start_rev is #SVN_INVALID_REVNUM, then start dumping at revision
2598
* 0. If @a end_rev is #SVN_INVALID_REVNUM, then dump through the @c HEAD
2971
* Begin at revision @a start_rev, and dump every revision up through
2972
* @a end_rev. If @a start_rev is #SVN_INVALID_REVNUM, start at revision
2973
* 0. If @a end_rev is #SVN_INVALID_REVNUM, end at the head revision.
2601
2975
* If @a incremental is @c TRUE, the first revision dumped will be a diff
2602
2976
* against the previous revision (usually it looks like a full dump of
2609
2983
* be done with full plain text. A dump with @a use_deltas set cannot
2610
2984
* be loaded by Subversion 1.0.x.
2612
* If @a notify_func is not @c NULL, then for every dumped revision call
2613
* @a notify_func with @a rev set to the dumped revision and @a warning_text
2614
* @c NULL. For warnings call @a notify_func with @a warning_text.
2986
* If @a notify_func is not null, then call it with @a notify_baton and
2987
* with a notification structure in which the fields are set as follows.
2988
* (For a warning or error notification that does not apply to a specific
2989
* revision, the revision number is #SVN_INVALID_REVNUM.)
2992
* @c action = #svn_repos_notify_warning
2993
* @c warning and @c warning_str fields set accordingly
2994
* ### TODO: Set @c revision = the revision or #SVN_INVALID_REVNUM?
2996
* For each successfully dumped revision:
2997
* @c action = #svn_repos_notify_dump_rev_end
2998
* @c revision = the revision
3001
* @c action = svn_repos_notify_verify_end
3002
* ### Do we really need a callback to tell us the function we
3003
* called has reached its end and is about to return?
3005
* At the end, if there were certain warnings previously:
3006
* @c action = #svn_repos_notify_warning
3007
* @c warning and @c warning_str fields set accordingly,
3008
* reiterating the existence of previous warnings
3009
* ### This is a presentation issue. Caller could do this itself.
2616
3011
* If @a cancel_func is not @c NULL, it is called periodically with
2617
3012
* @a cancel_baton as argument to see if the client wishes to cancel
3015
* Use @a scratch_pool for temporary allocation.
2620
3017
* @since New in 1.7.
2716
3118
* @a cancel_baton as argument to see if the client wishes to cancel
3121
* @since New in 1.9.
3124
svn_repos_load_fs5(svn_repos_t *repos,
3125
svn_stream_t *dumpstream,
3126
svn_revnum_t start_rev,
3127
svn_revnum_t end_rev,
3128
enum svn_repos_load_uuid uuid_action,
3129
const char *parent_dir,
3130
svn_boolean_t use_pre_commit_hook,
3131
svn_boolean_t use_post_commit_hook,
3132
svn_boolean_t validate_props,
3133
svn_boolean_t ignore_dates,
3134
svn_repos_notify_func_t notify_func,
3136
svn_cancel_func_t cancel_func,
3140
/** Similar to svn_repos_load_fs5(), but with @a ignore_dates
3141
* always passed as FALSE.
2719
3143
* @since New in 1.8.
3144
* @deprecated Provided for backward compatibility with the 1.8 API.
2722
3148
svn_repos_load_fs4(svn_repos_t *repos,
2723
3149
svn_stream_t *dumpstream,
2946
3380
* to operate on the fs.
2948
3382
* @a start_rev and @a end_rev act as filters, the lower and upper
2949
* (inclusive) range values of revisions in @a dumpstream which will
3383
* (inclusive) range values of revisions which will
2950
3384
* be loaded. Either both of these values are #SVN_INVALID_REVNUM (in
2951
3385
* which case no revision-based filtering occurs at all), or both are
2952
3386
* valid revisions (where @a start_rev is older than or equivalent to
2955
* If @a use_history is set, then the parser will require relative
2956
* 'copyfrom' history to exist in the repository when it encounters
2957
* nodes that are added-with-history.
3387
* @a end_rev). They refer to dump stream revision numbers rather than
3388
* committed revision numbers.
3390
* If @a use_history is true, then when the parser encounters a node that
3391
* is added-with-history, it will require 'copy-from' history to exist in
3392
* the repository at the relative (adjusted) copy-from revision and path.
3393
* It will perform a copy from that source location, and will fail if no
3394
* suitable source exists there. If @a use_history is false, then it will
3395
* instead convert every copy to a plain add.
3397
* ### The 'use_history=FALSE' case is unused and untested in Subversion.
3398
* It seems to me it would not work with a deltas dumpfile (a driver
3399
* that calls the @c apply_textdelta method), as it would not have
3400
* access to the delta base text.
3402
* If @a use_pre_commit_hook is set, call the repository's pre-commit
3403
* hook before committing each loaded revision.
3405
* If @a use_post_commit_hook is set, call the repository's
3406
* post-commit hook after committing each loaded revision.
2959
3408
* If @a validate_props is set, then validate Subversion revision and
2960
3409
* node properties (those in the svn: namespace) against established
2961
3410
* rules for those things.
3412
* If @a ignore_dates is set, ignore any revision datestamps found in
3413
* @a dumpstream, allowing the revisions created by the load process
3414
* to be stamped as if they were newly created via the normal commit
2963
3417
* If @a parent_dir is not NULL, then the parser will reparent all the
2964
3418
* loaded nodes, from root to @a parent_dir. The directory @a parent_dir
2965
3419
* must be an existing directory in the repository.
3421
* @since New in 1.9.
3424
svn_repos_get_fs_build_parser5(const svn_repos_parse_fns3_t **callbacks,
3427
svn_revnum_t start_rev,
3428
svn_revnum_t end_rev,
3429
svn_boolean_t use_history,
3430
svn_boolean_t validate_props,
3431
enum svn_repos_load_uuid uuid_action,
3432
const char *parent_dir,
3433
svn_boolean_t use_pre_commit_hook,
3434
svn_boolean_t use_post_commit_hook,
3435
svn_boolean_t ignore_dates,
3436
svn_repos_notify_func_t notify_func,
3441
* Similar to svn_repos_get_fs_build_parser5(), but with the
3442
* @c use_pre_commit_hook, @c use_post_commit_hook and @c ignore_dates
3443
* arguments all false.
2967
3445
* @since New in 1.8.
3446
* @deprecated Provided for backward compatibility with the 1.8 API.
2970
3450
svn_repos_get_fs_build_parser4(const svn_repos_parse_fns3_t **parser,
2971
3451
void **parse_baton,
3342
3823
void *authz_read_baton,
3343
3824
apr_pool_t *pool);
3346
* Set @a *inherited_values to a depth-first ordered array of
3347
* #svn_prop_inherited_item_t * structures (the path_or_url members of
3348
* which are relative filesystem paths) representing the properties
3349
* inherited by @a path in @a root. If no properties are inherited,
3350
* then set @a *inherited_values to an empty array.
3352
* if @a propname is NULL then retrieve all explicit and/or inherited
3353
* properties. Otherwise retrieve only the properties named @a propname.
3355
* If optional @a authz_read_func is non-NULL, then use this function
3356
* (along with optional @a authz_read_baton) to check the readability
3357
* of each parent path from which properties are inherited. Silently omit
3358
* properties for unreadable parent paths.
3360
* Allocate @a *inherited_props in @a result_pool. Use @a scratch_pool for
3361
* temporary allocations.
3363
* @since New in 1.8.
3366
svn_repos_fs_get_inherited_props(apr_array_header_t **inherited_props,
3367
svn_fs_root_t *root,
3369
const char *propname,
3370
svn_repos_authz_func_t authz_read_func,
3371
void *authz_read_baton,
3372
apr_pool_t *result_pool,
3373
apr_pool_t *scratch_pool);
3376
/** Capabilities **/
3379
* Store in @a repos the client-reported capabilities @a capabilities,
3380
* which must be allocated in memory at least as long-lived as @a repos.
3382
* The elements of @a capabilities are 'const char *', a subset of
3383
* the constants beginning with @c SVN_RA_CAPABILITY_.
3384
* @a capabilities is not copied, so changing it later will affect
3385
* what is remembered by @a repos.
3387
* @note The capabilities are passed along to the start-commit hook;
3388
* see that hook's template for details.
3390
* @note As of Subversion 1.5, there are no error conditions defined,
3391
* so this always returns SVN_NO_ERROR. In future releases it may
3392
* return error, however, so callers should check.
3394
* @since New in 1.5.
3397
svn_repos_remember_client_capabilities(svn_repos_t *repos,
3398
const apr_array_header_t *capabilities);
3401
3827
#ifdef __cplusplus