On Thu, Dec 05, 2013 at 05:36:58PM -0000, rhuij...@apache.org wrote:
> Author: rhuijben
> Date: Thu Dec  5 17:36:57 2013
> New Revision: 1548214
> 
> URL: http://svn.apache.org/r1548214
> Log:
> Apply some minor preparing and correctness changes for the move logic in
> libsvn_wc.
> 
> This patch adds support for telling the wc_db revision bump whether an actual
> update was performed. With this knowledge a lot of move handling logic can
> be simplified for the generic case in future patches.
> 
> Some parts of this patch are to make sure some move behavior patches I have
> kept local for some time don't have to keep in sync with more files than
> necessary.

> * subversion/libsvn_wc/wc_db_update_move.c
>   (replace_moved_layer): Properly extend parent delete.

Hi Bert,

Can you please explain why the strlen() check is the right thing
to do here? The log message doesn't make this clear, and there
is no code comment either. It looks rather odd.

> @@ -1643,6 +1644,11 @@ replace_moved_layer(const char *src_relp
>                                                      scratch_pool));
>        if (!err)
>          err = svn_sqlite__step_done(stmt2);
> +
> +      if (!err && strlen(dst_cp_relpath) > strlen(dst_relpath))
> +        err = svn_wc__db_extend_parent_delete(wcroot, dst_cp_relpath, kind,
> +                                              dst_op_depth, scratch_pool);
> +
>        if (err)
>          return svn_error_compose_create(err, svn_sqlite__reset(stmt));
>  
> 

Reply via email to