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

Re: svn commit --non-recursive dir_path gives error "Cannot non-recursively commit a directory deletion"

From: John Peacock <jpeacock_at_rowman.com>
Date: 2005-07-26 20:35:10 CEST

Jim Correia wrote:
> Yes, because it is the only thing that makes sense (because, as you
> mention, doing otherwise would leave the children inaccessible.)

I would argue that any action on a directory (which is a container
object, not a leaf) is inherently a recursive operation, even if the
directory itself is empty. Personally, I would always throw an error if
you tried to non-recursively delete a directory (even empty) because of
the high likelyhood that this is not what you meant to do. We could be
nice and just warn "non-recursive delete not permitted on directories"
and permit other non-recursive actions to proceed unabated.

> Reporting an error, as is done today, isn't terribly useful if you need
> to include other non-recursive commits in the same revision (for
> example committing a propchange on another directory which has modified
> children in the working copy.)

Subversion does not have change-sets, as they are conventionally defined
in other projects. There is no way to perform disjoint operations in a
single atomic commit, just so you can have those operations in the same
revision. There is no technical reason why the directory delete and the
remaining non-recursive actions could be done in two commits (revision
numbers are cheap), merely a psychological desire to make those two
things contemporaneous.

John

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Jul 26 20:35:29 2005

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.