Okay, so I'm working on formalizing the behavior of 'svn cp URL URL'.
(IZ #734)
Right now, this command is able to silently overwrite a directory, but
refuses to overwrite a file. (This behavior is enforced by
libsvn_client. svn_fs_copy() is actually agnostic, and will overwrite
any destination.) The problem is that this is the opposite behavior
of how Unix 'cp' works, so we're trying to fix this.
So I modified the client logic to prevent directory overwrites.
Simple enough.
Then I modified the client logic to allow file overwrites... but now
the RA layers are doing out-of-dateness checks while building the fs
txn, and the commit fails. When the RA layer tries to overwrite the
file in the txn, we get an out-of-date error. Of course. The
node-ids are totally unrelated.
So we need to think here. Is this good? Bad? Do we need to somehow
build complex exceptions in the RA layers (like passing a flag to
RA->do_commit() that turns off the out-of-dateness checking?)
Or should we just say, "hey, svn cp URL URL won't overwrite anything,
period." I mean, I guess that *would* be consistent with our
out-of-date commit philosophy.
Thoughts?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jun 26 07:37:51 2002