You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Heinz Prantner <he...@opensynergy.com> on 2010/05/11 12:21:21 UTC

long path names on windows prefixed with \\?\ not handled by svn commands

Hello,

running svn client commands other than svn checkout on windows fail,
if the path name (of the local working copy location) is prefixed  
with \\?\.
The prefix is required for path names longer than  255 or so.

It seems that svn commands like svn info or svn status behave different
than svn checkout command regarding the path name prefix.

example:

svn info \\?\c:\long\path\name
svn: '\' is not a working copy

Any thoughts?

(I am using svn client version 1.6.11 from CollabNet)

Thanks,
Heinz






Re: long path names on windows prefixed with \\?\ not handled by svn commands

Posted by Heinz Prantner <he...@opensynergy.com>.
Hello Bert,

yes, confirmed, providing absolute paths without the prefix \\?\  
works. As you mention, we just have to know which function requires  
the prefix, or has it implicit or does not support it at all.    
Thanks for your clarification.

Heinz

On 11.05.2010, at 21:57, Bert Huijben wrote:

> Subversion uses the APR library which handles the escaping for  
> specific API functions that allow this trick. The ‘\\?\’ style  
> paths are not a different path, but just the original path escaped  
> for a specific api.
> (Some Windows APIs allow this trick, others just support long paths  
> directly and then there are functions that support neither. By  
> passing the long path yourself you assume that all filesystem  
> functions have this long path support)
>
> If you pass absolute paths to svn, it should support long paths  
> directly. (Windows doesn’t support long relative paths). Subversion  
> 1.7 will probably work better with long relative paths, as it will  
> use absolute paths internally for almost every operation.
>
>                 Bert
>
> From: Heinz Prantner [mailto:heinz.prantner@opensynergy.com]
> Sent: dinsdag 11 mei 2010 14:21
> To: users@subversion.apache.org
> Subject: long path names on windows prefixed with \\?\ not handled  
> by svn commands
>
> Hello,
>
> running svn client commands other than svn checkout on windows fail,
> if the path name (of the local working copy location) is prefixed  
> with \\?\.
> The prefix is required for path names longer than  255 or so.
>
> It seems that svn commands like svn info or svn status behave  
> different
> than svn checkout command regarding the path name prefix.
>
> example:
>
> svn info \\?\c:\long\path\name
> svn: '\' is not a working copy
>
> Any thoughts?
>
> (I am using svn client version 1.6.11 from CollabNet)
>
> Thanks,
> Heinz
>
>
>
>
>

Heinz Prantner
Senior Software Design Engineer

OpenSynergy GmbH
Rotherstr. 9, 10245 Berlin

t: +49 (30) 20 1818 35-23
f: +49 (39) 20 1818 35-02
m: +49 (179) 23 63 588
e: heinz.prantner@opensynergy.com

w: www.opensynergy.com

Handelsregister: Amtsgericht Charlottenburg, HRB 108616B
Geschäftsführung: Frank-Peter Böhm, Stefaan Sonck Thiebaut, Rolf Morich





RE: long path names on windows prefixed with \\?\ not handled by svn commands

Posted by Bert Huijben <be...@qqmail.nl>.
Subversion uses the APR library which handles the escaping for specific API
functions that allow this trick. The '\\?\' style paths are not a different
path, but just the original path escaped for a specific api. 

(Some Windows APIs allow this trick, others just support long paths directly
and then there are functions that support neither. By passing the long path
yourself you assume that all filesystem functions have this long path
support)

 

If you pass absolute paths to svn, it should support long paths directly.
(Windows doesn't support long relative paths). Subversion 1.7 will probably
work better with long relative paths, as it will use absolute paths
internally for almost every operation.

 

                Bert

 

From: Heinz Prantner [mailto:heinz.prantner@opensynergy.com] 
Sent: dinsdag 11 mei 2010 14:21
To: users@subversion.apache.org
Subject: long path names on windows prefixed with \\?\ not handled by svn
commands

 

Hello,

 

running svn client commands other than svn checkout on windows fail,

if the path name (of the local working copy location) is prefixed with \\?\.

The prefix is required for path names longer than  255 or so.

  

It seems that svn commands like svn info or svn status behave different

than svn checkout command regarding the path name prefix.

 

example:

 

svn info \\?\c:\long\path\name

svn: '\' is not a working copy

 

Any thoughts?

 

(I am using svn client version 1.6.11 from CollabNet)

 

Thanks,

Heinz