On Thu, 2012-03-22 at 08:23 +0000, Julian Foad wrote: 
> Sérgio Basto wrote:
> 
> > Philip Martin wrote:
> >>  Or you could rebuild the current APR with a
> >>  one-line patch to set ht->seed to 0 in apr_hash.c:apr_hash_make. 
> > 
> > I think when subversion receive the result of this apr_function , we
> > should do the sort , ie , subversion should not depend on sort or not
> > sort of the apr . 
> > 
> > So where in source code we have the return of apr function ? 
> 
> There is not just one place, there are many places, even within the diff 
> code.  Start in subversion/svn/diff-cmd.c, at svn_cl__diff(), and follow the 
> function calls down.  For a WC-to-WC diff, these are the main calls:
> 
>   svn_cl__diff
>     |
>     svn_client_diff[_summarize]6, svn_client_diff[_summarize]_peg2
>       |
>       svn_wc_diff6
>         |
>         svn_wc__internal_walk_status
>           |
>           get_dir_status
>             |
>             /* Walk all the children of this directory. */
>             for (hi = apr_hash_first(subpool, all_children);
>                  hi; hi = apr_hash_next(hi))

Thanks, can you do some draft code example ? , how we got apr_hash
sorted by name ? with a for which construct a sort_apr_hash ? 



> This place determines the order of entries within a directory, for a WC-to-WC 
> diff.  That's just one of the code paths involved in diff.  There are several 
> others, depending on the kind of diff.  For diffs against the repository, it 
> is more complex.  Also 
> look for code that determines the order of property changes.

Thanks, 
-- 
Sérgio M. B.

Reply via email to