Hello, below is my shell script that raises the svn segfault for me.
The issue is, doing a relocate while having an external that is not in the
working copy. It raised for me, since I got one automated instance that
automatically sets externals for a repository, but does not need to check
it out itself, so it updates with "--ignore-externals", now I tried to
relocate that daemons working copy, svn segfaulted. Its no big issue for
me, since I can always revert to do a full checkout instead, or update
without --ignore-externals, relocate and delete the externals in the
working copy.
Still I guess, a segfault never should be not a bug, so I report it.
Operating System is Debian Jessie, if you no need any more info just ask.
Kind regards,
Axel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~$ svn --version
svn, version 1.8.10 (r1615264)
compiled Aug 9 2015, 13:48:39 on x86_64-pc-linux-gnu
Copyright (C) 2014 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using
serf.
- using serf 1.3.8
- handles 'http' scheme
- handles 'https' scheme
~$ mkdir atest
~$ cd atest/
atest$ svnadmin create repository1
atest$ svnadmin create repository2
atest$ svn checkout file:///home/axel/atest/repository1 rep1
Checked out revision 0.
atest$ svn checkout file:///home/axel/atest/repository2 rep2
Checked out revision 0.
atest$
atest$ cd rep2/
rep2$ echo "bar" > foo
rep2$ svn add foo
A foo
rep2$ svn commit -m foobar
Adding foo
Transmitting file data .
Committed revision 1.
rep2$ cd ..
atest$ cd rep1/
rep1$ echo "^/../repository2 extrep2" > externals
rep1$ svn propset svn:externals . -F externals
property 'svn:externals' set on '.'
rep1$ svn up
Updating '.':
Fetching external item into 'extrep2':
A extrep2/foo
Updated external to revision 1.
At revision 0.
rep1$ cat extrep2/foo
bar
rep1$ ### everything working as expected so far ###
rep1$ rm -rf extrep2/
rep1$ cd ..
atest$ mv repository1/ namechange1
atest$ cd rep1/
rep1$ svn relocate file:///home/axel/atest/namechange1
Segmentation fault
rep1$
This is easily tough circumvented with this. Which once again works as
expected:
rep1$ svn up
Updating '.':
Fetching external item into 'extrep2':
A extrep2/foo
Updated external to revision 1.
At revision 0.
rep1$ svn relocate file:///home/axel/atest/namechange1
Received on 2015-10-06 13:25:45 CEST