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

Re: svn commit: r22599 - in branches/multiple-moves/subversion: include libsvn_client svn

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: 2006-12-08 18:10:54 CET

Daniel Rall wrote:
> On Thu, 07 Dec 2006, hwright@tigris.org wrote:
> ...
>> On the multiple moves branch:
>> Merge the svn_client_[copy,move] and svn_client_[copy,move]_into APIs. The
>> idea of the new APIs is to Do The Right Thing when given a list of source paths
>> and a destination path. The new APIs also have a flag to preserve compatibility
>> with the changes introduced in r18315 to fix issue 2188.
> Bravo! I think this addressed issue #2188 well. Stefan, can you
> confirm?

Interested parties:
I've reworded the API documentation in r22612. Hopefully, it will be a
bit clearer what the API does and the purpose of the
[copy,move]_as_child flag.

Dave Glasser does bring up an interesting point:
> The more I think about it, the more it seems like two separate APIs is
> better than one API with a boolean that entirely changes its
> semantics. For example, I found the documentation for the separated
> _into function easier to understand than the documentation for the
> combined function. (I'm still not sure what the combined API should
> do if you pass a multiple-element array but set copy_as_child to
> FALSE.) (Also, in the common case of a single-file-copy/move, this
> requires extra code to create an array.)

I think that we all agree that we want some kind of interface which has
behavior similar to the traditional cp/mv commands. Whether that
interface should exist as part of libsvn_client, or simply in the client
application is another matter. The merged API is an attempt to present
that kind of interface, but also offer a bit more control to API
consumers who want it.

I still don't know what the Right Thing here is; there may not be one.
I suspect that we'll end up with some kind of balancing act, and r22599
 is an attempt to reach that balance.


Received on Fri Dec 8 18:11:25 2006

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