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

File externals, 1.5 client, and 1.7 client: dies with with "In file 'subversion/libsvn_wc/adm_ops.c' line 2343: assertion failed (external_repos_relpath != NULL)"

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Mon, 19 Jul 2010 17:37:54 +0300

Originally I had a file external which pointed to the same repository but under
a different server name. (i.e., under a CNAME rather than under the name I
used during checkout.) I then checkout'd (rather: svn up --set-depth'd) with
1.5, which complained about the external being a file external. So I 'svn
upgrade'd and ran 'up --set-depth' again. It died with an assertion.

Reproduction recipe attached:

[[[
0:% cat ../repro2.sh
#!/bin/sh

svn15=/usr/bin/svn
svn17=$HOME/src/svn/trunk.d/subversion/svn/svn

rm -rf r r2 wc
svnadmin create r
ln -s r r2
$svn15 mkdir -q file://`pwd`/r/A file://`pwd`/r/B -m "r1"
$svn15 co -q file://`pwd`/r wc
touch wc/B/iota
$svn15 add -q wc/B/iota
$svn15 ci -q wc -m "add B/iota"
$svn15 ps -q svn:externals "iota file://`pwd`/r2/B/iota" wc/A
$svn15 ci -q wc -m "add external on A"
rm -rf wc
$svn15 co -q --depth=empty file://`pwd`/r wc

set -x

echo "=== This errors:"
$svn15 update --set-depth=infinity wc

echo "=== This doesn't error:"
$svn17 upgrade wc

echo "=== This segfaults:"
$svn17 update --set-depth=infinity wc
]]]

[[[
0:% ../repro2.sh
+ echo === This errors:
=== This errors:
+ /usr/bin/svn update --set-depth=infinity wc
A wc/A
A wc/B
A wc/B/iota

Fetching external item into 'wc/A/iota'
svn: URL 'file:///tmp/daniel/svn/r2/B/iota' refers to a file, not a directory
+ echo === This doesn't error:
=== This doesn't error:
+ /home/daniel/src/svn/trunk.d/subversion/svn/svn upgrade wc
Upgraded 'wc'.
Upgraded 'wc/A'.
Upgraded 'wc/B'.
+ echo === This segfaults:
=== This segfaults:
+ /home/daniel/src/svn/trunk.d/subversion/svn/svn update --set-depth=infinity wc

Fetching external item into 'wc/A/iota'
subversion/libsvn_subr/sqlite.c:1017: (apr_err=235000)
svn: In file 'subversion/libsvn_wc/adm_ops.c' line 2343: assertion failed (external_repos_relpath != NULL)
Aborted
]]]
Received on 2010-07-19 16:40:08 CEST

This is an archived mail posted to the Subversion Dev mailing list.