When trying to commit a child of a deleted node, svn commit says
nothing and just exists with status zero.
This surprised me, because it complains loudly about committing children
of copies (see http://svn.haxx.se/dev/archive-2011-07/0773.shtml).
Shouldn't we raise some sort of error for the delete case, too?
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"
rm -r $trunk
svn checkout $trunk_url $trunk
svn rm $trunk/epsilon
svn st $trunk
svn ci -mm $trunk/epsilon/zeta
echo $?
]]]
This is the output:
$ ./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.
+ rm -r bug/trunk
+ svn checkout file:////tmp/bug/repos/trunk bug/trunk
A bug/trunk/epsilon
A bug/trunk/epsilon/zeta
Checked out revision 1.
+ svn rm bug/trunk/epsilon
D bug/trunk/epsilon
D bug/trunk/epsilon/zeta
+ svn st bug/trunk
D bug/trunk/epsilon
D bug/trunk/epsilon/zeta
+ svn ci -mm bug/trunk/epsilon/zeta
+ echo 0
0
Received on 2011-07-29 02:00:33 CEST