You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jesse Guardiani <je...@wingnet.net> on 2006/04/11 20:57:04 UTC
linux server + win32 client, case sensitivity and symlinks
Hello,
I'm running a 1.3.0-1 RHEL3 RPM server and the 1.3.0-setup.exe
CLI client on a Windows XP workstation. In trying to checkout a legacy
unix project on the win32 machine, I get this error:
svn: In directory 'images'
svn: Can't copy 'images\.svn\tmp\text-base\tony.JPG.svn-base' to 'images\tony.JP
G.tmp': The system cannot find the file specified.
The issue appears to be that the repository contains two separate files:
tony.JPG
Tony.JPG
But since win32 is case insensitive, this doesn't translate well to
the filesystem. I've seen similar issues from the same project
regarding symlinks.
I've done a ton of reading on this, and judging from this message:
http://svn.haxx.se/dev/archive-2003-05/1987.shtml
It appears that subversion just doesn't attempt to care about the
client filesystem's case sensitivity. So according to that, if
I need to develop on win32 for a linux server, then I need to go
with the least common denominator and avoid the use of case sensitive
filenames and symlinks altogether.
Is that an accurate assessment? Or am I missing something?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: linux server + win32 client, case sensitivity and symlinks
Posted by Jesse Guardiani <je...@wingnet.net>.
Ryan Schmidt wrote:
> On Apr 11, 2006, at 22:57, Jesse Guardiani wrote:
>
>> It appears that subversion just doesn't attempt to care about the
>> client filesystem's case sensitivity. So according to that, if
>> I need to develop on win32 for a linux server, then I need to go
>> with the least common denominator and avoid the use of case sensitive
>> filenames and symlinks altogether.
>>
>> Is that an accurate assessment? Or am I missing something?
>
> That's accurate. It's advisable therefore to install a pre-commit hook
> preventing commits of files whose names would cause such case
> collisions. A hook script which implements this behavior is provided in
> the Subversion repository. See also this:
>
> http://subversion.tigris.org/faq.html#case-change
>
> The exercise of straightening out the mess of a large repository filled
> with such case collisions is, unfortunately, left to the reader.
On linux, I found the case conflicts using simple shell tools
(where public_* contain the working copies I want to clean):
find public_* > all.txt
sort -d < all.txt > sorted-all.txt
uniq -i < sorted-all.txt > pruned.txt
diff -u sorted-all.txt pruned.txt
Then I simply did an `svn rm filename` for each file I wanted to remove.
And finally `svn commit`. Pretty simple.
Thanks!
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: linux server + win32 client, case sensitivity and symlinks
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Apr 11, 2006, at 22:57, Jesse Guardiani wrote:
> It appears that subversion just doesn't attempt to care about the
> client filesystem's case sensitivity. So according to that, if
> I need to develop on win32 for a linux server, then I need to go
> with the least common denominator and avoid the use of case sensitive
> filenames and symlinks altogether.
>
> Is that an accurate assessment? Or am I missing something?
That's accurate. It's advisable therefore to install a pre-commit
hook preventing commits of files whose names would cause such case
collisions. A hook script which implements this behavior is provided
in the Subversion repository. See also this:
http://subversion.tigris.org/faq.html#case-change
The exercise of straightening out the mess of a large repository
filled with such case collisions is, unfortunately, left to the reader.
This is a problem on any filesystem that's case-insensitive, not just
Windows, so this also applies to the default Mac OS X filesystem.
Case-sensitive filesystems are available for Mac and Windows which
can be a workaround for some. You may not even need to reformat your
drive or add an extra drive. On Mac OS X, for instance, you can
create a disk image with a case-sensitive file system and check your
working copy out on that. Perhaps similar virtual-disk solutions
exist for Windows; I just don't know.
There are a whole lot of other restrictions on filenames that are
relevant for Windows machines too; see for example this message:
http://svn.haxx.se/users/archive-2006-01/0201.shtml
The very best idea would be to install a hook which prevents those as
well.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: linux server + win32 client, case sensitivity and symlinks
Posted by Ulrich Eckhardt <ec...@satorlaser.com>.
On Tuesday 11 April 2006 22:57, Jesse Guardiani wrote:
> It appears that subversion just doesn't attempt to care about the
> client filesystem's case sensitivity. So according to that, if
> I need to develop on win32 for a linux server, then I need to go
> with the least common denominator and avoid the use of case sensitive
> filenames and symlinks altogether.
>
> Is that an accurate assessment? Or am I missing something?
Others already answered on the general thing, but there's one detail missing:
It's not Linux which can differ files by just their case but it's Subversion.
The point is that if the Subversion repository was located on a win32 machine
and the server is running there, too, the problem would occur.
The behaviour of Subversion's filesystem does not change with the behaviour of
its host's filesystem.
Uli
****************************************************
Visit our website at <http://www.domino-printing.com/>
****************************************************
This Email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this Email in error please notify the system manager.
This footnote also confirms that this Email message has been swept by MailSweeper for the presence of computer viruses.
****************************************************
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: linux server + win32 client, case sensitivity and symlinks
Posted by Simon Whittaker <si...@swbh.net>.
Jesse Guardiani wrote:
> Hello,
>
> <snip>
> It appears that subversion just doesn't attempt to care about the
> client filesystem's case sensitivity. So according to that, if
> I need to develop on win32 for a linux server, then I need to go
> with the least common denominator and avoid the use of case sensitive
> filenames and symlinks altogether.
>
> Is that an accurate assessment? Or am I missing something?
This is accurate - I have taken to using this hook script:
http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/check-case-insensitive.pl
It works very well and should do everything that you need
Cheers
S
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: linux server + win32 client, case sensitivity and symlinks
Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 4/11/06, Jesse Guardiani <je...@wingnet.net> wrote:
> Hello,
>
> I'm running a 1.3.0-1 RHEL3 RPM server and the 1.3.0-setup.exe
> CLI client on a Windows XP workstation. In trying to checkout a legacy
> unix project on the win32 machine, I get this error:
> svn: In directory 'images'
> svn: Can't copy 'images\.svn\tmp\text-base\tony.JPG.svn-base' to 'images\tony.JP
> G.tmp': The system cannot find the file specified.
>
> The issue appears to be that the repository contains two separate files:
> tony.JPG
> Tony.JPG
>
> But since win32 is case insensitive, this doesn't translate well to
> the filesystem. I've seen similar issues from the same project
> regarding symlinks.
>
> I've done a ton of reading on this, and judging from this message:
> http://svn.haxx.se/dev/archive-2003-05/1987.shtml
>
> It appears that subversion just doesn't attempt to care about the
> client filesystem's case sensitivity. So according to that, if
> I need to develop on win32 for a linux server, then I need to go
> with the least common denominator and avoid the use of case sensitive
> filenames and symlinks altogether.
>
> Is that an accurate assessment? Or am I missing something?
That is accurate. Similarly, you need to be careful to avoid creating
filenames that are "special" on win32, my personal favorite is
prn.something, which windows will interpret as a printer, but there
are others as well.
-garrett
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org