Looks pretty good!
Several points:
* use svn_wc__internal_text_modified_p(); then you won't need wc_ctx
(just the db)
* read_info can return NULL for the repos_* values
* typo in analyze_status docstring (the typename)
* status_deleted nodes have no revision info; you may simply want to
test for SVN_INVALID_REVNUM, since read_info() will return that when
it is "not interesting". IOW, it does the proper work for you
* do you need wc_root? how about just using svn_wc__internal_path_switched() ?
Cheers,
-g
On Mon, Mar 8, 2010 at 17:37, Daniel Näslund <daniel_at_longitudo.com> wrote:
> Hi!
>
> I have run the merge_tests on this patch. When grepping I only found
> this code to be used there. If this looks ok, I'll run a make check on
> it.
>
> [[[
> As part of WC-NG, remove some uses of svn_wc_entry_t.
>
> * subversion/libsvn_wc/revision_status.c
> (status_baton): Rename this...
> (walk_baton): .. to this.
> (analyze_status): Change this to implement svn_wc__node_func_t and use
> WC-NG funcs instead of information in svn_wc_entry_t.
> (svn_wc_revision_status2): Use svn_wc__node_walk_children() instead of
> svn_wc_walk_status() to spare us from the overhead of invoking an
> editor.
> ]]]
>
> The entries code transformed svn_depth_unknown to svn_depth_infinity. I
> check for them both when determing if we have a sparse checkout.
>
> Bert told me that in WC-NG we check for svn_depth_exclude with the
> status. Did so, hope it's right.
>
> Bert told me that svnversion (the primary user of the revision_status
> functionality as I understood it) didn't take absent or excluded items
> into account so I set the show_hidden parameter of
> svn_wc__node_walk_children to FALSE.
>
> I could have moved the check for the url out of analyze_status() but I
> just wanted to remove some entries and get out of there as fast as I
> could. I'm still afraid of libsvn_wc!
>
> Daniel
>
Received on 2010-03-09 00:39:16 CET