You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Paul Coulson <pc...@senscient.com> on 2011/12/12 13:38:07 UTC

Subversion Exception in 1.7.1/2

I have just started to use the svn:externals keyword.

I am checking out a svn folder to Windows desktop, but have set the svn:externals property on this folder to check out a lib at C:/lib:

svn:externals <repo-path-for-lib> C:/lib

The lib is a svn repository containing only binary files and no folders.

When I check out/update (the folder with the property set) and the lib is not present, everything gets checked out as expected but get the following error:

External failed: C:\lib
Error: In file
Error:  'D:\Development\SVN\Releases\TortoiseSVN-1.7.2\ext\subversion\subversion\libsvn_wc\wc_db.c'
Error:  line 2890: assertion failed (svn_dirent_is_ancestor(wcroot->abspath,
Error:  local_abspath))

Regards

PCoulson

Paul Coulson
Software Engineer
Senscient

Tel: 01202 606473
Mob: 07963 114556
pcoulson@senscient.com


Re: Subversion Exception in 1.7.1/2

Posted by Stefan Sperling <st...@elego.de>.
On Thu, Mar 01, 2012 at 01:01:23PM +0000, Philip Martin wrote:
> The 4073 fix doesn't allow absolute paths with drive letters.  It merely
> prevents the assertion by extending the checking so that paths with
> drive letters are treated as absolute and skipped.

Yes, I just realised that while reviewing the backport nomination :)

Re: Subversion Exception in 1.7.1/2

Posted by Philip Martin <ph...@wandisco.com>.
Stefan Sperling <st...@elego.de> writes:

> On Thu, Mar 01, 2012 at 03:08:55AM -0800, coolie wrote:
>> 4073 says this is supposed to have been fixed. I'm now on 1.7.5 and still 
>> have the same issue.
>> 
>> I can't use a relative path cos that is not where the libray is. I need 
>> absolute because some apps (viz VS 2010) require absolute paths for library 
>> references.
>
> It seems that this has been fixed in trunk but the fix hasn't
> been backported to 1.7.x.

The 4073 fix doesn't allow absolute paths with drive letters.  It merely
prevents the assertion by extending the checking so that paths with
drive letters are treated as absolute and skipped.

-- 
Philip

Re: Subversion Exception in 1.7.1/2

Posted by Philip Martin <ph...@wandisco.com>.
Stefan Sperling <st...@elego.de> writes:

> Currently, externals definitions cannot point to absolute paths.
> This might be fixed in the future, once multiple working copies
> can share a single .svn directory.

Perhaps, but perhaps not.  Allowing svn:externals to modify paths
outside a working copy has security implications.

-- 
Philip

Re: Subversion Exception in 1.7.1/2

Posted by Stefan Sperling <st...@elego.de>.
On Thu, Mar 01, 2012 at 01:04:04PM +0100, Stefan Sperling wrote:
> On Thu, Mar 01, 2012 at 03:08:55AM -0800, coolie wrote:
> > 4073 says this is supposed to have been fixed. I'm now on 1.7.5 and still 
> > have the same issue.
> > 
> > I can't use a relative path cos that is not where the libray is. I need 
> > absolute because some apps (viz VS 2010) require absolute paths for library 
> > references.
> 
> It seems that this has been fixed in trunk but the fix hasn't
> been backported to 1.7.x.

Oh, and to be clear, these fixes replace the assertion with an
error message saying the externals definition is invalid because
it points to an absolute path.

Currently, externals definitions cannot point to absolute paths.
This might be fixed in the future, once multiple working copies
can share a single .svn directory.

For now, you'll have to run a separate checkout to C:\lib if you need
a subversion working copy there. If that doesn't help you, you'll
have to find some other way of working around this. It seems that
externals won't help you.

Re: Subversion Exception in 1.7.1/2

Posted by Stefan Sperling <st...@elego.de>.
On Thu, Mar 01, 2012 at 03:08:55AM -0800, coolie wrote:
> 4073 says this is supposed to have been fixed. I'm now on 1.7.5 and still 
> have the same issue.
> 
> I can't use a relative path cos that is not where the libray is. I need 
> absolute because some apps (viz VS 2010) require absolute paths for library 
> references.

It seems that this has been fixed in trunk but the fix hasn't
been backported to 1.7.x.

Re: Subversion Exception in 1.7.1/2

Posted by coolie <pc...@senscient.com>.
4073 says this is supposed to have been fixed. I'm now on 1.7.5 and still 
have the same issue.

I can't use a relative path cos that is not where the libray is. I need 
absolute because some apps (viz VS 2010) require absolute paths for library 
references.

I have to put the libraries on the C drive so that they can be accessed by 
any user without them having to change the VS settings.

Daft thing is, it does actually check out the external library - I just get 
a MS exception report. I then have to do a cleanup and on subsequent 
updates I don't get the exception.

If this is not fixed then every user has to edit user specific VS settings 
whenever my project is checked out by them. The settings are then wrong for 
everybody else when it gets checked back in!

On Monday, 12 December 2011 13:04:47 UTC, Philip Martin wrote:
>
> coolie writes:
>
> > I am checking out a svn folder to Windows desktop, but have set the
> > svn:externals property on this folder to check out a lib at C:/lib:
> >
> > svn:externals <repo-path-for-lib> C:/lib
>
> This is issue 4073:
>
> http://subversion.tigris.org/issues/show_bug.cgi?id=4073
>
> use a relative path such as "lib" rather than "C:/lib".
>
> -- 
> Philip
>
>

Re: Subversion Exception in 1.7.1/2

Posted by Philip Martin <ph...@wandisco.com>.
Paul Coulson <pc...@senscient.com> writes:

> I am checking out a svn folder to Windows desktop, but have set the
> svn:externals property on this folder to check out a lib at C:/lib:
>
> svn:externals <repo-path-for-lib> C:/lib

This is issue 4073:

http://subversion.tigris.org/issues/show_bug.cgi?id=4073

use a relative path such as "lib" rather than "C:/lib".

-- 
Philip