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

Re: Suggestion for special file storage in 1.0

From: Greg Hudson <ghudson_at_MIT.EDU>
Date: 2002-10-14 22:34:18 CEST

On Mon, 2002-10-14 at 16:11, Branko Èibej wrote:
> I think symlinks would probably (and other special files certainly)
> remain Unix-specific. Another such unix-specific feature that was
> suggested was storing and recovering file ownership and permissions.
> Note that the permission idea was shot down (I helped! :-) on the
> grounds that you can write a wrapper around the command-line client that
> provides the functionality. The same holds for special files, too.

I don't remember this shooting-down. It's not a good argument; "you
could do this with a wrapper script" is not a sufficient acid test for
rejecting features, or we wouldn't have svn:executable.

A wrapper script also just won't behave well for these particular
features. Aborted updates will leave your working dir in an
inconsistent state; you'll have windows when permissions will be set
improperly; operations on large trees may take O(treesize) time when
Subversion could, at least some day, do them in O(1) or O(changes) time.

> As useful as these features are, I'm against adding support for them to
> the Subversion libraries. Such support belongs to the client, or (at
> best) an os-specific library used by the client.

Moving code from the library to the client opens the doorway to
inconsistent behavior between clients. It would be sad if the
command-line client set permissions on an update but RapidSVN did not,
for instance.

> I'm already
> ubcomfortable with the svn:executable property, but that at least
> doesn't require any hacks or workarounds on non-Unix systems.

I don't see why permissions or special files requires any hacks or
workaround on non-Unix systems. You just segregate that code and ifdef
it to Unix.

> I think what you require would best be server by configurable
> client-side hooks.

I'm sort of okay with that, as long as the server doesn't, under any
circumstances, tell the client what commands to run. The server has to
say "this is a symlink" and the client knows "I deal with symlinks by
running this command." It's not okay for the server to say, "this is
something you run ln -s for."

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Oct 14 22:35:03 2002

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.