Hi Hyrum,
It's great that you're working on this! A few more comments about the
API, though.
On Fri, Dec 08, 2006 at 09:09:20AM -0800, hwright@tigris.org wrote:
> ==============================================================================
> --- branches/multiple-moves/subversion/include/svn_client.h (original)
> +++ branches/multiple-moves/subversion/include/svn_client.h Fri Dec 8 09:09:19 2006
> @@ -1905,15 +1905,24 @@
> *
> * @a src_paths must be files or directories under version control, or
> * URLs of a versioned item in the repository. If @a src_paths has multiple
> + * items, they must be all repository URLs or all working copy paths.
> + * @a src_revision is used to choose the revision from which to copy the
> + * @a src_paths.
> + *
> + * The parent of @a dst_path must already exist.
> + *
> + * If @a src_paths has only one item, attempt to move it to @a dst_path. If
> + * @a copy_as_child is TRUE and @a dst_path already exists, attempt to copy the
> + * item as a child of @a dst_path. If a child of @a dst_path already exists
> + * with the same name as the item in @a src_paths, fail with
> + * @c SVN_ERR_ENTRY_EXISTS if @a dst_path is a working copy path and
> + * @c SVN_ERR_FS_ALREADY_EXSISTS if @a dst_path is a URL.
Typo: EXSISTS (also occurs later). Shouldn't that be 'attempt to copy'
rather than 'attempt to move'?
What happens if copy_as_child is FALSE?
Also, I'm not sure whether the third sentence ("If a child of @a
dst_path...") is still part of the 'If copy_as_child is TRUE as dst_path
already exists' clause or whether it's supposed to apply regardless.
> + *
> + * If @a src_paths has multiple items, @a copy_as_child is ignored, and all
> + * @a src_paths are copied as children of @a dst_path. If any child of
> + * @a dst_path already exists with the same name any item in @a src_paths,
> + * fail with @c SVN_ERR_ENTRY_EXISTS if @a dst_path is a working copy path and
> + * @c SVN_ERR_FS_ALREADY_EXSISTS if @a dst_path is a URL.
> *
> * If @a dst_path is a URL, use the authentication baton
> * in @a ctx and @a ctx->log_msg_func/@a ctx->log_msg_baton to immediately
> @@ -1945,10 +1954,10 @@
> apr_pool_t *pool);
>
> /**
> + * Similar to svn_client_copy4(), with the difference that if
> + * @a dst_path exists, fail with @c SVN_ERR_ENTRY_EXISTS if @a dst_path is a
> + * working copy path and @c SVN_ERR_FS_ALREADY_EXISTS if @a dst_path is a
> + * repository URL. Also, only take a single @a src_path and @a dst_path.
Isn't this the _same_ failing behaviour as svn_client_copy4()?
Should this just be something like 'Similar to svn_client_copy4(), with
only one @a src_path and @a copy_as_child set to FALSE'?
Similar comments also apply to the _move() implementation, of course.
Regards,
Malcolm
- application/pgp-signature attachment: stored
Received on Fri Dec 8 19:21:58 2006