subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject svn commit: r1809766 - in /subversion/branches/better-pristines: ./ subversion/include/private/ subversion/libsvn_client/ subversion/libsvn_subr/ subversion/libsvn_subr/lz4/ subversion/libsvn_subr/utf8proc/ subversion/libsvn_wc/ subversion/tests/cmdlin...
Date Tue, 26 Sep 2017 17:53:49 GMT
Author: brane
Date: Tue Sep 26 17:53:49 2017
New Revision: 1809766

URL: http://svn.apache.org/viewvc?rev=1809766&view=rev
Log:
On the better-pristines branch: Sync with trunk up to r1809765.

Modified:
    subversion/branches/better-pristines/   (props changed)
    subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h
    subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c
    subversion/branches/better-pristines/subversion/libsvn_subr/lz4/lz4.c
    subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/   (props changed)
    subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/utf8proc.c
    subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/utf8proc_internal.h
    subversion/branches/better-pristines/subversion/libsvn_subr/x509parse.c
    subversion/branches/better-pristines/subversion/libsvn_wc/conflicts.c
    subversion/branches/better-pristines/subversion/libsvn_wc/wc-queries.sql
    subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.c
    subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.h
    subversion/branches/better-pristines/subversion/tests/cmdline/davautocheck.sh
    subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
    subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/setenv.sh
    subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh

Propchange: subversion/branches/better-pristines/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Sep 26 17:53:49 2017
@@ -97,4 +97,4 @@
 /subversion/branches/verify-at-commit:1462039-1462408
 /subversion/branches/verify-keep-going:1439280-1546110
 /subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1807118-1809146
+/subversion/trunk:1807118-1809765

Modified: subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h Tue Sep
26 17:53:49 2017
@@ -1946,7 +1946,6 @@ svn_wc__guess_incoming_move_target_nodes
                                          const char *victim_abspath,
                                          svn_node_kind_t victim_node_kind,
                                          const char *moved_to_repos_relpath,
-                                         svn_revnum_t rev,
                                          apr_pool_t *result_pool,
                                          apr_pool_t *scratch_pool);
 

Modified: subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c (original)
+++ subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c Tue Sep 26 17:53:49
2017
@@ -2536,7 +2536,7 @@ find_moves_in_natural_history(apr_array_
                   err = find_yca(&yca_loc, repos_relpath, peg_rev,
                                  repos_relpath, move->rev,
                                  repos_root_url, repos_uuid,
-                                 NULL, ctx, scratch_pool, scratch_pool);
+                                 NULL, ctx, iterpool, iterpool);
                   if (err)
                     {
                       if (err->apr_err == SVN_ERR_FS_NOT_FOUND)
@@ -4643,7 +4643,8 @@ get_incoming_delete_details_for_reverse_
 }
 
 /* Follow each move chain starting a MOVE all the way to the end to find
- * the possible working copy locations for VICTIM_ABSPATH at PEG_REVISION.
+ * the possible working copy locations for VICTIM_ABSPATH which corresponds
+ * to VICTIM_REPOS_REPLATH@VICTIM_REVISION.
  * Add each such location to the WC_MOVE_TARGETS hash table, keyed on the
  * repos_relpath which is the corresponding move destination in the repository.
  * This function is recursive. */
@@ -4653,7 +4654,8 @@ follow_move_chains(apr_hash_t *wc_move_t
                    svn_client_ctx_t *ctx,
                    const char *victim_abspath,
                    svn_node_kind_t victim_node_kind,
-                   svn_revnum_t peg_revision,
+                   const char *victim_repos_relpath,
+                   svn_revnum_t victim_revision,
                    apr_pool_t *result_pool,
                    apr_pool_t *scratch_pool)
 {
@@ -4661,17 +4663,85 @@ follow_move_chains(apr_hash_t *wc_move_t
    * the working copy and add them to our collection if found. */
   if (move->next == NULL)
     {
-      apr_array_header_t *moved_to_abspaths;
+      apr_array_header_t *candidate_abspaths;
 
-      /* Gather nodes which represent this moved_to_repos_relpath. */
+      /* Gather candidate nodes which represent this moved_to_repos_relpath. */
       SVN_ERR(svn_wc__guess_incoming_move_target_nodes(
-                &moved_to_abspaths, ctx->wc_ctx,
+                &candidate_abspaths, ctx->wc_ctx,
                 victim_abspath, victim_node_kind,
                 move->moved_to_repos_relpath,
-                peg_revision, result_pool, scratch_pool));
-      if (moved_to_abspaths->nelts > 0)
-        svn_hash_sets(wc_move_targets, move->moved_to_repos_relpath,
-                      moved_to_abspaths);
+                scratch_pool, scratch_pool));
+      if (candidate_abspaths->nelts > 0)
+        {
+          apr_array_header_t *moved_to_abspaths;
+          int i;
+          apr_pool_t *iterpool = svn_pool_create(scratch_pool);
+
+          moved_to_abspaths = apr_array_make(result_pool, 1,
+                                             sizeof (const char *));
+
+          for (i = 0; i < candidate_abspaths->nelts; i++)
+            {
+              const char *candidate_abspath;
+              const char *repos_root_url;
+              const char *repos_uuid;
+              const char *candidate_repos_relpath;
+              svn_revnum_t candidate_revision;
+
+              svn_pool_clear(iterpool);
+
+              candidate_abspath = APR_ARRAY_IDX(candidate_abspaths, i,
+                                                const char *);
+              SVN_ERR(svn_wc__node_get_origin(NULL, &candidate_revision,
+                                              &candidate_repos_relpath,
+                                              &repos_root_url,
+                                              &repos_uuid,
+                                              NULL, NULL,
+                                              ctx->wc_ctx,
+                                              candidate_abspath,
+                                              FALSE,
+                                              iterpool, iterpool));
+
+              if (candidate_revision == SVN_INVALID_REVNUM)
+                continue;
+
+              /* If the conflict victim and the move target candidate
+               * are not from the same revision we must ensure that
+               * they are related. */
+               if (candidate_revision != victim_revision)
+                {
+                  svn_client__pathrev_t *yca_loc;
+                  svn_error_t *err;
+
+                  err = find_yca(&yca_loc, victim_repos_relpath,
+                                 victim_revision,
+                                 candidate_repos_relpath,
+                                 candidate_revision,
+                                 repos_root_url, repos_uuid,
+                                 NULL, ctx, iterpool, iterpool);
+                  if (err)
+                    {
+                      if (err->apr_err == SVN_ERR_FS_NOT_FOUND)
+                        {
+                          svn_error_clear(err);
+                          yca_loc = NULL;
+                        }
+                      else
+                        return svn_error_trace(err);
+                    }
+
+                  if (yca_loc == NULL)
+                    continue;
+                }
+
+              APR_ARRAY_PUSH(moved_to_abspaths, const char *) =
+                apr_pstrdup(result_pool, candidate_abspath);
+            }
+          svn_pool_destroy(iterpool);
+
+          svn_hash_sets(wc_move_targets, move->moved_to_repos_relpath,
+                        moved_to_abspaths);
+        }
     }
   else
     {
@@ -4689,7 +4759,8 @@ follow_move_chains(apr_hash_t *wc_move_t
           next_move = APR_ARRAY_IDX(move->next, i, struct repos_move_info *);
           SVN_ERR(follow_move_chains(wc_move_targets, next_move,
                                      ctx, victim_abspath, victim_node_kind,
-                                     peg_revision, result_pool, iterpool));
+                                     victim_repos_relpath, victim_revision,
+                                     result_pool, iterpool));
                                         
         }
       svn_pool_destroy(iterpool);
@@ -4707,14 +4778,17 @@ init_wc_move_targets(struct conflict_tre
   int i;
   const char *victim_abspath;
   svn_node_kind_t victim_node_kind;
+  const char *incoming_new_repos_relpath;
   svn_revnum_t incoming_new_pegrev;
   svn_wc_operation_t operation;
 
   victim_abspath = svn_client_conflict_get_local_abspath(conflict);
   victim_node_kind = svn_client_conflict_tree_get_victim_node_kind(conflict);
   operation = svn_client_conflict_get_operation(conflict);
+  /* ### Should we get the old location in case of reverse-merges? */
   SVN_ERR(svn_client_conflict_get_incoming_new_repos_location(
-            NULL, &incoming_new_pegrev, NULL, conflict,
+            &incoming_new_repos_relpath, &incoming_new_pegrev,
+            NULL, conflict,
             scratch_pool, scratch_pool));
   details->wc_move_targets = apr_hash_make(conflict->pool);
   for (i = 0; i < details->moves->nelts; i++)
@@ -4725,6 +4799,7 @@ init_wc_move_targets(struct conflict_tre
       SVN_ERR(follow_move_chains(details->wc_move_targets, move,
                                  ctx, victim_abspath,
                                  victim_node_kind,
+                                 incoming_new_repos_relpath,
                                  incoming_new_pegrev,
                                  conflict->pool, scratch_pool));
     }
@@ -9913,6 +9988,7 @@ configure_option_local_move_file_merge(s
               SVN_ERR(follow_move_chains(wc_move_targets, move, ctx,
                                          conflict->local_abspath,
                                          svn_node_file,
+                                         incoming_new_repos_relpath,
                                          incoming_new_pegrev,
                                          scratch_pool, iterpool));
             }

Modified: subversion/branches/better-pristines/subversion/libsvn_subr/lz4/lz4.c
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_subr/lz4/lz4.c?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_subr/lz4/lz4.c (original)
+++ subversion/branches/better-pristines/subversion/libsvn_subr/lz4/lz4.c Tue Sep 26 17:53:49
2017
@@ -94,6 +94,12 @@
 #include "lz4internal.h"
 /* see also "memory routines" below */
 
+/* Silence GCC's -Wmissing-prototypes warning. */
+int LZ4_compress_fast_force(const char*, char*, int, int, int);
+int LZ4_compress_forceExtDict (LZ4_stream_t*, const char*, char*, int);
+int LZ4_decompress_safe_forceExtDict(const char*, char*, int, int, const char*, int);
+int LZ4_uncompress (const char*, char*, int);
+int LZ4_uncompress_unknownOutputSize (const char*, char*, int, int);
 
 /*-************************************
 *  Compiler Options
@@ -397,7 +403,7 @@ typedef enum { full = 0, partial = 1 } e
 int LZ4_versionNumber (void) { return LZ4_VERSION_NUMBER; }
 const char* LZ4_versionString(void) { return LZ4_VERSION_STRING; }
 int LZ4_compressBound(int isize)  { return LZ4_COMPRESSBOUND(isize); }
-int LZ4_sizeofState() { return LZ4_STREAMSIZE; }
+int LZ4_sizeofState(void) { return LZ4_STREAMSIZE; }
 
 
 /*-******************************
@@ -1423,7 +1429,7 @@ int LZ4_uncompress_unknownOutputSize (co
 
 /* Obsolete Streaming functions */
 
-int LZ4_sizeofStreamState() { return LZ4_STREAMSIZE; }
+int LZ4_sizeofStreamState(void) { return LZ4_STREAMSIZE; }
 
 static void LZ4_init(LZ4_stream_t* lz4ds, BYTE* base)
 {

Propchange: subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Sep 26 17:53:49 2017
@@ -97,5 +97,5 @@
 /subversion/branches/verify-at-commit/subversion/libsvn_subr/utf8proc:1462039-1462408
 /subversion/branches/verify-keep-going/subversion/libsvn_subr/utf8proc:1439280-1546110
 /subversion/branches/wc-collate-path/subversion/libsvn_subr/utf8proc:1402685-1480384
-/subversion/trunk/subversion/libsvn_subr/utf8proc:1807118-1809146
+/subversion/trunk/subversion/libsvn_subr/utf8proc:1807118-1809765
 /subversion/upstream/utf8proc:1405750-1809082

Modified: subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/utf8proc.c
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/utf8proc.c?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/utf8proc.c (original)
+++ subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/utf8proc.c Tue Sep
26 17:53:49 2017
@@ -40,10 +40,6 @@
  *  Implementation of libutf8proc.
  */
 
-#ifdef __GNUC__
-#  pragma GCC diagnostic push
-#  pragma GCC diagnostic ignored "-Wcomment"
-#endif
 
 #include "utf8proc_internal.h"
 #include "utf8proc_data.c"
@@ -128,18 +124,18 @@ UTF8PROC_DLLEXPORT utf8proc_ssize_t utf8
     *dst = uc;
     return 1;
   }
-  // Must be between 0xc2 and 0xf4 inclusive to be valid
+  /* Must be between 0xc2 and 0xf4 inclusive to be valid */
   if ((uc - 0xc2) > (0xf4-0xc2)) return UTF8PROC_ERROR_INVALIDUTF8;
-  if (uc < 0xe0) {         // 2-byte sequence
-     // Must have valid continuation character
+  if (uc < 0xe0) {         /* 2-byte sequence */
+     /* Must have valid continuation character */
      if (str >= end || !utf_cont(*str)) return UTF8PROC_ERROR_INVALIDUTF8;
      *dst = ((uc & 0x1f)<<6) | (*str & 0x3f);
      return 2;
   }
-  if (uc < 0xf0) {        // 3-byte sequence
+  if (uc < 0xf0) {        /* 3-byte sequence */
      if ((str + 1 >= end) || !utf_cont(*str) || !utf_cont(str[1]))
         return UTF8PROC_ERROR_INVALIDUTF8;
-     // Check for surrogate chars
+     /* Check for surrogate chars */
      if (uc == 0xed && *str > 0x9f)
          return UTF8PROC_ERROR_INVALIDUTF8;
      uc = ((uc & 0xf)<<12) | ((*str & 0x3f)<<6) | (str[1] & 0x3f);
@@ -148,11 +144,11 @@ UTF8PROC_DLLEXPORT utf8proc_ssize_t utf8
      *dst = uc;
      return 3;
   }
-  // 4-byte sequence
-  // Must have 3 valid continuation characters
+  /* 4-byte sequence
+     Must have 3 valid continuation characters */
   if ((str + 2 >= end) || !utf_cont(*str) || !utf_cont(str[1]) || !utf_cont(str[2]))
      return UTF8PROC_ERROR_INVALIDUTF8;
-  // Make sure in correct range (0x10000 - 0x10ffff)
+  /* Make sure in correct range (0x10000 - 0x10ffff) */
   if (uc == 0xf0) {
     if (*str < 0x90) return UTF8PROC_ERROR_INVALIDUTF8;
   } else if (uc == 0xf4) {
@@ -176,8 +172,8 @@ UTF8PROC_DLLEXPORT utf8proc_ssize_t utf8
     dst[0] = (utf8proc_uint8_t)(0xC0 + (uc >> 6));
     dst[1] = (utf8proc_uint8_t)(0x80 + (uc & 0x3F));
     return 2;
-  // Note: we allow encoding 0xd800-0xdfff here, so as not to change
-  // the API, however, these are actually invalid in UTF-8
+  /* Note: we allow encoding 0xd800-0xdfff here, so as not to change
+     the API, however, these are actually invalid in UTF-8 */
   } else if (uc < 0x10000) {
     dst[0] = (utf8proc_uint8_t)(0xE0 + (uc >> 12));
     dst[1] = (utf8proc_uint8_t)(0x80 + ((uc >> 6) & 0x3F));
@@ -254,36 +250,36 @@ UTF8PROC_DLLEXPORT const utf8proc_proper
 */
 static utf8proc_bool grapheme_break_simple(int lbc, int tbc) {
   return
-    (lbc == UTF8PROC_BOUNDCLASS_START) ? true :       // GB1
-    (lbc == UTF8PROC_BOUNDCLASS_CR &&                 // GB3
-     tbc == UTF8PROC_BOUNDCLASS_LF) ? false :         // ---
-    (lbc >= UTF8PROC_BOUNDCLASS_CR && lbc <= UTF8PROC_BOUNDCLASS_CONTROL) ?
true :  // GB4
-    (tbc >= UTF8PROC_BOUNDCLASS_CR && tbc <= UTF8PROC_BOUNDCLASS_CONTROL) ?
true :  // GB5
-    (lbc == UTF8PROC_BOUNDCLASS_L &&                  // GB6
-     (tbc == UTF8PROC_BOUNDCLASS_L ||                 // ---
-      tbc == UTF8PROC_BOUNDCLASS_V ||                 // ---
-      tbc == UTF8PROC_BOUNDCLASS_LV ||                // ---
-      tbc == UTF8PROC_BOUNDCLASS_LVT)) ? false :      // ---
-    ((lbc == UTF8PROC_BOUNDCLASS_LV ||                // GB7
-      lbc == UTF8PROC_BOUNDCLASS_V) &&                // ---
-     (tbc == UTF8PROC_BOUNDCLASS_V ||                 // ---
-      tbc == UTF8PROC_BOUNDCLASS_T)) ? false :        // ---
-    ((lbc == UTF8PROC_BOUNDCLASS_LVT ||               // GB8
-      lbc == UTF8PROC_BOUNDCLASS_T) &&                // ---
-     tbc == UTF8PROC_BOUNDCLASS_T) ? false :          // ---
-    (tbc == UTF8PROC_BOUNDCLASS_EXTEND ||             // GB9
-     tbc == UTF8PROC_BOUNDCLASS_ZWJ ||                // ---
-     tbc == UTF8PROC_BOUNDCLASS_SPACINGMARK ||        // GB9a
-     lbc == UTF8PROC_BOUNDCLASS_PREPEND) ? false :    // GB9b
-    ((lbc == UTF8PROC_BOUNDCLASS_E_BASE ||            // GB10 (requires additional handling
below)
-      lbc == UTF8PROC_BOUNDCLASS_E_BASE_GAZ) &&       // ----
-     tbc == UTF8PROC_BOUNDCLASS_E_MODIFIER) ? false : // ----
-    (lbc == UTF8PROC_BOUNDCLASS_ZWJ &&                         // GB11
-     (tbc == UTF8PROC_BOUNDCLASS_GLUE_AFTER_ZWJ ||             // ----
-      tbc == UTF8PROC_BOUNDCLASS_E_BASE_GAZ)) ? false :        // ----
-    (lbc == UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR &&          // GB12/13 (requires
additional handling below)
-     tbc == UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR) ? false :  // ----
-    true; // GB999
+    (lbc == UTF8PROC_BOUNDCLASS_START) ? true :       /* GB1 */
+    (lbc == UTF8PROC_BOUNDCLASS_CR &&                 /* GB3 */
+     tbc == UTF8PROC_BOUNDCLASS_LF) ? false :         /* --- */
+    (lbc >= UTF8PROC_BOUNDCLASS_CR && lbc <= UTF8PROC_BOUNDCLASS_CONTROL) ?
true :  /* GB4 */
+    (tbc >= UTF8PROC_BOUNDCLASS_CR && tbc <= UTF8PROC_BOUNDCLASS_CONTROL) ?
true :  /* GB5 */
+    (lbc == UTF8PROC_BOUNDCLASS_L &&                  /* GB6 */
+     (tbc == UTF8PROC_BOUNDCLASS_L ||                 /* --- */
+      tbc == UTF8PROC_BOUNDCLASS_V ||                 /* --- */
+      tbc == UTF8PROC_BOUNDCLASS_LV ||                /* --- */
+      tbc == UTF8PROC_BOUNDCLASS_LVT)) ? false :      /* --- */
+    ((lbc == UTF8PROC_BOUNDCLASS_LV ||                /* GB7 */
+      lbc == UTF8PROC_BOUNDCLASS_V) &&                /* --- */
+     (tbc == UTF8PROC_BOUNDCLASS_V ||                 /* --- */
+      tbc == UTF8PROC_BOUNDCLASS_T)) ? false :        /* --- */
+    ((lbc == UTF8PROC_BOUNDCLASS_LVT ||               /* GB8 */
+      lbc == UTF8PROC_BOUNDCLASS_T) &&                /* --- */
+     tbc == UTF8PROC_BOUNDCLASS_T) ? false :          /* --- */
+    (tbc == UTF8PROC_BOUNDCLASS_EXTEND ||             /* GB9 */
+     tbc == UTF8PROC_BOUNDCLASS_ZWJ ||                /* --- */
+     tbc == UTF8PROC_BOUNDCLASS_SPACINGMARK ||        /* GB9a */
+     lbc == UTF8PROC_BOUNDCLASS_PREPEND) ? false :    /* GB9b */
+    ((lbc == UTF8PROC_BOUNDCLASS_E_BASE ||            /* GB10 (requires additional handling
below) */
+      lbc == UTF8PROC_BOUNDCLASS_E_BASE_GAZ) &&       /* ---- */
+     tbc == UTF8PROC_BOUNDCLASS_E_MODIFIER) ? false : /* ---- */
+    (lbc == UTF8PROC_BOUNDCLASS_ZWJ &&                         /* GB11 */
+     (tbc == UTF8PROC_BOUNDCLASS_GLUE_AFTER_ZWJ ||             /* ---- */
+      tbc == UTF8PROC_BOUNDCLASS_E_BASE_GAZ)) ? false :        /* ---- */
+    (lbc == UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR &&          /* GB12/13 (requires
additional handling below) */
+     tbc == UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR) ? false :  /* ---- */
+    true; /* GB999 */
 }
 
 static utf8proc_bool grapheme_break_extended(int lbc, int tbc, utf8proc_int32_t *state)
@@ -294,15 +290,15 @@ static utf8proc_bool grapheme_break_exte
     lbc_override = *state;
   break_permitted = grapheme_break_simple(lbc_override, tbc);
   if (state) {
-    // Special support for GB 12/13 made possible by GB999. After two RI
-    // class codepoints we want to force a break. Do this by resetting the
-    // second RI's bound class to UTF8PROC_BOUNDCLASS_OTHER, to force a break
-    // after that character according to GB999 (unless of course such a break is
-    // forbidden by a different rule such as GB9).
+    /* Special support for GB 12/13 made possible by GB999. After two RI
+       class codepoints we want to force a break. Do this by resetting the
+       second RI's bound class to UTF8PROC_BOUNDCLASS_OTHER, to force a break
+       after that character according to GB999 (unless of course such a break is
+       forbidden by a different rule such as GB9). */
     if (*state == tbc && tbc == UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR)
       *state = UTF8PROC_BOUNDCLASS_OTHER;
-    // Special support for GB10. Fold any EXTEND codepoints into the previous
-    // boundclass if we're dealing with an emoji base boundclass.
+    /* Special support for GB10. Fold any EXTEND codepoints into the previous
+       boundclass if we're dealing with an emoji base boundclass. */
     else if ((*state == UTF8PROC_BOUNDCLASS_E_BASE      ||
               *state == UTF8PROC_BOUNDCLASS_E_BASE_GAZ) &&
              tbc == UTF8PROC_BOUNDCLASS_EXTEND)
@@ -758,7 +754,3 @@ UTF8PROC_DLLEXPORT utf8proc_uint8_t *utf
     UTF8PROC_COMPOSE | UTF8PROC_COMPAT);
   return retval;
 }
-
-#ifdef __GNUC__
-#  pragma GCC diagnostic pop
-#endif

Modified: subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/utf8proc_internal.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/utf8proc_internal.h?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/utf8proc_internal.h
(original)
+++ subversion/branches/better-pristines/subversion/libsvn_subr/utf8proc/utf8proc_internal.h
Tue Sep 26 17:53:49 2017
@@ -103,7 +103,7 @@ typedef bool utf8proc_bool;
 #  include <stdbool.h>
 typedef bool utf8proc_bool;
 #else
-// emulate C99 bool
+/* emulate C99 bool */
 #  ifndef __bool_true_false_are_defined
 #    define false 0
 #    define true 1

Modified: subversion/branches/better-pristines/subversion/libsvn_subr/x509parse.c
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_subr/x509parse.c?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_subr/x509parse.c (original)
+++ subversion/branches/better-pristines/subversion/libsvn_subr/x509parse.c Tue Sep 26 17:53:49
2017
@@ -472,6 +472,18 @@ x509_get_date(apr_time_t *when,
   /* apr_time_exp_t expects months to be zero indexed, 0=Jan, 11=Dec. */
   xt.tm_mon -= 1;
 
+  /* range checks (as per definition of apr_time_exp_t in apr_time.h) */
+  if (xt.tm_usec < 0 ||
+      xt.tm_sec < 0 || xt.tm_sec > 61 ||
+      xt.tm_min < 0 || xt.tm_min > 59 ||
+      xt.tm_hour < 0 || xt.tm_hour > 23 ||
+      xt.tm_mday < 1 || xt.tm_mday > 31 ||
+      xt.tm_mon < 0 || xt.tm_mon > 11 ||
+      xt.tm_year < 0 ||
+      xt.tm_wday < 0 || xt.tm_wday > 6 ||
+      xt.tm_yday < 0 || xt.tm_yday > 365)
+    return svn_error_create(SVN_ERR_X509_CERT_INVALID_DATE, NULL, NULL);
+
   ret = apr_time_exp_gmt_get(when, &xt);
   if (ret)
     return svn_error_wrap_apr(ret, NULL);

Modified: subversion/branches/better-pristines/subversion/libsvn_wc/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_wc/conflicts.c?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/branches/better-pristines/subversion/libsvn_wc/conflicts.c Tue Sep 26 17:53:49
2017
@@ -3844,7 +3844,6 @@ svn_wc__guess_incoming_move_target_nodes
                                          const char *victim_abspath,
                                          svn_node_kind_t victim_node_kind,
                                          const char *moved_to_repos_relpath,
-                                         svn_revnum_t rev,
                                          apr_pool_t *result_pool,
                                          apr_pool_t *scratch_pool)
 {
@@ -3855,7 +3854,7 @@ svn_wc__guess_incoming_move_target_nodes
 
   *possible_targets = apr_array_make(result_pool, 1, sizeof(const char *));
   SVN_ERR(svn_wc__find_repos_node_in_wc(&candidates, wc_ctx->db, victim_abspath,
-                                        moved_to_repos_relpath, rev,
+                                        moved_to_repos_relpath,
                                         scratch_pool, scratch_pool));
 
   /* Find a "useful move target" node in our set of candidates.

Modified: subversion/branches/better-pristines/subversion/libsvn_wc/wc-queries.sql
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_wc/wc-queries.sql?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_wc/wc-queries.sql (original)
+++ subversion/branches/better-pristines/subversion/libsvn_wc/wc-queries.sql Tue Sep 26 17:53:49
2017
@@ -1293,7 +1293,7 @@ PRAGMA journal_mode = DELETE
 
 -- STMT_FIND_REPOS_PATH_IN_WC
 SELECT local_relpath FROM nodes_current
-  WHERE wc_id = ?1 AND repos_path = ?2 AND revision = ?3
+  WHERE wc_id = ?1 AND repos_path = ?2
 
 /* ------------------------------------------------------------------------- */
 

Modified: subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.c
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.c?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.c Tue Sep 26 17:53:49
2017
@@ -16590,7 +16590,6 @@ svn_wc__find_repos_node_in_wc(apr_array_
                               svn_wc__db_t *db,
                               const char *wri_abspath,
                               const char *repos_relpath,
-                              svn_revnum_t rev,
                               apr_pool_t *result_pool,
                               apr_pool_t *scratch_pool)
 {
@@ -16608,7 +16607,7 @@ svn_wc__find_repos_node_in_wc(apr_array_
 
   SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
                                     STMT_FIND_REPOS_PATH_IN_WC));
-  SVN_ERR(svn_sqlite__bindf(stmt, "isr", wcroot->wc_id, repos_relpath, rev));
+  SVN_ERR(svn_sqlite__bindf(stmt, "is", wcroot->wc_id, repos_relpath));
   SVN_ERR(svn_sqlite__step(&have_row, stmt));
 
   *local_abspath_list = apr_array_make(result_pool, have_row ? 1 : 0,

Modified: subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.h?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.h (original)
+++ subversion/branches/better-pristines/subversion/libsvn_wc/wc_db.h Tue Sep 26 17:53:49
2017
@@ -3490,8 +3490,7 @@ svn_wc__required_lock_for_resolve(const
 
 /* Return an array of const char * elements, which represent local absolute
  * paths for nodes, within the working copy indicated by WRI_ABSPATH, which
- * correspond to REPOS_RELPATH@REV.
- * If no such nodes exist, return an empty array.
+ * correspond to REPOS_RELPATH. If no such nodes exist, return an empty array.
  *
  * Note that this function returns each and every such node that is known
  * in the WC, including, for example, nodes that were children of a directory
@@ -3502,7 +3501,6 @@ svn_wc__find_repos_node_in_wc(apr_array_
                               svn_wc__db_t *db,
                               const char *wri_abspath,
                               const char *repos_relpath,
-                              svn_revnum_t rev,
                               apr_pool_t *result_pool,
                               apr_pool_t *scratch_pool);
 /* @} */

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/davautocheck.sh
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/davautocheck.sh?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/davautocheck.sh (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/davautocheck.sh Tue Sep
26 17:53:49 2017
@@ -699,6 +699,15 @@ RedirectMatch permanent ^/svn-test-work/
 RedirectMatch           ^/svn-test-work/repositories/REDIRECT-TEMP-(.*)\$ /svn-test-work/repositories/\$1
 __EOF__
 
+
+# Our configure script extracts the HTTPD version from
+# headers. However, that may not be the same as the runtime version;
+# an example of this discrepancy occurs on OSX 1.9.5, where the
+# headers report 2.2.26 but the server reports 2.2.29. Since our tests
+# use the version to interpret test case results, use the actual
+# runtime version here to avoid spurious test failures.
+HTTPD_VERSION=$("$HTTPD" -V -f $HTTPD_CFG | grep '^Server version:' | sed 's|^.*/\([0-9]*\.[0-9]*\.[0-9]*\).*$|\1|')
+
 START="$HTTPD -f $HTTPD_CFG"
 printf \
 '#!/bin/sh
@@ -715,14 +724,14 @@ fi
 ' >$STOPSCRIPT "$HTTPD_ROOT" "$START" "$HTTPD_PID" "$HTTPD_PID"
 chmod +x $STOPSCRIPT
 
-$START -t \
+$START -t > /dev/null \
   || fail "Configuration file didn't pass the check, most likely modules couldn't be loaded"
 
 # need to pause for some time to let HTTPD start
 $START &
 sleep 2
 
-say "HTTPD started and listening on '$BASE_URL'..."
+say "HTTPD $HTTPD_VERSION started and listening on '$BASE_URL'..."
 #query "Ready" "y"
 
 # Perform a trivial validation of our httpd configuration by
@@ -778,14 +787,6 @@ else
     || fail "Subversion client couldn't find and/or load ra_dav library '$HTTP_LIBRARY'"
 fi
 
-# Our configure script extracts the HTTPD version from
-# headers. However, that may not be the same as the runtime version;
-# an example of this discrepancy occurs on OSX 1.9.5, where the
-# headers report 2.2.26 but the server reports 2.2.29. Since our tests
-# use the version to interpret test case results, use the actual
-# runtime version here to avoid spurious test failures.
-HTTPD_VERSION="$($APXS -q HTTPD_VERSION)"
-
 if [ $# = 0 ]; then
   TIME_CMD "$MAKE" check "BASE_URL=$BASE_URL" "HTTPD_VERSION=$HTTPD_VERSION" $SSL_MAKE_VAR
   r=$?

Modified: subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
(original)
+++ subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
Tue Sep 26 17:53:49 2017
@@ -53,7 +53,7 @@ mount | grep "^/dev/disk[0-9][0-9]* on $
 
     # Make sure we strip trailing spaces from the result of older
     # versions of hduitil.
-    device=$(echo $(hdiutil attach -nomount ram://1000000))
+    device=$(echo $(hdiutil attach -nomount ram://2000000))
     newfs_hfs -M 0700 -v "$1" "${device}"
     hdiutil mountvol "${device}"
 

Modified: subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/setenv.sh
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/setenv.sh?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/setenv.sh (original)
+++ subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/setenv.sh Tue
Sep 26 17:53:49 2017
@@ -29,6 +29,7 @@
 ##     SVNBB_APR_20_DEV         Path of APR-2.0
 ##     SVNBB_JUNIT              The path of the junit.jar
 ##     SVNBB_PARALLEL           Optional: parallelization; defaults to 2
+##     SVNBB_PYTHON3ENV         Optional: Python 3 virtual environment
 ##
 ## The invoking script will set local variable named ${scripts} that
 ## is the absolute path the parent of this file.
@@ -48,6 +49,7 @@ export SVNBB_APR_15
 export SVNBB_APR_20_DEV
 export SVNBB_JUNIT
 export SVNBB_PARALLEL
+export SVNBB_PYTHON3ENV
 
 
 # Set the absolute source path

Modified: subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh?rev=1809766&r1=1809765&r2=1809766&view=diff
==============================================================================
--- subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh
(original)
+++ subversion/branches/better-pristines/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh
Tue Sep 26 17:53:49 2017
@@ -63,6 +63,7 @@ scripts=$(cd $(dirname "$0") && pwd)
 . ${scripts}/setenv.sh
 
 # Parse arguments to find out which tests we should run
+use_python3=false
 check_local=false
 check_svn=false
 check_dav=false
@@ -74,6 +75,7 @@ check_bdb=false
 
 while [ ! -z "$1" ]; do
     case "$1" in
+        python3) use_python3=true;;
         local)   check_local=true;;
         svn)     check_svn=true;;
         dav)     check_dav=true;;
@@ -87,6 +89,8 @@ while [ ! -z "$1" ]; do
     shift
 done
 
+${use_python3} && test -n "${SVNBB_PYTHON3ENV}" && . ${SVNBB_PYTHON3ENV}/bin/activate
+
 ${check_local} && check_tests local
 ${check_svn} && check_tests svn
 ${check_dav} && check_tests dav



Mime
View raw message