CC += artagnon

Ramkumar, I think the lesson from Mike and I's recent fixes is: "Mark
unreachable code with a run-time assertion, not with a source comment".

i.e., if those places were marked with SVN__NOT_IMPLEMENTED(), debugging
would have been easier.

(Tests pass if I add a SVN__NOT_IMPLEMENTED() to that function.)

cmpil...@apache.org wrote on Tue, Feb 15, 2011 at 17:22:32 -0000:
> Author: cmpilato
> Date: Tue Feb 15 17:22:32 2011
> New Revision: 1070980
> 
> URL: http://svn.apache.org/viewvc?rev=1070980&view=rev
> Log:
> Improve 'svnrdump load' by implementing a missing function (the one
> that handles fulltext file contents in dumpstreams).  We still can't
> fully handle non-delta dumpstreams due to remove_node_props() being a
> no-op.
> 
> * subversion/svnrdump/load_editor.c
>   (set_fulltext): Really implement this function.
> 
> Modified:
>     subversion/trunk/subversion/svnrdump/load_editor.c
> 
> Modified: subversion/trunk/subversion/svnrdump/load_editor.c
> URL: 
> http://svn.apache.org/viewvc/subversion/trunk/subversion/svnrdump/load_editor.c?rev=1070980&r1=1070979&r2=1070980&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/svnrdump/load_editor.c (original)
> +++ subversion/trunk/subversion/svnrdump/load_editor.c Tue Feb 15 17:22:32 
> 2011
> @@ -464,7 +464,20 @@ static svn_error_t *
>  set_fulltext(svn_stream_t **stream,
>               void *node_baton)
>  {
> -  /* ### Not implemented */
> +  struct node_baton *nb;
> +  const struct svn_delta_editor_t *commit_editor;
> +  svn_txdelta_window_handler_t handler;
> +  void *handler_baton;
> +  apr_pool_t *pool;
> +
> +  nb = node_baton;
> +  commit_editor = nb->rb->pb->commit_editor;
> +  pool = nb->rb->pool;
> +  LDR_DBG(("Setting fulltext for %p\n", nb->file_baton));
> +  SVN_ERR(commit_editor->apply_textdelta(nb->file_baton, nb->base_checksum,
> +                                         pool, &handler, &handler_baton));
> +  *stream = svn_txdelta_target_push(handler, handler_baton,
> +                                    svn_stream_empty(pool), pool);
>    return SVN_NO_ERROR;
>  }
>  
> 
> 

Reply via email to