You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "Hyrum K. Wright" <hy...@hyrumwright.org> on 2009/10/13 18:07:34 UTC

Re: svn commit: r39996 - trunk/subversion/libsvn_fs_fs

On Oct 13, 2009, at 12:49 PM, Julian Foad wrote:

> Author: julianfoad
> Date: Tue Oct 13 10:49:57 2009
> New Revision: 39996
>
> Log:
> * subversion/libsvn_fs_fs/fs_fs.c
>  (write_final_rev): Correct and improve the doc string.
>  (svn_fs_fs__commit_obliteration): Note work to do on the rep cache.
>
> Modified:
>   trunk/subversion/libsvn_fs_fs/fs_fs.c
>
> Modified: trunk/subversion/libsvn_fs_fs/fs_fs.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_fs_fs/fs_fs.c?pathrev=39996&r1=39995&r2=39996
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- trunk/subversion/libsvn_fs_fs/fs_fs.c	Tue Oct 13 09:32:18 2009	 
> (r39995)
> +++ trunk/subversion/libsvn_fs_fs/fs_fs.c	Tue Oct 13 10:49:57 2009	 
> (r39996)
> @@ -5300,11 +5300,18 @@ write_hash_rep(svn_filesize_t *size,
> }
>
> /* Copy a node-revision specified by id ID in fileystem FS from a
> -   transaction into the permanent rev-file FILE.  Return the offset  
> of
> -   the new node-revision in *OFFSET.  If this is a directory, all
> -   children are copied as well.  START_NODE_ID and START_COPY_ID are
> +   transaction into the permanent rev-file FILE.  Set *NEW_ID_P to a
> +   pointer to the new node-id which will be allocated in POOL.
> +   If this is a directory, copy all children as well.
> +
> +   START_NODE_ID and START_COPY_ID are
>    the first available node and copy ids for this filesystem, for  
> older
> -   FS formats. Temporary allocations are from POOL. */
> +   FS formats.
> +
> +   If REPS_TO_CACHE is not NULL, append to it a copy (allocated in
> +   REPS_POOL) of each data rep that is new in this revision.
> +
> +   Temporary allocations are also from POOL. */
> static svn_error_t *
> write_final_rev(const svn_fs_id_t **new_id_p,
>                 apr_file_t *file,
> @@ -6049,15 +6056,19 @@ svn_fs_fs__commit_obliteration(svn_revnu
>       cb.reps_pool = NULL;
>     }
>
> +  /* Commit the obliteration revision */
>   SVN_ERR(svn_fs_fs__with_write_lock(fs, commit_obliteration_body,  
> &cb, pool));
>
> +  /* TODO: Update the rep cache: in particular, delete invalid  
> entries, and
> +   * ensure we will re-validate entries that may already be in  
> pending txns. */
>   if (ffd->rep_sharing_allowed)
>     {
> -      /* ### TODO: ignore errors opening the DB (issue #3506) * */
> -      SVN_ERR(svn_fs_fs__open_rep_cache(fs, pool));
> -      SVN_ERR(svn_sqlite__with_transaction(ffd->rep_cache_db,
> -                                            
> commit_sqlite_txn_callback,
> -                                           &cb, pool));
> +      /* ###
> +       * SVN_ERR(svn_fs_fs__open_rep_cache(fs, pool));
> +       * SVN_ERR(svn_sqlite__with_transaction(ffd->rep_cache_db,
> +       *                                       
> commit_sqlite_txn_callback,
> +       *                                      &cb, pool));
> +       */

Julian,
Is this intentional?  I didn't see it mentioned in the log message,  
and it doesn't seem to jive with the comment above the if() statement.

-Hyrum

>     }
>
>   return SVN_NO_ERROR;
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=495&dsMessageId=2407243

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2407246