subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From phi...@apache.org
Subject svn commit: r1573603 [2/3] - in /subversion/branches/fsfs-lock-many: ./ build/ build/ac-macros/ contrib/cgi/ contrib/client-side/emacs/ contrib/client-side/svn2cl/ contrib/hook-scripts/ contrib/server-side/svnstsw/ notes/ notes/merge-tracking/ notes/wc...
Date Mon, 03 Mar 2014 16:39:01 GMT
Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs/editor.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs/editor.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs/editor.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs/editor.c Mon Mar  3 16:38:58 2014
@@ -177,7 +177,7 @@ can_modify(svn_fs_root_t *txn_root,
   SVN_ERR(svn_fs_node_created_rev(&created_rev, txn_root, fspath,
                                   scratch_pool));
 
-  /* Uncommitted nodes (eg. a descendent of a copy/move destination)
+  /* Uncommitted nodes (eg. a descendant of a copy/move destination)
      have no (committed) revision number. Let the caller go ahead and
      modify these nodes.
 
@@ -195,7 +195,7 @@ can_modify(svn_fs_root_t *txn_root,
      have supplied a valid revision number [that they expect to change].
      The checks further below will determine the out-of-dateness of the
      specified revision.  */
-  /* ### ugh. descendents of copy/move destinations carry along
+  /* ### ugh. descendants of copy/move destinations carry along
      ### their original immutable state and (thus) a valid CREATED_REV.
      ### but they are logically uncommitted, so the caller will pass
      ### SVN_INVALID_REVNUM. (technically, the caller could provide
@@ -203,7 +203,7 @@ can_modify(svn_fs_root_t *txn_root,
      ### API).
      ###
      ### for now, we will assume the caller knows what they are doing
-     ### and an invalid revision implies such a descendent. in the
+     ### and an invalid revision implies such a descendant. in the
      ### future, we could examine the ancestor chain looking for a
      ### copy/move-here node and allow the modification (and the
      ### converse: if no such ancestor, the caller must specify the
@@ -810,7 +810,7 @@ svn_fs__editor_commit(svn_revnum_t *revi
           /* Copy this into the correct pool (see note above).  */
           *conflict_path = apr_pstrdup(result_pool, inner_conflict_path);
 
-          /* Return sucess. The caller should inspect CONFLICT_PATH to
+          /* Return success. The caller should inspect CONFLICT_PATH to
              determine this particular case.  */
           svn_error_clear(err);
           err = SVN_NO_ERROR;

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs/fs-loader.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs/fs-loader.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs/fs-loader.c Mon Mar  3 16:38:58 2014
@@ -1167,15 +1167,14 @@ svn_fs_change_node_prop(svn_fs_root_t *r
 }
 
 svn_error_t *
-svn_fs_props_changed2(svn_boolean_t *changed_p, svn_fs_root_t *root1,
-                      const char *path1, svn_fs_root_t *root2,
-                      const char *path2, svn_boolean_t strict,
-                      apr_pool_t *pool)
+svn_fs_props_different(svn_boolean_t *changed_p, svn_fs_root_t *root1,
+                       const char *path1, svn_fs_root_t *root2,
+                       const char *path2, apr_pool_t *pool)
 {
   return svn_error_trace(root1->vtable->props_changed(changed_p,
                                                       root1, path1,
                                                       root2, path2,
-                                                      strict, pool));
+                                                      TRUE, pool));
 }
 
 svn_error_t *
@@ -1454,15 +1453,14 @@ svn_fs_apply_text(svn_stream_t **content
 }
 
 svn_error_t *
-svn_fs_contents_changed2(svn_boolean_t *changed_p, svn_fs_root_t *root1,
-                         const char *path1, svn_fs_root_t *root2,
-                         const char *path2, svn_boolean_t strict,
-                         apr_pool_t *pool)
+svn_fs_contents_different(svn_boolean_t *changed_p, svn_fs_root_t *root1,
+                          const char *path1, svn_fs_root_t *root2,
+                          const char *path2, apr_pool_t *pool)
 {
   return svn_error_trace(root1->vtable->contents_changed(changed_p,
                                                          root1, path1,
                                                          root2, path2,
-                                                         strict, pool));
+                                                         TRUE, pool));
 }
 
 svn_error_t *

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/cached_data.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/cached_data.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/cached_data.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/cached_data.c Mon Mar  3 16:38:58 2014
@@ -2788,7 +2788,7 @@ block_read(void **result,
         = svn_fs_fs__p2l_index_lookup(&entries, fs, revision_file,
                                       revision, offset, scratch_pool);
 
-      /* if the revision got packed in the meantime and we still need need
+      /* if the revision got packed in the meantime and we still need
        * to actually read some item, we retry the whole process */
       if (err &&
           revision_file->is_packed != svn_fs_fs__is_packed_rev(fs, revision))

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/fs_fs.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/fs_fs.c Mon Mar  3 16:38:58 2014
@@ -1093,6 +1093,13 @@ svn_fs_fs__file_text_rep_equal(svn_boole
       return SVN_NO_ERROR;
     }
 
+  /* Same path in same rev or txn? */
+  if (svn_fs_fs__id_eq(a->id, b->id))
+    {
+      *equal = TRUE;
+      return SVN_NO_ERROR;
+    }
+
   /* Old repositories may not have the SHA1 checksum handy.
      This check becomes expensive.  Skip it unless explicitly required. */
   if (!strict)
@@ -1143,8 +1150,15 @@ svn_fs_fs__prop_rep_equal(svn_boolean_t 
       return SVN_NO_ERROR;
     }
 
+  /* Same path in same txn? */
+  if (svn_fs_fs__id_eq(a->id, b->id))
+    {
+      *equal = TRUE;
+      return SVN_NO_ERROR;
+    }
+
   /* Skip the expensive bits unless we are in strict mode.
-     Simply assume that there is a different. */
+     Simply assume that there is a difference. */
   if (!strict)
     {
       *equal = FALSE;
@@ -1260,9 +1274,9 @@ write_revision_zero(svn_fs_t *fs)
                   "\x80\x80\4\1\x1D"    /* 64k pages, 1 page using 29 bytes */
                   "\0"                  /* offset entry 0 page 1 */
                                         /* len, item & type, rev, checksum */
-                  "\x11\x34\0\xe0\xc6\xac\xa9\x07"
-                  "\x59\x09\0\xc0\xfa\xf8\xc5\x04"
-                  "\1\x0d\0\xf2\x95\xbe\xea\x01"
+                  "\x11\x34\0\xf5\xd6\x8c\x81\x06"
+                  "\x59\x09\0\xc8\xfc\xf6\x81\x04"
+                  "\1\x0d\0\x9d\x9e\xa9\x94\x0f" 
                   "\x95\xff\3\x1b\0\0", /* last entry fills up 64k page */
                   38,
                   fs->pool));

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/index.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/index.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/index.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/index.c Mon Mar  3 16:38:58 2014
@@ -96,7 +96,7 @@ typedef struct l2p_page_t
   apr_uint64_t *offsets;
 } l2p_page_t;
 
-/* All of the log-to-phys proto index file consist of entires of this type.
+/* All of the log-to-phys proto index file consist of entries of this type.
  */
 typedef struct l2p_proto_entry_t
 {
@@ -297,7 +297,7 @@ packed_stream_read(svn_fs_fs__packed_num
   stream->current = 0;
 
   return SVN_NO_ERROR;
-};
+}
 
 /* Create and open a packed number stream reading from FILE_NAME and
  * return it in *STREAM.  Access the file in chunks of BLOCK_SIZE bytes.

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/pack.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/pack.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/pack.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/pack.c Mon Mar  3 16:38:58 2014
@@ -325,7 +325,7 @@ initialize_pack_context(pack_context_t *
   context->paths = svn_prefix_tree__create(context->info_pool);
 
   return SVN_NO_ERROR;
-};
+}
 
 /* Clean up / free all revision range specific data and files in CONTEXT.
  * Use POOL for temporary allocations.
@@ -350,7 +350,7 @@ reset_pack_context(pack_context_t *conte
   svn_pool_clear(context->info_pool);
   
   return SVN_NO_ERROR;
-};
+}
 
 /* Call this after the last revision range.  It will finalize all index files
  * for CONTEXT and close any open files.  Use POOL for temporary allocations.
@@ -391,7 +391,7 @@ close_pack_context(pack_context_t *conte
   SVN_ERR(svn_io_file_close(context->pack_file, pool));
 
   return SVN_NO_ERROR;
-};
+}
 
 /* Efficiently copy SIZE bytes from SOURCE to DEST.  Invoke the CANCEL_FUNC
  * from CONTEXT at regular intervals.  Use POOL for allocations.

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/temp_serializer.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/temp_serializer.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/temp_serializer.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/temp_serializer.c Mon Mar  3 16:38:58 2014
@@ -147,7 +147,7 @@ serialize_representation(svn_temp_serial
                                 sizeof(*rep));
 }
 
-/* auxilliary structure representing the content of a directory array */
+/* auxiliary structure representing the content of a directory array */
 typedef struct dir_data_t
 {
   /* number of entries in the directory */
@@ -214,7 +214,7 @@ serialize_dir(apr_array_header_t *entrie
   apr_size_t entries_len = (count + over_provision) * sizeof(svn_fs_dirent_t*);
   apr_size_t lengths_len = (count + over_provision) * sizeof(apr_uint32_t);
 
-  /* copy the hash entries to an auxilliary struct of known layout */
+  /* copy the hash entries to an auxiliary struct of known layout */
   dir_data.count = count;
   dir_data.over_provision = over_provision;
   dir_data.operations = 0;
@@ -470,7 +470,7 @@ svn_fs_fs__deserialize_manifest(void **o
   return SVN_NO_ERROR;
 }
 
-/* Auxilliary structure representing the content of a properties hash.
+/* Auxiliary structure representing the content of a properties hash.
    This structure is much easier to (de-)serialize than an apr_hash.
  */
 typedef struct properties_data_t
@@ -540,7 +540,7 @@ svn_fs_fs__serialize_properties(void **d
   svn_stringbuf_t *serialized;
   apr_size_t i;
 
-  /* create our auxilliary data structure */
+  /* create our auxiliary data structure */
   properties.count = apr_hash_count(hash);
   properties.keys = apr_palloc(pool, sizeof(const char*) * (properties.count + 1));
   properties.values = apr_palloc(pool, sizeof(const char*) * properties.count);
@@ -581,7 +581,7 @@ svn_fs_fs__deserialize_properties(void *
   properties_data_t *properties = (properties_data_t *)data;
   size_t i;
 
-  /* de-serialize our auxilliary data structure */
+  /* de-serialize our auxiliary data structure */
   svn_temp_deserializer__resolve(properties, (void**)&properties->keys);
   svn_temp_deserializer__resolve(properties, (void**)&properties->values);
 

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/temp_serializer.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/temp_serializer.h?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/temp_serializer.h (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/temp_serializer.h Mon Mar  3 16:38:58 2014
@@ -51,7 +51,7 @@ svn_fs_fs__noderev_deserialize(void *buf
 
 /**
  * #svn_txdelta_window_t is not sufficient for caching the data it
- * represents because data read process needs auxilliary information.
+ * represents because data read process needs auxiliary information.
  */
 typedef struct
 {

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/transaction.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/transaction.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/transaction.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/transaction.c Mon Mar  3 16:38:58 2014
@@ -1765,7 +1765,7 @@ fnv1a_checksum_finalize(apr_uint32_t *di
 
   SVN_ERR(svn_checksum_final(&checksum, context, scratch_pool));
   SVN_ERR_ASSERT(checksum->kind == svn_checksum_fnv1a_32x4);
-  *digest =  *(apr_uint32_t *)(checksum->digest);
+  *digest = ntohl(*(apr_uint32_t *)(checksum->digest));
 
   return SVN_NO_ERROR;
 }
@@ -1996,7 +1996,7 @@ rep_write_cleanup(void *data)
   err = svn_io_file_trunc(b->file, b->rep_offset, b->pool);
   err = svn_error_compose_create(err, svn_io_file_close(b->file, b->pool));
 
-  /* Remove our lock regardless of any preceeding errors so that the
+  /* Remove our lock regardless of any preceding errors so that the
      being_written flag is always removed and stays consistent with the
      file lock which will be removed no matter what since the pool is
      going away. */
@@ -3539,7 +3539,7 @@ fnv1a_checksum_on_file_range(apr_uint32_
   return SVN_NO_ERROR;
 }
 
-/* qsort()-compatible comparision function sorting svn_fs_fs__p2l_entry_t
+/* qsort()-compatible comparison function sorting svn_fs_fs__p2l_entry_t
  * by offset.
  */
 static int

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/tree.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/tree.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/tree.c Mon Mar  3 16:38:58 2014
@@ -550,18 +550,18 @@ dag_node_cache_set(svn_fs_root_t *root,
 }
 
 
-/* Baton for find_descendents_in_cache. */
+/* Baton for find_descendants_in_cache. */
 struct fdic_baton {
   const char *path;
   apr_array_header_t *list;
   apr_pool_t *pool;
 };
 
-/* If the given item is a descendent of BATON->PATH, push
+/* If the given item is a descendant of BATON->PATH, push
  * it onto BATON->LIST (copying into BATON->POOL).  Implements
  * the svn_iter_apr_hash_cb_t prototype. */
 static svn_error_t *
-find_descendents_in_cache(void *baton,
+find_descendants_in_cache(void *baton,
                           const void *key,
                           apr_ssize_t klen,
                           void *val,
@@ -596,16 +596,16 @@ dag_node_cache_invalidate(svn_fs_root_t 
   locate_cache(&cache, NULL, root, NULL, b.pool);
 
 
-  SVN_ERR(svn_cache__iter(NULL, cache, find_descendents_in_cache,
+  SVN_ERR(svn_cache__iter(NULL, cache, find_descendants_in_cache,
                           &b, b.pool));
 
   iterpool = svn_pool_create(b.pool);
 
   for (i = 0; i < b.list->nelts; i++)
     {
-      const char *descendent = APR_ARRAY_IDX(b.list, i, const char *);
+      const char *descendant = APR_ARRAY_IDX(b.list, i, const char *);
       svn_pool_clear(iterpool);
-      SVN_ERR(svn_cache__set(cache, descendent, NULL, iterpool));
+      SVN_ERR(svn_cache__set(cache, descendant, NULL, iterpool));
     }
 
   svn_pool_destroy(iterpool);

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/verify.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/verify.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/verify.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs/verify.c Mon Mar  3 16:38:58 2014
@@ -469,7 +469,7 @@ expected_streamed_checksum(apr_file_t *f
 
   SVN_ERR(svn_checksum_final(&checksum, context, pool));
   SVN_ERR(expected_checksum(file, entry,
-                            *(apr_uint32_t *)checksum->digest,
+                            ntohl(*(apr_uint32_t *)checksum->digest),
                             pool));
 
   return SVN_NO_ERROR;

Propchange: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/
------------------------------------------------------------------------------
  Merged /subversion/trunk/subversion/libsvn_fs_x:r1572508-1573585

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/fs.h?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/fs.h (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/fs.h Mon Mar  3 16:38:58 2014
@@ -204,7 +204,7 @@ typedef struct pair_cache_key_t
   apr_uint64_t second;
 } pair_cache_key_t;
 
-/* Key type that identifies a represenation / rep header. */
+/* Key type that identifies a representation / rep header. */
 typedef struct representation_cache_key_t
 {
   /* Revision that contains the representation */

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/fs_x.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/fs_x.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/fs_x.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/fs_x.c Mon Mar  3 16:38:58 2014
@@ -694,6 +694,13 @@ svn_fs_x__prop_rep_equal(svn_boolean_t *
       return SVN_NO_ERROR;
     }
 
+  /* Same path in same txn? */
+  if (svn_fs_x__id_eq(a->id, b->id))
+    {
+      *equal = TRUE;
+      return SVN_NO_ERROR;
+    }
+
   /* Skip the expensive bits unless we are in strict mode.
      Simply assume that there is a different. */
   if (!strict)

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/index.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/index.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/index.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/index.c Mon Mar  3 16:38:58 2014
@@ -101,7 +101,7 @@ typedef struct l2p_page_t
   apr_uint32_t *sub_items;
 } l2p_page_t;
 
-/* All of the log-to-phys proto index file consist of entires of this type.
+/* All of the log-to-phys proto index file consist of entries of this type.
  */
 typedef struct l2p_proto_entry_t
 {
@@ -299,7 +299,7 @@ packed_stream_read(packed_number_stream_
   stream->current = 0;
 
   return SVN_NO_ERROR;
-};
+}
 
 /* Create and open a packed number stream reading from FILE_NAME and
  * return it in *STREAM.  Access the file in chunks of BLOCK_SIZE bytes.
@@ -439,10 +439,7 @@ svn_error_t *
 svn_fs_x__l2p_proto_index_add_revision(apr_file_t *proto_index,
                                        apr_pool_t *pool)
 {
-  l2p_proto_entry_t entry;
-  entry.offset = 0;
-  entry.item_index = 0;
-
+  l2p_proto_entry_t entry = { 0 };
   return svn_error_trace(write_entry_to_proto_index(proto_index, entry,
                                                     pool));
 }
@@ -454,7 +451,7 @@ svn_fs_x__l2p_proto_index_add_entry(apr_
                                     apr_uint64_t item_index,
                                     apr_pool_t *pool)
 {
-  l2p_proto_entry_t entry;
+  l2p_proto_entry_t entry = { 0 };
 
   /* make sure the conversion to uint64 works */
   SVN_ERR_ASSERT(offset >= -1);
@@ -559,7 +556,7 @@ compare_l2p_entries_by_offset(const l2p_
 
 /* Write the log-2-phys index page description for the l2p_page_entry_t
  * array ENTRIES, starting with element START up to but not including END.
- * Write the resulting represenation into BUFFER.  Use POOL for tempoary
+ * Write the resulting representation into BUFFER.  Use POOL for tempoary
  * allocations.
  */
 static svn_error_t *

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/pack.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/pack.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/pack.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/pack.c Mon Mar  3 16:38:58 2014
@@ -304,7 +304,7 @@ initialize_pack_context(pack_context_t *
   context->paths = svn_prefix_tree__create(context->info_pool);
 
   return SVN_NO_ERROR;
-};
+}
 
 /* Clean up / free all revision range specific data and files in CONTEXT.
  * Use POOL for temporary allocations.
@@ -329,7 +329,7 @@ reset_pack_context(pack_context_t *conte
   svn_pool_clear(context->info_pool);
   
   return SVN_NO_ERROR;
-};
+}
 
 /* Call this after the last revision range.  It will finalize all index files
  * for CONTEXT and close any open files.  Use POOL for temporary allocations.
@@ -372,7 +372,7 @@ close_pack_context(pack_context_t *conte
   SVN_ERR(svn_io_file_close(context->pack_file, pool));
 
   return SVN_NO_ERROR;
-};
+}
 
 /* Efficiently copy SIZE bytes from SOURCE to DEST.  Invoke the CANCEL_FUNC
  * from CONTEXT at regular intervals.  Use POOL for allocations.

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/reps.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/reps.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/reps.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/reps.c Mon Mar  3 16:38:58 2014
@@ -622,7 +622,7 @@ svn_fs_x__reps_get(svn_fs_x__rep_extract
   result->result = svn_stringbuf_create_empty(pool);
   result->pool = pool;
 
-  /* fill all the bits of the result that we can, i.e. all but bits comming
+  /* fill all the bits of the result that we can, i.e. all but bits coming
    * from base representations */
   get_text(result, container, first, last - first);
   *extractor = result;

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/string_table.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/string_table.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/string_table.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/string_table.c Mon Mar  3 16:38:58 2014
@@ -441,9 +441,10 @@ create_table(string_sub_table_t *target,
       string->data = apr_pstrmemdup(pool, string->data, string->len);
     }
 
-  data->len += PADDING; /* there a few extra bytes at then of the buffer
-                           that we want to keep */
+  data->len += PADDING; /* add a few extra bytes at the end of the buffer
+                           that we want to keep valid for chunky access */
   assert(data->len < data->blocksize);
+  memset(data->data + data->len - PADDING, 0, PADDING);
 
   target->data = apr_pmemdup(pool, data->data, data->len);
   target->data_size = data->len;

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/temp_serializer.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/temp_serializer.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/temp_serializer.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/temp_serializer.c Mon Mar  3 16:38:58 2014
@@ -181,7 +181,7 @@ svn_fs_x__deserialize_apr_array(void *bu
   (*array)->pool = pool;
 }
 
-/* auxilliary structure representing the content of a directory hash */
+/* auxiliary structure representing the content of a directory hash */
 typedef struct hash_data_t
 {
   /* number of entries in the directory */
@@ -256,7 +256,7 @@ serialize_dir(apr_hash_t *entries, apr_p
   apr_size_t entries_len = (count + over_provision) * sizeof(svn_fs_dirent_t*);
   apr_size_t lengths_len = (count + over_provision) * sizeof(apr_uint32_t);
 
-  /* copy the hash entries to an auxilliary struct of known layout */
+  /* copy the hash entries to an auxiliary struct of known layout */
   hash_data.count = count;
   hash_data.over_provision = over_provision;
   hash_data.operations = 0;
@@ -520,7 +520,7 @@ svn_fs_x__deserialize_manifest(void **ou
   return SVN_NO_ERROR;
 }
 
-/* Auxilliary structure representing the content of a properties hash.
+/* Auxiliary structure representing the content of a properties hash.
    This structure is much easier to (de-)serialize than an apr_hash.
  */
 typedef struct properties_data_t
@@ -590,7 +590,7 @@ svn_fs_x__serialize_properties(void **da
   svn_stringbuf_t *serialized;
   apr_size_t i;
 
-  /* create our auxilliary data structure */
+  /* create our auxiliary data structure */
   properties.count = apr_hash_count(hash);
   properties.keys = apr_palloc(pool, sizeof(const char*) * (properties.count + 1));
   properties.values = apr_palloc(pool, sizeof(const char*) * properties.count);
@@ -631,7 +631,7 @@ svn_fs_x__deserialize_properties(void **
   properties_data_t *properties = (properties_data_t *)data;
   size_t i;
 
-  /* de-serialize our auxilliary data structure */
+  /* de-serialize our auxiliary data structure */
   svn_temp_deserializer__resolve(properties, (void**)&properties->keys);
   svn_temp_deserializer__resolve(properties, (void**)&properties->values);
 

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/temp_serializer.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/temp_serializer.h?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/temp_serializer.h (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/temp_serializer.h Mon Mar  3 16:38:58 2014
@@ -71,7 +71,7 @@ svn_fs_x__deserialize_apr_array(void *bu
 
 /**
  * #svn_txdelta_window_t is not sufficient for caching the data it
- * represents because data read process needs auxilliary information.
+ * represents because data read process needs auxiliary information.
  */
 typedef struct
 {

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/transaction.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/transaction.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/transaction.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/transaction.c Mon Mar  3 16:38:58 2014
@@ -1790,7 +1790,7 @@ rep_write_cleanup(void *data)
   err = svn_io_file_trunc(b->file, b->rep_offset, b->pool);
   err = svn_error_compose_create(err, svn_io_file_close(b->file, b->pool));
 
-  /* Remove our lock regardless of any preceeding errors so that the
+  /* Remove our lock regardless of any preceding errors so that the
      being_written flag is always removed and stays consistent with the
      file lock which will be removed no matter what since the pool is
      going away. */

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/tree.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/tree.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_fs_x/tree.c Mon Mar  3 16:38:58 2014
@@ -528,18 +528,18 @@ dag_node_cache_set(svn_fs_root_t *root,
 }
 
 
-/* Baton for find_descendents_in_cache. */
+/* Baton for find_descendants_in_cache. */
 struct fdic_baton {
   const char *path;
   apr_array_header_t *list;
   apr_pool_t *pool;
 };
 
-/* If the given item is a descendent of BATON->PATH, push
+/* If the given item is a descendant of BATON->PATH, push
  * it onto BATON->LIST (copying into BATON->POOL).  Implements
  * the svn_iter_apr_hash_cb_t prototype. */
 static svn_error_t *
-find_descendents_in_cache(void *baton,
+find_descendants_in_cache(void *baton,
                           const void *key,
                           apr_ssize_t klen,
                           void *val,
@@ -574,16 +574,16 @@ dag_node_cache_invalidate(svn_fs_root_t 
   locate_cache(&cache, NULL, root, NULL, b.pool);
 
 
-  SVN_ERR(svn_cache__iter(NULL, cache, find_descendents_in_cache,
+  SVN_ERR(svn_cache__iter(NULL, cache, find_descendants_in_cache,
                           &b, b.pool));
 
   iterpool = svn_pool_create(b.pool);
 
   for (i = 0; i < b.list->nelts; i++)
     {
-      const char *descendent = APR_ARRAY_IDX(b.list, i, const char *);
+      const char *descendant = APR_ARRAY_IDX(b.list, i, const char *);
       svn_pool_clear(iterpool);
-      SVN_ERR(svn_cache__set(cache, descendent, NULL, iterpool));
+      SVN_ERR(svn_cache__set(cache, descendant, NULL, iterpool));
     }
 
   svn_pool_destroy(iterpool);

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_ra_serf/README
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_ra_serf/README?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_ra_serf/README (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_ra_serf/README Mon Mar  3 16:38:58 2014
@@ -22,7 +22,7 @@ support for ra_serf:
 
 For more about how ra_serf/ra_neon talk WebDAV, consult notes/webdav-protocol.
 
-Working copies are interchangable between ra_serf and ra_neon.  (They both use
+Working copies are interchangeable between ra_serf and ra_neon.  (They both use
 the svn:wc:ra_dav:version-url property to store the latest revision of a file.)
 
 Completed tasks

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_ra_svn/protocol
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_ra_svn/protocol?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_ra_svn/protocol (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_ra_svn/protocol Mon Mar  3 16:38:58 2014
@@ -337,7 +337,7 @@ second place for auth-request point as n
 
   get-mergeinfo
     params:   ( ( path:string ... ) [ rev:number ] inherit:word 
-                descendents:bool)
+                descendants:bool)
     response: ( ( ( path:string merge-info:string ) ... ) )
     New in svn 1.5.  If no paths are specified, an empty response is
     returned.  If rev is not specified, the youngest revision is used.

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_repos/delta.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_repos/delta.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_repos/delta.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_repos/delta.c Mon Mar  3 16:38:58 2014
@@ -523,9 +523,8 @@ delta_proplists(struct context *c,
       svn_boolean_t changed;
 
       /* Is this deltification worth our time? */
-      SVN_ERR(svn_fs_props_changed2(&changed, c->target_root, target_path,
-                                    c->source_root, source_path, TRUE,
-                                    subpool));
+      SVN_ERR(svn_fs_props_different(&changed, c->target_root, target_path,
+                                     c->source_root, source_path, subpool));
       if (! changed)
         goto cleanup;
 
@@ -605,8 +604,8 @@ svn_repos__compare_files(svn_boolean_t *
                          const char *path2,
                          apr_pool_t *pool)
 {
-  return svn_error_trace(svn_fs_contents_changed2(changed_p, root1, path1,
-                                                  root2, path2, TRUE, pool));
+  return svn_error_trace(svn_fs_contents_different(changed_p, root1, path1,
+                                                   root2, path2, pool));
 }
 
 
@@ -633,10 +632,10 @@ delta_files(struct context *c,
 
   if (source_path)
     {
-      SVN_ERR(svn_fs_contents_changed2(&changed,
-                                       c->target_root, target_path,
-                                       c->source_root, source_path,
-                                       TRUE, subpool));
+      SVN_ERR(svn_fs_contents_different(&changed,
+                                        c->target_root, target_path,
+                                        c->source_root, source_path,
+                                        subpool));
     }
   else
     {

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_repos/dump.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_repos/dump.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_repos/dump.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_repos/dump.c Mon Mar  3 16:38:58 2014
@@ -857,13 +857,13 @@ dump_node(struct edit_baton *eb,
                                    svn_fs_root_fs(eb->fs_root),
                                    compare_rev, pool));
 
-      SVN_ERR(svn_fs_props_changed2(&must_dump_props,
-                                    compare_root, compare_path,
-                                    eb->fs_root, path, TRUE, pool));
+      SVN_ERR(svn_fs_props_different(&must_dump_props,
+                                     compare_root, compare_path,
+                                     eb->fs_root, path, pool));
       if (kind == svn_node_file)
-        SVN_ERR(svn_fs_contents_changed2(&must_dump_text,
-                                         compare_root, compare_path,
-                                         eb->fs_root, path, TRUE, pool));
+        SVN_ERR(svn_fs_contents_different(&must_dump_text,
+                                          compare_root, compare_path,
+                                          eb->fs_root, path, pool));
     }
   else if (action == svn_node_action_replace)
     {
@@ -1009,17 +1009,16 @@ dump_node(struct edit_baton *eb,
 
           /* Need to decide if the copied node had any extra textual or
              property mods as well.  */
-          SVN_ERR(svn_fs_props_changed2(&must_dump_props,
-                                        compare_root, compare_path,
-                                        eb->fs_root, path, TRUE, pool));
+          SVN_ERR(svn_fs_props_different(&must_dump_props,
+                                         compare_root, compare_path,
+                                         eb->fs_root, path, pool));
           if (kind == svn_node_file)
             {
               svn_checksum_t *checksum;
               const char *hex_digest;
-              SVN_ERR(svn_fs_contents_changed2(&must_dump_text,
-                                               compare_root, compare_path,
-                                               eb->fs_root, path, TRUE,
-                                               pool));
+              SVN_ERR(svn_fs_contents_different(&must_dump_text,
+                                                compare_root, compare_path,
+                                                eb->fs_root, path, pool));
 
               SVN_ERR(svn_fs_file_checksum(&checksum, svn_checksum_md5,
                                            compare_root, compare_path,
@@ -1990,7 +1989,7 @@ struct check_name_collision_baton
 };
 
 /* Scan the directory and report all entry names that differ only in
-   Unicode character representaiton. */
+   Unicode character representation. */
 static svn_error_t *
 check_name_collision(void *baton, const void *key, apr_ssize_t klen,
                      void *val, apr_pool_t *iterpool)

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_repos/hooks.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_repos/hooks.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_repos/hooks.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_repos/hooks.c Mon Mar  3 16:38:58 2014
@@ -319,7 +319,7 @@ check_hook_cmd(const char *hook, svn_boo
 #ifdef WIN32
   /* For WIN32, we need to check with file name extension(s) added.
 
-     As Windows Scripting Host (.wsf) files can accomodate (at least)
+     As Windows Scripting Host (.wsf) files can accommodate (at least)
      JavaScript (.js) and VB Script (.vbs) code, extensions for the
      corresponding file types need not be enumerated explicitly. */
     ".exe", ".cmd", ".bat", ".wsf", /* ### Any other extensions? */

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_repos/load-fs-vtable.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_repos/load-fs-vtable.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_repos/load-fs-vtable.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_repos/load-fs-vtable.c Mon Mar  3 16:38:58 2014
@@ -296,7 +296,7 @@ renumber_mergeinfo_revs(svn_string_t **f
                  inclusive there is one possible valid start revision that
                  won't be found in the PB->REV_MAP mapping of load stream
                  revsions to loaded revisions: The revision immediately
-                 preceeding the oldest revision from the load stream.
+                 preceding the oldest revision from the load stream.
                  This is a valid revision for mergeinfo, but not a valid
                  copy from revision (which PB->REV_MAP also maps for) so it
                  will never be in the mapping.

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_repos/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_repos/log.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_repos/log.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_repos/log.c Mon Mar  3 16:38:58 2014
@@ -43,6 +43,7 @@
 #include "private/svn_mergeinfo_private.h"
 #include "private/svn_subr_private.h"
 
+
 
 svn_error_t *
 svn_repos_check_revision_access(svn_repos_revision_access_level_t *access_level,
@@ -2235,19 +2236,18 @@ do_logs(svn_fs_t *fs,
 
               if (added_mergeinfo || deleted_mergeinfo)
                 {
-                  svn_revnum_t *cur_rev = apr_pcalloc(pool, sizeof(*cur_rev));
+                  svn_revnum_t *cur_rev =
+                    apr_pmemdup(pool, &current, sizeof(cur_rev));
                   struct added_deleted_mergeinfo *add_and_del_mergeinfo =
                     apr_palloc(pool, sizeof(*add_and_del_mergeinfo));
 
-                  if (added_mergeinfo)
-                    add_and_del_mergeinfo->added_mergeinfo =
-                      svn_mergeinfo_dup(added_mergeinfo, pool);
-
-                  if (deleted_mergeinfo)
-                    add_and_del_mergeinfo->deleted_mergeinfo =
-                      svn_mergeinfo_dup(deleted_mergeinfo, pool);
+                  /* If we have added or deleted mergeinfo, both are non-null */
+                  SVN_ERR_ASSERT(added_mergeinfo && deleted_mergeinfo);
+                  add_and_del_mergeinfo->added_mergeinfo =
+                    svn_mergeinfo_dup(added_mergeinfo, pool);
+                  add_and_del_mergeinfo->deleted_mergeinfo =
+                    svn_mergeinfo_dup(deleted_mergeinfo, pool);
 
-                  *cur_rev = current;
                   if (! rev_mergeinfo)
                     rev_mergeinfo = svn_hash__make(pool);
                   apr_hash_set(rev_mergeinfo, cur_rev, sizeof(*cur_rev),

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_repos/reporter.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_repos/reporter.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_repos/reporter.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_repos/reporter.c Mon Mar  3 16:38:58 2014
@@ -576,8 +576,8 @@ delta_proplists(report_baton_t *b, svn_r
       SVN_ERR(get_source_root(b, &s_root, s_rev));
 
       /* Is this deltification worth our time? */
-      SVN_ERR(svn_fs_props_changed2(&changed, b->t_root, t_path, s_root,
-                                    s_path, TRUE, pool));
+      SVN_ERR(svn_fs_props_different(&changed, b->t_root, t_path, s_root,
+                                     s_path, pool));
       if (! changed)
         return SVN_NO_ERROR;
 

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_repos/rev_hunt.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_repos/rev_hunt.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_repos/rev_hunt.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_repos/rev_hunt.c Mon Mar  3 16:38:58 2014
@@ -1362,12 +1362,13 @@ send_path_revision(struct path_revision 
   SVN_ERR(svn_prop_diffs(&prop_diffs, props, sb->last_props,
                          sb->iterpool));
 
-  /* Check if the contents changed. */
+  /* Check if the contents *may* have changed. (Allow false positives,
+     for now, as the blame implementation currently depends on them.) */
   /* Special case: In the first revision, we always provide a delta. */
   if (sb->last_root)
-    SVN_ERR(svn_fs_contents_changed2(&contents_changed, sb->last_root,
-                                     sb->last_path, root, path_rev->path,
-                                     FALSE, sb->iterpool));
+    SVN_ERR(svn_fs_contents_different(&contents_changed, sb->last_root,
+                                      sb->last_path, root, path_rev->path,
+                                      sb->iterpool));
   else
     contents_changed = TRUE;
 

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/checksum.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/checksum.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/checksum.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/checksum.c Mon Mar  3 16:38:58 2014
@@ -21,6 +21,8 @@
  * ====================================================================
  */
 
+#define APR_WANT_BYTEFUNC
+
 #include <ctype.h>
 
 #include <apr_md5.h>
@@ -462,11 +464,13 @@ svn_checksum(svn_checksum_t **checksum,
         break;
 
       case svn_checksum_fnv1a_32:
-        *(apr_uint32_t *)(*checksum)->digest = svn__fnv1a_32(data, len);
+        *(apr_uint32_t *)(*checksum)->digest
+          = htonl(svn__fnv1a_32(data, len));
         break;
 
       case svn_checksum_fnv1a_32x4:
-        *(apr_uint32_t *)(*checksum)->digest = svn__fnv1a_32x4(data, len);
+        *(apr_uint32_t *)(*checksum)->digest
+          = htonl(svn__fnv1a_32x4(data, len));
         break;
 
       default:
@@ -589,12 +593,12 @@ svn_checksum_final(svn_checksum_t **chec
 
       case svn_checksum_fnv1a_32:
         *(apr_uint32_t *)(*checksum)->digest
-          = svn_fnv1a_32__finalize(ctx->apr_ctx);
+          = htonl(svn_fnv1a_32__finalize(ctx->apr_ctx));
         break;
 
       case svn_checksum_fnv1a_32x4:
         *(apr_uint32_t *)(*checksum)->digest
-          = svn_fnv1a_32x4__finalize(ctx->apr_ctx);
+          = htonl(svn_fnv1a_32x4__finalize(ctx->apr_ctx));
         break;
 
       default:

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/config_file.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/config_file.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/config_file.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/config_file.c Mon Mar  3 16:38:58 2014
@@ -1278,6 +1278,12 @@ svn_config_ensure(const char *config_dir
         "### for 'svn add' and 'svn import', it defaults to 'no'."           NL
         "### Automatic properties are defined in the section 'auto-props'."  NL
         "# enable-auto-props = yes"                                          NL
+#ifdef SVN_HAVE_LIBMAGIC
+        "### Set enable-magic-file to 'no' to disable magic file detection"  NL
+        "### of the file type when automatically setting svn:mime-type. It"  NL
+        "### defaults to 'yes' if magic file support is possible."           NL
+        "# enable-magic-file = yes"                                          NL
+#endif
         "### Set interactive-conflicts to 'no' to disable interactive"       NL
         "### conflict resolution prompting.  It defaults to 'yes'."          NL
         "# interactive-conflicts = no"                                       NL

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/dirent_uri.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/dirent_uri.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/dirent_uri.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/dirent_uri.c Mon Mar  3 16:38:58 2014
@@ -2342,7 +2342,7 @@ svn_uri_get_dirent_from_file_url(const c
                                "prefix"), url);
 
   /* Find the HOSTNAME portion and the PATH portion of the URL.  The host
-     name is between the "file://" prefix and the next occurence of '/'.  We
+     name is between the "file://" prefix and the next occurrence of '/'.  We
      are considering everything from that '/' until the end of the URL to be
      the absolute path portion of the URL.
      If we got just "file://", treat it the same as "file:///". */

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/fnv1a.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/fnv1a.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/fnv1a.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/fnv1a.c Mon Mar  3 16:38:58 2014
@@ -109,15 +109,15 @@ finalize_fnv1a_32x4(apr_uint32_t hashes[
   if (len)
     memcpy(final_data + sizeof(apr_uint32_t) * SCALING, input, len);
 
-  return htonl(fnv1a_32(FNV1_BASE_32,
-                        final_data,
-                        sizeof(apr_uint32_t) * SCALING + len));
+  return fnv1a_32(FNV1_BASE_32,
+                  final_data,
+                  sizeof(apr_uint32_t) * SCALING + len);
 }
 
 apr_uint32_t
 svn__fnv1a_32(const void *input, apr_size_t len)
 {
-  return htonl(fnv1a_32(FNV1_BASE_32, input, len));
+  return fnv1a_32(FNV1_BASE_32, input, len);
 }
 
 apr_uint32_t
@@ -157,7 +157,7 @@ svn_fnv1a_32__update(svn_fnv1a_32__conte
 apr_uint32_t
 svn_fnv1a_32__finalize(svn_fnv1a_32__context_t *context)
 {
-  return htonl(context->hash);
+  return context->hash;
 }
 
 

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/io.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/io.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/io.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/io.c Mon Mar  3 16:38:58 2014
@@ -1769,7 +1769,7 @@ io_unicode_to_utf8_path(const char **res
      * // for the \\?\UNC\ path prefix, allocating the maximum string
      * length based on the remaining string, plus the trailing null.
      * then transform \\'s back into /'s since the \\?\ form never
-     * allows '/' path seperators, and APR always uses '/'s.
+     * allows '/' path separators, and APR always uses '/'s.
      */
     if (0 == strncmp(buffer, "\\\\?\\", 4))
     {
@@ -3789,7 +3789,7 @@ svn_io_write_atomic(const char *final_pa
                                                          scratch_pool));
 
       return svn_error_createf(err->apr_err, err,
-                               _("Can't write '%s' atomicly"),
+                               _("Can't write '%s' atomically"),
                                svn_dirent_local_style(final_path,
                                                       scratch_pool));
     }

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/magic.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/magic.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/magic.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/magic.c Mon Mar  3 16:38:58 2014
@@ -33,6 +33,8 @@
 #include "svn_types.h"
 #include "svn_pools.h"
 #include "svn_error.h"
+#include "svn_config.h"
+#include "svn_hash.h"
 
 #include "svn_private_config.h"
 
@@ -61,14 +63,30 @@ close_magic_cookie(void *baton)
 }
 #endif
 
-void
+svn_error_t *
 svn_magic__init(svn_magic__cookie_t **magic_cookie,
+                apr_hash_t *config,
                 apr_pool_t *result_pool)
 {
-
   svn_magic__cookie_t *mc = NULL;
 
 #ifdef SVN_HAVE_LIBMAGIC
+  if (config)
+    {
+      svn_boolean_t enable;
+      svn_config_t *cfg = svn_hash_gets(config, SVN_CONFIG_CATEGORY_CONFIG);
+
+      SVN_ERR(svn_config_get_bool(cfg, &enable,
+                                  SVN_CONFIG_SECTION_MISCELLANY,
+                                  SVN_CONFIG_OPTION_ENABLE_MAGIC_FILE,
+                                  TRUE));
+      if (!enable)
+        {
+          *magic_cookie = NULL;
+          return SVN_NO_ERROR;
+        }
+    }
+
   mc = apr_palloc(result_pool, sizeof(*mc));
 
   /* Initialise libmagic. */
@@ -97,6 +115,8 @@ svn_magic__init(svn_magic__cookie_t **ma
 #endif
 
   *magic_cookie = mc;
+
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/opt.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/opt.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/opt.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/opt.c Mon Mar  3 16:38:58 2014
@@ -781,7 +781,7 @@ svn_opt_parse_path(svn_opt_revision_t *r
           if (svn_path_is_url(path))
             {
               /* URLs are URI-encoded, so we look for dates with
-                 URI-encoded delimeters.  */
+                 URI-encoded delimiters.  */
               size_t rev_len = strlen(rev_str);
               if (rev_len > 6
                   && rev_str[0] == '%'

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/simple_providers.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/simple_providers.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/simple_providers.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/simple_providers.c Mon Mar  3 16:38:58 2014
@@ -47,12 +47,6 @@
 /* File provider                                                         */
 /*-----------------------------------------------------------------------*/
 
-/* The keys that will be stored on disk.  These serve the same role as
-   similar constants in other providers. */
-#define AUTHN_USERNAME_KEY            "username"
-#define AUTHN_PASSWORD_KEY            "password"
-#define AUTHN_PASSTYPE_KEY            "passtype"
-
 /* Baton type for the simple provider. */
 typedef struct simple_provider_baton_t
 {
@@ -81,10 +75,10 @@ svn_auth__simple_password_get(svn_boolea
 
   *done = FALSE;
 
-  str = svn_hash_gets(creds, AUTHN_USERNAME_KEY);
+  str = svn_hash_gets(creds, SVN_CONFIG_AUTHN_USERNAME_KEY);
   if (str && username && strcmp(str->data, username) == 0)
     {
-      str = svn_hash_gets(creds, AUTHN_PASSWORD_KEY);
+      str = svn_hash_gets(creds, SVN_CONFIG_AUTHN_PASSWORD_KEY);
       if (str && str->data)
         {
           *password = str->data;
@@ -107,7 +101,8 @@ svn_auth__simple_password_set(svn_boolea
                               svn_boolean_t non_interactive,
                               apr_pool_t *pool)
 {
-  svn_hash_sets(creds, AUTHN_PASSWORD_KEY, svn_string_create(password, pool));
+  svn_hash_sets(creds, SVN_CONFIG_AUTHN_PASSWORD_KEY,
+                svn_string_create(password, pool));
   *done = TRUE;
 
   return SVN_NO_ERROR;
@@ -122,7 +117,7 @@ simple_username_get(const char **usernam
                     svn_boolean_t non_interactive)
 {
   svn_string_t *str;
-  str = svn_hash_gets(creds, AUTHN_USERNAME_KEY);
+  str = svn_hash_gets(creds, SVN_CONFIG_AUTHN_USERNAME_KEY);
   if (str && str->data)
     {
       *username = str->data;
@@ -184,7 +179,7 @@ svn_auth__simple_creds_cache_get(void **
       /* The password type in the auth data must match the
          mangler's type, otherwise the password must be
          interpreted by another provider. */
-      str = svn_hash_gets(creds_hash, AUTHN_PASSTYPE_KEY);
+      str = svn_hash_gets(creds_hash, SVN_CONFIG_AUTHN_PASSTYPE_KEY);
       if (str && str->data)
         if (passtype && (0 == strcmp(str->data, passtype)))
           have_passtype = TRUE;
@@ -333,7 +328,7 @@ svn_auth__simple_creds_cache_set(svn_boo
 
   /* Put the username into the credentials hash. */
   creds_hash = apr_hash_make(pool);
-  svn_hash_sets(creds_hash, AUTHN_USERNAME_KEY,
+  svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_USERNAME_KEY,
                 svn_string_create(creds->username, pool));
 
   /* Don't store passwords in any form if the user has told
@@ -461,7 +456,7 @@ svn_auth__simple_creds_cache_set(svn_boo
           if (*saved && passtype)
             /* Store the password type with the auth data, so that we
                know which provider owns the password. */
-            svn_hash_sets(creds_hash, AUTHN_PASSTYPE_KEY,
+            svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_PASSTYPE_KEY,
                           svn_string_create(passtype, pool));
         }
     }
@@ -600,7 +595,7 @@ prompt_for_simple_creds(svn_auth_cred_si
           svn_error_clear(err);
           if (! err && creds_hash)
             {
-              str = svn_hash_gets(creds_hash, AUTHN_USERNAME_KEY);
+              str = svn_hash_gets(creds_hash, SVN_CONFIG_AUTHN_USERNAME_KEY);
               if (str && str->data)
                 default_username = str->data;
             }

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/ssl_client_cert_pw_providers.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/ssl_client_cert_pw_providers.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/ssl_client_cert_pw_providers.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/ssl_client_cert_pw_providers.c Mon Mar  3 16:38:58 2014
@@ -39,16 +39,6 @@
 /* File provider                                                         */
 /*-----------------------------------------------------------------------*/
 
-/* The keys that will be stored on disk.  These serve the same role as
- * similar constants in other providers.
- *
- * AUTHN_PASSTYPE_KEY just records the passphrase type next to the
- * passphrase, so that anyone who is manually editing their authn
- * files can know which provider owns the password.
- */
-#define AUTHN_PASSPHRASE_KEY            "passphrase"
-#define AUTHN_PASSTYPE_KEY              "passtype"
-
 /* Baton type for the ssl client cert passphrase provider. */
 typedef struct ssl_client_cert_pw_file_provider_baton_t
 {
@@ -75,7 +65,7 @@ svn_auth__ssl_client_cert_pw_get(svn_boo
                                  apr_pool_t *pool)
 {
   svn_string_t *str;
-  str = svn_hash_gets(creds, AUTHN_PASSPHRASE_KEY);
+  str = svn_hash_gets(creds, SVN_CONFIG_AUTHN_PASSPHRASE_KEY);
   if (str && str->data)
     {
       *passphrase = str->data;
@@ -98,7 +88,7 @@ svn_auth__ssl_client_cert_pw_set(svn_boo
                                  svn_boolean_t non_interactive,
                                  apr_pool_t *pool)
 {
-  svn_hash_sets(creds, AUTHN_PASSPHRASE_KEY,
+  svn_hash_sets(creds, SVN_CONFIG_AUTHN_PASSPHRASE_KEY,
                 svn_string_create(passphrase, pool));
   *done = TRUE;
   return SVN_NO_ERROR;
@@ -308,7 +298,7 @@ svn_auth__ssl_client_cert_pw_cache_set(s
 
           if (*saved && passtype)
             {
-              svn_hash_sets(creds_hash, AUTHN_PASSTYPE_KEY,
+              svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_PASSTYPE_KEY,
                             svn_string_create(passtype, pool));
             }
 

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=1573603&r1=1573602&r2=1573603&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 Mon Mar  3 16:38:58 2014
@@ -36,12 +36,6 @@
 /* File provider                                                         */
 /*-----------------------------------------------------------------------*/
 
-/* The keys that will be stored on disk.  These serve the same role as
-   similar constants in other providers. */
-#define AUTHN_ASCII_CERT_KEY            "ascii_cert"
-#define AUTHN_FAILURES_KEY              "failures"
-
-
 /* retrieve ssl server CA failure overrides (if any) from servers
    config */
 static svn_error_t *
@@ -74,9 +68,9 @@ ssl_server_trust_file_first_credentials(
       svn_string_t *trusted_cert, *this_cert, *failstr;
       apr_uint32_t last_failures = 0;
 
-      trusted_cert = svn_hash_gets(creds_hash, AUTHN_ASCII_CERT_KEY);
+      trusted_cert = svn_hash_gets(creds_hash, SVN_CONFIG_AUTHN_ASCII_CERT_KEY);
       this_cert = svn_string_create(cert_info->ascii_cert, pool);
-      failstr = svn_hash_gets(creds_hash, AUTHN_FAILURES_KEY);
+      failstr = svn_hash_gets(creds_hash, SVN_CONFIG_AUTHN_FAILURES_KEY);
 
       if (failstr)
         SVN_ERR(svn_cstring_atoui(&last_failures, failstr->data));
@@ -125,10 +119,9 @@ ssl_server_trust_file_save_credentials(s
   cert_info = svn_hash_gets(parameters, SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO);
 
   creds_hash = apr_hash_make(pool);
-  svn_hash_sets(creds_hash, AUTHN_ASCII_CERT_KEY,
+  svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_ASCII_CERT_KEY,
                 svn_string_create(cert_info->ascii_cert, pool));
-  svn_hash_sets(creds_hash,
-                AUTHN_FAILURES_KEY,
+  svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_FAILURES_KEY,
                 svn_string_createf(pool, "%lu",
                                    (unsigned long)creds->accepted_failures));
 

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/string.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/string.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/string.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/string.c Mon Mar  3 16:38:58 2014
@@ -1169,7 +1169,7 @@ svn__i64toa(char * dest, apr_int64_t num
 }
 
 static void
-ui64toa_sep(apr_uint64_t number, char seperator, char *buffer)
+ui64toa_sep(apr_uint64_t number, char separator, char *buffer)
 {
   apr_size_t length = svn__ui64toa(buffer, number);
   apr_size_t i;
@@ -1177,7 +1177,7 @@ ui64toa_sep(apr_uint64_t number, char se
   for (i = length; i > 3; i -= 3)
     {
       memmove(&buffer[i - 2], &buffer[i - 3], length - i + 3);
-      buffer[i-3] = seperator;
+      buffer[i-3] = separator;
       length++;
     }
 
@@ -1185,25 +1185,25 @@ ui64toa_sep(apr_uint64_t number, char se
 }
 
 char *
-svn__ui64toa_sep(apr_uint64_t number, char seperator, apr_pool_t *pool)
+svn__ui64toa_sep(apr_uint64_t number, char separator, apr_pool_t *pool)
 {
   char buffer[2 * SVN_INT64_BUFFER_SIZE];
-  ui64toa_sep(number, seperator, buffer);
+  ui64toa_sep(number, separator, buffer);
 
   return apr_pstrdup(pool, buffer);
 }
 
 char *
-svn__i64toa_sep(apr_int64_t number, char seperator, apr_pool_t *pool)
+svn__i64toa_sep(apr_int64_t number, char separator, apr_pool_t *pool)
 {
   char buffer[2 * SVN_INT64_BUFFER_SIZE];
   if (number < 0)
     {
       buffer[0] = '-';
-      ui64toa_sep((apr_uint64_t)(-number), seperator, &buffer[1]);
+      ui64toa_sep((apr_uint64_t)(-number), separator, &buffer[1]);
     }
   else
-    ui64toa_sep((apr_uint64_t)(number), seperator, buffer);
+    ui64toa_sep((apr_uint64_t)(number), separator, buffer);
 
   return apr_pstrdup(pool, buffer);
 }

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=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/subst.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/subst.c Mon Mar  3 16:38:58 2014
@@ -127,7 +127,7 @@ svn_subst_translation_required(svn_subst
  *
  * Important API note: This function is the core of the implementation of
  * svn_subst_build_keywords (all versions), and as such must implement the
- * tolerance of NULL and zero inputs that that function's documention
+ * tolerance of NULL and zero inputs that that function's documentation
  * stipulates.
  *
  * The format codes:

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/sysinfo.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/sysinfo.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/sysinfo.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/sysinfo.c Mon Mar  3 16:38:58 2014
@@ -901,64 +901,80 @@ win32_shared_libs(apr_pool_t *pool)
 
 
 #ifdef SVN_HAVE_MACOS_PLIST
+/* implements svn_write_fn_t to copy the data into a CFMutableDataRef that's
+ * in the baton. */
+static svn_error_t *
+write_to_cfmutabledata(void *baton, const char *data, apr_size_t *len)
+{
+  CFMutableDataRef *resource = (CFMutableDataRef *) baton;
+
+  CFDataAppendBytes(*resource, (UInt8 *)data, *len);
+
+  return SVN_NO_ERROR;
+}
+
 /* Load the SystemVersion.plist or ServerVersion.plist file into a
    property list. Set SERVER to TRUE if the file read was
    ServerVersion.plist. */
 static CFDictionaryRef
 system_version_plist(svn_boolean_t *server, apr_pool_t *pool)
 {
-  static const UInt8 server_version[] =
+  static const char server_version[] =
     "/System/Library/CoreServices/ServerVersion.plist";
-  static const UInt8 system_version[] =
+  static const char system_version[] =
     "/System/Library/CoreServices/SystemVersion.plist";
-
+  svn_stream_t *read_stream, *write_stream;
+  svn_error_t *err;
   CFPropertyListRef plist = NULL;
-  CFDataRef resource = NULL;
+  CFMutableDataRef resource = CFDataCreateMutable(kCFAllocatorDefault, 0);
   CFStringRef errstr = NULL;
-  CFURLRef url = NULL;
-  SInt32 errcode;
 
-  url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault,
-                                                server_version,
-                                                sizeof(server_version) - 1,
-                                                FALSE);
-  if (!url)
+  /* failed getting the CFMutableDataRef, shouldn't happen */
+  if (!resource)
     return NULL;
 
-  if (!CFURLCreateDataAndPropertiesFromResource(kCFAllocatorDefault,
-                                                url, &resource,
-                                                NULL, NULL, &errcode))
+  /* Try to open the plist files to get the data */
+  err = svn_stream_open_readonly(&read_stream, server_version, pool, pool);
+  if (err)
     {
-      CFRelease(url);
-      url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault,
-                                                    system_version,
-                                                    sizeof(system_version) - 1,
-                                                    FALSE);
-      if (!url)
-        return NULL;
-
-      if (!CFURLCreateDataAndPropertiesFromResource(kCFAllocatorDefault,
-                                                    url, &resource,
-                                                    NULL, NULL, &errcode))
+      if (!APR_STATUS_IS_ENOENT(err->apr_err))
         {
-          CFRelease(url);
+          svn_error_clear(err);
           return NULL;
         }
       else
         {
-          CFRelease(url);
+          svn_error_clear(err);
+          err = svn_stream_open_readonly(&read_stream, system_version,
+                                         pool, pool);
+          if (err)
+            {
+              svn_error_clear(err);
+              return NULL;
+            }
+
           *server = FALSE;
         }
     }
   else
     {
-      CFRelease(url);
       *server = TRUE;
     }
 
+  /* copy the data onto the CFMutableDataRef to allow us to provide it to
+   * the CoreFoundation functions that parse proprerty lists */
+  write_stream = svn_stream_create(&resource, pool);
+  svn_stream_set_write(write_stream, write_to_cfmutabledata);
+  err = svn_stream_copy3(read_stream, write_stream, NULL, NULL, pool);
+  if (err) 
+    {
+      svn_error_clear(err);
+      return NULL;
+    }
+
   /* ### CFPropertyListCreateFromXMLData is obsolete, but its
          replacement CFPropertyListCreateWithData is only available
-         from Mac OS 1.6 onward. */
+         from Mac OS 10.6 onward. */
   plist = CFPropertyListCreateFromXMLData(kCFAllocatorDefault, resource,
                                           kCFPropertyListImmutable,
                                           &errstr);
@@ -1035,6 +1051,7 @@ release_name_from_version(const char *os
     case 6: return "Snow Leopard";
     case 7: return "Lion";
     case 8: return "Mountain Lion";
+    case 9: return "Mavericks";
     }
 
   return NULL;

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=1573603&r1=1573602&r2=1573603&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 Mon Mar  3 16:38:58 2014
@@ -42,12 +42,6 @@
 /* File provider                                                         */
 /*-----------------------------------------------------------------------*/
 
-/* The key that will be stored on disk.  Serves the same role as similar
-   constants in other providers. */
-#define AUTHN_USERNAME_KEY "username"
-
-
-
 /*** Username-only Provider ***/
 static svn_error_t *
 username_first_creds(void **credentials,
@@ -79,7 +73,8 @@ username_first_creds(void **credentials,
       svn_error_clear(err);
       if (! err && creds_hash)
         {
-          svn_string_t *str = svn_hash_gets(creds_hash, AUTHN_USERNAME_KEY);
+          svn_string_t *str = svn_hash_gets(creds_hash,
+                                            SVN_CONFIG_AUTHN_USERNAME_KEY);
           if (str && str->data)
             username = str->data;
         }
@@ -127,7 +122,7 @@ username_save_creds(svn_boolean_t *saved
 
   /* Put the credentials in a hash and save it to disk */
   creds_hash = apr_hash_make(pool);
-  svn_hash_sets(creds_hash, AUTHN_USERNAME_KEY,
+  svn_hash_sets(creds_hash, SVN_CONFIG_AUTHN_USERNAME_KEY,
                 svn_string_create(creds->username, pool));
   err = svn_config_write_auth_data(creds_hash, SVN_AUTH_CRED_USERNAME,
                                    realmstring, config_dir, pool);

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=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf8proc.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf8proc.c Mon Mar  3 16:38:58 2014
@@ -23,9 +23,6 @@
 
 
 
-#define UTF8PROC_INLINE
-#include "utf8proc/utf8proc.c"
-
 #include <apr_fnmatch.h>
 
 #include "private/svn_string_private.h"
@@ -33,6 +30,9 @@
 #include "svn_private_config.h"
 #define UNUSED(x) ((void)(x))
 
+#define UTF8PROC_INLINE
+#include "utf8proc/utf8proc.c"
+
 
 const char *svn_utf__utf8proc_version(void)
 {

Modified: subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf8proc/utf8proc.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf8proc/utf8proc.h?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf8proc/utf8proc.h (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_subr/utf8proc/utf8proc.h Mon Mar  3 16:38:58 2014
@@ -83,9 +83,13 @@ typedef int int32_t;
 #endif
 typedef unsigned char bool;
 enum {false, true};
-#else
+#elif defined(HAVE_STDBOOL_H) && defined(HAVE_INTTYPES_H)
 #include <stdbool.h>
 #include <inttypes.h>
+#else
+#include <apr.h>
+typedef uint8_t bool;
+enum {false, true};
 #endif
 #include <limits.h>
 

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=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/entries.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/entries.c Mon Mar  3 16:38:58 2014
@@ -633,7 +633,7 @@ read_one_entry(const svn_wc_entry_t **ne
           /* ### scan_addition may need to be updated to avoid returning
              ### status_copied in this case.  */
         }
-      /* For backwards-compatiblity purposes we treat moves just like
+      /* For backwards-compatibility purposes we treat moves just like
        * regular copies. */
       else if (work_status == svn_wc__db_status_copied ||
                work_status == svn_wc__db_status_moved_here)

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=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/externals.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/externals.c Mon Mar  3 16:38:58 2014
@@ -275,7 +275,7 @@ svn_wc_parse_externals_description3(apr_
              "definition"),
            SVN_PROP_EXTERNALS, parent_directory_display, token0);
 
-      /* The appearence of -r N or -rN forces the type of external.
+      /* The appearance of -r N or -rN forces the type of external.
          If -r is at the beginning of the line or the first token is
          an absolute URL or if the second token is not an absolute
          URL, then the URL supports peg revisions. */

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=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/libsvn_wc/lock.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/libsvn_wc/lock.c Mon Mar  3 16:38:58 2014
@@ -1211,7 +1211,7 @@ open_anchor(svn_wc_adm_access_t **anchor
           if (disjoint)
             {
               /* Switched or disjoint, so drop P_ACCESS. Don't close any
-                 descendents, or we might blast the child.  */
+                 descendants, or we might blast the child.  */
               err = close_single(p_access, FALSE /* preserve_lock */, pool);
               if (err)
                 {
@@ -1308,7 +1308,7 @@ do_close(svn_wc_adm_access_t *adm_access
       /* Gather all the opened access batons from the DB.  */
       opened = svn_wc__db_temp_get_all_access(adm_access->db, scratch_pool);
 
-      /* Close any that are descendents of this baton.  */
+      /* Close any that are descendants of this baton.  */
       for (hi = apr_hash_first(scratch_pool, opened);
            hi;
            hi = apr_hash_next(hi))
@@ -1630,7 +1630,7 @@ svn_wc__acquire_write_lock_for_resolve(c
                                                 scratch_pool, scratch_pool));
 
       /* It's possible for the required lock path to be an ancestor
-         of, a descendent of, or equal to, the obtained lock path. If
+         of, a descendant of, or equal to, the obtained lock path. If
          it's an ancestor we have to try again, otherwise the obtained
          lock will do. */
       child = svn_dirent_skip_ancestor(required_abspath, obtained_abspath);
@@ -1643,7 +1643,7 @@ svn_wc__acquire_write_lock_for_resolve(c
         }
       else
         {
-          /* required should be a descendent of, or equal to, obtained */
+          /* required should be a descendant of, or equal to, obtained */
           SVN_ERR_ASSERT(!strcmp(required_abspath, obtained_abspath)
                          || svn_dirent_skip_ancestor(obtained_abspath,
                                                      required_abspath));

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=1573603&r1=1573602&r2=1573603&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 Mon Mar  3 16:38:58 2014
@@ -415,7 +415,7 @@ struct handler_baton
      provide a sha1, so we may not have to calculate both, but for the time
      being, that's the way it is. */
 
-  /* The calculated checksum of the text source or NULL if the acual
+  /* The calculated checksum of the text source or NULL if the actual
      checksum is not being calculated. The checksum kind is identical to the
      kind of expected_source_checksum. */
   svn_checksum_t *actual_source_checksum;

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=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/auth-cmd.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/auth-cmd.c Mon Mar  3 16:38:58 2014
@@ -32,6 +32,15 @@
 
 #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"
@@ -56,7 +65,7 @@
 #define SEP_STRING \
   "------------------------------------------------------------------------\n"
 
-#ifdef SVN_HAVE_SERF
+#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 {
@@ -197,9 +206,7 @@ split_ascii_cert(const char *ascii_cert,
 
   return svn_cstring_join(lines, "\n", result_pool);
 }
-#endif /* SVN_HAVE_SERF */
 
-#ifdef SVN_HAVE_SERF
 static svn_error_t *
 load_cert(serf_ssl_certificate_t **cert,
           const char *ascii_cert,
@@ -250,16 +257,12 @@ load_cert(serf_ssl_certificate_t **cert,
 }
 #endif
 
-/* ### from libsvn_subr/ssl_server_trust_providers.c */
-#define AUTHN_ASCII_CERT_KEY            "ascii_cert"
-#define AUTHN_FAILURES_KEY              "failures"
-
 /* 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_HAVE_SERF
+#ifdef SVN_AUTH_PRETTY_PRINT_SSL_CERTS
   serf_ssl_certificate_t *cert;
   apr_hash_t *cert_info;
 
@@ -297,7 +300,7 @@ show_ascii_cert(const char *ascii_cert,
   SVN_ERR(svn_cmdline_printf(scratch_pool,
                              _("Base64-encoded certificate: %s\n"),
                              ascii_cert));
-#endif /* SVN_HAVE_SERF */
+#endif /* SVN_AUTH_PRETTY_PRINT_SSL_CERTS */
 
   return SVN_NO_ERROR;
 }
@@ -343,14 +346,6 @@ show_cert_failures(const char *failure_s
   return SVN_NO_ERROR;
 }
 
-/* ### from libsvn_subr/simple_providers.c */
-#define AUTHN_USERNAME_KEY            "username"
-#define AUTHN_PASSWORD_KEY            "password"
-#define AUTHN_PASSTYPE_KEY            "passtype"
-
-/* ### from libsvn_subr/ssl_client_cert_pw_providers.c */
-#define AUTHN_PASSPHRASE_KEY            "passphrase"
-
 struct walk_credentials_baton_t
 {
   int matches;
@@ -369,7 +364,7 @@ match_pattern(const char *pattern, const
   return (apr_fnmatch(p, value, 0) == APR_SUCCESS);
 }
 
-#ifdef SVN_HAVE_SERF
+#ifdef SVN_AUTH_PRETTY_PRINT_SSL_CERTS
 static svn_error_t *
 match_cert_info(svn_boolean_t *match,
                 const char *pattern,
@@ -405,7 +400,7 @@ match_ascii_cert(svn_boolean_t *match,
                  const char *ascii_cert,
                  apr_pool_t *scratch_pool)
 {
-#ifdef SVN_HAVE_SERF
+#ifdef SVN_AUTH_PRETTY_PRINT_SSL_CERTS
   serf_ssl_certificate_t *cert;
   apr_hash_t *cert_info;
 
@@ -476,10 +471,10 @@ match_credential(svn_boolean_t *match,
               item = APR_ARRAY_IDX(cred_items, j, svn_sort__item_t);
               key = item.key;
               value = item.value;
-              if (strcmp(key, AUTHN_PASSWORD_KEY) == 0 ||
-                  strcmp(key, AUTHN_PASSPHRASE_KEY) == 0)
+              if (strcmp(key, SVN_CONFIG_AUTHN_PASSWORD_KEY) == 0 ||
+                  strcmp(key, SVN_CONFIG_AUTHN_PASSPHRASE_KEY) == 0)
                 continue; /* don't match secrets */
-              else if (strcmp(key, AUTHN_ASCII_CERT_KEY) == 0)
+              else if (strcmp(key, SVN_CONFIG_AUTHN_ASCII_CERT_KEY) == 0)
                 SVN_ERR(match_ascii_cert(match, pattern, value->data,
                                          iterpool));
               else
@@ -524,7 +519,7 @@ list_credential(const char *cred_kind,
       value = item.value;
       if (strcmp(value->data, realmstring) == 0)
         continue; /* realm string was already shown above */
-      else if (strcmp(key, AUTHN_PASSWORD_KEY) == 0)
+      else if (strcmp(key, SVN_CONFIG_AUTHN_PASSWORD_KEY) == 0)
         {
           if (show_passwords)
             SVN_ERR(svn_cmdline_printf(iterpool,
@@ -532,7 +527,7 @@ list_credential(const char *cred_kind,
           else
             SVN_ERR(svn_cmdline_printf(iterpool, _("Password: [not shown]\n")));
         }
-      else if (strcmp(key, AUTHN_PASSPHRASE_KEY) == 0)
+      else if (strcmp(key, SVN_CONFIG_AUTHN_PASSPHRASE_KEY) == 0)
         {
           if (show_passwords)
             SVN_ERR(svn_cmdline_printf(iterpool,
@@ -541,14 +536,14 @@ list_credential(const char *cred_kind,
             SVN_ERR(svn_cmdline_printf(iterpool,
                                        _("Passphrase: [not shown]\n")));
         }
-      else if (strcmp(key, AUTHN_PASSTYPE_KEY) == 0)
+      else if (strcmp(key, SVN_CONFIG_AUTHN_PASSTYPE_KEY) == 0)
         SVN_ERR(svn_cmdline_printf(iterpool, _("Password cache: %s\n"),
                                    value->data));
-      else if (strcmp(key, AUTHN_USERNAME_KEY) == 0)
+      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, AUTHN_ASCII_CERT_KEY) == 0)
+      else if (strcmp(key, SVN_CONFIG_AUTHN_ASCII_CERT_KEY) == 0)
         SVN_ERR(show_ascii_cert(value->data, iterpool));
-      else if (strcmp(key, AUTHN_FAILURES_KEY) == 0)
+      else if (strcmp(key, SVN_CONFIG_AUTHN_FAILURES_KEY) == 0)
         SVN_ERR(show_cert_failures(value->data, iterpool));
       else
         SVN_ERR(svn_cmdline_printf(iterpool, "%s: %s\n", key, value->data));

Modified: subversion/branches/fsfs-lock-many/subversion/svn/file-merge.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-lock-many/subversion/svn/file-merge.c?rev=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/file-merge.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/file-merge.c Mon Mar  3 16:38:58 2014
@@ -75,7 +75,7 @@ struct file_merge_baton {
   /* The client configuration hash. */
   apr_hash_t *config;
 
-  /* Wether the merge should be aborted. */
+  /* Whether the merge should be aborted. */
   svn_boolean_t abort_merge;
 
   /* Pool for temporary allocations. */

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=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/status-cmd.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/status-cmd.c Mon Mar  3 16:38:58 2014
@@ -365,7 +365,7 @@ svn_cl__status(apr_getopt_t *os,
         SVN_ERR(print_finish_target_xml(repos_rev, iterpool));
     }
 
-  /* If any paths were cached because they were associatied with
+  /* If any paths were cached because they were associated with
      changelists, we can now display them as grouped changelists. */
   if (apr_hash_count(master_cl_hash) > 0)
     {

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=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svn/svn.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svn/svn.c Mon Mar  3 16:38:58 2014
@@ -280,7 +280,7 @@ const apr_getopt_option_t svn_cl__option
                        "ARG may be one of 'LF', 'CR', 'CRLF'")},
   {"limit",         'l', 1, N_("maximum number of log entries")},
   {"no-unlock",     opt_no_unlock, 0, N_("don't unlock the targets")},
-  {"remove",         opt_remove, 0, N_("remove changelist association or auth credential")},
+  {"remove",         opt_remove, 0, N_("remove changelist association")},
   {"changelist",    opt_changelist, 1,
                     N_("operate only on members of changelist ARG")},
   {"keep-changelists", opt_keep_changelists, 0,
@@ -468,7 +468,10 @@ const svn_opt_subcommand_desc2_t svn_cl_
     "  Note that wildcards will usually need to be quoted or escaped on the\n"
     "  command line because many command shells will interfere by trying to\n"
     "  expand them.\n"),
-    { opt_remove, opt_show_passwords } },
+    { opt_remove, opt_show_passwords },
+    { {opt_remove, N_("remove matching authentication credentials")} }
+    
+    },
 
   { "blame", svn_cl__blame, {"praise", "annotate", "ann"}, N_
     ("Output the content of specified files or\n"

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=1573603&r1=1573602&r2=1573603&view=diff
==============================================================================
--- subversion/branches/fsfs-lock-many/subversion/svnlook/svnlook.c (original)
+++ subversion/branches/fsfs-lock-many/subversion/svnlook/svnlook.c Mon Mar  3 16:38:58 2014
@@ -1598,7 +1598,7 @@ print_history(void *baton,
     {
       phb->count++;
       if (phb->count >= phb->limit)
-        /* Not L10N'd, since this error is supressed by the caller. */
+        /* Not L10N'd, since this error is suppressed by the caller. */
         return svn_error_create(SVN_ERR_CEASE_INVOCATION, NULL,
                                 _("History item limit reached"));
     }



Mime
View raw message