Julian Foad wrote on Fri, Apr 27, 2012 at 22:04:45 +0100: > > Can anyone advise on these? > > > One point being the semantics is different: _bind_revnum sets column to NULL > for INVALID_REVNUM. > > Don't know if INVALID_REVNUM ever can hit these two particular code paths. >
You could check that by throwing an assert() there and running the test suite? > - Julian > > > > Index: subversion/libsvn_wc/entries.c > > =================================================================== > > --- subversion/libsvn_wc/entries.c (revision 1331595) > > +++ subversion/libsvn_wc/entries.c (working copy) > > @@ -1441,12 +1441,13 @@ insert_node(svn_sqlite__db_t *sdb, > > if (node->repos_relpath) > > { > > SVN_ERR(svn_sqlite__bind_int64(stmt, 5, > > node->repos_id)); > > SVN_ERR(svn_sqlite__bind_text(stmt, 6, > > node->repos_relpath)); > > + /* ### Shouldn't this use __bind_revnum? (If not, say why.) */ > > SVN_ERR(svn_sqlite__bind_int64(stmt, 7, node->revision)); > > } > > > > if (node->presence == svn_wc__db_status_normal) > > SVN_ERR(svn_sqlite__bind_text(stmt, 8, "normal")); > > else if (node->presence == svn_wc__db_status_not_present) > > Index: subversion/libsvn_wc/wc_db.c > > =================================================================== > > --- subversion/libsvn_wc/wc_db.c (revision 1331595) > > +++ subversion/libsvn_wc/wc_db.c (working copy) > > @@ -1082,12 +1082,13 @@ insert_working_node(void *baton, > > } > > > > if (piwb->original_repos_relpath != NULL) > > { > > SVN_ERR(svn_sqlite__bind_int64(stmt, 5, piwb->original_repos_id)); > > SVN_ERR(svn_sqlite__bind_text(stmt, 6, > > piwb->original_repos_relpath)); > > + /* ### Shouldn't this use __bind_revnum? (If not, say why.) */ > > SVN_ERR(svn_sqlite__bind_int64(stmt, 7, piwb->original_revnum)); > > } > > > > SVN_ERR(svn_sqlite__bind_properties(stmt, 15, piwb->props, > > scratch_pool)); > > > > SVN_ERR(svn_sqlite__insert(NULL, stmt)); > > > > > > - Julian > >