You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2012/06/30 06:01:56 UTC
svn commit: r1355630 - in /subversion/branches/1.7.x: ./ STATUS
subversion/libsvn_wc/status.c
Author: svn-role
Date: Sat Jun 30 04:01:54 2012
New Revision: 1355630
URL: http://svn.apache.org/viewvc?rev=1355630&view=rev
Log:
Reintegrate the 1.7.x-r1341012 branch:
* r1341012, r1341076
Sort 'svn status' output to avoid randomness in output with APR-1.4.6.
Justification:
Sorted output is nicer for users. Some users even perceive random output
order with APR-1.4.6 as a regression.
Branch:
^/subversion/branches/1.7.x-r1341012
Votes:
+1: stsp, gstein, rhuijben
Modified:
subversion/branches/1.7.x/ (props changed)
subversion/branches/1.7.x/STATUS
subversion/branches/1.7.x/subversion/libsvn_wc/status.c
Propchange: subversion/branches/1.7.x/
------------------------------------------------------------------------------
Merged /subversion/branches/1.7.x-r1341012:r1341013-1355629
Merged /subversion/trunk:r1341012,1341076
Modified: subversion/branches/1.7.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1355630&r1=1355629&r2=1355630&view=diff
==============================================================================
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Sat Jun 30 04:01:54 2012
@@ -125,16 +125,6 @@ Veto-blocked changes:
Approved changes:
=================
- * r1341012, r1341076
- Sort 'svn status' output to avoid randomness in output with APR-1.4.6.
- Justification:
- Sorted output is nicer for users. Some users even perceive random output
- order with APR-1.4.6 as a regression.
- Branch:
- ^/subversion/branches/1.7.x-r1341012
- Votes:
- +1: stsp, gstein, rhuijben
-
* 1341031
Sort output of 'svn proplist' to avoid randomness with APR-1.4.6
Justification:
Modified: subversion/branches/1.7.x/subversion/libsvn_wc/status.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_wc/status.c?rev=1355630&r1=1355629&r2=1355630&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_wc/status.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_wc/status.c Sat Jun 30 04:01:54 2012
@@ -41,6 +41,7 @@
#include "svn_config.h"
#include "svn_time.h"
#include "svn_hash.h"
+#include "svn_sorts.h"
#include "svn_private_config.h"
@@ -1019,14 +1020,15 @@ get_dir_status(const struct walk_status_
void *cancel_baton,
apr_pool_t *scratch_pool)
{
- apr_hash_index_t *hi;
const char *dir_repos_root_url;
const char *dir_repos_relpath;
const char *dir_repos_uuid;
apr_hash_t *dirents, *nodes, *conflicts, *all_children;
apr_array_header_t *patterns = NULL;
+ apr_array_header_t *sorted_children;
apr_pool_t *iterpool, *subpool = svn_pool_create(scratch_pool);
svn_error_t *err;
+ int i;
if (cancel_func)
SVN_ERR(cancel_func(cancel_baton));
@@ -1125,20 +1127,25 @@ get_dir_status(const struct walk_status_
}
/* Walk all the children of this directory. */
- for (hi = apr_hash_first(subpool, all_children); hi; hi = apr_hash_next(hi))
+ sorted_children = svn_sort__hash(all_children,
+ svn_sort_compare_items_lexically,
+ subpool);
+ for (i = 0; i < sorted_children->nelts; i++)
{
const void *key;
apr_ssize_t klen;
const char *node_abspath;
svn_io_dirent2_t *dirent_p;
const struct svn_wc__db_info_t *info;
+ svn_sort__item_t item;
svn_pool_clear(iterpool);
- apr_hash_this(hi, &key, &klen, NULL);
+ item = APR_ARRAY_IDX(sorted_children, i, svn_sort__item_t);
+ key = item.key;
+ klen = item.klen;
node_abspath = svn_dirent_join(local_abspath, key, iterpool);
-
dirent_p = apr_hash_get(dirents, key, klen);
info = apr_hash_get(nodes, key, klen);