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

Re: random sort of svn status and svn diff

From: Sérgio Basto <sergio_at_serjux.com>
Date: Mon, 26 Mar 2012 19:27:42 +0100

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.
Received on 2012-03-26 20:28:31 CEST

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