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

Re: [DESIGN] svn:resolve-case

From: Branko Čibej <brane_at_xbc.nu>
Date: 2005-08-23 02:05:20 CEST

Joshua Varner wrote:

>PROPERTIES
>
>svn:resolve-case
> If svn:resolve-case is set on a directory then all filenames passed
> between the file system and the svn server should be munged into a
> "resolved" form. This property make take several values:
>
> force-lower - All filenames are stored as lowercase in the
> repository
> initial - All filenames are stored in the case in which they
> existed on addition to the repository
> . . . (others Initial Capital, Upper, needs to be a short list)
> empty - Check for svn:case-folded
>
>svn:case-folded
> File property that, when set and the file exists in a directory with
> svn:resolve-case set, uses its value to override the heuristic
> set by svn:resolve-case.
>
>
I must admit that I have no idea how this is supposed to fix
case-conflict problems on NCS filesystems. These properties look like
they're enforcing some kind of project policy, not fixing case-conflict
problems.

The catch is that you have to _detect_ case conflicts or case-only
changes on the client, in the working copy, not when you're reading
files from the server.

>ERROR RECOVERY
> When a directory is checked out - the client should check if the names
> violate the svn:resolve-case property, and if so throw an error indicating
> to the users that a conflict exists. Case sensitive file systems may be
> to finish downloading the directory, and then fix the problem in their
> working copy, but this adds extra complexity and it would be simpler to
> just abort and make the user resolve the problem with URLs. Additionally,
> adds and moves should check for name conflicts when svn:resolve-case
> is set.
>
>
This again doesn't aid towards solving the underlying problem, which is,
detecting case change (or conflict) in general on the client. I can't
see how adding these properties would make anyone's life easier.

If you want to enforce a certain file naming convention, you can do that
far more flexibly in a pre-commit hook on the server. By setting a
policy, you can avoid most (if not all) case-change problems that happen
when you add files on different clients (with different case-sensitivity
properties of the filesystem). But you can't avoid problems that stem
from case-only renames on files on NCS filesystems -- and these, I
believe, are the most insidious.

-- Brane

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Aug 23 02:07:11 2005

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.