[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1232634 - /subversion/branches/ev2-export/subversion/libsvn_client/export.c

From: Daniel Shahaf <danielsh_at_elego.de>
Date: Wed, 18 Jan 2012 07:10:27 +0200

hwright_at_apache.org wrote on Tue, Jan 17, 2012 at 23:04:32 -0000:
> Author: hwright
> Date: Tue Jan 17 23:04:32 2012
> New Revision: 1232634
>
> URL: http://svn.apache.org/viewvc?rev=1232634&view=rev
> Log:
> On the ev2-export branch:
> Replace one hack with another, which allows us to remove the vestigal delta
> editor from the export functionality.
>
> * subversion/libsvn_client/export.c
> (dir_baton, file_baton, change_file_prop, close_file): Remove.
> (svn_client_export5): Instead of manually driving the delta editor,
> manually drive an Ev2 editor. This has the happy consequence of only
> requiring one function call, instead of three.
>
> Modified:
> subversion/branches/ev2-export/subversion/libsvn_client/export.c
>
> Modified: subversion/branches/ev2-export/subversion/libsvn_client/export.c
> URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/libsvn_client/export.c?rev=1232634&r1=1232633&r2=1232634&view=diff
> ==============================================================================
> +++ subversion/branches/ev2-export/subversion/libsvn_client/export.c Tue Jan 17 23:04:32 2012
> @@ -671,166 +671,6 @@ struct edit_baton
> };
>
>
> static svn_error_t *
> fetch_props_func(apr_hash_t **props,
> void *baton,
> @@ -1138,8 +978,8 @@ svn_client_export5(svn_revnum_t *result_
> if (kind == svn_node_file)
> {
> apr_hash_t *props;
> + svn_stream_t *tmp_stream;
> + const char *tmppath;
> svn_node_kind_t to_kind;
>
> if (svn_path_is_empty(to_path))
> @@ -1171,41 +1011,21 @@ svn_client_export5(svn_revnum_t *result_
> "overwrite directory with non-directory"),
> svn_dirent_local_style(to_path, pool));
>
> + SVN_ERR(svn_stream_open_unique(&tmp_stream, &tmppath,
> + svn_dirent_dirname(eb->root_path, pool),
> + svn_io_file_del_on_pool_cleanup,
> + pool, pool));
>
> SVN_ERR(svn_ra_get_file(ra_session, "", revnum,
> + tmp_stream, NULL, &props, pool));
> + SVN_ERR(svn_stream_close(tmp_stream));
>
> + SVN_ERR(svn_stream_open_readonly(&tmp_stream, tmppath, pool, pool));
>

Same question as before. Why the tempfile? Can you avoid it?
(Perhaps that requires an svn_stream_copy() call?)

> + /* Since you cannot actually root an editor at a file, we
> + * manually drive a function of our editor. */
> + SVN_ERR(add_file_ev2(eb, "", NULL, tmp_stream, props,
> + SVN_INVALID_REVNUM, pool));
> }
> else if (kind == svn_node_dir)
> {
>
>
Received on 2012-01-18 06:11:30 CET

This is an archived mail posted to the Subversion Dev mailing list.