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

log-addressing index creation needs to handle pre-existing files

From: Philip Martin <philip_at_codematters.co.uk>
Date: Tue, 10 Dec 2013 17:11:25 +0000

If libsvn_fs_fs/transaction.c:commit_body is interrupted after the new
l2p and p2l indices have been created but before the revision is
completed then the revs dir contains index files for the aborted commit
and the presence of these files causes subsequent commits to fail:

  $ svnlook youngest repo
  0
  $ ls -l repo/db/revs/0/
  total 20
  -r--r--r-- 1 pm pm 107 Dec 10 16:58 0
  -r--r--r-- 1 pm pm 14 Dec 10 16:58 0.l2p
  -r--r--r-- 1 pm pm 38 Dec 10 16:58 0.p2l
  -r--r--r-- 1 pm pm 21 Dec 10 17:00 1.l2p
  -r--r--r-- 1 pm pm 75 Dec 10 17:00 1.p2l
  $ svn mkdir -mm file://`pwd`/repo/A
  ../src/subversion/svn/mkdir-cmd.c:100,
  ../src/subversion/libsvn_client/add.c:1297,
  ../src/subversion/libsvn_repos/commit.c:795,
  ../src/subversion/libsvn_fs/fs-loader.c:845,
  ../src/subversion/libsvn_fs_fs/tree.c:2144,
  ../src/subversion/libsvn_fs_fs/transaction.c:3920,
  ../src/subversion/libsvn_fs_fs/fs_fs.c:206,
  ../src/subversion/libsvn_fs_fs/fs_fs.c:189,
  ../src/subversion/libsvn_fs_fs/transaction.c:3807,
  ../src/subversion/libsvn_fs_fs/index.c:637,
  ../src/subversion/libsvn_subr/io.c:3432: (apr_err=EACCES)
  svn: E000013: Can't open file '/home/pm/sw/subversion/obj2/repo/db/revs/0/1.l2p': Permission denied
  $ rm repo/db/revs/0/1*
  $ svn mkdir -mm file://`pwd`/repo/A

  Committed revision 1.

-- 
Philip
Received on 2013-12-10 18:12:08 CET

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