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

Re: Proposed New Feature (SVNROOT)

From: Ben Reser <ben_at_reser.org>
Date: 2004-03-18 21:00:29 CET

On Wed, Mar 17, 2004 at 06:50:48PM +0200, Nuutti Kotivuori wrote:
> Kind of, but not exactly so. Every working copy knows the repository
> location for the path they are in - the working copies do not know the
> repository root they are inside. Eg. a normal checkout of subversion
> knows only that it is "http://svn.collab.net/repos/svn/trunk/" but
> does not know that "http://svn.collab.net/repos/svn/" is the root of
> the repository.
>
> Also, many of the commands in Subversion behave *differently* when
> invoked on URLs than when invoked on working copy paths. There is
> quite often a need to invoke a command for the URL that corresponds to
> the current working copy. And in many cases it is necessary to refer
> to the root of the repository the working copy is in.
>
> So, just changing checkout and import not only makes them inconsistent
> with all other commands taking URLs, but also does not really solve
> the problem since the URLs are used all the time in other operations.

I'd love to have something like $SVNROOT. But this reply is exactly
right on the money. It needs to be made consistent with all the
commands. I'm not sure there is a good way to do it.

In the end checkout and import are not commands I use a lot. However,
running commands like cp, mkdir, mv, etc... against a URL are something
I do from time to time. Far more often than a checkout or import. Any
change to support $SVNROOT isn't very valuable to me if it doesn't
handle these commands as well.

Perhaps a better option is simply an alias feature. I figure that could
go into the servers configuration like so:

[aliases]
svn = https://svn.collab.net/repos/svn
pers = https://svn.ben.reser.org

Then server configuration options could alias be set based on the alias
like we do with groups.

But further we could support "URLS" that looked like this:
svn:/trunk
where svn is the name of the alias.

Additionally, this could work with all clients, not just the command
line client. And if you use the alias and it is put in the working
copy's entry file and the root path to the repo changes you only have to
edit the config file, instead of running switch on multiple working
copies.

I've intentionally avoided using alias:// because it may create
namespace conflicts with other URL schemes supported by the tunneling
code and I was trying for something short and easy to type.

-- 
Ben Reser <ben@reser.org>
http://ben.reser.org
"Conscience is the inner voice which warns us somebody may be looking."
- H.L. Mencken
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Mar 18 21:01:49 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.