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

Re: svn config file and mime types

From: David Weintraub <qazwart_at_gmail.com>
Date: Sat, 25 Oct 2008 19:59:14 -0400

On Sat, Oct 25, 2008 at 10:34 AM, Bill Hoffman <bill.hoffman_at_kitware.com> wrote:
> The real solution is to put the config file for a project into the project,
> that would do the trick. Seems like a pretty simple modification to svn.
> When the svn command is run, it would load the config file from the usual
> locations, and then it would load one from the project if it exists.

But that means that every time the "svn" command executes, you need
access to the server. In Subversion, this isn't always the case. In
fact, the "svn add" command is a perfect example where the server
isn't contacted,, and the "svn add" command is exactly where your
project needs to contact the server to get the configuration too.

Server side configuration files is not an easy addition into
Subversion. Maybe the trick is to allow a configuration directory in
the root of a project, and if that exists, have Subversion use that
instead of the one in the user's $HOME directory. This could be a
.subversion/config just like under the user's $HOME directory.

Of course, Subversion has no way of knowing what is the root of the
project, or what would happen if someone checks out a directory that
is not in the root of a project. For example, I have a file
svn://localhost/myproj/trunk/.subversion/config. That way, anyone who
checks out this project, will get the config file under the
.subversion directory. But, if this is a Maven project, there will be
a src/main/java/com/company/myproj directory. If I am in this
directory, the Subversion client would have to know that the config
file is located at ../../../../../.subversion/config. Also, it is
possible that someone decides to only checkout the
svn://localhost/myproj/src/main/java/com/company/myproj directory
since they only have to make minor changes in the Java code. No need
to checkout the entire project tree! Now, the Subversion client would
have no way of knowing that there is a special .subversion/config file
for this project since the developer didn't even bother to checkout
the directory that contains the project's config file.

Which really just shows how hard it actually is to get a project
configuration file in Subversion to work. Remember that Subversion is
designed to work without a constant server connection. One of the
biggest complaints about Perforce and ClearCase is that they prefer to
be connected to the server in order to work. One of Subversion's
advantages is its ability to work in a disconnected fashion.

David Weintraub
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-10-26 01:59:33 CEST

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

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