[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Add necessary copy constructors to libsvn_subr, libsvn_delta (1.3.x, Issue #2172)

From: David James <james82_at_gmail.com>
Date: 2005-09-30 07:37:58 CEST

On 28 Sep 2005 13:27:46 -0400, C. Michael Pilato <cmpilato@collab.net> wrote:
> David James <james82@gmail.com> writes:
>
> > [[[
> >
> > Create copy constructors for svn_txdelta_window_t,
> > svn_log_changed_path_t, and svn_auth_ssl_server_cert_info_t.
> > (These copy constructors are needed to solve the segfaults
> > in the Python bindings caused by issue 2172.)
> >
> > * subversion/include/svn_delta.h
> > (svn_txdelta_window_dup): New function.
> > * subversion/include/svn_types.h
> > (svn_log_changed_path_dup): New function.
> > * subversion/include/svn_auth.h
> > (svn_auth_ssl_server_cert_info_dup): New function.
> > * subversion/libsvn_subr/constructors.c
> > (svn_log_changed_path_dup,
> > svn_auth_ssl_server_cert_info_dup): New functions.
> > * subversion/libsvn_delta/delta.h
> > (svn_txdelta__copy_window): Remove function.
> > * subversion/libsvn_delta/text_delta.c
> > (svn_txdelta__copy_window): Rename function to svn_txdelta_window_dup.
> > * subversion/bindings/libsvn_fs_base
> > (compose_handler): Use svn_txdelta_window_dup instead of
> > svn_txdelta__copy_window.
> >
> > ]]]
>
> I find log messages without empty lines between modification groups
> really hard to parse.
>
> Also, I think it's more useful to refer to svn_txdelta_window_dup()
> not as a new function, but as a renamed function (renamed from
> svn_txdelta__copy_window(), and make public). You know, tie the
> history of these two functions together. Something like:
>
> Fix segfaults in the Python bindings caused by pool lifetime
> problems by creating/exposing deep-copy utilities for various
> structure types. This is a followup to the work done for issue
> #2172.
>
> * subversion/include/svn_delta.h
> (svn_txdelta_window_dup): Rename from svn_txdelta__copy_window(),
> and publicize.
>
> * subversion/include/svn_types.h
> (svn_log_changed_path_dup): New.
>
> * subversion/include/svn_auth.h
> (svn_auth_ssl_server_cert_info_dup): New.
>
> * subversion/libsvn_subr/constructors.c
> (svn_log_changed_path_dup, svn_auth_ssl_server_cert_info_dup): New.
>
> * subversion/libsvn_delta/delta.h
> (svn_txdelta__copy_window): Remove.
>
> * subversion/libsvn_delta/text_delta.c
> (svn_txdelta__copy_window): Rename to svn_txdelta_window_dup().
>
> * subversion/bindings/libsvn_fs_base
> (compose_handler): Use svn_txdelta_window_dup instead of
> svn_txdelta__copy_window.
Ah, that's much better. I'll use your log message as the basis for my
next patch, which will also fix the Python bindings as well.

> Other than that, +1 on the change (which I've only visually reviewed,
> not applied/tested).
Great!

Cheers,

David

-
David James -- http://www.cs.toronto.edu/~james

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Sep 30 07:39:04 2005

This is an archived mail posted to the Subversion Dev mailing list.