You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2010/12/02 21:55:18 UTC
svn commit: r1041580 [3/35] - in
/subversion/branches/gpg-agent-password-store: ./ build/ build/ac-macros/
build/generator/ build/generator/templates/ build/win32/
contrib/hook-scripts/ contrib/server-side/ notes/http-and-webdav/
notes/wc-ng/ subversio...
Modified: subversion/branches/gpg-agent-password-store/subversion/bindings/swig/perl/native/Makefile.PL.in
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/bindings/swig/perl/native/Makefile.PL.in?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/bindings/swig/perl/native/Makefile.PL.in (original)
+++ subversion/branches/gpg-agent-password-store/subversion/bindings/swig/perl/native/Makefile.PL.in Thu Dec 2 20:55:08 2010
@@ -37,15 +37,11 @@ my $swig_srcdir = "${svnlib_srcdir}/bind
my $swig_builddir = "${svnlib_builddir}/bindings/swig";
my @modules = qw/client delta fs ra repos wc/;
-my @ldpaths = ("$swig_builddir/perl/libsvn_swig_perl/.libs",
- map {"$svnlib_builddir/libsvn_$_/.libs"} (@modules, qw/diff subr
- ra_local
- ra_svn
- ra_neon
- ra_serf
- fs_base
- fs_util
- fs_fs/));
+my @ldpaths = (abs_path($swig_builddir) . "/perl/libsvn_swig_perl/.libs",
+ map { abs_path($svnlib_builddir) . "/libsvn_$_/.libs" }
+ @modules, qw/diff subr ra_local ra_svn ra_neon
+ ra_serf fs_base fs_util fs_fs/);
+
my @ldmodules = map {"-lsvn_$_-1"} (@modules, qw/diff subr/);
my $apr_shlib_path_var = '@SVN_APR_SHLIB_PATH_VAR@';
@@ -72,7 +68,7 @@ my %config = (
" -I$swig_srcdir -g"),
OBJECT => q/$(O_FILES)/,
LIBS => [join(' ', $apr_ldflags,
- (map {$_ = abs_path($_); "-L$_"} @ldpaths),
+ (map {"-L$_"} @ldpaths),
@ldmodules, '-lsvn_swig_perl-1',
`$swig -perl -ldflags`)],
test => { TESTS => "$swig_srcdir/perl/native/t/*.t" }
@@ -108,13 +104,12 @@ for (@modules) {
# the dependencies need to be fixed
sub MY::postamble {
- package MY ;
-
- my $module_c_files = join (' ',map { "svn_$_.c"} @modules);
- my $module_make_commands = join ('',map {"\t\$(MAKE) -f Makefile.$_\n"} @modules);
+ my $module_c_files = join (' ',map { "svn_$_.c"} @modules);
+ my $module_make_commands = join ('',map {"\t\$(MAKE) -f Makefile.$_\n"} @modules);
+
+ my $fullperlrun = "$apr_shlib_path_var=" .
+ join(':', "\$($apr_shlib_path_var)", @ldpaths);
- my $fullperlrun = "$apr_shlib_path_var=\${$apr_shlib_path_var}:" . join(':',@ldpaths);
-
return <<"EOPOST";
all :: modules
test :: modules
Modified: subversion/branches/gpg-agent-password-store/subversion/bindings/swig/perl/native/t/3client.t
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/bindings/swig/perl/native/t/3client.t?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/bindings/swig/perl/native/t/3client.t (original)
+++ subversion/branches/gpg-agent-password-store/subversion/bindings/swig/perl/native/t/3client.t Thu Dec 2 20:55:08 2010
@@ -20,7 +20,7 @@
#
#
-use Test::More tests => 118;
+use Test::More tests => 119;
use strict;
# shut up about variables that are only used once.
@@ -464,6 +464,19 @@ SKIP: {
'Successfully set auth_baton back to old value');
}
+# Keep track of the ok-ness ourselves, since we need to know the exact
+# number of tests at the start of this file. The 'subtest' feature of
+# Test::More would be perfect for this, but it's only available in very
+# recent perl versions, it seems.
+my $ok = 1;
+# Get a list of platform specific providers, using the default
+# configuration and pool.
+my @providers = @{SVN::Core::auth_get_platform_specific_client_providers(undef, undef)};
+foreach my $p (@providers) {
+ $ok &= defined($p) && $p->isa('_p_svn_auth_provider_object_t');
+}
+ok($ok, 'svn_auth_get_platform_specific_client_providers returns _p_svn_auth_provider_object_t\'s');
+
END {
diag('cleanup');
rmtree($testpath);
Modified: subversion/branches/gpg-agent-password-store/subversion/bindings/swig/ruby/svn/fs.rb
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/bindings/swig/ruby/svn/fs.rb?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/bindings/swig/ruby/svn/fs.rb (original)
+++ subversion/branches/gpg-agent-password-store/subversion/bindings/swig/ruby/svn/fs.rb Thu Dec 2 20:55:08 2010
@@ -602,8 +602,13 @@ module Svn
@tempfile1 = Tempfile.new("svn_fs")
@tempfile2 = Tempfile.new("svn_fs")
- dump_contents(@tempfile1, @root1, @path1)
- dump_contents(@tempfile2, @root2, @path2)
+ begin
+ dump_contents(@tempfile1, @root1, @path1)
+ dump_contents(@tempfile2, @root2, @path2)
+ ensure
+ @tempfile1.close
+ @tempfile2.close
+ end
[@tempfile1, @tempfile2]
end
@@ -623,15 +628,10 @@ module Svn
end
private
- def dump_contents(tempfile, root, path)
+ def dump_contents(open_tempfile, root, path)
if root and path
- begin
- tempfile.open
- root.file_contents(path) do |stream|
- tempfile.print(stream.read)
- end
- ensure
- tempfile.close
+ root.file_contents(path) do |stream|
+ open_tempfile.print(stream.read)
end
end
end
Modified: subversion/branches/gpg-agent-password-store/subversion/bindings/swig/ruby/test/util.rb
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/bindings/swig/ruby/test/util.rb?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/bindings/swig/ruby/test/util.rb (original)
+++ subversion/branches/gpg-agent-password-store/subversion/bindings/swig/ruby/test/util.rb Thu Dec 2 20:55:08 2010
@@ -260,6 +260,9 @@ realm = #{@realm}
@svnserve_port = port
@repos_svnserve_uri =
"svn://#{@svnserve_host}:#{@svnserve_port}#{@full_repos_path}"
+ # Avoid a race by waiting a short time for svnserve to start up.
+ # Without this, tests can fail with "Connection refused" errors.
+ sleep 0.1
break
end
end
Modified: subversion/branches/gpg-agent-password-store/subversion/include/private/svn_dav_protocol.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/private/svn_dav_protocol.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/private/svn_dav_protocol.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/private/svn_dav_protocol.h Thu Dec 2 20:55:08 2010
@@ -43,6 +43,7 @@ extern "C" {
#define SVN_DAV__PATH "path"
#define SVN_DAV__INHERIT "inherit"
#define SVN_DAV__REVISION "revision"
+#define SVN_DAV__VALIDATE_INHERITED "validate-inherited"
#define SVN_DAV__INCLUDE_DESCENDANTS "include-descendants"
#define SVN_DAV__VERSION_NAME "version-name"
Modified: subversion/branches/gpg-agent-password-store/subversion/include/private/svn_mergeinfo_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/private/svn_mergeinfo_private.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/private/svn_mergeinfo_private.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/private/svn_mergeinfo_private.h Thu Dec 2 20:55:08 2010
@@ -112,14 +112,15 @@ svn_mergeinfo__add_prefix_to_catalog(svn
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
-/* Makes a deep copy of MERGEINFO in *OUT_MERGEINFO. If SUFFIX_REL_PATH is
- a valid relative path then add it to the end of each key path in
- *OUT_MERGEINFO. *OUT_MERGEINFO is allocated in RESULT_POOL. SCRATCH_POOL
- is used for any temporary allocations. */
+/* Set *OUT_MERGEINFO to a deep copy of MERGEINFO with the relpath
+ SUFFIX_RELPATH added to the end of each key path.
+
+ Allocate *OUT_MERGEINFO in RESULT_POOL. Use SCRATCH_POOL for any
+ temporary allocations. */
svn_error_t *
svn_mergeinfo__add_suffix_to_mergeinfo(svn_mergeinfo_t *out_mergeinfo,
svn_mergeinfo_t mergeinfo,
- const char *suffix,
+ const char *suffix_relpath,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
Modified: subversion/branches/gpg-agent-password-store/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/private/svn_wc_private.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/private/svn_wc_private.h Thu Dec 2 20:55:08 2010
@@ -612,14 +612,14 @@ svn_wc__node_get_info_bits(apr_time_t *t
/**
- * Acquire a recursive write lock for @a local_abspath or if @a lock_anchor
+ * Acquire a recursive write lock for @a local_abspath. If @a lock_anchor
* is true, determine if @a local_abspath has an anchor that should be locked
- * instead. Store the obtained lock in @a wc_ctx.
+ * instead; otherwise, @a local_abspath must be a versioned directory.
+ * Store the obtained lock in @a wc_ctx.
*
* If @a lock_root_abspath is not NULL, store the root of the lock in
* @a *lock_root_abspath. If @a lock_root_abspath is NULL, then @a
- * local_abspath must be a versioned directory and @a lock_anchor must be
- * FALSE.
+ * lock_anchor must be FALSE.
*
* Returns @c SVN_ERR_WC_LOCKED if an existing lock is encountered, in
* which case any locks acquired will have been released.
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_checksum.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_checksum.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_checksum.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_checksum.h Thu Dec 2 20:55:08 2010
@@ -121,9 +121,11 @@ svn_checksum_to_cstring_display(const sv
/** Return the hex representation of @a checksum, allocating the
* string in @a pool. If @a checksum->digest is all zeros (that is,
- * 0, not '0'), then return NULL.
+ * 0, not '0') then return NULL. In 1.7+, @a checksum may be NULL
+ * and NULL will be returned in that case.
*
* @since New in 1.6.
+ * @note Passing NULL for @a checksum in 1.6 will cause a segfault.
*/
const char *
svn_checksum_to_cstring(const svn_checksum_t *checksum,
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_client.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_client.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_client.h Thu Dec 2 20:55:08 2010
@@ -477,7 +477,7 @@ typedef struct svn_client_commit_item3_t
/** The commit candidate structure.
*
- * @deprecated Provided for backward compatibility with the 1.3 API.
+ * @deprecated Provided for backward compatibility with the 1.4 API.
*/
typedef struct svn_client_commit_item2_t
{
@@ -576,7 +576,7 @@ svn_client_commit_item3_dup(const svn_cl
* Return a duplicate of @a item, allocated in @a pool. No part of the new
* structure will be shared with @a item.
*
- * @deprecated Provided for backward compatibility with the 1.3 API.
+ * @deprecated Provided for backward compatibility with the 1.4 API.
*/
SVN_DEPRECATED
svn_client_commit_item2_t *
@@ -1000,8 +1000,11 @@ svn_client_create_context(svn_client_ctx
* converting them to UTF-8, followed by targets from @a known_targets
* (which might come from, for example, the "--targets" command line option).
*
- * On each URL target, do some IRI-to-URI encoding and some auto-escaping.
- * On each local path, canonicalize case and path separators.
+ * Process each target in one of the following ways. For a repository-
+ * relative URL: resolve to a full URL, contacting the repository if
+ * necessary to do so, and then treat as a full URL. For a URL: do some
+ * IRI-to-URI encoding and some auto-escaping, and canonicalize. For a
+ * local path: canonicalize case and path separators.
*
* Allocate @a *targets_p and its elements in @a pool.
*
@@ -1149,10 +1152,11 @@ svn_client_checkout(svn_revnum_t *result
* Update working trees @a paths to @a revision, authenticating with the
* authentication baton cached in @a ctx. @a paths is an array of const
* char * paths to be updated. Unversioned paths that are direct children
- * of a versioned path will cause an update that attempts to add that path,
- * other unversioned paths are skipped. If @a result_revs is not
- * @c NULL an array of svn_revnum_t will be returned with each element set
- * to the revision to which @a revision was resolved.
+ * of a versioned path will cause an update that attempts to add that path;
+ * other unversioned paths are skipped. If @a result_revs is not NULL,
+ * @a *result_revs will be set to an array of svn_revnum_t with each
+ * element set to the revision to which @a revision was resolved for the
+ * corresponding element of @a paths.
*
* @a revision must be of kind #svn_opt_revision_number,
* #svn_opt_revision_head, or #svn_opt_revision_date. If @a
@@ -1189,6 +1193,9 @@ svn_client_checkout(svn_revnum_t *result
* If @a allow_unver_obstructions is FALSE then the update will abort
* if there are any unversioned obstructing items.
*
+ * If @a make_parents is TRUE, create any non-existent parent
+ * directories also by checking them out at depth=empty.
+ *
* If @a ctx->notify_func2 is non-NULL, invoke @a ctx->notify_func2 with
* @a ctx->notify_baton2 for each item handled by the update, and also for
* files restored from text-base. If @a ctx->cancel_func is non-NULL, invoke
@@ -1207,8 +1214,28 @@ svn_client_checkout(svn_revnum_t *result
* implementation, and allows for the possibility that different
* targets may come from different repositories.
*
+ * @since New in 1.7.
+ */
+svn_error_t *
+svn_client_update4(apr_array_header_t **result_revs,
+ const apr_array_header_t *paths,
+ const svn_opt_revision_t *revision,
+ svn_depth_t depth,
+ svn_boolean_t depth_is_sticky,
+ svn_boolean_t ignore_externals,
+ svn_boolean_t allow_unver_obstructions,
+ svn_boolean_t make_parents,
+ svn_client_ctx_t *ctx,
+ apr_pool_t *pool);
+
+/**
+ * Similar to svn_client_update4() but with @a make_parents always set
+ * to FALSE.
+ *
+ * @deprecated Provided for backward compatibility with the 1.6 API.
* @since New in 1.5.
*/
+SVN_DEPRECATED
svn_error_t *
svn_client_update3(apr_array_header_t **result_revs,
const apr_array_header_t *paths,
@@ -1501,7 +1528,7 @@ svn_client_mkdir4(const apr_array_header
* rather than through @a commit_callback.
*
* @since New in 1.5.
- * @deprecated Provided for backward compatibility with the 1.4 API.
+ * @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
@@ -2177,7 +2204,7 @@ svn_client_status5(svn_revnum_t *result_
/**
* Same as svn_client_status5(), but using #svn_wc_status_func3_t
- * instead of #svn_wc_status_func4_t and depth_as_sticky set to TRUE.
+ * instead of #svn_client_status_func_t and depth_as_sticky set to TRUE.
*
* @since New in 1.6.
* @deprecated Provided for backward compatibility with the 1.6 API.
@@ -2279,7 +2306,7 @@ svn_client_status(svn_revnum_t *result_r
/**
* Invoke @a receiver with @a receiver_baton on each log message from
- * each start/end revision pair in the @a revision_ranges in turn,
+ * each (#svn_opt_revision_range_t *) range in @a revision_ranges in turn,
* inclusive (but never invoke @a receiver on a given log message more
* than once).
*
@@ -2420,7 +2447,7 @@ svn_client_log2(const apr_array_header_t
* revision 1. That works fine, except when there are no commits in
* the repository, hence this special case.
*
- * @deprecated Provided for backward compatibility with the 1.0 API.
+ * @deprecated Provided for backward compatibility with the 1.1 API.
*/
SVN_DEPRECATED
svn_error_t *
@@ -2750,7 +2777,7 @@ svn_client_diff2(const apr_array_header_
* Similar to svn_client_diff2(), but with @a ignore_content_type
* always set to FALSE.
*
- * @deprecated Provided for backward compatibility with the 1.0 API.
+ * @deprecated Provided for backward compatibility with the 1.1 API.
*/
SVN_DEPRECATED
svn_error_t *
@@ -2806,6 +2833,7 @@ svn_client_diff_peg5(const apr_array_hea
* @c FALSE and @a use_git_diff_format set to @c FALSE.
*
* @since New in 1.5.
+ * @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
@@ -3067,9 +3095,39 @@ svn_client_diff_summarize_peg(const char
* If @a dry_run is TRUE, the merge is carried out, and full notification
* feedback is provided, but the working copy is not modified.
*
+ * If allow_mixed_rev is @c FALSE, and @a merge_target is a mixed-revision
+ * working copy, raise @c SVN_ERR_CLIENT_NOT_READY_TO_MERGE.
+ * Because users rarely intend to merge into mixed-revision working copies,
+ * it is recommended to set this parameter to FALSE by default unless the
+ * user has explicitly requested a merge into a mixed-revision working copy.
+ *
* The authentication baton cached in @a ctx is used to communicate with the
* repository.
*
+ * @since New in 1.7.
+ */
+svn_error_t *
+svn_client_merge4(const char *source1,
+ const svn_opt_revision_t *revision1,
+ const char *source2,
+ const svn_opt_revision_t *revision2,
+ const char *target_wcpath,
+ svn_depth_t depth,
+ svn_boolean_t ignore_ancestry,
+ svn_boolean_t force,
+ svn_boolean_t record_only,
+ svn_boolean_t dry_run,
+ svn_boolean_t allow_mixed_rev,
+ const apr_array_header_t *merge_options,
+ svn_client_ctx_t *ctx,
+ apr_pool_t *pool);
+
+/**
+ * Similar to svn_client_merge4(), but with @a allow_mixed_rev set to
+ * @c TRUE.
+ *
+ * @deprecated Provided for backward compatibility with the 1.6 API.
+ *
* @since New in 1.5.
*/
svn_error_t *
@@ -3171,7 +3229,30 @@ svn_client_merge_reintegrate(const char
* list of provided ranges has an `unspecified' or unrecognized
* `kind', return #SVN_ERR_CLIENT_BAD_REVISION.
*
- * All other options are handled identically to svn_client_merge3().
+ * All other options are handled identically to svn_client_merge4().
+ *
+ * @since New in 1.7.
+ */
+svn_error_t *
+svn_client_merge_peg4(const char *source,
+ const apr_array_header_t *ranges_to_merge,
+ const svn_opt_revision_t *peg_revision,
+ const char *target_wcpath,
+ svn_depth_t depth,
+ svn_boolean_t ignore_ancestry,
+ svn_boolean_t force,
+ svn_boolean_t record_only,
+ svn_boolean_t dry_run,
+ svn_boolean_t allow_mixed_rev,
+ const apr_array_header_t *merge_options,
+ svn_client_ctx_t *ctx,
+ apr_pool_t *pool);
+
+/**
+ * Similar to svn_client_merge_peg4(), but with @a allow_mixed_rev set to
+ * @c TRUE.
+ *
+ * @deprecated Provided for backward compatibility with the 1.6 API.
*
* @since New in 1.5.
*/
@@ -3195,7 +3276,7 @@ svn_client_merge_peg3(const char *source
* is TRUE, set @a depth to #svn_depth_infinity, if @a recurse is
* FALSE, set @a depth to #svn_depth_files.
*
- * @deprecated Provided for backwards compatibility with the 1.3 API.
+ * @deprecated Provided for backwards compatibility with the 1.4 API.
*
* @since New in 1.4.
*/
@@ -3380,8 +3461,6 @@ svn_client_mergeinfo_log_eligible(const
* immediately.
*
* Use @a scratch_pool for any temporary allocations.
- *
- * @since New in 1.0.
*/
svn_error_t *
svn_client_cleanup(const char *dir,
@@ -3418,12 +3497,15 @@ svn_client_upgrade(const char *dir,
*/
/**
- * Recursively modify a working copy rooted at @a wcroot_dir, changing any
- * repository URLs that begin with @a from to begin with @a to instead.
+ * Recursively modify a working copy rooted at @a wcroot_dir, changing
+ * any repository URLs that begin with @a from_prefix to begin with @a
+ * to_prefix instead.
*
* @param wcroot_dir Working copy root directory
- * @param from Original URL
- * @param to New URL
+ * @param from_prefix Original URL
+ * @param to_prefix New URL
+ * @param ignore_externals If not set, recurse into external working
+ * copies after relocating the primary working copy
* @param ctx svn_client_ctx_t
* @param pool The pool from which to perform memory allocations
*
@@ -3431,13 +3513,15 @@ svn_client_upgrade(const char *dir,
*/
svn_error_t *
svn_client_relocate2(const char *wcroot_dir,
- const char *from,
- const char *to,
+ const char *from_prefix,
+ const char *to_prefix,
+ svn_boolean_t ignore_externals,
svn_client_ctx_t *ctx,
apr_pool_t *pool);
/**
- * Similar to svn_client_relocate2().
+ * Similar to svn_client_relocate2(), but with @a ignore_externals
+ * always TRUE.
*
* @note As of the 1.7 API, @a dir is required to be a working copy
* root directory, and @a recurse is required to be TRUE.
@@ -3448,8 +3532,8 @@ svn_client_relocate2(const char *wcroot_
SVN_DEPRECATED
svn_error_t *
svn_client_relocate(const char *dir,
- const char *from,
- const char *to,
+ const char *from_prefix,
+ const char *to_prefix,
svn_boolean_t recurse,
svn_client_ctx_t *ctx,
apr_pool_t *pool);
@@ -4162,7 +4246,7 @@ svn_client_revprop_set2(const char *prop
* Similar to svn_client_revprop_set2(), but with @a original_propval
* always @c NULL.
*
- * @deprecated Provided for backward compatibility with the 1.0 API.
+ * @deprecated Provided for backward compatibility with the 1.5 API.
*/
SVN_DEPRECATED
svn_error_t *
@@ -4233,7 +4317,7 @@ svn_client_propget3(apr_hash_t **props,
* @a recurse: if @a recurse is TRUE, then @a depth is
* #svn_depth_infinity, else #svn_depth_empty.
*
- * @deprecated Provided for backward compatibility with the 1.2 API.
+ * @deprecated Provided for backward compatibility with the 1.4 API.
*/
SVN_DEPRECATED
svn_error_t *
@@ -4339,7 +4423,7 @@ svn_client_proplist3(const char *target,
*
* @since New in 1.2.
*
- * @deprecated Provided for backward compatiblility with the 1.2 API.
+ * @deprecated Provided for backward compatiblility with the 1.4 API.
*/
SVN_DEPRECATED
svn_error_t *
@@ -4402,11 +4486,16 @@ svn_client_revprop_list(apr_hash_t **pro
* @a *result_rev to the value of the revision actually exported (set
* it to #SVN_INVALID_REVNUM for local exports).
*
- * @a from is either the path the working copy on disk, or a URL to the
- * repository you wish to export.
+ * @a from_path_or_url is either the path the working copy on disk, or
+ * a URL to the repository you wish to export.
*
- * @a to is the path to the directory where you wish to create the exported
- * tree.
+ * When exporting a directory, @a to_path is the path to the directory
+ * where you wish to create the exported tree; when exporting a file, it
+ * is the path of the file that will be created. If @a to_path is the
+ * empty path, then the basename of the export file/directory in the repository
+ * will be used. If @a to_path represents an existing directory, and a
+ * file is being exported, then a file with the that basename will be
+ * created under that directory (as with 'copy' operations).
*
* @a peg_revision is the revision where the path is first looked up
* when exporting from a repository. If @a peg_revision->kind is
@@ -4424,7 +4513,8 @@ svn_client_revprop_list(apr_hash_t **pro
*
* @a ctx is a context used for authentication in the repository case.
*
- * @a overwrite if TRUE will cause the export to overwrite files or directories.
+ * @a overwrite if TRUE will cause the export to overwrite files or
+ * directories.
*
* If @a ignore_externals is set, don't process externals definitions
* as part of this operation.
@@ -4432,17 +4522,18 @@ svn_client_revprop_list(apr_hash_t **pro
* If @a ignore_keywords is set, don't expand keywords as part of this
* operation.
*
- * @a native_eol allows you to override the standard eol marker on the platform
- * you are running on. Can be either "LF", "CR" or "CRLF" or NULL. If NULL
- * will use the standard eol marker. Any other value will cause the
- * #SVN_ERR_IO_UNKNOWN_EOL error to be returned.
- *
- * If @a depth is #svn_depth_infinity, export fully recursively.
- * Else if it is #svn_depth_immediates, export @a from and its immediate
- * children (if any), but with subdirectories empty and at
- * #svn_depth_empty. Else if #svn_depth_files, export @a from and
- * its immediate file children (if any) only. If @a depth is
- * #svn_depth_empty, then export exactly @a from and none of its children.
+ * @a native_eol allows you to override the standard eol marker on the
+ * platform you are running on. Can be either "LF", "CR" or "CRLF" or
+ * NULL. If NULL will use the standard eol marker. Any other value
+ * will cause the #SVN_ERR_IO_UNKNOWN_EOL error to be returned.
+ *
+ * If @a depth is #svn_depth_infinity, export fully recursively. Else
+ * if it is #svn_depth_immediates, export @a from_path_or_url and its
+ * immediate children (if any), but with subdirectories empty and at
+ * #svn_depth_empty. Else if #svn_depth_files, export @a
+ * from_path_or_url and its immediate file children (if any) only. If
+ * @a depth is #svn_depth_empty, then export exactly @a
+ * from_path_or_url and none of its children.
*
* All allocations are done in @a pool.
*
@@ -4450,8 +4541,8 @@ svn_client_revprop_list(apr_hash_t **pro
*/
svn_error_t *
svn_client_export5(svn_revnum_t *result_rev,
- const char *from,
- const char *to,
+ const char *from_path_or_url,
+ const char *to_path,
const svn_opt_revision_t *peg_revision,
const svn_opt_revision_t *revision,
svn_boolean_t overwrite,
@@ -4472,8 +4563,8 @@ svn_client_export5(svn_revnum_t *result_
*/
svn_error_t *
svn_client_export4(svn_revnum_t *result_rev,
- const char *from,
- const char *to,
+ const char *from_path_or_url,
+ const char *to_path,
const svn_opt_revision_t *peg_revision,
const svn_opt_revision_t *revision,
svn_boolean_t overwrite,
@@ -4497,8 +4588,8 @@ svn_client_export4(svn_revnum_t *result_
SVN_DEPRECATED
svn_error_t *
svn_client_export3(svn_revnum_t *result_rev,
- const char *from,
- const char *to,
+ const char *from_path_or_url,
+ const char *to_path,
const svn_opt_revision_t *peg_revision,
const svn_opt_revision_t *revision,
svn_boolean_t overwrite,
@@ -4521,8 +4612,8 @@ svn_client_export3(svn_revnum_t *result_
SVN_DEPRECATED
svn_error_t *
svn_client_export2(svn_revnum_t *result_rev,
- const char *from,
- const char *to,
+ const char *from_path_or_url,
+ const char *to_path,
svn_opt_revision_t *revision,
svn_boolean_t force,
const char *native_eol,
@@ -4539,8 +4630,8 @@ svn_client_export2(svn_revnum_t *result_
SVN_DEPRECATED
svn_error_t *
svn_client_export(svn_revnum_t *result_rev,
- const char *from,
- const char *to,
+ const char *from_path_or_url,
+ const char *to_path,
svn_opt_revision_t *revision,
svn_boolean_t force,
svn_client_ctx_t *ctx,
@@ -5067,6 +5158,12 @@ typedef struct svn_info_t
*/
svn_wc_conflict_description_t *tree_conflict;
+ /**
+ * The local absolute path of the working copy root.
+ * @since New in 1.7.
+ */
+ const char *wcroot_abspath;
+
/** @} */
} svn_info_t;
@@ -5186,7 +5283,7 @@ svn_client_info2(const char *path_or_url
* NULL, and @a depth set according to @a recurse: if @a recurse is
* TRUE, @a depth is #svn_depth_infinity, else #svn_depth_empty.
*
- * @deprecated Provided for backward compatibility with the 1.2 API.
+ * @deprecated Provided for backward compatibility with the 1.4 API.
*/
SVN_DEPRECATED
svn_error_t *
@@ -5259,15 +5356,6 @@ typedef svn_error_t *(*svn_client_patch_
* stripped from paths obtained from the patch. It is an error if a
* negative strip count is passed.
*
- * If @a old_patch_target_names is @c TRUE, use target names from the old
- * side of the patch, rather than using target names from the new side of
- * the patch. For instance, if a unidiff header contains
- * --- foo.c
- * +++ foo.c.new
- * and @a old_patch_target_names is @c TRUE, the name "foo.c" will be used
- * for the target, and if @a old_patch_target_names is @c FALSE, the target
- * name "foo.c.new" will be used.
- *
* If @a reverse is @c TRUE, apply patches in reverse, deleting lines
* the patch would add and adding lines the patch would delete.
* This is useful when applying a unidiff which was created with the
@@ -5299,7 +5387,6 @@ svn_client_patch(const char *patch_abspa
const char *local_abspath,
svn_boolean_t dry_run,
int strip_count,
- svn_boolean_t old_patch_target_names,
svn_boolean_t reverse,
svn_boolean_t ignore_whitespace,
svn_boolean_t remove_tempfiles,
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_config.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_config.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_config.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_config.h Thu Dec 2 20:55:08 2010
@@ -127,6 +127,7 @@ typedef struct svn_config_t svn_config_t
#define SVN_CONFIG_OPTION_PASSWORD_DB "password-db"
#define SVN_CONFIG_OPTION_REALM "realm"
#define SVN_CONFIG_OPTION_AUTHZ_DB "authz-db"
+#define SVN_CONFIG_OPTION_FORCE_USERNAME_CASE "force-username-case"
#define SVN_CONFIG_SECTION_SASL "sasl"
#define SVN_CONFIG_OPTION_USE_SASL "use-sasl"
#define SVN_CONFIG_OPTION_MIN_SSF "min-encryption"
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_diff.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_diff.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_diff.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_diff.h Thu Dec 2 20:55:08 2010
@@ -537,7 +537,7 @@ svn_diff_file_output_unified3(svn_stream
/** Similar to svn_diff_file_output_unified3(), but with @a relative_to_dir
* set to NULL and @a show_c_function to false.
*
- * @deprecated Provided for backwards compatibility with the 1.3 API.
+ * @deprecated Provided for backwards compatibility with the 1.4 API.
*/
SVN_DEPRECATED
svn_error_t *
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_dirent_uri.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_dirent_uri.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_dirent_uri.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_dirent_uri.h Thu Dec 2 20:55:08 2010
@@ -300,7 +300,7 @@ svn_relpath_split(const char **dirpath,
* @since New in 1.7.
*/
const char *
-svn_relpath_basename(const char *uri,
+svn_relpath_basename(const char *relpath,
apr_pool_t *pool);
/** Get the dirname of the specified canonicalized @a relpath, defined as
@@ -322,10 +322,10 @@ svn_relpath_dirname(const char *relpath,
*
* If @a dirpath or @a base_name is NULL, then don't set that one.
*
- * Either @a dirpath or @a base_name may be @a dirent's own address, but they
+ * Either @a dirpath or @a base_name may be @a uri's own address, but they
* may not both be the same address, or the results are undefined.
*
- * If @a dirent has two or more components, the separator between @a dirpath
+ * If @a uri has two or more components, the separator between @a dirpath
* and @a base_name is not included in either of the new names.
*
* examples:
@@ -344,11 +344,11 @@ svn_uri_split(const char **dirpath,
apr_pool_t *pool);
/** Get the basename of the specified canonicalized @a uri. The
- * basename is defined as the last component of the uri. If the @a dirent
+ * basename is defined as the last component of the uri. If the @a uri
* is root then that is returned. Otherwise, the returned value will have no
* slashes in it.
*
- * Example: svn_dirent_basename("http://server/foo/bar") -> "bar"
+ * Example: svn_uri_basename("http://server/foo/bar") -> "bar"
*
* The returned basename will be allocated in @a pool. If @a pool is NULL
* a pointer to the basename in @a uri is returned.
@@ -362,9 +362,9 @@ svn_uri_basename(const char *uri,
apr_pool_t *pool);
/** Get the dirname of the specified canonicalized @a uri, defined as
- * the dirent with its basename removed.
+ * the uri with its basename removed.
*
- * If @a dirent is root (e.g. "http://server"), it is returned
+ * If @a uri is root (e.g. "http://server"), it is returned
* unchanged.
*
* The returned dirname will be allocated in @a pool.
@@ -372,7 +372,7 @@ svn_uri_basename(const char *uri,
* @since New in 1.7.
*/
char *
-svn_uri_dirname(const char *dirent,
+svn_uri_dirname(const char *uri,
apr_pool_t *pool);
@@ -453,7 +453,7 @@ svn_dirent_canonicalize(const char *dire
* @since New in 1.7.
*/
const char *
-svn_relpath_canonicalize(const char *uri,
+svn_relpath_canonicalize(const char *relpath,
apr_pool_t *pool);
@@ -653,6 +653,9 @@ svn_uri_is_ancestor(const char *parent_u
* This function assumes @a parent_dirent and @a child_dirent are both
* absolute or relative in the same way.
*
+ * ### Returning the child in the no-match case is a bad idea when the
+ * paths are relative; can be useful when they are absolute.
+ *
* @since New in 1.7.
*/
const char *
@@ -664,6 +667,8 @@ svn_dirent_skip_ancestor(const char *par
* @a child_relpath. If @a child_relpath is not below @a parent_relpath,
* return @a child_relpath.
*
+ * ### Returning the child in the no-match case is a bad idea.
+ *
* @since New in 1.7.
*/
const char *
@@ -677,6 +682,9 @@ svn_relpath_skip_ancestor(const char *pa
* This function assumes @a parent_uri and @a child_uri are both absolute or
* relative in the same way.
*
+ * ### Returning the child in the no-match case is a bad idea when the
+ * paths are relative; can be useful when they are absolute.
+ *
* @since New in 1.7.
*/
const char *
@@ -737,7 +745,7 @@ svn_dirent_condense_targets(const char *
* to an array of targets relative to @a *pcommon, and if @a
* remove_redundancies is TRUE, omit any uris that are descendants of
* another uri in @a targets. If *pcommon is empty, @a
- * *pcondensed_targets will contain absolute dirents; redundancies
+ * *pcondensed_targets will contain absolute uris; redundancies
* can still be removed. If @a pcondensed_targets is NULL, leave it
* alone.
*
@@ -803,6 +811,126 @@ svn_uri_get_file_url_from_dirent(const c
const char *dirent,
apr_pool_t *pool);
+
+/**************************************************************************
+ * A private API for Subversion filesystem paths, otherwise known as paths
+ * within a repository, that start with a '/'. The rules for a fspath are
+ * the same as for a relpath except for the leading '/'. A fspath never
+ * ends with '/' except when the whole path is just '/'.
+ **************************************************************************/
+
+/** Return TRUE iff @a fspath is canonical.
+ * @a fspath need not be canonical, of course.
+ *
+ * @since New in 1.7.
+ */
+svn_boolean_t
+svn_fspath__is_canonical(const char *fspath);
+
+
+/** Return the dirname of @a fspath, defined as the path with its basename
+ * removed. If @a fspath is "/", return "/".
+ *
+ * Allocate the result in @a pool.
+ *
+ * @since New in 1.7.
+ */
+const char *
+svn_fspath__dirname(const char *fspath,
+ apr_pool_t *pool);
+
+/** Return the last component of @a fspath. The returned value will have no
+ * slashes in it. If @a fspath is "/", return "".
+ *
+ * If @a pool is NULL, return a pointer to within @a fspath, else allocate
+ * the result in @a pool.
+ *
+ * @since New in 1.7.
+ */
+const char *
+svn_fspath__basename(const char *fspath,
+ apr_pool_t *pool);
+
+/** Divide the canonical @a fspath into @a *dirpath and @a
+ * *base_name, allocated in @a pool.
+ *
+ * If @a dirpath or @a base_name is NULL, then don't set that one.
+ *
+ * Either @a dirpath or @a base_name may be @a fspath's own address, but they
+ * may not both be the same address, or the results are undefined.
+ *
+ * If @a fspath has two or more components, the separator between @a dirpath
+ * and @a base_name is not included in either of the new names.
+ *
+ * @since New in 1.7.
+ */
+void
+svn_fspath__split(const char **dirpath,
+ const char **base_name,
+ const char *fspath,
+ apr_pool_t *result_pool);
+
+/** Return the fspath composed of @a fspath with @a relpath appended.
+ * Allocate the result in @a result_pool.
+ *
+ * @since New in 1.7.
+ */
+char *
+svn_fspath__join(const char *fspath,
+ const char *relpath,
+ apr_pool_t *result_pool);
+
+
+/** Test if @a child_fspath is a child of @a parent_fspath. If not, return
+ * NULL. If so, return the relpath which, if joined to @a parent_fspath,
+ * would yield @a child_fspath.
+ *
+ * If @a child_fspath is the same as @a parent_fspath, it is not considered
+ * a child, so the result is NULL; an empty string is never returned.
+ *
+ * If @a pool is NULL, a pointer into @a child_fspath will be returned to
+ * identify the remainder fspath.
+ *
+ * @since New in 1.7.
+ */
+const char *
+svn_fspath__is_child(const char *parent_fspath,
+ const char *child_fspath,
+ apr_pool_t *pool);
+
+/** Return the relative path part of @a child_fspath that is below
+ * @a parent_fspath, or just "" if @a parent_fspath is equal to
+ * @a child_fspath. If @a child_fspath is not below @a parent_fspath,
+ * return @a child_fspath.
+ *
+ * ### Returning the child in the no-match case is a bad idea.
+ *
+ * @since New in 1.7.
+ */
+const char *
+svn_fspath__skip_ancestor(const char *parent_fspath,
+ const char *child_fspath);
+
+/** Return TRUE if @a parent_fspath is an ancestor of @a child_fspath or
+ * the fspaths are equal, and FALSE otherwise.
+ *
+ * @since New in 1.7.
+ */
+svn_boolean_t
+svn_fspath__is_ancestor(const char *parent_fspath,
+ const char *child_fspath);
+
+/** Return the longest common path shared by two fspaths, @a fspath1 and
+ * @a fspath2. If there's no common ancestor, return "/".
+ *
+ * @since New in 1.7.
+ */
+char *
+svn_fspath__get_longest_ancestor(const char *fspath1,
+ const char *fspath2,
+ apr_pool_t *result_pool);
+
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_editor.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_editor.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_editor.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_editor.h Thu Dec 2 20:55:08 2010
@@ -198,7 +198,7 @@ extern "C" {
*
* - @b Complete/Abort: The driver will end transmission by calling \n
* svn_editor_complete() if successful, or \n
- * svn_editor_abort() if an error or cancellation occured.
+ * svn_editor_abort() if an error or cancellation occurred.
* \n\n
*
* <h3>Driving Order Restrictions</h3>
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_error_codes.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_error_codes.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_error_codes.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_error_codes.h Thu Dec 2 20:55:08 2010
@@ -219,6 +219,11 @@ SVN_ERROR_START
SVN_ERR_BAD_CATEGORY_START + 13,
"Unknown string value of token")
+ /** @since New in 1.7. */
+ SVN_ERRDEF(SVN_ERR_BAD_CHANGELIST_NAME,
+ SVN_ERR_BAD_CATEGORY_START + 14,
+ "Invalid changelist name")
+
/* xml errors */
SVN_ERRDEF(SVN_ERR_XML_ATTRIB_NOT_FOUND,
@@ -1391,6 +1396,10 @@ SVN_ERROR_START
SVN_ERR_CL_CATEGORY_START + 10,
"No external merge tool available")
+ SVN_ERRDEF(SVN_ERR_CL_ERROR_PROCESSING_EXTERNALS,
+ SVN_ERR_CL_CATEGORY_START + 11,
+ "Failed processing one or more externals definitions")
+
/* malfunctions such as assertion failures */
SVN_ERRDEF(SVN_ERR_ASSERTION_FAIL,
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_fs.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_fs.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_fs.h Thu Dec 2 20:55:08 2010
@@ -530,12 +530,12 @@ svn_error_t *
svn_fs_access_add_lock_token2(svn_fs_access_t *access_ctx,
const char *path,
const char *token);
+
/**
* Same as svn_fs_access_add_lock_token2(), but with @a path set to value 1.
*
- * @deprecated Provided for backward compatibility with the 1.1 API.
+ * @deprecated Provided for backward compatibility with the 1.5 API.
*/
-
SVN_DEPRECATED
svn_error_t *
svn_fs_access_add_lock_token(svn_fs_access_t *access_ctx,
@@ -1477,16 +1477,36 @@ svn_fs_closest_copy(svn_fs_root_t **root
* @a inherit indicates whether to retrieve explicit,
* explicit-or-inherited, or only inherited mergeinfo.
*
+ * If the mergeinfo for any path is inherited and
+ * @a validate_inherited_mergeinfo is TRUE, then the mergeinfo for
+ * that path in @a *catalog will only contain merge source
+ * path-revisions that actually exist in repository.
+ *
* If @a include_descendants is TRUE, then additionally return the
* mergeinfo for any descendant of any element of @a paths which has
* the #SVN_PROP_MERGEINFO property explicitly set on it. (Note
* that inheritance is only taken into account for the elements in @a
* paths; descendants of the elements in @a paths which get their
- * mergeinfo via inheritance are not included in @a *mergeoutput.)
+ * mergeinfo via inheritance are not included in @a *catalog.)
*
* Do any necessary temporary allocation in @a pool.
*
- * @since New in 1.5.
+ * @since New in 1.7.
+ */
+svn_error_t *
+svn_fs_get_mergeinfo2(svn_mergeinfo_catalog_t *catalog,
+ svn_fs_root_t *root,
+ const apr_array_header_t *paths,
+ svn_mergeinfo_inheritance_t inherit,
+ svn_boolean_t validate_inherited_mergeinfo,
+ svn_boolean_t include_descendants,
+ apr_pool_t *pool);
+
+/**
+ * Similar to svn_fs_get_mergeinfo2(), but with
+ * @a validate_inherited_mergeinfo always passed as FALSE.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
*/
svn_error_t *
svn_fs_get_mergeinfo(svn_mergeinfo_catalog_t *catalog,
@@ -1496,6 +1516,25 @@ svn_fs_get_mergeinfo(svn_mergeinfo_catal
svn_boolean_t include_descendants,
apr_pool_t *pool);
+/**
+ * Set @a *validated_mergeinfo equal to deep copy of @a mergeinfo, less
+ * any mergeinfo that describes path-revs that do not exist in @a FS.
+ * If @a mergeinfo is empty then @a *validated_mergeinfo is set to an empty
+ * mergeinfo hash. If @a mergeinfo is NULL then @a *validated_mergeinfo is
+ * set to NULL.
+ *
+ * @a *validated_mergeinfo is allocated in @a result_pool. All tempporary
+ * allocations are performed in @a scratch_pool.
+ *
+ * @since New in 1.7.
+ */
+svn_error_t *
+svn_fs_validate_mergeinfo(svn_mergeinfo_t *validated_mergeinfo,
+ svn_fs_t *fs,
+ svn_mergeinfo_t mergeinfo,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
/** Merge changes between two nodes into a third node.
*
* Given nodes @a source and @a target, and a common ancestor @a ancestor,
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_io.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_io.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_io.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_io.h Thu Dec 2 20:55:08 2010
@@ -289,7 +289,7 @@ svn_io_open_unique_file2(apr_file_t **f,
/** Like svn_io_open_unique_file2, but can't delete on pool cleanup.
*
- * @deprecated Provided for backward compatibility with the 1.0 API
+ * @deprecated Provided for backward compatibility with the 1.3 API
*
* @note In 1.4 the API was extended to require either @a f or
* @a unique_name_p (the other can be NULL). Before that, both were
@@ -692,8 +692,13 @@ svn_error_t *
svn_io_file_flush_to_disk(apr_file_t *file,
apr_pool_t *pool);
-/** Copy file @a file from location @a src_path to location @a dest_path.
- * Use @a pool for memory allocations.
+/** Copy the file whose basename (or relative path) is @a file within
+ * directory @a src_path to the same basename (or relative path) within
+ * directory @a dest_path. Overwrite the destination file if it already
+ * exists. The destination directory (including any directory
+ * components in @a name) must already exist. Set the destination
+ * file's permissions to match those of the source. Use @a pool for
+ * memory allocations.
*/
svn_error_t *
svn_io_dir_file_copy(const char *src_path,
@@ -1311,13 +1316,15 @@ svn_stringbuf_from_aprfile(svn_stringbuf
* converting any error to a Subversion error. If @a ignore_enoent is TRUE, and
* the file is not present (APR_STATUS_IS_ENOENT returns TRUE), then no
* error will be returned.
+ *
+ * @since New in 1.7.
*/
svn_error_t *
svn_io_remove_file2(const char *path,
- svn_boolean_t ignore_enoent,
- apr_pool_t *scratch_pool);
+ svn_boolean_t ignore_enoent,
+ apr_pool_t *scratch_pool);
-/** Similar to svn_io_remove_file2(), except with @a missing_ok set to FALSE.
+/** Similar to svn_io_remove_file2(), except with @a ignore_enoent set to FALSE.
*
* @deprecated Provided for backwards compatibility with the 1.6 API.
*/
@@ -1395,6 +1402,7 @@ svn_io_get_dirents3(apr_hash_t **dirents
* structures instead of svn_io_dirent2_t and with only a single pool.
*
* @since New in 1.3.
+ * @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
@@ -1842,7 +1850,11 @@ svn_io_stat(apr_finfo_t *finfo,
apr_pool_t *pool);
-/** Wrapper for apr_file_rename(). @a from_path and @a to_path are
+/** Rename and/or move the node (not necessarily a regular file) at
+ * @a from_path to a new path @a to_path within the same filesystem.
+ * In some cases, an existing node at @a to_path will be overwritten.
+ *
+ * A wrapper for apr_file_rename(). @a from_path and @a to_path are
* utf8-encoded.
*/
svn_error_t *
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_mergeinfo.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_mergeinfo.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_mergeinfo.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_mergeinfo.h Thu Dec 2 20:55:08 2010
@@ -226,7 +226,7 @@ svn_mergeinfo_catalog_merge(svn_mergeinf
/** Like svn_mergeinfo_remove2, but always considers inheritance.
*
- * @deprecated Provided for backward compatibility with the 1.5 API.
+ * @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
@@ -308,17 +308,6 @@ svn_rangelist_remove(apr_array_header_t
svn_boolean_t consider_inheritance,
apr_pool_t *pool);
-/** Like svn_mergeinfo_intersect2, but always considers inheritance.
- *
- * @deprecated Provided for backward compatibility with the 1.5 API.
- */
-SVN_DEPRECATED
-svn_error_t *
-svn_mergeinfo_intersect(svn_mergeinfo_t *mergeinfo,
- svn_mergeinfo_t mergeinfo1,
- svn_mergeinfo_t mergeinfo2,
- apr_pool_t *pool);
-
/** Find the intersection of two mergeinfos, @a mergeinfo1 and @a
* mergeinfo2, and place the result in @a *mergeinfo, which is (deeply)
* allocated in @a result_pool. Temporary allocations will be performed
@@ -338,6 +327,17 @@ svn_mergeinfo_intersect2(svn_mergeinfo_t
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
+/** Like svn_mergeinfo_intersect2, but always considers inheritance.
+ *
+ * @deprecated Provided for backward compatibility with the 1.6 API.
+ */
+SVN_DEPRECATED
+svn_error_t *
+svn_mergeinfo_intersect(svn_mergeinfo_t *mergeinfo,
+ svn_mergeinfo_t mergeinfo1,
+ svn_mergeinfo_t mergeinfo2,
+ apr_pool_t *pool);
+
/** Find the intersection of two rangelists consisting of @c
* svn_merge_range_t * elements, @a rangelist1 and @a rangelist2, and
* place the result in @a *rangelist (which is never @c NULL).
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_opt.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_opt.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_opt.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_opt.h Thu Dec 2 20:55:08 2010
@@ -292,6 +292,11 @@ svn_opt_format_option(const char **strin
* command name or an alias. ### @todo Why does this only print to
* @c stdout, whereas svn_opt_print_generic_help() gives us a choice?
*
+ * When printing the description of an option, if the same option code
+ * appears a second time in @a options_table with a different name, then
+ * use that second name as an alias for the first name. This additional
+ * behaviour is new in 1.7.
+ *
* @since New in 1.5.
*/
void
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_path.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_path.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_path.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_path.h Thu Dec 2 20:55:08 2010
@@ -64,6 +64,10 @@ extern "C" {
/** Convert @a path from the local style to the canonical internal style.
+ *
+ * New code should use either svn_dirent_internal_style() (for local paths) or
+ * svn_relpath_internal_style() (for relative paths).
+ *
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
@@ -71,6 +75,10 @@ const char *
svn_path_internal_style(const char *path, apr_pool_t *pool);
/** Convert @a path from the canonical internal style to the local style.
+ *
+ * New code should use either svn_dirent_local_style() (for local paths) or
+ * svn_relpath_local_style() (for relative paths).
+ *
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
@@ -101,6 +109,9 @@ svn_path_local_style(const char *path, a
* @a component won't be detected. An absolute URI can only be used
* for the base.
*
+ * New code should use either svn_dirent_join() (for local paths) or
+ * svn_uri_join() (for urls) or svn_relpath_join() (for relative paths).
+ *
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
@@ -118,7 +129,9 @@ svn_path_join(const char *base, const ch
* This function does not support URLs.
*
* See svn_path_join() for further notes about joining paths.
- *
+ *
+ * New code should use svn_dirent_join_many() instead.
+ *
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
@@ -139,7 +152,7 @@ svn_path_join_many(apr_pool_t *pool, con
* @note If an empty string is passed, then an empty string will be returned.
*
* New code should use either svn_dirent_basename() (for local paths) or
- * svn_uri_basename() (for urls and repository paths).
+ * svn_uri_basename() (for urls) or svn_relpath_basename (for relative paths).
*
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
@@ -154,7 +167,7 @@ svn_path_basename(const char *path, apr_
* The returned dirname will be allocated in @a pool.
*
* New code should use either svn_dirent_dirname() (for local paths) or
- * svn_uri_dirname() (for urls and repository paths).
+ * svn_uri_dirname() (for urls) or svn_relpath_dirname() (for relative paths).
*
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
@@ -227,7 +240,7 @@ svn_path_remove_components(svn_stringbuf
* - <pre>"" ==> "" and ""</pre>
*
* New code should use either svn_dirent_split() (for local paths) or
- * svn_uri_split() (for urls and repository paths).
+ * svn_uri_split() (for urls) or svn_relpath_split() (for relative paths).
*
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
@@ -266,6 +279,10 @@ svn_dirent_is_root(const char *dirent, a
* The returned path may be statically allocated, equal to @a path, or
* allocated from @a pool.
*
+ * New code should use either svn_dirent_canonicalize() (for local paths) or
+ * svn_uri_canonicalize() (for urls) or svn_relpath_canonicalize() (for
+ * relative paths).
+ *
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
@@ -275,6 +292,10 @@ svn_path_canonicalize(const char *path,
/** Return @c TRUE iff path is canonical. Use @a pool for temporary
* allocations.
*
+ * New code should use either svn_dirent_is_canonical() (for local paths) or
+ * svn_uri_is_canonical() (for urls) or svn_relpath_is_canonical() (for
+ * relative paths).
+ *
* @since New in 1.5.
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
@@ -300,6 +321,10 @@ svn_path_compare_paths(const char *path1
* different resources), and (b) share a common ancestor in their path
* component, i.e. 'protocol://' is not a sufficient ancestor.
*
+ * New code should use either svn_dirent_get_longest_ancestor()
+ * (for local paths) or svn_uri_get_longest_ancestor() (for urls)
+ * or svn_relpath_get_longest_ancestor() (for relative paths).
+ *
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
@@ -314,6 +339,8 @@ svn_path_get_longest_ancestor(const char
* @a relative may be a URL, in which case no attempt is made to convert it,
* and a copy of the URL is returned.
*
+ * New code should use svn_dirent_get_absolute() instead.
+ *
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
@@ -365,6 +392,9 @@ svn_path_split_if_file(const char *path,
* If there are no items in @a targets, set @a *pcommon and (if
* applicable) @a *pcondensed_targets to @c NULL.
*
+ * New code should use either svn_dirent_condense_targets() (for local paths)
+ * or svn_uri_condense_targets() (for urls).
+ *
* @note There is no guarantee that @a *pcommon is within a working
* copy.
*
@@ -489,6 +519,10 @@ svn_path_is_dotpath_present(const char *
* in which case a pointer into @a path2 will be returned to
* identify the remainder path.
*
+ * New code should use either svn_dirent_is_child() (for local paths) or
+ * svn_uri_is_child() (for urls) or svn_relpath_is_child()
+ * (for relative paths).
+ *
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
@@ -499,6 +533,11 @@ svn_path_is_child(const char *path1, con
* and FALSE otherwise.
*
* @since New in 1.3.
+ *
+ * New code should use either svn_dirent_is_ancestor() (for local paths) or
+ * svn_uri_is_ancestor() (for urls) or svn_relpath_is_ancestor() (for relative
+ * paths).
+ *
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
@@ -584,7 +623,7 @@ svn_path_url_add_component2(const char *
const char *component,
apr_pool_t *pool);
-/** Like svn_path_url_add_component2, but allows path components that
+/** Like svn_path_url_add_component2(), but allows path components that
* end with a trailing '/'
*
* @deprecated Provided for backward compatibility with the 1.5 API.
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_ra.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_ra.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_ra.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_ra.h Thu Dec 2 20:55:08 2010
@@ -682,6 +682,8 @@ svn_ra_reparent(svn_ra_session_t *ra_ses
/** Set @a *url to the repository URL to which @a ra_session was
* opened or most recently reparented.
+ *
+ * @since New in 1.5.
*/
svn_error_t *
svn_ra_get_session_url(svn_ra_session_t *ra_session,
@@ -1009,6 +1011,14 @@ svn_ra_get_dir(svn_ra_session_t *session
* @a inherit indicates whether explicit, explicit or inherited, or
* only inherited mergeinfo for @a paths is retrieved.
*
+ * If the mergeinfo for any path is inherited and
+ * @a *validate_inherited_mergeinfo is TRUE, then request that the server
+ * validate the mergeinfo in @a *catalog, so it contains only merge source
+ * path-revisions that actually exist in repository. If validation is
+ * requested and the server supports it, then set
+ * @a *validate_inherited_mergeinfo to TRUE on return. Set it to FALSE
+ * in all other cases.
+ *
* If @a include_descendants is TRUE, then additionally return the
* mergeinfo for any descendant of any element of @a paths which has
* the @c SVN_PROP_MERGEINFO property explicitly set on it. (Note
@@ -1025,7 +1035,23 @@ svn_ra_get_dir(svn_ra_session_t *session
* upgraded), return @c SVN_ERR_UNSUPPORTED_FEATURE in preference to
* any other error that might otherwise be returned.
*
- * @since New in 1.5.
+ * @since New in 1.7.
+ */
+svn_error_t *
+svn_ra_get_mergeinfo2(svn_ra_session_t *session,
+ svn_mergeinfo_catalog_t *catalog,
+ const apr_array_header_t *paths,
+ svn_revnum_t revision,
+ svn_mergeinfo_inheritance_t inherit,
+ svn_boolean_t *validate_inherited_mergeinfo,
+ svn_boolean_t include_descendants,
+ apr_pool_t *pool);
+
+/**
+ * Similar to svn_ra_get_mergeinfo2(), but with
+ * @a validate_inherited_mergeinfo always passed as FALSE.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
*/
svn_error_t *
svn_ra_get_mergeinfo(svn_ra_session_t *session,
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_repos.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_repos.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_repos.h Thu Dec 2 20:55:08 2010
@@ -1715,6 +1715,11 @@ svn_repos_get_logs(svn_repos_t *repos,
* @a inherit indicates whether explicit, explicit or inherited, or
* only inherited mergeinfo for @a paths is fetched.
*
+ * If the mergeinfo for any path is inherited and
+ * @a validate_inherited_mergeinfo is TRUE, then the mergeinfo for
+ * that path in @a *catalog will only contain merge source
+ * path-revisions that actually exist in repository.
+ *
* If @a revision is #SVN_INVALID_REVNUM, it defaults to youngest.
*
* If @a include_descendants is TRUE, then additionally return the
@@ -1731,7 +1736,25 @@ svn_repos_get_logs(svn_repos_t *repos,
*
* Use @a pool for all allocations.
*
- * @since New in 1.5.
+ * @since New in 1.7.
+ */
+svn_error_t *
+svn_repos_fs_get_mergeinfo2(svn_mergeinfo_catalog_t *catalog,
+ svn_repos_t *repos,
+ const apr_array_header_t *paths,
+ svn_revnum_t revision,
+ svn_mergeinfo_inheritance_t inherit,
+ svn_boolean_t validate_inherited_mergeinfo,
+ svn_boolean_t include_descendants,
+ svn_repos_authz_func_t authz_read_func,
+ void *authz_read_baton,
+ apr_pool_t *pool);
+
+/**
+ * Similar to svn_repos_fs_get_mergeinfo2(), but with
+ * @a validate_inherited_mergeinfo always passed as FALSE.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
*/
svn_error_t *
svn_repos_fs_get_mergeinfo(svn_mergeinfo_catalog_t *catalog,
@@ -2556,7 +2579,7 @@ svn_repos_load_fs2(svn_repos_t *repos,
* Similar to svn_repos_load_fs2(), but with @a use_pre_commit_hook and
* @a use_post_commit_hook always @c FALSE.
*
- * @deprecated Provided for backward compatibility with the 1.0 API.
+ * @deprecated Provided for backward compatibility with the 1.1 API.
*/
SVN_DEPRECATED
svn_error_t *
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_string.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_string.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_string.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_string.h Thu Dec 2 20:55:08 2010
@@ -199,7 +199,7 @@ svn_stringbuf_ncreate(const char *bytes,
/** Create a new empty bytestring with at least @a minimum_size bytes of
* space available in the memory block.
*
- * The allocated string buffer will be one byte larger then @a minimum_size
+ * The allocated string buffer will be one byte larger than @a minimum_size
* to account for a final '\\0'.
*
* @since New in 1.6.
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_subst.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_subst.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_subst.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_subst.h Thu Dec 2 20:55:08 2010
@@ -209,23 +209,12 @@ svn_subst_keywords_differ(const svn_subs
* @c TRUE, convert any line ending in @a src_stream to @a eol_str in
* @a dst_stream. Recognized line endings are: "\n", "\r", and "\r\n".
*
- * Expand and contract keywords using the contents of @a keywords as the
- * new values. If @a expand is @c TRUE, expand contracted keywords and
- * re-expand expanded keywords. If @a expand is @c FALSE, contract expanded
- * keywords and ignore contracted ones. Keywords not found in the hash are
- * ignored (not contracted or expanded). If the @a keywords hash
- * itself is @c NULL, keyword substitution will be altogether ignored.
- *
- * Detect only keywords that are no longer than @c SVN_KEYWORD_MAX_LEN
- * bytes, including the delimiters and the keyword itself.
+ * See svn_subst_stream_translated() for details of the keyword substitution
+ * which is controlled by the @a expand and @a keywords parameters.
*
* Note that a translation request is *required*: one of @a eol_str or
* @a keywords must be non-@c NULL.
*
- * Recommendation: if @a expand is FALSE, then you don't care about the
- * keyword values, so use empty strings as non-NULL signifiers when you
- * build the keywords hash.
- *
* Notes:
*
* See svn_wc__get_keywords() and svn_wc__get_eol_style() for a
@@ -301,6 +290,20 @@ svn_subst_translate_stream(svn_stream_t
* if @a repair is @c TRUE, convert any line ending to @a eol_str.
* Recognized line endings are: "\n", "\r", and "\r\n".
*
+ * Expand and contract keywords using the contents of @a keywords as the
+ * new values. If @a expand is @c TRUE, expand contracted keywords and
+ * re-expand expanded keywords. If @a expand is @c FALSE, contract expanded
+ * keywords and ignore contracted ones. Keywords not found in the hash are
+ * ignored (not contracted or expanded). If the @a keywords hash
+ * itself is @c NULL, keyword substitution will be altogether ignored.
+ *
+ * Detect only keywords that are no longer than @c SVN_KEYWORD_MAX_LEN
+ * bytes, including the delimiters and the keyword itself.
+ *
+ * Recommendation: if @a expand is FALSE, then you don't care about the
+ * keyword values, so use empty strings as non-NULL signifiers when you
+ * build the keywords hash.
+ *
* The stream returned is allocated in @a result_pool.
*
* If the inner stream implements resetting via svn_stream_reset(),
@@ -318,8 +321,8 @@ svn_subst_stream_translated(svn_stream_t
apr_pool_t *result_pool);
-/** Return a stream which performs eol translation and keyword
- * expansion when read from or written to. The stream @a stream
+/** Set @a *stream to a stream which performs eol translation and keyword
+ * expansion when read from or written to. The stream @a source
* is used to read and write all data. Make sure you call
* svn_stream_close() on @a stream to make sure all data are flushed
* and cleaned up.
@@ -345,7 +348,7 @@ svn_subst_stream_translated_to_normal_fo
apr_pool_t *pool);
-/** Returns a readable stream in @a *stream containing the "normal form"
+/** Set @a *stream to a readable stream containing the "normal form"
* of the special file located at @a path. The stream will be allocated
* in @a result_pool, and any temporary allocations will be made in
* @a scratch_pool.
@@ -359,7 +362,7 @@ svn_subst_read_specialfile(svn_stream_t
apr_pool_t *scratch_pool);
-/** Returns a writeable stream in @a *stream that accepts content in
+/** Set @a *stream to a writeable stream that accepts content in
* the "normal form" for a special file, to be located at @a path, and
* will create that file when the stream is closed. The stream will be
* allocated in @a result_pool, and any temporary allocations will be
@@ -377,8 +380,8 @@ svn_subst_create_specialfile(svn_stream_
apr_pool_t *scratch_pool);
-/** Returns a stream which translates the special file at @a path to
- * the internal representation for special files when read from. When
+/** Set @a *stream to a stream which translates the special file at @a path
+ * to the internal representation for special files when read from. When
* written to, it does the reverse: creating a special file when the
* stream is closed.
*
@@ -396,17 +399,16 @@ svn_subst_stream_from_specialfile(svn_st
/**
- * Translates the file at path @a src into a file at path @a dst. The
- * parameters @a *eol_str, @a repair, @a *keywords and @a expand are
+ * Copy the contents of file-path @a src to file-path @a dst atomically,
+ * either creating @a dst or overwriting @a dst if it exists, possibly
+ * performing line ending and keyword translations.
+ *
+ * The parameters @a *eol_str, @a repair, @a *keywords and @a expand are
* defined the same as in svn_subst_translate_stream3().
*
* In addition, it will create a special file from normal form or
* translate one to normal form if @a special is @c TRUE.
*
- * Copy the contents of file-path @a src to file-path @a dst atomically,
- * either creating @a dst (or overwriting @a dst if it exists), possibly
- * performing line ending and keyword translations.
- *
* If anything goes wrong during the copy, attempt to delete @a dst (if
* it exists).
*
@@ -486,17 +488,19 @@ svn_subst_copy_and_translate(const char
/**
- * Convenience routine: a variant of svn_subst_translate_stream3() which
- * operates on cstrings.
+ * Set @a *dst to a copy of the string @a src, possibly performing line
+ * ending and keyword translations.
*
- * @since New in 1.3.
- *
- * Return a new string in @a *dst, allocated in @a pool, by copying the
- * contents of string @a src, possibly performing line ending and keyword
- * translations.
+ * This is a variant of svn_subst_translate_stream3() that operates on
+ * cstrings. @see svn_subst_stream_translated() for details of the
+ * translation and of @a eol_str, @a repair, @a keywords and @a expand.
*
* If @a eol_str and @a keywords are @c NULL, behavior is just a byte-for-byte
* copy.
+ *
+ * Allocate @a *dst in @a pool.
+ *
+ * @since New in 1.3.
*/
svn_error_t *
svn_subst_translate_cstring2(const char *src,
@@ -524,7 +528,7 @@ svn_subst_translate_cstring(const char *
apr_pool_t *pool);
/**
- * Translates a file @a src in working copy form to a file @a dst in
+ * Translate the file @a src in working copy form to a file @a dst in
* normal form.
*
* The values specified for @a eol_style, @a *eol_str, @a keywords and
@@ -588,20 +592,26 @@ svn_subst_stream_detranslated(svn_stream
/* EOL conversion and character encodings */
-/** Translate the data in @a value (assumed to be in encoded in charset
- * @a encoding) to UTF8 and LF line-endings. If @a encoding is @c NULL,
- * then assume that @a value is in the system-default language encoding.
- * Return the translated data in @a *new_value, allocated in @a pool.
+/** Translate the string @a value from character encoding @a encoding to
+ * UTF8, and also from its current line-ending style to LF line-endings. If
+ * @a encoding is @c NULL, translate from the system-default encoding.
+ *
+ * Recognized line endings are LF, CR, CRLF. If @a value has inconsistent
+ * line endings, return @c SVN_ERR_IO_INCONSISTENT_EOL.
+ *
+ * Set @a *new_value to the translated string, allocated in @a pool.
*/
svn_error_t *svn_subst_translate_string(svn_string_t **new_value,
const svn_string_t *value,
const char *encoding,
apr_pool_t *pool);
-/** Translate the data in @a value from UTF8 and LF line-endings into
- * native locale and native line-endings, or to the output locale if
- * @a for_output is TRUE. Return the translated data in @a
- * *new_value, allocated in @a pool.
+/** Translate the string @a value from UTF8 and LF line-endings into native
+ * character encoding and native line-endings. If @a for_output is TRUE,
+ * translate to the character encoding of the output locale, else to that of
+ * the default locale.
+ *
+ * Set @a *new_value to the translated string, allocated in @a pool.
*/
svn_error_t *svn_subst_detranslate_string(svn_string_t **new_value,
const svn_string_t *value,
Modified: subversion/branches/gpg-agent-password-store/subversion/include/svn_types.h
URL: http://svn.apache.org/viewvc/subversion/branches/gpg-agent-password-store/subversion/include/svn_types.h?rev=1041580&r1=1041579&r2=1041580&view=diff
==============================================================================
--- subversion/branches/gpg-agent-password-store/subversion/include/svn_types.h (original)
+++ subversion/branches/gpg-agent-password-store/subversion/include/svn_types.h Thu Dec 2 20:55:08 2010
@@ -132,12 +132,15 @@ void *
svn__apr_hash_index_val(const apr_hash_index_t *hi);
/** On Windows, APR_STATUS_IS_ENOTDIR includes several kinds of
- * invalid-pathname error but not this one, so we include it. */
-/* ### This fix should go into APR. */
+ * invalid-pathname error but not ERROR_INVALID_NAME, so we include it.
+ * We also include ERROR_DIRECTORY as that was not included in apr versions
+ * before 1.4.0 and this fix is not backported */
+/* ### These fixes should go into APR. */
#ifndef WIN32
#define SVN__APR_STATUS_IS_ENOTDIR(s) APR_STATUS_IS_ENOTDIR(s)
#else
#define SVN__APR_STATUS_IS_ENOTDIR(s) (APR_STATUS_IS_ENOTDIR(s) \
+ || ((s) == APR_OS_START_SYSERR + ERROR_DIRECTORY) \
|| ((s) == APR_OS_START_SYSERR + ERROR_INVALID_NAME))
#endif
@@ -178,13 +181,19 @@ svn_node_kind_to_word(svn_node_kind_t ki
svn_node_kind_t
svn_node_kind_from_word(const char *word);
-/** Generic three-state property to represent an unknown value for values that
- * are just like booleans. @since New in 1.7. */
+/** Generic three-state property to represent an unknown value for values
+ * that are just like booleans. The values have been set deliberately to
+ * make tristates disjoint from #svn_boolean_t.
+ *
+ * @note It is unsafe to use apr_pcalloc() to allocate these, since '0' is
+ * not a valid value.
+ *
+ * @since New in 1.7. */
typedef enum
{
- svn_tristate_unknown = 0,
- svn_tristate_false,
- svn_tristate_true
+ svn_tristate_false = 2,
+ svn_tristate_true,
+ svn_tristate_unknown
} svn_tristate_t;
/** Return a constant string "true", "false" or NULL representing the value of