# Re: Long path names in windows

From: Colin JN Breame <colin_at_breame.com>
Date: 2004-10-28 01:06:27 CEST

> Colin JN Breame wrote:
>
>> The difference seems to be with long path names. I have read
>> somewhere that relative paths have a max length of 255 whereas
>> absolute paths can be much, much longer.
>
>
> Where does this limit apply? In the inputs and outputs of certain API
> functions? Ones that we use?

This limit applies on my Windows XP box. AFAIK, this limit is actually
in the win32 api, where relative paths are limited to 255 but absolute
paths are not. e.g. opening a file

>
>> So, I suggest that all relative paths are converted to their absolute
>> versions when running on windows. Infact, maybe there is a function
>
>
> It is hard to evaluate this solution because it is not clear what
> problem you are trying to solve - presumably some problem with paths
> being too long, but what exactly? Is this an actual problem that can
> be demonstrated? Please show us how.

I have a Real Life(tm) repository that has very long path names.

To demostrate, in Windows:
1) create a directory structure that is very deep. e.g. more than 255
characters. One way of doing this is using cygwin (while true; do mkdir
test; cd test; done). As cygwin suffers from the same problem, it will
stop when the 255 char limit is exceeded.

2) Create a file (echo "hello" > afile) in the deepest directory.

3) Then import into a repository.

4) Check out the repository into a new directory called 'path'. Notice
the difference between the two checkouts:

a) svn co svn://repos c:\path
and
(from the parent directory of path)
b) svn co svn://repos path

(a) should succeed and (b) should fail, assuming that the instructions
are correct.

>
> - Julian
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org