You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2014/03/12 18:18:26 UTC
svn commit: r1576824 [5/7] - in /subversion/branches/fsfs-lock-many: ./
build/generator/ build/generator/templates/
subversion/bindings/ctypes-python/test/ subversion/bindings/javahl/native/
subversion/bindings/javahl/src/org/apache/subversion/javahl/t...
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/ssl_server_trust_providers.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/ssl_server_trust_providers.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/ssl_server_trust_providers.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/ssl_server_trust_providers.c Wed Mar 12 17:18:20 2014
@@ -24,7 +24,6 @@
#include <apr_pools.h>
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_auth.h"
#include "svn_error.h"
@@ -75,13 +74,57 @@ ssl_server_trust_file_first_credentials(
if (failstr)
SVN_ERR(svn_cstring_atoui(&last_failures, failstr->data));
- /* If the cert is trusted and there are no new failures, we
- * accept it by clearing all failures. */
if (trusted_cert &&
- svn_string_compare(this_cert, trusted_cert) &&
- (*failures & ~last_failures) == 0)
+ svn_string_compare(this_cert, trusted_cert))
{
- *failures = 0;
+ svn_boolean_t save_cert = FALSE;
+
+ /* If the cert is trusted and there are no new failures, we
+ * accept it by clearing all failures. */
+ if ((*failures & ~last_failures) == 0)
+ {
+ *failures = 0;
+ }
+
+ /* If the on-disk cert info is lacking new-in-1.9 human-readable
+ info, add the info now and save the cert. */
+ if (!svn_hash_gets(creds_hash, SVN_CONFIG_AUTHN_HOSTNAME_KEY))
+ {
+ svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_HOSTNAME_KEY,
+ svn_string_create(cert_info->hostname, pool));
+ save_cert = TRUE;
+ }
+ if (!svn_hash_gets(creds_hash, SVN_CONFIG_AUTHN_FINGERPRINT_KEY))
+ {
+ svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_FINGERPRINT_KEY,
+ svn_string_create(cert_info->fingerprint, pool));
+ save_cert = TRUE;
+ }
+ if (!svn_hash_gets(creds_hash, SVN_CONFIG_AUTHN_VALID_FROM_KEY))
+ {
+ svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_VALID_FROM_KEY,
+ svn_string_create(cert_info->valid_from, pool));
+ save_cert = TRUE;
+ }
+ if (!svn_hash_gets(creds_hash, SVN_CONFIG_AUTHN_VALID_UNTIL_KEY))
+ {
+ svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_VALID_UNTIL_KEY,
+ svn_string_create(cert_info->valid_until, pool));
+ save_cert = TRUE;
+ }
+ if (!svn_hash_gets(creds_hash, SVN_CONFIG_AUTHN_ISSUER_DN_KEY))
+ {
+ svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_ISSUER_DN_KEY,
+ svn_string_create(cert_info->issuer_dname, pool));
+ save_cert = TRUE;
+ }
+
+ if (save_cert)
+ SVN_ERR(svn_config_write_auth_data(creds_hash,
+ SVN_AUTH_CRED_SSL_SERVER_TRUST,
+ realmstring,
+ config_dir,
+ pool));
}
}
@@ -124,6 +167,16 @@ ssl_server_trust_file_save_credentials(s
svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_FAILURES_KEY,
svn_string_createf(pool, "%lu",
(unsigned long)creds->accepted_failures));
+ svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_HOSTNAME_KEY,
+ svn_string_create(cert_info->hostname, pool));
+ svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_FINGERPRINT_KEY,
+ svn_string_create(cert_info->fingerprint, pool));
+ svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_VALID_FROM_KEY,
+ svn_string_create(cert_info->valid_from, pool));
+ svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_VALID_UNTIL_KEY,
+ svn_string_create(cert_info->valid_until, pool));
+ svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_ISSUER_DN_KEY,
+ svn_string_create(cert_info->issuer_dname, pool));
SVN_ERR(svn_config_write_auth_data(creds_hash,
SVN_AUTH_CRED_SSL_SERVER_TRUST,
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/subst.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/subst.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/subst.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/subst.c Wed Mar 12 17:18:20 2014
@@ -33,7 +33,6 @@
#include <apr_file_io.h>
#include <apr_strings.h>
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_cmdline.h"
#include "svn_types.h"
@@ -48,6 +47,8 @@
#include "svn_pools.h"
#include "private/svn_io_private.h"
+#include "svn_private_config.h"
+
#include "private/svn_string_private.h"
#include "private/svn_eol_private.h"
@@ -1854,7 +1855,7 @@ read_handler_special(void *baton, char *
return svn_stream_read_full(btn->read_stream, buffer, len);
else
return svn_error_createf(APR_ENOENT, NULL,
- "Can't read special file: File '%s' not found",
+ _("Can't read special file: File '%s' not found"),
svn_dirent_local_style(btn->path, btn->pool));
}
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/temp_serializer.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/temp_serializer.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/temp_serializer.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/temp_serializer.c Wed Mar 12 17:18:20 2014
@@ -312,7 +312,7 @@ svn_temp_serializer__add_string(svn_temp
/* Store the offset at which the string data that will the appended.
* Write 0 for NULL pointers. Strings don't need special alignment. */
- store_current_end_pointer(context, (const void **)s);
+ store_current_end_pointer(context, (const void *const *)s);
/* append the string data */
if (string)
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/types.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/types.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/types.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/types.c Wed Mar 12 17:18:20 2014
@@ -24,12 +24,12 @@
#include <apr_pools.h>
#include <apr_uuid.h>
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_types.h"
#include "svn_error.h"
#include "svn_string.h"
#include "svn_props.h"
+#include "svn_private_config.h"
#include "private/svn_dep_compat.h"
#include "private/svn_string_private.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/username_providers.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/username_providers.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/username_providers.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/username_providers.c Wed Mar 12 17:18:20 2014
@@ -28,8 +28,6 @@
/*** Includes. ***/
#include <apr_pools.h>
-
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_auth.h"
#include "svn_error.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf.c Wed Mar 12 17:18:20 2014
@@ -32,13 +32,13 @@
#include <apr_xlate.h>
#include <apr_atomic.h>
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_string.h"
#include "svn_error.h"
#include "svn_pools.h"
#include "svn_ctype.h"
#include "svn_utf.h"
+#include "svn_private_config.h"
#include "win32_xlate.h"
#include "private/svn_utf_private.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf8proc.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf8proc.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf8proc.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf8proc.c Wed Mar 12 17:18:20 2014
@@ -31,7 +31,11 @@
#define UNUSED(x) ((void)(x))
#define UTF8PROC_INLINE
+/* Somehow utf8proc thinks it is nice to use strlen as an argument name,
+ while this function is already defined via apr.h */
+#define strlen svn__strlen_var
#include "utf8proc/utf8proc.c"
+#undef strlen
const char *svn_utf__utf8proc_version(void)
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/win32_crypto.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/win32_crypto.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/win32_crypto.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/win32_crypto.c Wed Mar 12 17:18:20 2014
@@ -32,8 +32,6 @@ typedef int win32_crypto__dummy;
#include <apr_pools.h>
#include <apr_base64.h>
-
-#include "svn_private_config.h"
#include "svn_auth.h"
#include "svn_error.h"
#include "svn_hash.h"
@@ -45,6 +43,8 @@ typedef int win32_crypto__dummy;
#include "auth.h"
#include "private/svn_auth_private.h"
+#include "svn_private_config.h"
+
#include <wincrypt.h>
Propchange: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Mar 12 17:18:20 2014
@@ -9,3 +9,5 @@ Release
libsvn_wc.def
wc-checks.h
wc-queries.h
+libsvn_wc.pc.in
+libsvn_wc.pc
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/adm_crawler.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/adm_crawler.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/adm_crawler.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/adm_crawler.c Wed Mar 12 17:18:20 2014
@@ -30,7 +30,6 @@
#include <apr_file_io.h>
#include <apr_hash.h>
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_types.h"
#include "svn_pools.h"
@@ -48,6 +47,8 @@
#include "workqueue.h"
#include "conflicts.h"
+#include "svn_private_config.h"
+
/* Helper for report_revisions_and_depths().
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/adm_files.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/adm_files.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/adm_files.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/adm_files.c Wed Mar 12 17:18:20 2014
@@ -32,7 +32,6 @@
#include <apr_file_io.h>
#include <apr_strings.h>
-#include "svn_private_config.h"
#include "svn_types.h"
#include "svn_error.h"
#include "svn_io.h"
@@ -45,6 +44,7 @@
#include "entries.h"
#include "lock.h"
+#include "svn_private_config.h"
#include "private/svn_wc_private.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/conflicts.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/conflicts.c Wed Mar 12 17:18:20 2014
@@ -32,7 +32,6 @@
#include <apr_hash.h>
#include <apr_errno.h>
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_types.h"
#include "svn_pools.h"
@@ -53,6 +52,8 @@
#include "private/svn_skel.h"
#include "private/svn_string_private.h"
+#include "svn_private_config.h"
+
/* --------------------------------------------------------------------
* Conflict skel management
*/
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/copy.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/copy.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/copy.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/copy.c Wed Mar 12 17:18:20 2014
@@ -28,8 +28,6 @@
/*** Includes. ***/
#include <string.h>
-
-#include "svn_private_config.h"
#include "svn_pools.h"
#include "svn_error.h"
#include "svn_dirent_uri.h"
@@ -41,6 +39,7 @@
#include "props.h"
#include "conflicts.h"
+#include "svn_private_config.h"
#include "private/svn_wc_private.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/deprecated.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/deprecated.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/deprecated.c Wed Mar 12 17:18:20 2014
@@ -28,7 +28,6 @@
#include <apr_md5.h>
-#include "svn_private_config.h"
#include "svn_wc.h"
#include "svn_subst.h"
#include "svn_pools.h"
@@ -48,6 +47,8 @@
#include "translate.h"
#include "workqueue.h"
+#include "svn_private_config.h"
+
/* baton for traversal_info_update */
struct traversal_info_update_baton
{
@@ -4787,15 +4788,6 @@ svn_wc_read_kind(svn_node_kind_t *kind,
TRUE /* show_deleted */,
show_hidden,
scratch_pool));
-
- /*if (db_kind == svn_node_dir)
- *kind = svn_node_dir;
- else if (db_kind == svn_node_file || db_kind == svn_node_symlink)
- *kind = svn_node_file;
- else
- *kind = svn_node_none;*/
-
- return SVN_NO_ERROR;
}
svn_wc_conflict_description2_t *
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/diff_editor.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/diff_editor.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/diff_editor.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/diff_editor.c Wed Mar 12 17:18:20 2014
@@ -57,7 +57,6 @@
#include <assert.h>
-#include "svn_private_config.h"
#include "svn_error.h"
#include "svn_pools.h"
#include "svn_dirent_uri.h"
@@ -77,6 +76,8 @@
#include "translate.h"
#include "diff.h"
+#include "svn_private_config.h"
+
/*-------------------------------------------------------------------------*/
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/diff_local.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/diff_local.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/diff_local.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/diff_local.c Wed Mar 12 17:18:20 2014
@@ -31,7 +31,6 @@
#include <apr_hash.h>
-#include "svn_private_config.h"
#include "svn_error.h"
#include "svn_pools.h"
#include "svn_dirent_uri.h"
@@ -46,6 +45,8 @@
#include "props.h"
#include "diff.h"
+#include "svn_private_config.h"
+
/*-------------------------------------------------------------------------*/
/* Baton containing the state of a directory
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/entries.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/entries.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/entries.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/entries.c Wed Mar 12 17:18:20 2014
@@ -26,7 +26,6 @@
#include <apr_strings.h>
-#include "svn_private_config.h"
#include "svn_error.h"
#include "svn_types.h"
#include "svn_time.h"
@@ -46,6 +45,7 @@
#include "wc_db.h"
#include "wc-queries.h" /* for STMT_* */
+#include "svn_private_config.h"
#include "private/svn_wc_private.h"
#include "private/svn_sqlite.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/externals.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/externals.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/externals.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/externals.c Wed Mar 12 17:18:20 2014
@@ -32,7 +32,6 @@
#include <apr_general.h>
#include <apr_uri.h>
-#include "svn_private_config.h"
#include "svn_dirent_uri.h"
#include "svn_path.h"
#include "svn_error.h"
@@ -54,6 +53,8 @@
#include "translate.h"
#include "workqueue.h"
#include "conflicts.h"
+
+#include "svn_private_config.h"
/** Externals **/
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/info.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/info.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/info.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/info.c Wed Mar 12 17:18:20 2014
@@ -21,7 +21,6 @@
* @endcopyright
*/
-#include "svn_private_config.h"
#include "svn_dirent_uri.h"
#include "svn_hash.h"
#include "svn_path.h"
@@ -30,6 +29,7 @@
#include "wc.h"
+#include "svn_private_config.h"
#include "private/svn_wc_private.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/lock.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/lock.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/lock.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/lock.c Wed Mar 12 17:18:20 2014
@@ -26,7 +26,6 @@
#include <apr_pools.h>
#include <apr_time.h>
-#include "svn_private_config.h"
#include "svn_pools.h"
#include "svn_dirent_uri.h"
#include "svn_path.h"
@@ -40,6 +39,7 @@
#include "props.h"
#include "wc_db.h"
+#include "svn_private_config.h"
#include "private/svn_wc_private.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/node.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/node.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/node.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/node.c Wed Mar 12 17:18:20 2014
@@ -38,7 +38,6 @@
#include <apr_pools.h>
#include <apr_time.h>
-#include "svn_private_config.h"
#include "svn_pools.h"
#include "svn_dirent_uri.h"
#include "svn_path.h"
@@ -50,6 +49,7 @@
#include "entries.h"
#include "wc_db.h"
+#include "svn_private_config.h"
#include "private/svn_wc_private.h"
@@ -744,133 +744,6 @@ svn_wc__node_get_pre_ng_status_data(svn_
}
svn_error_t *
-svn_wc__internal_node_get_schedule(svn_wc_schedule_t *schedule,
- svn_boolean_t *copied,
- svn_wc__db_t *db,
- const char *local_abspath,
- apr_pool_t *scratch_pool)
-{
- svn_wc__db_status_t status;
- svn_boolean_t op_root;
- svn_boolean_t have_base;
- svn_boolean_t have_work;
- svn_boolean_t have_more_work;
- const char *copyfrom_relpath;
-
- if (schedule)
- *schedule = svn_wc_schedule_normal;
- if (copied)
- *copied = FALSE;
-
- SVN_ERR(svn_wc__db_read_info(&status, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, ©from_relpath,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- &op_root, NULL, NULL,
- &have_base, &have_more_work, &have_work,
- db, local_abspath, scratch_pool, scratch_pool));
-
- switch (status)
- {
- case svn_wc__db_status_not_present:
- case svn_wc__db_status_server_excluded:
- case svn_wc__db_status_excluded:
- /* We used status normal in the entries world. */
- if (schedule)
- *schedule = svn_wc_schedule_normal;
- break;
- case svn_wc__db_status_normal:
- case svn_wc__db_status_incomplete:
- break;
-
- case svn_wc__db_status_deleted:
- {
- if (schedule)
- *schedule = svn_wc_schedule_delete;
-
- if (!copied)
- break;
-
- if (have_more_work || !have_base)
- *copied = TRUE;
- else
- {
- const char *work_del_abspath;
-
- /* Find out details of our deletion. */
- SVN_ERR(svn_wc__db_scan_deletion(NULL, NULL,
- &work_del_abspath, NULL,
- db, local_abspath,
- scratch_pool, scratch_pool));
-
- if (work_del_abspath)
- *copied = TRUE; /* Working deletion */
- }
- break;
- }
- case svn_wc__db_status_added:
- {
- if (!op_root)
- {
- if (copied)
- *copied = TRUE;
-
- if (schedule)
- *schedule = svn_wc_schedule_normal;
-
- break;
- }
-
- if (copied)
- *copied = (copyfrom_relpath != NULL);
-
- if (schedule)
- *schedule = svn_wc_schedule_add;
- else
- break;
-
- /* Check for replaced */
- if (have_base || have_more_work)
- {
- svn_wc__db_status_t below_working;
- SVN_ERR(svn_wc__db_info_below_working(&have_base, &have_work,
- &below_working,
- db, local_abspath,
- scratch_pool));
-
- /* If the node is not present or deleted (read: not present
- in working), then the node is not a replacement */
- if (below_working != svn_wc__db_status_not_present
- && below_working != svn_wc__db_status_deleted)
- {
- *schedule = svn_wc_schedule_replace;
- break;
- }
- }
- break;
- }
- default:
- SVN_ERR_MALFUNCTION();
- }
-
- return SVN_NO_ERROR;
-}
-
-svn_error_t *
-svn_wc__node_get_schedule(svn_wc_schedule_t *schedule,
- svn_boolean_t *copied,
- svn_wc_context_t *wc_ctx,
- const char *local_abspath,
- apr_pool_t *scratch_pool)
-{
- return svn_error_trace(
- svn_wc__internal_node_get_schedule(schedule,
- copied,
- wc_ctx->db,
- local_abspath,
- scratch_pool));
-}
-
-svn_error_t *
svn_wc__node_clear_dav_cache_recursive(svn_wc_context_t *wc_ctx,
const char *local_abspath,
apr_pool_t *scratch_pool)
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/old-and-busted.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/old-and-busted.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/old-and-busted.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/old-and-busted.c Wed Mar 12 17:18:20 2014
@@ -23,7 +23,6 @@
-#include "svn_private_config.h"
#include "svn_time.h"
#include "svn_xml.h"
#include "svn_dirent_uri.h"
@@ -38,6 +37,7 @@
#include "lock.h"
#include "private/svn_wc_private.h"
+#include "svn_private_config.h"
/* Within the (old) entries file, boolean values have a specific string
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/props.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/props.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/props.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/props.c Wed Mar 12 17:18:20 2014
@@ -33,7 +33,6 @@
#include <apr_strings.h>
#include <apr_general.h>
-#include "svn_private_config.h"
#include "svn_types.h"
#include "svn_string.h"
#include "svn_pools.h"
@@ -61,6 +60,8 @@
#include "workqueue.h"
#include "conflicts.h"
+#include "svn_private_config.h"
+
/* Forward declaration. */
static svn_error_t *
prop_conflict_from_skel(const svn_string_t **conflict_desc,
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/revert.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/revert.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/revert.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/revert.c Wed Mar 12 17:18:20 2014
@@ -29,7 +29,6 @@
#include <apr_pools.h>
#include <apr_tables.h>
-#include "svn_private_config.h"
#include "svn_types.h"
#include "svn_pools.h"
#include "svn_string.h"
@@ -44,6 +43,7 @@
#include "adm_files.h"
#include "workqueue.h"
+#include "svn_private_config.h"
#include "private/svn_io_private.h"
#include "private/svn_wc_private.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/status.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/status.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/status.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/status.c Wed Mar 12 17:18:20 2014
@@ -30,7 +30,6 @@
#include <apr_file_io.h>
#include <apr_hash.h>
-#include "svn_private_config.h"
#include "svn_pools.h"
#include "svn_types.h"
#include "svn_delta.h"
@@ -44,6 +43,8 @@
#include "svn_hash.h"
#include "svn_sorts.h"
+#include "svn_private_config.h"
+
#include "wc.h"
#include "props.h"
#include "entries.h"
@@ -92,7 +93,6 @@ struct edit_baton
/* The DB handle for managing the working copy state. */
svn_wc__db_t *db;
- svn_wc_context_t *wc_ctx;
/* The overall depth of this edit (a dir baton may override this).
*
@@ -386,10 +386,6 @@ assemble_status(svn_wc_status3_t **statu
enum svn_wc_status_kind prop_status = svn_wc_status_none;
- if (!info)
- SVN_ERR(svn_wc__db_read_single_info(&info, db, local_abspath,
- result_pool, scratch_pool));
-
if (!info->repos_relpath || !parent_repos_relpath)
switched_p = FALSE;
else
@@ -1136,11 +1132,16 @@ one_child_status(const struct walk_statu
* look up the kinds in the conflict ... just show all. */
if (! conflicted)
{
- /* Selected node, but not found */
- if (dirent == NULL)
- return SVN_NO_ERROR;
+ /* We have a node, but its not visible in the WC. It can be a marker
+ node (not present, (server) excluded), *or* it can be the explictly
+ passed target of the status walk operation that doesn't exist.
+
+ We only report the node when the caller explicitly as
+ */
+ if (dirent == NULL && strcmp(wb->target_abspath, local_abspath) != 0)
+ return SVN_NO_ERROR; /* Marker node */
- if (depth == svn_depth_files && dirent->kind == svn_node_dir)
+ if (depth == svn_depth_files && dirent && dirent->kind == svn_node_dir)
return SVN_NO_ERROR;
if (svn_wc_is_adm_dir(svn_dirent_basename(local_abspath, NULL),
@@ -2402,18 +2403,18 @@ close_edit(void *edit_baton,
if (eb->root_opened)
return SVN_NO_ERROR;
- SVN_ERR(svn_wc_walk_status(eb->wc_ctx,
- eb->target_abspath,
- eb->default_depth,
- eb->get_all,
- eb->no_ignore,
- FALSE,
- eb->ignores,
- eb->status_func,
- eb->status_baton,
- eb->cancel_func,
- eb->cancel_baton,
- pool));
+ SVN_ERR(svn_wc__internal_walk_status(eb->db,
+ eb->target_abspath,
+ eb->default_depth,
+ eb->get_all,
+ eb->no_ignore,
+ FALSE,
+ eb->ignores,
+ eb->status_func,
+ eb->status_baton,
+ eb->cancel_func,
+ eb->cancel_baton,
+ pool));
return SVN_NO_ERROR;
}
@@ -2456,7 +2457,6 @@ svn_wc__get_status_editor(const svn_delt
eb->default_depth = depth;
eb->target_revision = edit_revision;
eb->db = wc_ctx->db;
- eb->wc_ctx = wc_ctx;
eb->get_all = get_all;
eb->no_ignore = no_ignore;
eb->status_func = status_func;
@@ -2772,23 +2772,17 @@ internal_status(svn_wc_status3_t **statu
apr_pool_t *scratch_pool)
{
const svn_io_dirent2_t *dirent;
- svn_node_kind_t node_kind;
const char *parent_repos_relpath;
const char *parent_repos_root_url;
const char *parent_repos_uuid;
- svn_wc__db_status_t node_status;
- svn_boolean_t conflicted;
+ const struct svn_wc__db_info_t *info;
svn_boolean_t is_root = FALSE;
svn_error_t *err;
SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
- err = svn_wc__db_read_info(&node_status, &node_kind, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, &conflicted,
- NULL, NULL, NULL, NULL, NULL, NULL,
- db, local_abspath,
- scratch_pool, scratch_pool);
+ err = svn_wc__db_read_single_info(&info, db, local_abspath,
+ scratch_pool, scratch_pool);
if (err)
{
@@ -2796,10 +2790,7 @@ internal_status(svn_wc_status3_t **statu
return svn_error_trace(err);
svn_error_clear(err);
- node_kind = svn_node_unknown;
- /* Ensure conflicted is always set, but don't hide tree conflicts
- on 'hidden' nodes. */
- conflicted = FALSE;
+ info = NULL;
SVN_ERR(svn_io_stat_dirent2(&dirent, local_abspath, FALSE, TRUE,
scratch_pool, scratch_pool));
@@ -2808,18 +2799,15 @@ internal_status(svn_wc_status3_t **statu
SVN_ERR(stat_wc_dirent_case_sensitive(&dirent, db, local_abspath,
scratch_pool, scratch_pool));
- if (node_kind != svn_node_unknown
- && (node_status == svn_wc__db_status_not_present
- || node_status == svn_wc__db_status_server_excluded
- || node_status == svn_wc__db_status_excluded))
- {
- node_kind = svn_node_unknown;
- }
-
- if (node_kind == svn_node_unknown)
+ if (!info
+ || info->kind == svn_node_unknown
+ || info->status == svn_wc__db_status_not_present
+ || info->status == svn_wc__db_status_server_excluded
+ || info->status == svn_wc__db_status_excluded)
return svn_error_trace(assemble_unversioned(status,
db, local_abspath,
- dirent, conflicted,
+ dirent,
+ info ? info->conflicted : FALSE,
FALSE /* is_ignored */,
result_pool, scratch_pool));
@@ -2828,30 +2816,22 @@ internal_status(svn_wc_status3_t **statu
else
SVN_ERR(svn_wc__db_is_wcroot(&is_root, db, local_abspath, scratch_pool));
+ /* Even though passing parent_repos_* is not required, assemble_status needs
+ these values to determine if a node is switched */
if (!is_root)
{
- svn_wc__db_status_t parent_status;
const char *parent_abspath = svn_dirent_dirname(local_abspath,
scratch_pool);
- err = svn_wc__db_read_info(&parent_status, NULL, NULL,
- &parent_repos_relpath, &parent_repos_root_url,
- &parent_repos_uuid, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL,
- db, parent_abspath,
- result_pool, scratch_pool);
-
- if (err && (err->apr_err == SVN_ERR_WC_PATH_NOT_FOUND
- || SVN_WC__ERR_IS_NOT_CURRENT_WC(err)))
- {
- svn_error_clear(err);
- parent_repos_root_url = NULL;
- parent_repos_relpath = NULL;
- parent_repos_uuid = NULL;
- }
- else SVN_ERR(err);
+ SVN_ERR(svn_wc__db_read_info(NULL, NULL, NULL,
+ &parent_repos_relpath,
+ &parent_repos_root_url,
+ &parent_repos_uuid, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL,
+ db, parent_abspath,
+ result_pool, scratch_pool));
}
else
{
@@ -2864,7 +2844,7 @@ internal_status(svn_wc_status3_t **statu
parent_repos_root_url,
parent_repos_relpath,
parent_repos_uuid,
- NULL,
+ info,
dirent,
TRUE /* get_all */,
FALSE,
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/update_editor.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/update_editor.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/update_editor.c Wed Mar 12 17:18:20 2014
@@ -32,7 +32,6 @@
#include <apr_tables.h>
#include <apr_strings.h>
-#include "svn_private_config.h"
#include "svn_types.h"
#include "svn_pools.h"
#include "svn_hash.h"
@@ -41,6 +40,7 @@
#include "svn_path.h"
#include "svn_error.h"
#include "svn_io.h"
+#include "svn_private_config.h"
#include "svn_time.h"
#include "wc.h"
@@ -3914,13 +3914,13 @@ svn_wc__perform_file_merge(svn_skel_t **
const char *merge_left;
svn_boolean_t delete_left = FALSE;
const char *path_ext = "";
- const char *new_text_base_tmp_abspath;
+ const char *new_pristine_abspath;
enum svn_wc_merge_outcome_t merge_outcome = svn_wc_merge_unchanged;
svn_skel_t *work_item;
*work_items = NULL;
- SVN_ERR(svn_wc__db_pristine_get_path(&new_text_base_tmp_abspath,
+ SVN_ERR(svn_wc__db_pristine_get_path(&new_pristine_abspath,
db, wri_abspath, new_checksum,
scratch_pool, scratch_pool));
@@ -3973,7 +3973,7 @@ svn_wc__perform_file_merge(svn_skel_t **
&merge_outcome,
db,
merge_left,
- new_text_base_tmp_abspath,
+ new_pristine_abspath,
local_abspath,
wri_abspath,
oldrev_str, newrev_str, mine_str,
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/upgrade.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/upgrade.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/upgrade.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/upgrade.c Wed Mar 12 17:18:20 2014
@@ -23,7 +23,6 @@
#include <apr_pools.h>
-#include "svn_private_config.h"
#include "svn_types.h"
#include "svn_pools.h"
#include "svn_dirent_uri.h"
@@ -39,6 +38,7 @@
#include "wc-queries.h" /* for STMT_* */
#include "workqueue.h"
+#include "svn_private_config.h"
#include "private/svn_wc_private.h"
#include "private/svn_sqlite.h"
#include "private/svn_token.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc.h?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc.h (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc.h Wed Mar 12 17:18:20 2014
@@ -608,14 +608,6 @@ svn_wc__internal_remove_from_revision_co
void *cancel_baton,
apr_pool_t *scratch_pool);
-/* Library-internal version of svn_wc__node_get_schedule(). */
-svn_error_t *
-svn_wc__internal_node_get_schedule(svn_wc_schedule_t *schedule,
- svn_boolean_t *copied,
- svn_wc__db_t *db,
- const char *local_abspath,
- apr_pool_t *scratch_pool);
-
/* Internal version of svn_wc__node_get_origin() */
svn_error_t *
svn_wc__internal_get_origin(svn_boolean_t *is_copy,
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db.c Wed Mar 12 17:18:20 2014
@@ -7403,7 +7403,7 @@ db_op_set_base_depth(svn_wc__db_wcroot_t
if (affected_rows == 0)
return svn_error_createf(SVN_ERR_WC_PATH_NOT_FOUND, NULL,
- "The node '%s' is not a committed directory",
+ _("The node '%s' is not a committed directory"),
path_for_error_message(wcroot, local_relpath,
scratch_pool));
@@ -8691,7 +8691,7 @@ read_info(svn_wc__db_status_t *status,
if (err && err->apr_err != SVN_ERR_WC_PATH_NOT_FOUND)
err = svn_error_quick_wrap(err,
apr_psprintf(scratch_pool,
- "Error reading node '%s'",
+ _("Error reading node '%s'"),
local_relpath));
SVN_ERR(svn_error_compose_create(err, svn_sqlite__reset(stmt_info)));
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db_update_move.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db_update_move.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db_update_move.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db_update_move.c Wed Mar 12 17:18:20 2014
@@ -78,7 +78,6 @@
#include <assert.h>
-#include "svn_private_config.h"
#include "svn_checksum.h"
#include "svn_dirent_uri.h"
#include "svn_error.h"
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db_wcroot.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db_wcroot.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db_wcroot.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/wc_db_wcroot.c Wed Mar 12 17:18:20 2014
@@ -25,7 +25,6 @@
#include <assert.h>
-#include "svn_private_config.h"
#include "svn_dirent_uri.h"
#include "svn_hash.h"
#include "svn_path.h"
@@ -36,6 +35,8 @@
#include "wc_db_private.h"
#include "wc-queries.h"
+#include "svn_private_config.h"
+
/* ### Same values as wc_db.c */
#define SDB_FILE "wc.db"
#define UNKNOWN_WC_ID ((apr_int64_t) -1)
Modified: subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/reports/replay.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/reports/replay.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/reports/replay.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/reports/replay.c Wed Mar 12 17:18:20 2014
@@ -108,7 +108,7 @@ add_file_or_directory(const char *file_o
SVN_ERR(maybe_close_textdelta(eb));
- *added_baton = (void *)eb;
+ *added_baton = eb;
if (! copyfrom_path)
SVN_ERR(dav_svn__brigade_printf(eb->bb, eb->output,
@@ -135,7 +135,7 @@ open_file_or_directory(const char *file_
{
const char *qname = apr_xml_quote_string(pool, path, 1);
SVN_ERR(maybe_close_textdelta(eb));
- *opened_baton = (void *)eb;
+ *opened_baton = eb;
return dav_svn__brigade_printf(eb->bb, eb->output,
"<S:open-%s name=\"%s\" rev=\"%ld\"/>"
DEBUG_CR,
Modified: subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/repos.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/repos.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/repos.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/repos.c Wed Mar 12 17:18:20 2014
@@ -53,7 +53,6 @@
#include "mod_dav_svn.h"
#include "svn_ra.h" /* for SVN_RA_CAPABILITY_* */
#include "svn_dirent_uri.h"
-
#include "private/svn_log.h"
#include "private/svn_fspath.h"
#include "private/svn_repos_private.h"
Modified: subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/version.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/version.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/version.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/mod_dav_svn/version.c Wed Mar 12 17:18:20 2014
@@ -39,7 +39,6 @@
#include "svn_dav.h"
#include "svn_base64.h"
#include "svn_version.h"
-
#include "private/svn_repos_private.h"
#include "private/svn_subr_private.h"
#include "private/svn_dav_protocol.h"
Modified: subversion/branches/fsfs-lock-many/subversion/svn/auth-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/auth-cmd.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/auth-cmd.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/auth-cmd.c Wed Mar 12 17:18:20 2014
@@ -30,19 +30,6 @@
#include "svn_private_config.h"
-#ifdef SVN_HAVE_SERF
-#include <serf.h>
-
-/* Don't enable SSL cert pretty-printing on Windows yet because of a
- known issue in serf. See serf's r2314. Once this fix is part of a
- serf release, we'll want a SERF_VERSION_AT_LEAST() check here. */
-#ifndef WIN32
-#define SVN_AUTH_PRETTY_PRINT_SSL_CERTS
-#endif
-#else /* !SVN_HAVE_SERF */
-#undef SVN_AUTH_PRETTY_PRINT_SSL_CERTS
-#endif
-
#include "svn_private_config.h"
#include "svn_pools.h"
#include "svn_error.h"
@@ -65,246 +52,6 @@
#define SEP_STRING \
"------------------------------------------------------------------------\n"
-#ifdef SVN_AUTH_PRETTY_PRINT_SSL_CERTS
-/* Because APR hash order is unstable we use a token map of keys
- * to ensure values are always presented in the same order. */
-typedef enum svnauth__cert_info_keys {
- svnauth__cert_key_cn,
- svnauth__cert_key_e,
- svnauth__cert_key_ou,
- svnauth__cert_key_o,
- svnauth__cert_key_l,
- svnauth__cert_key_st,
- svnauth__cert_key_c,
- svnauth__cert_key_sha1,
- svnauth__cert_key_not_before,
- svnauth__cert_key_not_after,
-} svnauth__cert_info_keys;
-
-static svn_token_map_t cert_info_key_map[] = {
- { "CN", svnauth__cert_key_cn },
- { "E", svnauth__cert_key_e },
- { "OU", svnauth__cert_key_ou },
- { "O", svnauth__cert_key_o },
- { "L", svnauth__cert_key_l },
- { "ST", svnauth__cert_key_st },
- { "C", svnauth__cert_key_c },
- { "sha1", svnauth__cert_key_sha1 },
- { "notBefore", svnauth__cert_key_not_before },
- { "notAfter", svnauth__cert_key_not_after }
-};
-
-/* Show information stored in CERT_INFO.
- * Assume all hash table keys occur in the above key map. */
-static svn_error_t *
-show_cert_info(apr_hash_t *cert_info,
- apr_pool_t *scratch_pool)
-{
- int i;
-
- for (i = 0; i < sizeof(cert_info_key_map) / sizeof(svn_token_map_t); i++)
- {
- const char *key = cert_info_key_map[i].str;
- const char *value = svn_hash_gets(cert_info, key);
-
- if (value)
- {
- int token;
-
- token = svn_token__from_word(cert_info_key_map, key);
- switch (token)
- {
- case svnauth__cert_key_cn:
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _(" Common Name: %s\n"), value));
- break;
- case svnauth__cert_key_e:
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _(" Email Address: %s\n"), value));
- break;
- case svnauth__cert_key_o:
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _(" Organization Name: %s\n"),
- value));
- break;
- case svnauth__cert_key_ou:
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _(" Organizational Unit: %s\n"),
- value));
- break;
- case svnauth__cert_key_l:
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _(" Locality: %s\n"), value));
- break;
- case svnauth__cert_key_st:
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _(" State or Province: %s\n"),
- value));
- break;
- case svnauth__cert_key_c:
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _(" Country: %s\n"), value));
- break;
- case svnauth__cert_key_sha1:
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _(" SHA1 Fingerprint: %s\n"),
- value));
- break;
- case svnauth__cert_key_not_before:
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _(" Valid as of: %s\n"), value));
- break;
- case svnauth__cert_key_not_after:
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _(" Valid until: %s\n"), value));
- break;
- case SVN_TOKEN_UNKNOWN:
- default:
-#ifdef SVN_DEBUG
- SVN_ERR_MALFUNCTION();
-#endif
- break;
- }
- }
- }
-
- return SVN_NO_ERROR;
-}
-
-#define MAX_CERT_LINE_LEN 78
-
-/* Break ASCII_CERT into lines of at most MAX_CERT_LINE_LEN characters.
- * Otherwise, OpenSSL won't parse it due to the way it is invoked by serf. */
-static const char *
-split_ascii_cert(const char *ascii_cert,
- apr_pool_t *result_pool)
-{
- apr_array_header_t *lines;
- int i;
- apr_size_t cert_len, nlines;
- const char *p;
- svn_stringbuf_t *line;
-
- p = ascii_cert;
- cert_len = strlen(ascii_cert);
- nlines = cert_len / MAX_CERT_LINE_LEN;
- lines = apr_array_make(result_pool, 22, sizeof(const char *));
- for (i = 0; i < nlines; i++)
- {
- line = svn_stringbuf_create_ensure(MAX_CERT_LINE_LEN, result_pool);
- svn_stringbuf_appendbytes(line, p, MAX_CERT_LINE_LEN);
- p += MAX_CERT_LINE_LEN;
- APR_ARRAY_PUSH(lines, const char *) = line->data;
- }
- if (*p)
- {
- line = svn_stringbuf_create_ensure(MAX_CERT_LINE_LEN, result_pool);
- while (*p)
- svn_stringbuf_appendbyte(line, *p++);
- APR_ARRAY_PUSH(lines, const char *) = line->data;
- }
-
- return svn_cstring_join(lines, "\n", result_pool);
-}
-
-static svn_error_t *
-load_cert(serf_ssl_certificate_t **cert,
- const char *ascii_cert,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool)
-{
- apr_file_t *pem_file;
- const char *pem_path;
- const char *pem;
- apr_size_t pem_len;
- apr_size_t written;
- apr_status_t status;
-
- SVN_ERR(svn_io_open_unique_file3(&pem_file, &pem_path, NULL,
- svn_io_file_del_on_pool_cleanup,
- scratch_pool, scratch_pool));
- pem = apr_psprintf(scratch_pool, "%s%s%s",
- "-----BEGIN CERTIFICATE-----\n",
- split_ascii_cert(ascii_cert, scratch_pool),
- "-----END CERTIFICATE-----\n");
- pem_len = strlen(pem);
- SVN_ERR(svn_io_file_write_full(pem_file, pem, pem_len, &written,
- scratch_pool));
- if (written != pem_len)
- {
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _("Base64-encoded certificate: %s\n"),
- ascii_cert));
- return SVN_NO_ERROR;
- }
- SVN_ERR(svn_io_file_flush_to_disk(pem_file, scratch_pool));
-
- status = serf_ssl_load_cert_file(cert, pem_path, result_pool);
- if (status)
- {
- svn_error_t *err;
-
- err = svn_error_wrap_apr(status, _("serf error: %s"),
- serf_error_string(status));
- svn_handle_warning2(stderr, err, "svn: ");
- svn_error_clear(err);
-
- *cert = NULL;
- return SVN_NO_ERROR;
- }
-
- return SVN_NO_ERROR;
-}
-#endif
-
-/* Display the base64-encoded DER certificate ASCII_CERT. */
-static svn_error_t *
-show_ascii_cert(const char *ascii_cert,
- apr_pool_t *scratch_pool)
-{
-#ifdef SVN_AUTH_PRETTY_PRINT_SSL_CERTS
- serf_ssl_certificate_t *cert;
- apr_hash_t *cert_info;
-
- SVN_ERR(load_cert(&cert, ascii_cert, scratch_pool, scratch_pool));
-
- if (cert == NULL)
- {
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _("Base64-encoded certificate: %s\n"),
- ascii_cert));
- return SVN_NO_ERROR;
- }
-
- cert_info = serf_ssl_cert_issuer(cert, scratch_pool);
- if (cert_info && apr_hash_count(cert_info) > 0)
- {
- SVN_ERR(svn_cmdline_printf(scratch_pool, _("Certificate issuer:\n")));
- SVN_ERR(show_cert_info(cert_info, scratch_pool));
- }
-
- cert_info = serf_ssl_cert_subject(cert, scratch_pool);
- if (cert_info && apr_hash_count(cert_info) > 0)
- {
- SVN_ERR(svn_cmdline_printf(scratch_pool, _("Certificate subject:\n")));
- SVN_ERR(show_cert_info(cert_info, scratch_pool));
- }
-
- cert_info = serf_ssl_cert_certificate(cert, scratch_pool);
- if (cert_info && apr_hash_count(cert_info) > 0)
- {
- SVN_ERR(svn_cmdline_printf(scratch_pool, _("Certificate validity:\n")));
- SVN_ERR(show_cert_info(cert_info, scratch_pool));
- }
-#else
- SVN_ERR(svn_cmdline_printf(scratch_pool,
- _("Base64-encoded certificate: %s\n"),
- ascii_cert));
-#endif /* SVN_AUTH_PRETTY_PRINT_SSL_CERTS */
-
- return SVN_NO_ERROR;
-}
-
static svn_error_t *
show_cert_failures(const char *failure_string,
apr_pool_t *scratch_pool)
@@ -357,85 +104,12 @@ struct walk_credentials_baton_t
static svn_boolean_t
match_pattern(const char *pattern, const char *value,
- apr_pool_t *scratch_pool)
+ svn_boolean_t caseblind, apr_pool_t *scratch_pool)
{
const char *p = apr_psprintf(scratch_pool, "*%s*", pattern);
+ int flags = (caseblind ? APR_FNM_CASE_BLIND : 0);
- return (apr_fnmatch(p, value, 0) == APR_SUCCESS);
-}
-
-#ifdef SVN_AUTH_PRETTY_PRINT_SSL_CERTS
-static svn_error_t *
-match_cert_info(svn_boolean_t *match,
- const char *pattern,
- apr_hash_t *cert_info,
- apr_pool_t *scratch_pool)
-{
- int i;
- apr_pool_t *iterpool;
-
- *match = FALSE;
- iterpool = svn_pool_create(scratch_pool);
- for (i = 0; i < sizeof(cert_info_key_map) / sizeof(svn_token_map_t); i++)
- {
- const char *key = cert_info_key_map[i].str;
- const char *value = svn_hash_gets(cert_info, key);
-
- svn_pool_clear(iterpool);
- if (value)
- *match = match_pattern(pattern, value, iterpool);
- if (*match)
- break;
- }
- svn_pool_destroy(iterpool);
-
- return SVN_NO_ERROR;
-}
-#endif
-
-
-static svn_error_t *
-match_ascii_cert(svn_boolean_t *match,
- const char *pattern,
- const char *ascii_cert,
- apr_pool_t *scratch_pool)
-{
-#ifdef SVN_AUTH_PRETTY_PRINT_SSL_CERTS
- serf_ssl_certificate_t *cert;
- apr_hash_t *cert_info;
-
- *match = FALSE;
-
- SVN_ERR(load_cert(&cert, ascii_cert, scratch_pool, scratch_pool));
-
- cert_info = serf_ssl_cert_issuer(cert, scratch_pool);
- if (cert_info && apr_hash_count(cert_info) > 0)
- {
- SVN_ERR(match_cert_info(match, pattern, cert_info, scratch_pool));
- if (*match)
- return SVN_NO_ERROR;
- }
-
- cert_info = serf_ssl_cert_subject(cert, scratch_pool);
- if (cert_info && apr_hash_count(cert_info) > 0)
- {
- SVN_ERR(match_cert_info(match, pattern, cert_info, scratch_pool));
- if (*match)
- return SVN_NO_ERROR;
- }
-
- cert_info = serf_ssl_cert_certificate(cert, scratch_pool);
- if (cert_info && apr_hash_count(cert_info) > 0)
- {
- SVN_ERR(match_cert_info(match, pattern, cert_info, scratch_pool));
- if (*match)
- return SVN_NO_ERROR;
- }
-#else
- *match = FALSE;
-#endif
-
- return SVN_NO_ERROR;
+ return (apr_fnmatch(p, value, flags) == APR_SUCCESS);
}
static svn_error_t *
@@ -456,9 +130,9 @@ match_credential(svn_boolean_t *match,
const char *pattern = APR_ARRAY_IDX(patterns, i, const char *);
int j;
- *match = match_pattern(pattern, cred_kind, iterpool);
+ *match = match_pattern(pattern, cred_kind, FALSE, iterpool);
if (!*match)
- *match = match_pattern(pattern, realmstring, iterpool);
+ *match = match_pattern(pattern, realmstring, FALSE, iterpool);
if (!*match)
{
svn_pool_clear(iterpool);
@@ -475,10 +149,12 @@ match_credential(svn_boolean_t *match,
strcmp(key, SVN_CONFIG_AUTHN_PASSPHRASE_KEY) == 0)
continue; /* don't match secrets */
else if (strcmp(key, SVN_CONFIG_AUTHN_ASCII_CERT_KEY) == 0)
- SVN_ERR(match_ascii_cert(match, pattern, value->data,
- iterpool));
+ continue; /* don't match base64 data */
+ else if (strcmp(key, SVN_CONFIG_AUTHN_HOSTNAME_KEY) == 0 ||
+ strcmp(key, SVN_CONFIG_AUTHN_FINGERPRINT_KEY) == 0)
+ *match = match_pattern(pattern, value->data, TRUE, iterpool);
else
- *match = match_pattern(pattern, value->data, iterpool);
+ *match = match_pattern(pattern, value->data, FALSE, iterpool);
if (*match)
break;
@@ -542,7 +218,20 @@ list_credential(const char *cred_kind,
else if (strcmp(key, SVN_CONFIG_AUTHN_USERNAME_KEY) == 0)
SVN_ERR(svn_cmdline_printf(iterpool, _("Username: %s\n"), value->data));
else if (strcmp(key, SVN_CONFIG_AUTHN_ASCII_CERT_KEY) == 0)
- SVN_ERR(show_ascii_cert(value->data, iterpool));
+ continue; /* don't show data which is not human-readable */
+ else if (strcmp(key, SVN_CONFIG_AUTHN_HOSTNAME_KEY) == 0)
+ SVN_ERR(svn_cmdline_printf(iterpool, _("Hostname: %s\n"), value->data));
+ else if (strcmp(key, SVN_CONFIG_AUTHN_VALID_FROM_KEY) == 0)
+ SVN_ERR(svn_cmdline_printf(iterpool, _("Valid from: %s\n"),
+ value->data));
+ else if (strcmp(key, SVN_CONFIG_AUTHN_VALID_UNTIL_KEY) == 0)
+ SVN_ERR(svn_cmdline_printf(iterpool, _("Valid until: %s\n"),
+ value->data));
+ else if (strcmp(key, SVN_CONFIG_AUTHN_ISSUER_DN_KEY) == 0)
+ SVN_ERR(svn_cmdline_printf(iterpool, _("Issuer: %s\n"), value->data));
+ else if (strcmp(key, SVN_CONFIG_AUTHN_FINGERPRINT_KEY) == 0)
+ SVN_ERR(svn_cmdline_printf(iterpool, _("Fingerprint: %s\n"),
+ value->data));
else if (strcmp(key, SVN_CONFIG_AUTHN_FAILURES_KEY) == 0)
SVN_ERR(show_cert_failures(value->data, iterpool));
else
Modified: subversion/branches/fsfs-lock-many/subversion/svn/cl-conflicts.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/cl-conflicts.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/cl-conflicts.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/cl-conflicts.c Wed Mar 12 17:18:20 2014
@@ -21,7 +21,6 @@
* ====================================================================
*/
-#include "svn_private_config.h"
#include "cl-conflicts.h"
#include "svn_hash.h"
#include "svn_xml.h"
@@ -31,6 +30,9 @@
#include "cl.h"
+#include "svn_private_config.h"
+
+
/* A map for svn_wc_conflict_action_t values to XML strings */
static const svn_token_map_t map_conflict_action_xml[] =
{
Modified: subversion/branches/fsfs-lock-many/subversion/svn/commit-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/commit-cmd.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/commit-cmd.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/commit-cmd.c Wed Mar 12 17:18:20 2014
@@ -29,7 +29,6 @@
#include <apr_general.h>
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_error.h"
#include "svn_error_codes.h"
@@ -41,6 +40,8 @@
#include "svn_config.h"
#include "cl.h"
+#include "svn_private_config.h"
+
/* Wrapper notify_func2 function and baton for warning about
Modified: subversion/branches/fsfs-lock-many/subversion/svn/conflict-callbacks.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/conflict-callbacks.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/conflict-callbacks.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/conflict-callbacks.c Wed Mar 12 17:18:20 2014
@@ -27,7 +27,6 @@
#define APR_WANT_STRFUNC
#include <apr_want.h>
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_cmdline.h"
#include "svn_client.h"
@@ -42,6 +41,8 @@
#include "private/svn_cmdline_private.h"
+#include "svn_private_config.h"
+
#define ARRAY_LEN(ary) ((sizeof (ary)) / (sizeof ((ary)[0])))
@@ -325,22 +326,14 @@ open_editor(svn_boolean_t *performed_edi
{
err = svn_cmdline__edit_file_externally(merged_file, b->editor_cmd,
b->config, pool);
- if (err && (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_EDITOR))
- {
- svn_error_t *root_err = svn_error_root_cause(err);
-
- SVN_ERR(svn_cmdline_fprintf(stderr, pool, "%s\n",
- root_err->message ? root_err->message :
- _("No editor found.")));
- svn_error_clear(err);
- }
- else if (err && (err->apr_err == SVN_ERR_EXTERNAL_PROGRAM))
+ if (err && (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_EDITOR ||
+ err->apr_err == SVN_ERR_EXTERNAL_PROGRAM))
{
- svn_error_t *root_err = svn_error_root_cause(err);
+ char buf[1024];
+ const char *message;
- SVN_ERR(svn_cmdline_fprintf(stderr, pool, "%s\n",
- root_err->message ? root_err->message :
- _("Error running editor.")));
+ message = svn_err_best_message(err, buf, sizeof(buf));
+ SVN_ERR(svn_cmdline_fprintf(stderr, pool, "%s\n", message));
svn_error_clear(err);
}
else if (err)
@@ -821,12 +814,24 @@ handle_text_conflict(svn_wc_conflict_res
err = launch_resolver(&performed_edit, desc, b, iterpool);
if (err)
{
- if (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_MERGE_TOOL ||
- err->apr_err == SVN_ERR_EXTERNAL_PROGRAM)
+ if (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_MERGE_TOOL)
{
/* Try the internal merge tool. */
svn_error_clear(err);
}
+ else if (err->apr_err == SVN_ERR_EXTERNAL_PROGRAM)
+ {
+ char buf[1024];
+ const char *message;
+
+ message = svn_err_best_message(err, buf, sizeof(buf));
+ SVN_ERR(svn_cmdline_fprintf(stderr, iterpool,
+ "%s\n", message));
+ SVN_ERR(svn_cmdline_fputs(_("Falling back to internal "
+ "merge tool.\n"), stderr,
+ iterpool));
+ svn_error_clear(err);
+ }
else
return svn_error_trace(err);
}
@@ -873,22 +878,16 @@ handle_text_conflict(svn_wc_conflict_res
desc->my_abspath && desc->merged_file)
{
svn_error_t *err;
+ char buf[1024];
+ const char *message;
err = launch_resolver(&performed_edit, desc, b, iterpool);
- if (err && err->apr_err == SVN_ERR_CL_NO_EXTERNAL_MERGE_TOOL)
- {
- SVN_ERR(svn_cmdline_fprintf(stderr, iterpool, "%s\n",
- err->message ? err->message :
- _("No merge tool found, "
- "try '(m) merge' instead.\n")));
- svn_error_clear(err);
- }
- else if (err && err->apr_err == SVN_ERR_EXTERNAL_PROGRAM)
+ if (err && (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_MERGE_TOOL ||
+ err->apr_err == SVN_ERR_EXTERNAL_PROGRAM))
{
+ message = svn_err_best_message(err, buf, sizeof(buf));
SVN_ERR(svn_cmdline_fprintf(stderr, iterpool, "%s\n",
- err->message ? err->message :
- _("Error running merge tool, "
- "try '(m) merge' instead.")));
+ message));
svn_error_clear(err);
}
else if (err)
@@ -1220,21 +1219,15 @@ conflict_func_interactive(svn_wc_conflic
err = svn_cmdline__edit_file_externally(desc->merged_file,
b->editor_cmd, b->config,
scratch_pool);
- if (err && (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_EDITOR))
- {
- SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, "%s\n",
- err->message ? err->message :
- _("No editor found;"
- " leaving all conflicts.")));
- svn_error_clear(err);
- b->external_failed = TRUE;
- }
- else if (err && (err->apr_err == SVN_ERR_EXTERNAL_PROGRAM))
+ if (err && (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_EDITOR ||
+ err->apr_err == SVN_ERR_EXTERNAL_PROGRAM))
{
+ char buf[1024];
+ const char *message;
+
+ message = svn_err_best_message(err, buf, sizeof(buf));
SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, "%s\n",
- err->message ? err->message :
- _("Error running editor;"
- " leaving all conflicts.")));
+ message));
svn_error_clear(err);
b->external_failed = TRUE;
}
@@ -1265,21 +1258,15 @@ conflict_func_interactive(svn_wc_conflic
b->config,
&remains_in_conflict,
scratch_pool);
- if (err && err->apr_err == SVN_ERR_CL_NO_EXTERNAL_MERGE_TOOL)
- {
- SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, "%s\n",
- err->message ? err->message :
- _("No merge tool found;"
- " leaving all conflicts.")));
- b->external_failed = TRUE;
- return svn_error_trace(err);
- }
- else if (err && err->apr_err == SVN_ERR_EXTERNAL_PROGRAM)
+ if (err && (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_MERGE_TOOL ||
+ err->apr_err == SVN_ERR_EXTERNAL_PROGRAM))
{
+ char buf[1024];
+ const char *message;
+
+ message = svn_err_best_message(err, buf, sizeof(buf));
SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, "%s\n",
- err->message ? err->message :
- _("Error running merge tool;"
- " leaving all conflicts.")));
+ message));
b->external_failed = TRUE;
return svn_error_trace(err);
}
Modified: subversion/branches/fsfs-lock-many/subversion/svn/diff-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/diff-cmd.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/diff-cmd.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/diff-cmd.c Wed Mar 12 17:18:20 2014
@@ -27,7 +27,6 @@
/*** Includes. ***/
-#include "svn_private_config.h"
#include "svn_pools.h"
#include "svn_client.h"
#include "svn_string.h"
@@ -41,6 +40,8 @@
#include "svn_hash.h"
#include "cl.h"
+#include "svn_private_config.h"
+
/*** Code. ***/
Modified: subversion/branches/fsfs-lock-many/subversion/svn/help-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/help-cmd.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/help-cmd.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/help-cmd.c Wed Mar 12 17:18:20 2014
@@ -27,7 +27,6 @@
/*** Includes. ***/
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_string.h"
#include "svn_config.h"
@@ -35,6 +34,8 @@
#include "svn_error.h"
#include "cl.h"
+#include "svn_private_config.h"
+
/*** Code. ***/
Modified: subversion/branches/fsfs-lock-many/subversion/svn/notify.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/notify.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/notify.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/notify.c Wed Mar 12 17:18:20 2014
@@ -31,7 +31,6 @@
#define APR_WANT_STRFUNC
#include <apr_want.h>
-#include "svn_private_config.h"
#include "svn_cmdline.h"
#include "svn_pools.h"
#include "svn_dirent_uri.h"
@@ -42,6 +41,8 @@
#include "private/svn_subr_private.h"
#include "private/svn_dep_compat.h"
+#include "svn_private_config.h"
+
/* Baton for notify and friends. */
struct notify_baton
@@ -301,20 +302,20 @@ notify(void *baton, const svn_wc_notify_
nb->received_some_change = TRUE;
if (n->err && n->err->message)
{
- if ((err = svn_cmdline_printf(pool, "Removed external '%s': %s\n",
+ if ((err = svn_cmdline_printf(pool, _("Removed external '%s': %s\n"),
path_local, n->err->message)))
goto print_error;
}
else
{
- if ((err = svn_cmdline_printf(pool, "Removed external '%s'\n",
+ if ((err = svn_cmdline_printf(pool, _("Removed external '%s'\n"),
path_local)))
goto print_error;
}
break;
case svn_wc_notify_left_local_modifications:
- if ((err = svn_cmdline_printf(pool, "Left local modifications as '%s'\n",
+ if ((err = svn_cmdline_printf(pool, _("Left local modifications as '%s'\n"),
path_local)))
goto print_error;
break;
Modified: subversion/branches/fsfs-lock-many/subversion/svn/propedit-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/propedit-cmd.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/propedit-cmd.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/propedit-cmd.c Wed Mar 12 17:18:20 2014
@@ -27,7 +27,6 @@
/*** Includes. ***/
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_cmdline.h"
#include "svn_wc.h"
@@ -42,6 +41,7 @@
#include "cl.h"
#include "private/svn_cmdline_private.h"
+#include "svn_private_config.h"
/*** Code. ***/
Modified: subversion/branches/fsfs-lock-many/subversion/svn/propget-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/propget-cmd.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/propget-cmd.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/propget-cmd.c Wed Mar 12 17:18:20 2014
@@ -27,7 +27,6 @@
/*** Includes. ***/
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_cmdline.h"
#include "svn_pools.h"
@@ -46,6 +45,8 @@
#include "private/svn_cmdline_private.h"
#include "private/svn_sorts_private.h"
+#include "svn_private_config.h"
+
/*** Code. ***/
Modified: subversion/branches/fsfs-lock-many/subversion/svn/props.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/props.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/props.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/props.c Wed Mar 12 17:18:20 2014
@@ -30,8 +30,6 @@
#include <stdlib.h>
#include <apr_hash.h>
-
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_cmdline.h"
#include "svn_string.h"
@@ -48,6 +46,7 @@
#include "private/svn_string_private.h"
#include "private/svn_cmdline_private.h"
+#include "svn_private_config.h"
svn_error_t *
Modified: subversion/branches/fsfs-lock-many/subversion/svn/status-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/status-cmd.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/status-cmd.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/status-cmd.c Wed Mar 12 17:18:20 2014
@@ -27,7 +27,6 @@
/*** Includes. ***/
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_string.h"
#include "svn_wc.h"
@@ -41,6 +40,7 @@
#include "svn_cmdline.h"
#include "cl.h"
+#include "svn_private_config.h"
#include "private/svn_wc_private.h"
Modified: subversion/branches/fsfs-lock-many/subversion/svn/status.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/status.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/status.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/status.c Wed Mar 12 17:18:20 2014
@@ -26,8 +26,6 @@
/*** Includes. ***/
-
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_cmdline.h"
#include "svn_wc.h"
@@ -35,6 +33,7 @@
#include "svn_xml.h"
#include "svn_time.h"
#include "cl.h"
+#include "svn_private_config.h"
#include "cl-conflicts.h"
#include "private/svn_wc_private.h"
Modified: subversion/branches/fsfs-lock-many/subversion/svn/svn.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/svn.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/svn.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/svn.c Wed Mar 12 17:18:20 2014
@@ -35,7 +35,6 @@
#include <apr_general.h>
#include <apr_signal.h>
-#include "svn_private_config.h"
#include "svn_cmdline.h"
#include "svn_pools.h"
#include "svn_wc.h"
@@ -58,6 +57,8 @@
#include "private/svn_opt_private.h"
#include "private/svn_cmdline_private.h"
+#include "svn_private_config.h"
+
/*** Option Processing ***/
Modified: subversion/branches/fsfs-lock-many/subversion/svn/util.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/util.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/util.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/util.c Wed Mar 12 17:18:20 2014
@@ -41,7 +41,6 @@
#include <apr_general.h>
#include <apr_lib.h>
-#include "svn_private_config.h"
#include "svn_pools.h"
#include "svn_error.h"
#include "svn_ctype.h"
@@ -59,6 +58,7 @@
#include "svn_xml.h"
#include "svn_time.h"
#include "svn_props.h"
+#include "svn_private_config.h"
#include "cl.h"
#include "private/svn_token.h"
@@ -164,9 +164,9 @@ svn_cl__merge_file_externally(const char
* is OK to continue with the merge.
* Any other exit code means there was a real problem. */
if (exitcode != 0 && exitcode != 1)
- return svn_error_createf
- (SVN_ERR_EXTERNAL_PROGRAM, NULL,
- _("The external merge tool exited with exit code %d"), exitcode);
+ return svn_error_createf(SVN_ERR_EXTERNAL_PROGRAM, NULL,
+ _("The external merge tool '%s' exited with exit code %d."),
+ merge_tool, exitcode);
else if (remains_in_conflict)
*remains_in_conflict = exitcode == 1;
}
Modified: subversion/branches/fsfs-lock-many/subversion/svnadmin/svnadmin.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svnadmin/svnadmin.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svnadmin/svnadmin.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svnadmin/svnadmin.c Wed Mar 12 17:18:20 2014
@@ -25,7 +25,6 @@
#include <apr_file_io.h>
#include <apr_signal.h>
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_pools.h"
#include "svn_cmdline.h"
@@ -50,6 +49,8 @@
#include "private/svn_sorts_private.h"
#include "private/svn_subr_private.h"
+#include "svn_private_config.h"
+
/*** Code. ***/
@@ -543,7 +544,7 @@ struct svnadmin_opt_state
enum svn_repos_load_uuid uuid_action; /* --ignore-uuid,
--force-uuid */
apr_uint64_t memory_cache_size; /* --memory-cache-size M */
- const char *parent_dir;
+ const char *parent_dir; /* --parent-dir */
svn_stringbuf_t *filedata; /* --file */
const char *config_dir; /* Overriding Configuration Directory */
Modified: subversion/branches/fsfs-lock-many/subversion/svnlook/svnlook.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svnlook/svnlook.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svnlook/svnlook.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svnlook/svnlook.c Wed Mar 12 17:18:20 2014
@@ -34,7 +34,6 @@
#define APR_WANT_STRFUNC
#include <apr_want.h>
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_cmdline.h"
#include "svn_types.h"
@@ -61,6 +60,8 @@
#include "private/svn_io_private.h"
#include "private/svn_sorts_private.h"
+#include "svn_private_config.h"
+
/*** Some convenience macros and types. ***/
Modified: subversion/branches/fsfs-lock-many/subversion/svnrdump/dump_editor.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svnrdump/dump_editor.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svnrdump/dump_editor.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svnrdump/dump_editor.c Wed Mar 12 17:18:20 2014
@@ -22,7 +22,6 @@
* ====================================================================
*/
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_pools.h"
#include "svn_repos.h"
Modified: subversion/branches/fsfs-lock-many/subversion/svnrdump/svnrdump.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svnrdump/svnrdump.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svnrdump/svnrdump.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svnrdump/svnrdump.c Wed Mar 12 17:18:20 2014
@@ -25,7 +25,6 @@
#include <apr_signal.h>
#include <apr_uri.h>
-#include "svn_private_config.h"
#include "svn_pools.h"
#include "svn_cmdline.h"
#include "svn_client.h"
@@ -34,6 +33,7 @@
#include "svn_repos.h"
#include "svn_path.h"
#include "svn_utf.h"
+#include "svn_private_config.h"
#include "svn_string.h"
#include "svn_props.h"
@@ -42,6 +42,7 @@
#include "private/svn_cmdline_private.h"
#include "private/svn_ra_private.h"
+
/*** Cancellation ***/
Modified: subversion/branches/fsfs-lock-many/subversion/svnrdump/util.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svnrdump/util.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svnrdump/util.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svnrdump/util.c Wed Mar 12 17:18:20 2014
@@ -21,7 +21,6 @@
* ====================================================================
*/
-#include "svn_private_config.h"
#include "svn_error.h"
#include "svn_pools.h"
#include "svn_string.h"
Modified: subversion/branches/fsfs-lock-many/subversion/svnserve/serve.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svnserve/serve.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svnserve/serve.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svnserve/serve.c Wed Mar 12 17:18:20 2014
@@ -33,8 +33,8 @@
#include <apr_lib.h>
#include <apr_strings.h>
-#include "svn_private_config.h"
#include "svn_compat.h"
+#include "svn_private_config.h" /* For SVN_PATH_LOCAL_SEPARATOR */
#include "svn_hash.h"
#include "svn_types.h"
#include "svn_string.h"
Modified: subversion/branches/fsfs-lock-many/subversion/svnserve/svnserve.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svnserve/svnserve.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svnserve/svnserve.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svnserve/svnserve.c Wed Mar 12 17:18:20 2014
@@ -534,7 +534,7 @@ static svn_root_pools__t *connection_poo
static apr_thread_pool_t *threads;
/* Very simple load determination callback for serve_interruptable:
- With less than have the threads in THREADS in use, we can afford to
+ With less than half the threads in THREADS in use, we can afford to
wait in the socket read() function. Otherwise, poll them round-robin. */
static svn_boolean_t
is_busy(connection_t *connection)
Modified: subversion/branches/fsfs-lock-many/subversion/svnsync/svnsync.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svnsync/svnsync.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svnsync/svnsync.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svnsync/svnsync.c Wed Mar 12 17:18:20 2014
@@ -19,7 +19,6 @@
* ====================================================================
*/
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_cmdline.h"
#include "svn_config.h"
@@ -42,6 +41,8 @@
#include "sync.h"
+#include "svn_private_config.h"
+
#include <apr_signal.h>
#include <apr_uuid.h>
Modified: subversion/branches/fsfs-lock-many/subversion/svnsync/sync.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svnsync/sync.c?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svnsync/sync.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svnsync/sync.c Wed Mar 12 17:18:20 2014
@@ -19,7 +19,6 @@
* ====================================================================
*/
-#include "svn_private_config.h"
#include "svn_hash.h"
#include "svn_cmdline.h"
#include "svn_config.h"
@@ -37,6 +36,8 @@
#include "sync.h"
+#include "svn_private_config.h"
+
#include <apr_network_io.h>
#include <apr_signal.h>
#include <apr_uuid.h>
Modified: subversion/branches/fsfs-lock-many/subversion/tests/cmdline/authz_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/tests/cmdline/authz_tests.py?rev=1576824&r1=1576823&r2=1576824&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/tests/cmdline/authz_tests.py (original)
+++ subversion/branches/fsfs-lock-many/subversion/tests/cmdline/authz_tests.py Wed Mar 12 17:18:20 2014
@@ -1263,7 +1263,7 @@ def wc_delete(sbox):
expected_err = ".*svn: E155035: .*excluded by server*"
svntest.actions.run_and_verify_svn(None, None, expected_err,
- 'rm', sbox.ospath('A/B/E'))
+ 'rm', sbox.ospath('A/B/E'), '--force')
svntest.actions.run_and_verify_svn(None, None, expected_err,
'rm', sbox.ospath('A'))