subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bert Huijben" <b...@qqmail.nl>
Subject RE: Subversion 1.8.13 on Cygwin: E170000 or E180001: Unable to connect to a repository at URL , Unable to open an ra_local session to URL
Date Fri, 26 Jun 2015 15:39:22 GMT
                Hi Marc,

 

It has nothing to do with cross compilation. (I don’t know how Cygwin produces their binaries…
doesn’t matter)

 

But Cygwin is a fake unix environment for Windows. As such it expects unix style paths. And
when you compile Subversion for Cygwin, Subversion assumes that it is not on Windows so the
path processing combines multiple slashes to one.

 

The APR library that Subversion uses provides full Windows compatibility and Subversion itself
also adds many Windows specific features, but only if you compile Subversion for Windows…
which is what the Cygwin developers explicitly don’t. They explicitly disable the Windows
portions to make Subversion behave as on other platforms. 

 

This is the problem you see here.

 

Subversion 1.6 was very sloppy in its path handling, which required a lot of unneeded path
processing all through the code. With Subversion 1.7 the path processing was completely updated
to fully work with canonical and in most cases absolute paths, to avoid all kinds of errors.

 

In 1.6 we didn’t catch all kinds of user errors, including file://// <file:///\\>
 style paths, or even file:///\\\ <file:///\\> , but for 1.7 we declared these non canonical
and convert them to a supported format before we use them. But depending on the platform we
use different rules. Things like ‘c:hi’ are a valid filename on platforms like linux,
while they are a drive relative path on Windows. The unix/posix code in Subversion doesn’t
support UNC paths, while the Windows code does.

 

We support a Windows version of Subversion, to handle the Windows platform.

And the Cygwin developers support their compilation… but when they decide not to use our
platform support, we can’t help you.

 

That’s why I recommended mapping the drive (to work around the problem) or to use a proper
Windows subversion client.

 

                Bert

 

From: MORGAN Marc [mailto:Marc.MORGAN@csem.ch] 
Sent: vrijdag 26 juni 2015 11:41
To: Bert Huijben; users@subversion.apache.org
Subject: RE: Subversion 1.8.13 on Cygwin: E170000 or E180001: Unable to connect to a repository
at URL , Unable to open an ra_local session to URL

 

Hi Bert,

 

Thanks for your reply.

 

1)      Are you suggesting that Cygwin executables are cross-compiled for Cygwin under Linux?
Are you sure of this? I’ve never come across a Linux environment for cross-compiling code
for Cygwin execution. Do you have more information about this?

2)      Access to the same repository worked fine with the previous svn on Cygwin on the same
Windows computer, same Linux server, same network. Are you suggesting that someone removed
the path mapping capability from svn between versions 1.6 and 1.8?

 

Marc

 

From: Bert Huijben [mailto:bert@qqmail.nl] 
Sent: vendredi 26 juin 2015 05:17
To: MORGAN Marc; users@subversion.apache.org <mailto:users@subversion.apache.org> 
Subject: Re: Subversion 1.8.13 on Cygwin: E170000 or E180001: Unable to connect to a repository
at URL , Unable to open an ra_local session to URL

 

The cygwin version of Subversion is a unix compilation of subversion running on Windows, via
the cygwin libraries. As such it doesn't understand special Windoes paths.

 

If you would use a normal windows client (compiled for windows; not cygwin) it would understand
that it should transform file://myserver/share/path <file:///\\myserver\share\path>
 to \\myserver\share\path <file:///\\myserver\share\path> .

 

If you would like to use the cygwin version, you should probably map the network share and
then relocate your working copy.

 

Bert

 

Sent from Surface

 

From: MORGAN Marc <mailto:Marc.MORGAN@csem.ch> 
Sent: ‎Thursday‎, ‎June‎ ‎25‎, ‎2015 ‎3‎:‎47‎ ‎PM
To: users@subversion.apache.org <mailto:users@subversion.apache.org> 
Cc: MORGAN Marc <mailto:Marc.MORGAN@csem.ch> 

 

Hi,

 

I’ve been using subversion on my Windows 7 PC with Cygwin with a repository on a Linux server
accessed via file:// <file:///\\> .

I installed a brand new Cygwin version yesterday.

My local workspace lost its connection to the repository.

I can no longer access via svn the repository which I was previously using on the same PC.

 

% svn status -u

svn: E170000: Unable to connect to a repository at URL 'file://server/path/repository/trunk'

svn: E170000: Unable to open an ra_local session to URL

svn: E170000: Local URL 'file://server/path/repository/trunk'contains unsupported hostname

 

% svn ls file:////server/path/repository <file:///\\server\path\repository> 

svn: E180001: Unable to connect to a repository at URL 'file:///server/path/repository'

svn: E180001: Unable to open an ra_local session to URL

svn: E180001: Unable to open repository 'file:///server/path/repository'

 

% ls //server/path/repository

conf  dav  db  format  hooks  locks  README.txt

 

The new svn version is 1.8.13 (r1667537) on i686-pc-cygwin. The previous svn version I was
using is 1.6.17.

 

With file:// I get the E170000 error. With file:/// <file:///\\>  or file://// <file:///\\>
 I get the E180001 error. 

 

The repository directory is technically on another computer but is seen as local on my PC
(I guess it’s NFS or SAMBA) when accessed with the // prefix from the shell. 

I tried touch-ing a new file in the repository’s directory and that worked, with correct
owner, group and file permissions when checked from the Linux server.

 

If I copy the repository folder to my local /tmp, I can access it correctly via svn. But that’s
obviously not my goal.

 

If I access the repository via the URL  svn+ssh://somelinuxcomputer/nfspath/repository, that
works. But my experience with the SSH tunnel is that it tends to slow down access.

 

Has anyone experienced this problem before? Any suggestions?

 

Thanks in advance


Mime
View raw message