On Fri, Jan 23, 2009 at 19:00, Hyrum K. Wright <hyrum_at_hyrumwright.org> wrote:
>...
> +++ branches/explore-wc/subversion/libsvn_wc/entries.c Fri Jan 23 10:00:52 2009 (r35419)
>...
> @@ -71,6 +72,14 @@ static const char * const statements[] =
> "values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, "
> ":15, :16);",
>
> + "insert or replace into working_node "
> + "(wc_id, local_relpath, parent_relpath, kind, copyfrom_repos_path, "
> + "copyfrom_revnum, moved_from, moved_to, checksum, translated_size, "
> + "changed_rev, changed_date, changed_author, depth, last_mod_time, "
> + "properties, changelist_id) "
> + "values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, "
> + ":15, :16, :17);",
I realize that you might intend to use all those fields later, but
could I suggest that you trim them all back if you're not going to
bind them?
It may be that there will be different semantics around inserting into
that table, each with a different INSERT statement, filling out
variant sets of columns. Right now, you've got a statement that fills
out just a few...
(not fussed too much either way, just noting)
>...
> + case svn_wc_schedule_replace:
> + /* TODO: we need the kind of the replacing thing. */
> + SVN_ERR(svn_sqlite__bind_int64(working_stmt, 4, svn_node_none));
typo: kind of the *replaced* thing.
I don't know how the WC normally figures this out, but I might
suggest: look for the revert base. If present, you're replacing a
FILE. Otherwise, a DIR.
Note that you *also* need to insert something into BASE_NODE for a
replaced item. And insert nothing for an added item.
>...
Cheers,
-g
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1045237
Received on 2009-01-23 20:09:30 CET