You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2014/09/08 14:22:52 UTC
svn commit: r1623368 - in /subversion/trunk/subversion/libsvn_fs_fs:
rev_file.c util.c util.h verify.c
Author: stefan2
Date: Mon Sep 8 12:22:52 2014
New Revision: 1623368
URL: http://svn.apache.org/r1623368
Log:
Minor FSFS refactoring: move a common code sequence to util.*
* subversion/libsvn_fs_fs/util.h
(svn_fs_fs__packed_base_rev): Declare new internal API.
* subversion/libsvn_fs_fs/util.c
(svn_fs_fs__packed_base_rev): Implement it with code taken from rev_file.c.
* subversion/libsvn_fs_fs/rev_file.c
(init_revision_file,
open_pack_or_rev_file): Call the new function.
* subversion/libsvn_fs_fs/verify.c
(packed_base_rev): Remove local function.
(verify_index_consistency): Call the new one.
Modified:
subversion/trunk/subversion/libsvn_fs_fs/rev_file.c
subversion/trunk/subversion/libsvn_fs_fs/util.c
subversion/trunk/subversion/libsvn_fs_fs/util.h
subversion/trunk/subversion/libsvn_fs_fs/verify.c
Modified: subversion/trunk/subversion/libsvn_fs_fs/rev_file.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/rev_file.c?rev=1623368&r1=1623367&r2=1623368&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/rev_file.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/rev_file.c Mon Sep 8 12:22:52 2014
@@ -42,9 +42,7 @@ init_revision_file(svn_fs_fs__revision_f
fs_fs_data_t *ffd = fs->fsap_data;
file->is_packed = svn_fs_fs__is_packed_rev(fs, revision);
- file->start_revision = revision < ffd->min_unpacked_rev
- ? revision - (revision % ffd->max_files_per_dir)
- : revision;
+ file->start_revision = svn_fs_fs__packed_base_rev(fs, revision);
file->file = NULL;
file->stream = NULL;
@@ -178,9 +176,7 @@ open_pack_or_rev_file(svn_fs_fs__revisio
/* We failed for the first time. Refresh cache & retry. */
SVN_ERR(svn_fs_fs__update_min_unpacked_rev(fs, scratch_pool));
- file->start_revision = rev < ffd->min_unpacked_rev
- ? rev - (rev % ffd->max_files_per_dir)
- : rev;
+ file->start_revision = svn_fs_fs__packed_base_rev(fs, rev);
retry = TRUE;
}
Modified: subversion/trunk/subversion/libsvn_fs_fs/util.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/util.c?rev=1623368&r1=1623367&r2=1623368&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/util.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/util.c Mon Sep 8 12:22:52 2014
@@ -55,6 +55,16 @@ svn_fs_fs__is_packed_revprop(svn_fs_t *f
&& (ffd->format >= SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT);
}
+svn_revnum_t
+svn_fs_fs__packed_base_rev(svn_fs_t *fs,
+ svn_revnum_t revision)
+{
+ fs_fs_data_t *ffd = fs->fsap_data;
+ return (revision < ffd->min_unpacked_rev)
+ ? (revision - (revision % ffd->max_files_per_dir))
+ : revision;
+}
+
const char *
svn_fs_fs__path_txn_current(svn_fs_t *fs,
apr_pool_t *pool)
Modified: subversion/trunk/subversion/libsvn_fs_fs/util.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/util.h?rev=1623368&r1=1623367&r2=1623368&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/util.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/util.h Mon Sep 8 12:22:52 2014
@@ -76,6 +76,12 @@ svn_boolean_t
svn_fs_fs__is_packed_revprop(svn_fs_t *fs,
svn_revnum_t rev);
+/* Return the first revision in the pack / rev file containing REVISION in
+ * filesystem FS. For non-packed revs, this will simply be REVISION. */
+svn_revnum_t
+svn_fs_fs__packed_base_rev(svn_fs_t *fs,
+ svn_revnum_t revision);
+
/* Return the full path of the rev shard directory that will contain
* revision REV in FS. Allocate the result in POOL.
*/
Modified: subversion/trunk/subversion/libsvn_fs_fs/verify.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/verify.c?rev=1623368&r1=1623367&r2=1623368&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/verify.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/verify.c Mon Sep 8 12:22:52 2014
@@ -592,16 +592,6 @@ compare_p2l_to_rev(svn_fs_t *fs,
}
static svn_revnum_t
-packed_base_rev(svn_fs_t *fs, svn_revnum_t rev)
-{
- fs_fs_data_t *ffd = fs->fsap_data;
-
- return rev < ffd->min_unpacked_rev
- ? rev - (rev % ffd->max_files_per_dir)
- : rev;
-}
-
-static svn_revnum_t
pack_size(svn_fs_t *fs, svn_revnum_t rev)
{
fs_fs_data_t *ffd = fs->fsap_data;
@@ -635,7 +625,7 @@ verify_index_consistency(svn_fs_t *fs,
svn_error_t *err = SVN_NO_ERROR;
svn_revnum_t count = pack_size(fs, revision);
- svn_revnum_t pack_start = packed_base_rev(fs, revision);
+ svn_revnum_t pack_start = svn_fs_fs__packed_base_rev(fs, revision);
svn_revnum_t pack_end = pack_start + count;
svn_pool_clear(iterpool);
@@ -668,7 +658,7 @@ verify_index_consistency(svn_fs_t *fs,
/* We could simply assign revision here but the code below is
more intuitive to maintainers. */
- next_revision = packed_base_rev(fs, revision);
+ next_revision = svn_fs_fs__packed_base_rev(fs, revision);
}
else
{