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

Re: config files on Windows

From: Jay Freeman \(saurik\) <saurik_at_saurik.com>
Date: 2002-03-26 21:30:18 CET


Haven't had a chance to read through the (surprisingly long) entire 1563
thread yet (didn't even know of it's importance until this post of yours),
but I'm working on it (going backwards in the hope of picking up some of the
more important points first).

As an avid Windows user/developer (one who is even willing to state that
Unix configuration is fundamentally broken), I'd like to chime in that I'm
for file based configuration. However, I'm rabidly against any "free form"
configuration files (which is how I understand Subversion currently wants to
work?). This is the path Microsoft has been moving in for the last year or
so. The registry was a great idea, and quite useful, but it ran into major
problems with deployment and versioning.

One of the aspects of the new endeavors with .NET is to allow for "xcopy
deployment". I won't state that this goal is really achievable to the scope
it is often stated, but there are a lot of changes Microsoft is making that
are being made to make this possible. One is a shift away from COM objects
(you are unlikely to see many major COM objects coming from MS for a while
now) -- COM has been deprecated in consideration of .NET objects.

However, more importantly: Microsoft is moving to file based configuration.
Even more specifically, Microsoft is moving to XML file based configuration.
It should also be noted that OSX uses similar XML configuration files for
all of it's applications (storing general configuration files within the
application unit... don't remember what they call that thing... and per-user
configuration in the user's home directory). I get to deal with a few OSX
developers, and it seems like doing anything other than this is now looked
down with scorn and contempt (and knowing one of these guys and the
connections he has, I'd almost be willing to say this is the stance of the
actual Apple development team).

If I had to make some choice for "how is Subversion to be configured to
Win32", I'd strongly advocate for an XML configuration file format. On
Windows, put the system-wide configuration in svn.exe.config in the same
directory as the binary (as has become the standard due to the way MS's
configuration classes work... although I might be having a brain short so I
can double check that if need be), and the per-user configuration in some
weird user directory based on the application data path (a direction that
has obviously already been moving towards by Subversion development).

BTW, to get the Application Data folder directory, I believe your best bet
is to use the AppData value from the
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell registry key.
Using environment variables on Win32 is always a bad hack that should be

Jay Freeman (saurik)

----- Original Message -----
From: "Karl Fogel" <kfogel@newton.ch.collab.net>
To: "Hontvari Jozsef" <hontvari@solware.com>
Cc: "Branko ÄOibej" <brane@xbc.nu>; <dev@subversion.tigris.org>
Sent: Tuesday, March 26, 2002 1:05 PM
Subject: config files on Windows

> Okay, let's ask some basic questions here. :-)
> What is the purpose of supporting a config dir/files under Windows?
> The only reason to support file-based (non-Registry) config, as far as
> I can see, is so that people who need to use the same configuration on
> multiple machines can keep their .subversion/ dir under version
> control. Then they can keep checked out copies on various machines,
> including Windows machines.
> However, so far the only person I've seen advocate this is someone who
> doesn't actually use Windows much (me). Meanwhile, the Windows users
> seem to mostly prefer the Registry, though they're still contributing
> their expertise to get configuration files working, mostly to humor me
> I think. :-)
> If all Windows users think the Registry is sufficient, then I don't
> see much point going through contortions to figure out all possible
> for a file-based configuration area.
> Thoughts?
> Hontvari Jozsef's suggestion of looking at the APPDATA variable below
> means that even if we find a configuration, it would be
> system-specific, not user-specific (and the USERPROFILE var is even
> less likely to exist ... And the more vars we check, the less
> consistency we have when answering the question "Where are my config
> files under Win32?"!)
> On a semi-unrelated note, the Registry needs to get initialized at
> install time (or run-time, though install makes more sense); Mike
> Pilato and I are working on that.
> -Karl

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 26 21:31:22 2002

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