You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2012/05/21 15:49:13 UTC

svn commit: r1341025 - in /subversion/branches/1.7.x-r1341012: ./ subversion/libsvn_wc/status.c

Author: stsp
Date: Mon May 21 13:49:13 2012
New Revision: 1341025

URL: http://svn.apache.org/viewvc?rev=1341025&view=rev
Log:
On the 1.7.x-r1341012 branch, merge r1341012 from trunk, and resolve some
conflicts due to renamed local variables.

Modified:
    subversion/branches/1.7.x-r1341012/   (props changed)
    subversion/branches/1.7.x-r1341012/subversion/libsvn_wc/status.c

Propchange: subversion/branches/1.7.x-r1341012/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1341012

Modified: subversion/branches/1.7.x-r1341012/subversion/libsvn_wc/status.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x-r1341012/subversion/libsvn_wc/status.c?rev=1341025&r1=1341024&r2=1341025&view=diff
==============================================================================
--- subversion/branches/1.7.x-r1341012/subversion/libsvn_wc/status.c (original)
+++ subversion/branches/1.7.x-r1341012/subversion/libsvn_wc/status.c Mon May 21 13:49:13 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_as_paths,
+                                   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);