Author: stefan2
Date: Sat Apr 27 17:18:04 2013
New Revision: 1476632

URL: http://svn.apache.org/r1476632
Log:
On the fsfs-format7 branch: minor refactoring.

* subversion/libsvn_fs_fs/index.h
  (svn_fs_fs__p2l_entry_dup): declare here; renamed from copy_p2l_entry
* subversion/libsvn_fs_fs/index.c
  (svn_fs_fs__p2l_entry_dup): move implementation from pack.c to here

* subversion/libsvn_fs_fs/pack.c
  (copy_p2l_entry): remove here
  (copy_item_to_temp,
   copy_rep_to_temp, 
   copy_node_to_temp,
   write_changes_container): update callers

Modified:
    subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/index.c
    subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/index.h
    subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/pack.c

Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/index.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/index.c?rev=1476632&r1=1476631&r2=1476632&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/index.c (original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/index.c Sat Apr 27 
17:18:04 2013
@@ -1623,6 +1623,21 @@ svn_fs_fs__l2p_get_max_ids(apr_array_hea
 /*
  * phys-to-log index
  */
+svn_fs_fs__p2l_entry_t *
+svn_fs_fs__p2l_entry_dup(svn_fs_fs__p2l_entry_t *entry,
+                         apr_pool_t *pool)
+{
+  svn_fs_fs__p2l_entry_t *new_entry = apr_palloc(pool, sizeof(*new_entry));
+  *new_entry = *entry;
+
+  if (new_entry->item_count)
+    new_entry->items = apr_pmemdup(pool,
+                                   entry->items,
+                                   entry->item_count * sizeof(*entry->items));
+
+  return new_entry;
+}
+
 svn_error_t *
 svn_fs_fs__p2l_proto_index_open(apr_file_t **proto_index,
                                 const char *file_name,

Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/index.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/index.h?rev=1476632&r1=1476631&r2=1476632&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/index.h (original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/index.h Sat Apr 27 
17:18:04 2013
@@ -74,6 +74,12 @@ typedef struct svn_fs_fs__p2l_entry_t
   svn_fs_fs__id_part_t *items;
 } svn_fs_fs__p2l_entry_t;
 
+/* Return a (deep) copy of ENTRY, allocated in POOL.
+ */
+svn_fs_fs__p2l_entry_t *
+svn_fs_fs__p2l_entry_dup(svn_fs_fs__p2l_entry_t *entry,
+                         apr_pool_t *pool);
+
 /* Open / create a log-to-phys index file with the full file path name
  * FILE_NAME.  Return the open file in *PROTO_INDEX and use POOL for
  * allocations.
@@ -195,6 +201,12 @@ svn_fs_fs__l2p_get_max_ids(apr_array_hea
                            apr_size_t count,
                            apr_pool_t *pool);
 
+svn_error_t *
+svn_fs_fs__p2l_get_max_offset(apr_off_t *offset,
+                              svn_fs_t *fs,
+                              svn_revnum_t revision,
+                              apr_pool_t *pool);
+
 /* Serialization and caching interface
  */
 

Modified: subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/pack.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/pack.c?rev=1476632&r1=1476631&r2=1476632&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/pack.c (original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_fs_fs/pack.c Sat Apr 27 
17:18:04 2013
@@ -422,23 +422,6 @@ write_null_bytes(apr_file_t *dest,
   return SVN_NO_ERROR;
 }
 
-/* Return a (deep) copy of ENTRY, allocated in POOL.
- */
-static svn_fs_fs__p2l_entry_t *
-copy_p2l_entry(svn_fs_fs__p2l_entry_t *entry,
-               apr_pool_t *pool)
-{
-  svn_fs_fs__p2l_entry_t *new_entry = apr_palloc(pool, sizeof(*new_entry));
-  *new_entry = *entry;
-
-  if (new_entry->item_count)
-    new_entry->items = apr_pmemdup(pool,
-                                   entry->items,
-                                   entry->item_count * sizeof(*entry->items));
-
-  return new_entry;
-}
-
 /* Copy the "simple" item (changes list or property representation) from
  * the current position in REV_FILE to TEMP_FILE using CONTEXT.  Add a
  * copy of ENTRY to ENTRIES but with an updated offset value that points
@@ -453,7 +436,7 @@ copy_item_to_temp(pack_context_t *contex
                   apr_pool_t *pool)
 {
   svn_fs_fs__p2l_entry_t *new_entry
-    = copy_p2l_entry(entry, context->info_pool);
+    = svn_fs_fs__p2l_entry_dup(entry, context->info_pool);
   new_entry->offset = 0;
   SVN_ERR(svn_io_file_seek(temp_file, SEEK_CUR, &new_entry->offset, pool));
   APR_ARRAY_PUSH(entries, svn_fs_fs__p2l_entry_t *) = new_entry;
@@ -519,7 +502,7 @@ copy_rep_to_temp(pack_context_t *context
 
   /* create a copy of ENTRY, make it point to the copy destination and
    * store it in CONTEXT */
-  rep_info->entry = copy_p2l_entry(entry, context->info_pool);
+  rep_info->entry = svn_fs_fs__p2l_entry_dup(entry, context->info_pool);
   rep_info->entry->offset = 0;
   SVN_ERR(svn_io_file_seek(context->reps_file, SEEK_CUR,
                            &rep_info->entry->offset, pool));
@@ -633,7 +616,7 @@ copy_node_to_temp(pack_context_t *contex
 
   /* create a copy of ENTRY, make it point to the copy destination and
    * store it in CONTEXT */
-  rep_info->entry = copy_p2l_entry(entry, context->info_pool);
+  rep_info->entry = svn_fs_fs__p2l_entry_dup(entry, context->info_pool);
   rep_info->entry->offset = 0;
   SVN_ERR(svn_io_file_seek(context->reps_file, SEEK_CUR,
                            &rep_info->entry->offset, pool));
@@ -1191,7 +1174,7 @@ write_changes_container(pack_context_t *
 
   context->pack_offset = offset;
   APR_ARRAY_PUSH(new_entries, svn_fs_fs__p2l_entry_t *)
-    = copy_p2l_entry(&container_entry, context->info_pool);
+    = svn_fs_fs__p2l_entry_dup(&container_entry, context->info_pool);
 
   SVN_ERR(svn_fs_fs__p2l_proto_index_add_entry
             (context->proto_p2l_index, &container_entry, pool));


Reply via email to