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));