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

Weird bug with directory deltification in 1.8.x

From: Roderich Schupp <roderich.schupp_at_gmail.com>
Date: Tue, 28 Apr 2015 18:18:03 +0200

Hi,

found in the wild, reproducible with this script:

--------------
# cleanup previous experiments
rm -rf repo import

url=file://$PWD/repo
svnadmin create --compatible-version 1.8 repo
cat > repo/db/fsfs.conf <<EOF
[deltification]
enable-dir-deltification=true
max-deltification-walk=63
[rep-sharing]
enable-rep-sharing=false
EOF

echo "# import..."
mkdir import
(
    cd import
    echo foo > foo.txt
    echo bar > bar.txt
    mkdir -p directory-with-a-longish-name
    svn import -m "initial import" $url
)
toplevel=$(svn ls $url | sed "s|^|$url/|")

echo "# delete everything"
svn delete -m "delete everything" $toplevel

echo "# list empty repo"
svn ls $url && echo "# OK (nothing here to see)"
--------------

and its output (tested with Subversion 1.8.10, .11 and .13):

# import...
Adding bar.txt
Adding directory-with-a-longish-name
Adding foo.txt

Committed revision 1.
# delete everything

Committed revision 2.
# list empty repo
svn: E070014: Can't read file '/work/repo/db/revs/0/0': End of file found

Notes:
- "svnadmin verify" does NOT report any errors
- indeed the output of "svnadmin dump" looks correct
- enable-dir-deltification is definitely required to hit the bug
- also the length of the name of the directory seems to matter,
  at least ~12 characters are required

The above script produces no error for Subversion 1.9.0 beta1, so FWIIW
I ran svn-bisect on trunk from the branching-off point for 1.8.x ("good",
ie. has the bug)
to the branching-off point of 1.9.x ("bad", ie. it's fixed) and the
"culprit" came out
as r1554942 which supposedly isn't a fix at all (and modifies a file that
doesn't exist in 1.8.x).

Cheers, Roderich
Received on 2015-04-28 18:18:41 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.