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

Re: [PATCH] Fix for issue 3799 - exporting file should not overwrite

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Fri, 20 May 2011 11:52:28 +0100

Noorul Islam K M <noorul_at_collab.net> writes:

> Index: subversion/libsvn_client/export.c
> ===================================================================
> --- subversion/libsvn_client/export.c (revision 1071880)
> +++ subversion/libsvn_client/export.c (working copy)
> @@ -524,7 +524,26 @@
> }
> else if (from_kind == svn_node_file)
> {
> + svn_node_kind_t kind;
> + svn_error_t *err;
> +
> SVN_ERR(append_basename_if_dir(&to_abspath, from_abspath, FALSE, pool));
> + svn_error_clear(svn_io_check_path(to_abspath, &kind, pool));
> +
> + if ((kind == svn_node_file) && ! force)
> + {
> + return svn_error_createf(SVN_ERR_FS_ALREADY_EXISTS, NULL,
> + _("Destination file '%s' exists, "
> + "and will not be overwritten unless "
> + "forced"),
> + svn_dirent_local_style(to_abspath, pool));

That's the wrong error, SVN_ERR_FS_ is for the Subversion filesystem in
the repository.

> + }
> + else if (kind == svn_node_dir)
> + return svn_error_createf(SVN_ERR_FS_ALREADY_EXISTS, NULL,
> + _("Destination %s exists. Cannot overwrite "
> + "directory with non-directory"),
> + svn_dirent_local_style(to_abspath, pool));
> +
> SVN_ERR(copy_one_versioned_file(from_abspath, to_abspath, ctx->wc_ctx,
> revision, native_eol, ignore_keywords,
> pool));

Why do we have these checks here as well as open_root_internal?

-- 
Philip
Received on 2011-05-20 12:53:03 CEST

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