You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2012/08/23 13:08:55 UTC
svn commit: r1376436 - /subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
Author: philip
Date: Thu Aug 23 11:08:54 2012
New Revision: 1376436
URL: http://svn.apache.org/viewvc?rev=1376436&view=rev
Log:
Fix issue 4220, revprop packing post-commit breaks commit.
* subversion/libsvn_fs_fs/fs_fs.c
(get_revision_proplist): Fall through to packed if possible.
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=1376436&r1=1376435&r2=1376436&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Thu Aug 23 11:08:54 2012
@@ -3681,8 +3681,18 @@ get_revision_proplist(apr_hash_t **propl
* non-packed shard. If that fails, we will fall through to packed
* shard reads. */
if (!is_packed_revprop(fs, rev))
- SVN_ERR(read_non_packed_revprop(proplist_p, fs, rev, generation,
- pool));
+ {
+ svn_error_t *err = read_non_packed_revprop(proplist_p, fs, rev,
+ generation, pool);
+ if (err)
+ {
+ if (!APR_STATUS_IS_ENOENT(err->apr_err)
+ || ffd->format < SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT)
+ return svn_error_trace(err);
+
+ svn_error_clear(err);
+ }
+ }
/* if revprop packing is available and we have not read the revprops, yet,
* try reading them from a packed shard. If that fails, REV is most
Re: svn commit: r1376436 - /subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
Posted by Philip Martin <ph...@wandisco.com>.
"Bert Huijben" <be...@qqmail.nl> writes:
>> - SVN_ERR(read_non_packed_revprop(proplist_p, fs, rev, generation,
>> - pool));
>> + {
>> + svn_error_t *err = read_non_packed_revprop(proplist_p, fs, rev,
>> + generation, pool);
>> + if (err)
>> + {
>> + if (!APR_STATUS_IS_ENOENT(err->apr_err)
>> + || ffd->format < SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT)
>> + return svn_error_trace(err);
>> +
>> + svn_error_clear(err);
>
> Are the output arguments of read_no_packed_revprop guaranteed (or unused) after this error clear + fall through?
*proplist_p is explicitly set to NULL before the call.
--
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download
RE: svn commit: r1376436 - /subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
Posted by Bert Huijben <be...@qqmail.nl>.
> -----Original Message-----
> From: philip@apache.org [mailto:philip@apache.org]
> Sent: donderdag 23 augustus 2012 13:09
> To: commits@subversion.apache.org
> Subject: svn commit: r1376436 -
> /subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
>
> Author: philip
> Date: Thu Aug 23 11:08:54 2012
> New Revision: 1376436
>
> URL: http://svn.apache.org/viewvc?rev=1376436&view=rev
> Log:
> Fix issue 4220, revprop packing post-commit breaks commit.
>
> * subversion/libsvn_fs_fs/fs_fs.c
> (get_revision_proplist): Fall through to packed if possible.
>
> 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=1376436&r1=1376435&r2=1376436&view=diff
> ==========================================================
> ====================
> --- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
> +++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Thu Aug 23 11:08:54
> 2012
> @@ -3681,8 +3681,18 @@ get_revision_proplist(apr_hash_t **propl
> * non-packed shard. If that fails, we will fall through to packed
> * shard reads. */
> if (!is_packed_revprop(fs, rev))
> - SVN_ERR(read_non_packed_revprop(proplist_p, fs, rev, generation,
> - pool));
> + {
> + svn_error_t *err = read_non_packed_revprop(proplist_p, fs, rev,
> + generation, pool);
> + if (err)
> + {
> + if (!APR_STATUS_IS_ENOENT(err->apr_err)
> + || ffd->format < SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT)
> + return svn_error_trace(err);
> +
> + svn_error_clear(err);
Are the output arguments of read_no_packed_revprop guaranteed (or unused) after this error clear + fall through?
Bert
> + }
> + }
>
> /* if revprop packing is available and we have not read the revprops, yet,
> * try reading them from a packed shard. If that fails, REV is most
>