You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Stefan Fuhrmann <st...@wandisco.com> on 2012/10/25 19:02:04 UTC

svn_delta_path_driver deprecation

Hi,

We've managed to widely eliminate the use of deprecated
functions except for a few cases. One of them is
svn_delta_path_driver.

The problem is that svn_delta_path_driver2 requires an
ordered path array as input that none but one of the callers
can actually provide. We would need to sort the path list
for all other callers via some copy-n-paste code.

It seems that we can't easily check a given path array
for being properly ordered inside svn_delta_path_driver2,
so I'd like to add a flag parameter that tells the function
whether it needs to sort the array before using it. Alternatively,
we could add a some __compare_fn_t as a parameter.
If NULL, assume ordered input, otherwise sort using
the order defined by the compare function.

Any other ideas?

-- Stefan^2.

-- 
Certified & Supported Apache Subversion Downloads:
*

http://www.wandisco.com/subversion/download
*

Re: svn_delta_path_driver deprecation

Posted by Stefan Fuhrmann <st...@wandisco.com>.
On Thu, Oct 25, 2012 at 7:36 PM, C. Michael Pilato <cm...@collab.net>wrote:

> On 10/25/2012 01:02 PM, Stefan Fuhrmann wrote:
> > Hi,
> >
> > We've managed to widely eliminate the use of deprecated
> > functions except for a few cases. One of them is
> > svn_delta_path_driver.
> >
> > The problem is that svn_delta_path_driver2 requires an
> > ordered path array as input that none but one of the callers
> > can actually provide. We would need to sort the path list
> > for all other callers via some copy-n-paste code.
> >
> > It seems that we can't easily check a given path array
> > for being properly ordered inside svn_delta_path_driver2,
> > so I'd like to add a flag parameter that tells the function
> > whether it needs to sort the array before using it. Alternatively,
> > we could add a some __compare_fn_t as a parameter.
> > If NULL, assume ordered input, otherwise sort using
> > the order defined by the compare function.
> >
> > Any other ideas?
>
> Would that sorting function ever be anything besides NULL or the wrapper
> around svn_path_compare_paths()?  I mean, "depth-first sorting" has a
> pretty
> specific definition where driving an Ev1 editor is concerned, so ... seems
> a
> boolean sort-the-paths-for-me-please parameter is the more sensible
> provision.
>

Well, the only caller to svn_delta_path_driver2 uses
a modified ordering (putting deleted paths first). But
you are right, the plain path list does not contain enough
information to allow for a more specific ordering than
depth-first. So, I will use a simple boolean parameter.

-- Stefan^2.

-- 
Certified & Supported Apache Subversion Downloads:
*

http://www.wandisco.com/subversion/download
*

Re: svn_delta_path_driver deprecation

Posted by "C. Michael Pilato" <cm...@collab.net>.
On 10/25/2012 01:02 PM, Stefan Fuhrmann wrote:
> Hi,
> 
> We've managed to widely eliminate the use of deprecated
> functions except for a few cases. One of them is
> svn_delta_path_driver.
> 
> The problem is that svn_delta_path_driver2 requires an
> ordered path array as input that none but one of the callers
> can actually provide. We would need to sort the path list
> for all other callers via some copy-n-paste code.
> 
> It seems that we can't easily check a given path array
> for being properly ordered inside svn_delta_path_driver2,
> so I'd like to add a flag parameter that tells the function
> whether it needs to sort the array before using it. Alternatively,
> we could add a some __compare_fn_t as a parameter.
> If NULL, assume ordered input, otherwise sort using
> the order defined by the compare function.
> 
> Any other ideas?

Would that sorting function ever be anything besides NULL or the wrapper
around svn_path_compare_paths()?  I mean, "depth-first sorting" has a pretty
specific definition where driving an Ev1 editor is concerned, so ... seems a
boolean sort-the-paths-for-me-please parameter is the more sensible provision.

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Enterprise Cloud Development