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

Re: .svn vs _svn on VS.NET (ASP.NET)

From: <kfogel_at_collab.net>
Date: 2004-03-09 03:41:38 CET

Garrett Rooney <rooneg@electricjellyfish.net> writes:
> If the canonical Subversion you download from subversion.tigris.org
> can use more than one administrative directory name, it also needs to
> know about all the possibilities, otherwise the code that keeps you
> from putting directories with that name in the repository will stop
> working, and it will become possible to introduce directories in the
> repository that can not be checked out.

Oh, how quickly we forget the history we are condemned to repeat...

Okay, first: It is not the repository which protects against
problematic names like ".svn", it is client code. Try this:

   $ svnadmin create foo
   $ svn mkdir -m "Adding a dir." file://`pwd`/foo/.svn
   Committed revision 1.
   $ svn ls -v --recursive file://`pwd`/foo/
      1 jrandom Mar 08 16:30 .svn/
   $

Surprised? This is deliberate policy. As Brane and others pointed
out a long time ago, the ".svn" name is special only to the client
libraries. There's no reason for the server to object to that name,
so it doesn't.

That means you can create one of these forbidden names via URL, but
not via the wc, since the client protects against 'svn add'ing such a
name in the wc.

Now, our recommendation for the new "_svn" configuration option would
be that only people who *must* do so turn it on. It follows that
these users cannot have a file or dir named ".svn" in their working
copy, because if they could, they wouldn't be having the problem for
which "_svn" is a workaround in the first place.

This means that they can create ".svn" in the repository via a URL
command, but not via a working copy command. In other words, they'd
be in exactly the same boat w.r.t. ".svn" as everyone else!

Of course, they would have the additional limitation that they cannot
create "_svn" locally, but that's no big deal. They shouldn't want
to, obviously, and if any "_svn" directories appear in their
repositories, they can be dealt with via URL commands in the same way
anyone can deal with ".svn" right now.

> If we MUST make a change to account for this, I would prefer that it
> be to allow either .svn or _svn, perhaps with a preference to toggle
> between them (default to _svn on windows, .svn on unix), and we
> explicitly disallow both in the repository.

The configuration option would only be for "_svn" vs ".svn". The
repository should disallow nothing; this is all client side.

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Mar 12 02:26:02 2004

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.