The script below creates a tree-conflict in a rather strange way (checkout on top of an existing unversioned tree). But what happens next is more interesting. It tries to move the tree-conflict victim and this triggers an assertion in wc_db.c.
This reproduces with trunk and 1.7.x. Script: [[[ #!/bin/sh set -e cwd=`pwd` basename=`basename $0` scratch_area="`echo $basename | sed -e s/\.sh$//`" repos=$scratch_area/repos trunk=$scratch_area/trunk branch=$scratch_area/branch trunk_url=file:///$cwd/$repos/trunk branch_url=file:///$cwd/$repos/branch set -x rm -rf $scratch_area mkdir -p $scratch_area mkdir -p $trunk mkdir $trunk/epsilon echo zeta > $trunk/epsilon/zeta svnadmin create $cwd/$repos svn import $trunk $trunk_url -m "importing project tree" # Do not remove the imported tree, but try to checkout a WC on top of it: svn checkout $trunk_url $trunk svn st $trunk svn mv $trunk/epsilon $trunk/epsilon2 ]]] The output (with 1.7.x) is: $ ./bug.sh + rm -rf bug + mkdir -p bug + mkdir -p bug/trunk + mkdir bug/trunk/epsilon + echo zeta + > bug/trunk/epsilon/zeta + svnadmin create /tmp/bug/repos + svn import bug/trunk file:////tmp/bug/repos/trunk -m importing project tree Adding bug/trunk/epsilon Adding bug/trunk/epsilon/zeta Committed revision 1. + svn checkout file:////tmp/bug/repos/trunk bug/trunk C bug/trunk/epsilon A bug/trunk/epsilon/zeta Checked out revision 1. + svn st bug/trunk D C bug/trunk/epsilon > local unversioned, incoming add upon update D bug/trunk/epsilon/zeta Summary of conflicts: Tree conflicts: 1 + svn mv bug/trunk/epsilon bug/trunk/epsilon2 A bug/trunk/epsilon2 subversion/libsvn_wc/wc_db.c:4122: (apr_err=235000) svn: E235000: In file 'subversion/libsvn_wc/wc_db.c' line 4122: assertion failed (presence == svn_wc__db_status_normal) Abort trap (core dumped)