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

Re: Re: A little question about SVN

From: David Weintraub <qazwart_at_gmail.com>
Date: Mon, 17 Nov 2008 11:36:09 -0500

Okay, here's the test on my Windows XP machine:

I used Cygwin to write a little shell script to generate a long path:

cd /cygdrive/c
count=0
while true
do
    mkdir abcdefghi || break
    cd abcdefghi || break
    ((count=$count+1))
    print "Count = $count"
done

This counted out to 24 before crashing. So, it created a path of 244
long and could not add another ten characters to the path. This seems
to match the 250 or so character limit.

I then used the DOS subst command to create a mapped "s:" drive on
this extra long path. You can get around this limit by mapping an
extra long directory name using the subst command in Windows DOS mode.

Using TortoiseSVN to do my checkout worked. It actually checked out
the entire module structure despite the fact that doing so would over
run the 250+ character limit. I was unable to browse the checked out
working directory in Explorer or the command line unless I accessed it
from the "S:" drive mapped to this directory.

Using the svn command from the command line failed though. Instead, I
got a "svn: Can't create directory 'arm\.svn': The filename or
extension is too long." error when attempting it.

I then created a Subversion server on Windows in this long path. The
svnadmin create command failed on "svnadmin: Can't create directory
'foo\locks': The filename or extension is too long."

So, there is a Subversion limit on Windows directory length, but it is
a limit of the OS and not Subversion itself. Tortoise seems to get
around the issue by using the Unicode directory API instead of the
standard directory API used by almost all other Windows programs
including Microsoft's VisualStudio, Windows Explorer, and the Windows
command line.

Surprisingly, the Subversion command line commands cannot get around
this limit. Again, I am not sure it is the fact that the Subversion
command line commands are using the standard directory API that hits
this limit, or because they are operating in the command line
environment where this limit exists.

I also notice that Cygwin also hits the same limits which is
surprising since it really doesn't use the Windows shell.

--
David Weintraub
qazwart_at_gmail.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-11-17 17:36:35 CET

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.