You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2010/12/02 07:57:21 UTC
svn commit: r1041293 - /subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
Author: danielsh
Date: Thu Dec 2 06:57:21 2010
New Revision: 1041293
URL: http://svn.apache.org/viewvc?rev=1041293&view=rev
Log:
* subversion/libsvn_fs_fs/fs_fs.c
(open_pack_or_rev_file):
Avoid the retry logic (which might call update_min_unpacked_rev() and
therein trigger an assert) when the filesystem format is older than packing.
Suggested by: philip
Modified:
subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1041293&r1=1041292&r2=1041293&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Thu Dec 2 06:57:21 2010
@@ -1901,10 +1901,15 @@ open_pack_or_rev_file(apr_file_t **file,
svn_revnum_t rev,
apr_pool_t *pool)
{
+ fs_fs_data_t *ffd = fs->fsap_data;
svn_error_t *err;
const char *path;
svn_boolean_t retry = FALSE;
+ /* If the filesystem doesn't support packing, try once instead of twice. */
+ if (ffd->format < SVN_FS_FS__MIN_PACKED_FORMAT)
+ retry = TRUE;
+
do
{
err = svn_fs_fs__path_rev_absolute(&path, fs, rev, pool);
@@ -1925,7 +1930,8 @@ open_pack_or_rev_file(apr_file_t **file,
return svn_error_createf(SVN_ERR_FS_NO_SUCH_REVISION, NULL,
_("No such revision %ld"), rev);
- /* we failed for the first time. Refresh cache & retry. */
+ /* We failed for the first time. Refresh cache & retry.
+ (We already know the format is new enough.) */
SVN_ERR(update_min_unpacked_rev(fs, pool));
retry = TRUE;