"C. Michael Pilato" <cmpil...@collab.net> writes: > On 03/19/2012 01:25 PM, Philip Martin wrote: >> Philip Martin <philip.mar...@wandisco.com> writes: >> >>> I can reproduce ove ra_local: >>> >>> svnadmin create repo >>> svn mkdir -mm file://`pwd`/repo/A >>> svn mkdir -mm file://`pwd`/repo/B >>> svn co file://`pwd`/repo wc1 >>> svn co file://`pwd`/repo wc2 >>> svn ps svn:mergeinfo /P:2 wc1/A >>> svn ps svn:mergeinfo /Q:2 wc2/B >>> svn mkdir wc1/X >>> svn mkdir wc2/Y >>> svn ci -mm wc1 & svn ci -mm wc2 & wait >>> >>> Gives: >>> >>> Sending wc1/A >>> Adding wc1/X >>> Sending wc2/B >>> Adding wc2/Y >>> >>> Committed revision 3. >>> svn: E160004: Commit failed (details follow): >>> svn: E160004: predecessor count for the root node-revision is wrong: found >>> 3, committing r4 > > Is this problem specific to the FSFS backend?
Yes, I think it is. For BDB the dag_node_t type in dag.c doesn't have a node_revision member. When update_ancestry does svn_fs_bdb__put_node_revision it writes to the database and subsequent svn_fs_bdb__get_node_revision will see the updated value. For FSFS the svn_fs_fs__put_node_revision call writes to the transactions subdir but the in-memory node_revision doesn't get changed. -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com