The sqlite index is essentially only updated for "fs_change_node_prop" calls, and not for other ones like "fs_copy" and "fs_delete". See http://svn.haxx.se/dev/archive-2007-11/1168.shtml for issues that this causes. In addition, queries against the database do not know if the path actually exists at the requested revision, so that error case is silently ignored. Fixing these, IMHO, essentially means reimplementing the Subversion DAG algorithm in the sqlite layer. I don't think this is an easy task at all (esp the "cheap copies") part. We should either come up with a plan to fix this issue, or remove the sqlite DB from 1.5 (possibly reintroducing it later if we come up with a way to solve these problems). Note that removing it would still allow us to do everything on trunk except "log -g"; it would also interfere with Issue 2897.