You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2013/07/07 07:06:51 UTC

svn commit: r1500370 [5/5] - in /subversion/branches/javahl-1.8-extensions: ./ build/ac-macros/ subversion/bindings/javahl/ subversion/bindings/javahl/native/ subversion/bindings/javahl/tests/org/apache/subversion/javahl/ subversion/include/private/ su...

Modified: subversion/branches/javahl-1.8-extensions/subversion/svn/cl.h
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/svn/cl.h?rev=1500370&r1=1500369&r2=1500370&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/svn/cl.h (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/svn/cl.h Sun Jul  7 05:06:50 2013
@@ -806,23 +806,6 @@ svn_cl__local_style_skip_ancestor(const 
                                   const char *path,
                                   apr_pool_t *pool);
 
-/* Check that PATH_OR_URL1@REVISION1 is related to PATH_OR_URL2@REVISION2.
- * Raise an error if not.
- *
- * ### Ideally we would also check that they are on different lines of
- * history.  That is easy in common cases, but to give a correct answer in
- * general we need to know the operative revision(s) as well.  For example,
- * when one location is the branch point from which the other branch was
- * copied.
- */
-svn_error_t *
-svn_cl__check_related_source_and_target(const char *path_or_url1,
-                                        const svn_opt_revision_t *revision1,
-                                        const char *path_or_url2,
-                                        const svn_opt_revision_t *revision2,
-                                        svn_client_ctx_t *ctx,
-                                        apr_pool_t *pool);
-
 /* If the user is setting a mime-type to mark one of the TARGETS as binary,
  * as determined by property name PROPNAME and value PROPVAL, then check
  * whether Subversion's own binary-file detection recognizes the target as

Modified: subversion/branches/javahl-1.8-extensions/subversion/svn/merge-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/svn/merge-cmd.c?rev=1500370&r1=1500369&r2=1500370&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/svn/merge-cmd.c (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/svn/merge-cmd.c Sun Jul  7 05:06:50 2013
@@ -101,15 +101,6 @@ run_merge(svn_boolean_t two_sources_spec
           && (first_range_end.kind == svn_opt_revision_unspecified))
         {
           ranges_to_merge = NULL;
-
-          /* This must be a 'sync' merge so check branch relationship. */
-          if (opt_state->verbose)
-            SVN_ERR(svn_cmdline_printf(
-                      scratch_pool, _("--- Checking branch relationship\n")));
-          SVN_ERR_W(svn_cl__check_related_source_and_target(
-                      sourcepath1, &peg_revision1,
-                      targetpath, &unspecified_revision, ctx, scratch_pool),
-                _("Source and target must be different but related branches"));
         }
 
       if (opt_state->verbose)

Modified: subversion/branches/javahl-1.8-extensions/subversion/svn/mergeinfo-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/svn/mergeinfo-cmd.c?rev=1500370&r1=1500369&r2=1500370&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/svn/mergeinfo-cmd.c (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/svn/mergeinfo-cmd.c Sun Jul  7 05:06:50 2013
@@ -297,11 +297,6 @@ svn_cl__mergeinfo(apr_getopt_t *os,
         tgt_peg_revision.kind = svn_opt_revision_base;
     }
 
-  SVN_ERR_W(svn_cl__check_related_source_and_target(source, &src_peg_revision,
-                                                    target, &tgt_peg_revision,
-                                                    ctx, pool),
-            _("Source and target must be different but related branches"));
-
   src_start_revision = &(opt_state->start_revision);
   if (opt_state->end_revision.kind == svn_opt_revision_unspecified)
     src_end_revision = src_start_revision;

Modified: subversion/branches/javahl-1.8-extensions/subversion/svn/svn.c
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/svn/svn.c?rev=1500370&r1=1500369&r2=1500370&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/svn/svn.c (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/svn/svn.c Sun Jul  7 05:06:50 2013
@@ -750,18 +750,18 @@ const svn_opt_subcommand_desc2_t svn_cl_
        * (with quotes and newlines removed). */
 "Merge changes into a working copy.\n"
 "usage: 1. merge SOURCE[@REV] [TARGET_WCPATH]\n"
-"          (the 'automatic' merge)\n"
+"          (the 'complete' merge)\n"
 "       2. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH]\n"
 "          (the 'cherry-pick' merge)\n"
 "       3. merge SOURCE1[@REV1] SOURCE2[@REV2] [TARGET_WCPATH]\n"
 "          (the '2-URL' merge)\n"
 "\n"
 "  1. This form, with one source path and no revision range, is called\n"
-"     an 'automatic' merge:\n"
+"     a 'complete' merge:\n"
 "\n"
 "       svn merge SOURCE[@REV] [TARGET_WCPATH]\n"
 "\n"
-"     The automatic merge is used for the 'sync' and 'reintegrate' merges\n"
+"     The complete merge is used for the 'sync' and 'reintegrate' merges\n"
 "     in the 'feature branch' pattern described below. It finds all the\n"
 "     changes on the source branch that have not already been merged to the\n"
 "     target branch, and merges them into the working copy. Merge tracking\n"
@@ -900,7 +900,7 @@ const svn_opt_subcommand_desc2_t svn_cl_
 "     of 'REV' is the base revision (usually the revision last updated to).\n"
 "\n"
 "     TARGET_WCPATH is a working copy path; if omitted, '.' is generally\n"
-"     assumed. The special cases noted above in the 'automatic' merge form\n"
+"     assumed. The special cases noted above in the 'complete' merge form\n"
 "     also apply here.\n"
 "\n"
 "     The revision ranges to be merged are specified by the '-r' and/or '-c'\n"
@@ -971,7 +971,7 @@ const svn_opt_subcommand_desc2_t svn_cl_
 "     The three branches involved can be completely unrelated.\n"
 "\n"
 "     TARGET_WCPATH is a working copy path; if omitted, '.' is generally\n"
-"     assumed. The special cases noted above in the 'automatic' merge form\n"
+"     assumed. The special cases noted above in the 'complete' merge form\n"
 "     also apply here.\n"
 "\n"
 "     SOURCE1 and/or SOURCE2 can also be specified as a working copy path,\n"
@@ -1088,7 +1088,7 @@ const svn_opt_subcommand_desc2_t svn_cl_
      "     shows, from left to right:\n"
      "       the youngest common ancestor of the branches;\n"
      "       the latest full merge in either direction, and thus the common base\n"
-     "         that will be used for the next automatic merge;\n"
+     "         that will be used for the next complete merge;\n"
      "       the repository path and revision number of the tip of each branch.\n"
      "\n"
      "  2. Print the revision numbers on SOURCE that have been merged to TARGET\n"
@@ -1430,9 +1430,10 @@ const svn_opt_subcommand_desc2_t svn_cl_
      "      ' ' no modifications\n"
      "      'C' Conflicted\n"
      "      'M' Modified\n"
-     "    Third column: Whether the working copy directory is locked\n"
-     "      ' ' not locked\n"
-     "      'L' locked\n"
+     "    Third column: Whether the working copy is locked for writing by\n"
+     "                  another Subversion client modifying the working copy\n"
+     "      ' ' not locked for writing\n"
+     "      'L' locked for writing\n"
      "    Fourth column: Scheduled commit will contain addition-with-history\n"
      "      ' ' no history scheduled with commit\n"
      "      '+' history scheduled with commit\n"
@@ -1440,16 +1441,16 @@ const svn_opt_subcommand_desc2_t svn_cl_
      "      ' ' normal\n"
      "      'S' the item has a Switched URL relative to the parent\n"
      "      'X' a versioned file created by an eXternals definition\n"
-     "    Sixth column: Repository lock token\n"
+     "    Sixth column: Whether the item is locked in repository for exclusive commit\n"
      "      (without -u)\n"
-     "      ' ' no lock token\n"
-     "      'K' lock token present\n"
+     "      ' ' not locked by this working copy\n"
+     "      'K' locked by this working copy, but lock might be stolen or broken\n"
      "      (with -u)\n"
-     "      ' ' not locked in repository, no lock token\n"
-     "      'K' locked in repository, lock toKen present\n"
-     "      'O' locked in repository, lock token in some Other working copy\n"
-     "      'T' locked in repository, lock token present but sTolen\n"
-     "      'B' not locked in repository, lock token present but Broken\n"
+     "      ' ' not locked in repository, not locked by this working copy\n"
+     "      'K' locked in repository, lock owned by this working copy\n"
+     "      'O' locked in repository, lock owned by another working copy\n"
+     "      'T' locked in repository, lock owned by this working copy was stolen\n"
+     "      'B' not locked in repository, lock owned by this working copy is broken\n"
      "    Seventh column: Whether the item is the victim of a tree conflict\n"
      "      ' ' normal\n"
      "      'C' tree-Conflicted\n"

Modified: subversion/branches/javahl-1.8-extensions/subversion/svn/util.c
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/svn/util.c?rev=1500370&r1=1500369&r2=1500370&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/svn/util.c (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/svn/util.c Sun Jul  7 05:06:50 2013
@@ -1026,33 +1026,6 @@ path_for_display(const char *path_or_url
 }
 
 svn_error_t *
-svn_cl__check_related_source_and_target(const char *path_or_url1,
-                                        const svn_opt_revision_t *revision1,
-                                        const char *path_or_url2,
-                                        const svn_opt_revision_t *revision2,
-                                        svn_client_ctx_t *ctx,
-                                        apr_pool_t *pool)
-{
-  const char *ancestor_url;
-  svn_revnum_t ancestor_rev;
-
-  SVN_ERR(svn_client__youngest_common_ancestor(
-            &ancestor_url, &ancestor_rev,
-            path_or_url1, revision1, path_or_url2, revision2,
-            ctx, pool, pool));
-
-  if (ancestor_url == NULL)
-    {
-      return svn_error_createf(SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
-                               _("Source and target have no common ancestor: "
-                                 "'%s' and '%s'"),
-                               path_for_display(path_or_url1, revision1, pool),
-                               path_for_display(path_or_url2, revision2, pool));
-    }
-  return SVN_NO_ERROR;
-}
-
-svn_error_t *
 svn_cl__propset_print_binary_mime_type_warning(apr_array_header_t *targets,
                                                const char *propname,
                                                const svn_string_t *propval,

Modified: subversion/branches/javahl-1.8-extensions/subversion/svnadmin/svnadmin.c
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/svnadmin/svnadmin.c?rev=1500370&r1=1500369&r2=1500370&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/svnadmin/svnadmin.c (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/svnadmin/svnadmin.c Sun Jul  7 05:06:50 2013
@@ -685,6 +685,18 @@ subcommand_create(apr_getopt_t *os, void
         svn_hash_sets(fs_config, SVN_FS_CONFIG_PRE_1_8_COMPATIBLE, "1");
     }
 
+  if (opt_state->compatible_version
+      && ! svn_version__at_least(opt_state->compatible_version, 1, 1, 0)
+      /* ### TODO: this NULL check hard-codes knowledge of the library's
+                   default fs-type value */
+      && (opt_state->fs_type == NULL
+          || !strcmp(opt_state->fs_type, SVN_FS_TYPE_FSFS)))
+    {
+      return svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
+                              _("Repositories compatible with 1.0.x must use "
+                                "--fs-type=bdb"));
+    }
+
   SVN_ERR(svn_repos_create(&repos, opt_state->repository_path,
                            NULL, NULL, NULL, fs_config, pool));
   svn_fs_set_warning_func(svn_repos_fs(repos), warning_func, NULL);

Modified: subversion/branches/javahl-1.8-extensions/subversion/svnlook/svnlook.c
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/svnlook/svnlook.c?rev=1500370&r1=1500369&r2=1500370&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/svnlook/svnlook.c (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/svnlook/svnlook.c Sun Jul  7 05:06:50 2013
@@ -57,6 +57,7 @@
 #include "private/svn_diff_private.h"
 #include "private/svn_cmdline_private.h"
 #include "private/svn_fspath.h"
+#include "private/svn_io_private.h"
 
 #include "svn_private_config.h"
 
@@ -983,12 +984,21 @@ print_diff_tree(svn_stream_t *out_stream
               SVN_ERR(generate_label(&new_label, root, path, pool));
 
               /* We deal in streams, but svn_io_run_diff2() deals in file
-                 handles, unfortunately, so we need to make these temporary
-                 files, and then copy the contents to our stream. */
-              SVN_ERR(svn_io_open_unique_file3(&outfile, &outfilename, NULL,
-                        svn_io_file_del_on_pool_cleanup, pool, pool));
-              SVN_ERR(svn_io_open_unique_file3(&errfile, &errfilename, NULL,
-                        svn_io_file_del_on_pool_cleanup, pool, pool));
+                 handles, so we may need to make temporary files and then
+                 copy the contents to our stream. */
+              outfile = svn_stream__aprfile(out_stream);
+              if (outfile)
+                outfilename = NULL;
+              else
+                SVN_ERR(svn_io_open_unique_file3(&outfile, &outfilename, NULL,
+                          svn_io_file_del_on_pool_cleanup, pool, pool));
+              SVN_ERR(svn_stream_for_stderr(&err_stream, pool));
+              errfile = svn_stream__aprfile(err_stream);
+              if (errfile)
+                errfilename = NULL;
+              else
+                SVN_ERR(svn_io_open_unique_file3(&errfile, &errfilename, NULL,
+                          svn_io_file_del_on_pool_cleanup, pool, pool));
 
               SVN_ERR(svn_io_run_diff2(".",
                                        diff_cmd_argv,
@@ -998,21 +1008,25 @@ print_diff_tree(svn_stream_t *out_stream
                                        &exitcode, outfile, errfile,
                                        c->diff_cmd, pool));
 
-              SVN_ERR(svn_io_file_close(outfile, pool));
-              SVN_ERR(svn_io_file_close(errfile, pool));
-
               /* Now, open and copy our files to our output streams. */
-              SVN_ERR(svn_stream_for_stderr(&err_stream, pool));
-              SVN_ERR(svn_stream_open_readonly(&stream, outfilename,
-                                               pool, pool));
-              SVN_ERR(svn_stream_copy3(stream,
-                                       svn_stream_disown(out_stream, pool),
-                                       NULL, NULL, pool));
-              SVN_ERR(svn_stream_open_readonly(&stream, errfilename,
-                                               pool, pool));
-              SVN_ERR(svn_stream_copy3(stream,
-                                       svn_stream_disown(err_stream, pool),
-                                       NULL, NULL, pool));
+              if (outfilename)
+                {
+                  SVN_ERR(svn_io_file_close(outfile, pool));
+                  SVN_ERR(svn_stream_open_readonly(&stream, outfilename,
+                                                   pool, pool));
+                  SVN_ERR(svn_stream_copy3(stream,
+                                           svn_stream_disown(out_stream, pool),
+                                           NULL, NULL, pool));
+                }
+              if (errfilename)
+                {
+                  SVN_ERR(svn_io_file_close(errfile, pool));
+                  SVN_ERR(svn_stream_open_readonly(&stream, errfilename,
+                                                   pool, pool));
+                  SVN_ERR(svn_stream_copy3(stream,
+                                           svn_stream_disown(err_stream, pool),
+                                           NULL, NULL, pool));
+                }
 
               SVN_ERR(svn_stream_printf_from_utf8(out_stream, encoding, pool,
                                                   "\n"));

Modified: subversion/branches/javahl-1.8-extensions/subversion/svnserve/serve.c
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/svnserve/serve.c?rev=1500370&r1=1500369&r2=1500370&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/svnserve/serve.c (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/svnserve/serve.c Sun Jul  7 05:06:50 2013
@@ -1441,6 +1441,7 @@ static svn_error_t *commit(svn_ra_svn_co
   if (lock_tokens && lock_tokens->nelts)
     SVN_CMD_ERR(add_lock_tokens(conn, lock_tokens, b, pool));
 
+  /* Ignore LOG_MSG, per the protocol.  See ra_svn_commit(). */
   if (revprop_list)
     SVN_ERR(svn_ra_svn__parse_proplist(revprop_list, pool, &revprop_table));
   else

Modified: subversion/branches/javahl-1.8-extensions/subversion/tests/svn_test_fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/subversion/tests/svn_test_fs.c?rev=1500370&r1=1500369&r2=1500370&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/subversion/tests/svn_test_fs.c (original)
+++ subversion/branches/javahl-1.8-extensions/subversion/tests/svn_test_fs.c Sun Jul  7 05:06:50 2013
@@ -33,6 +33,7 @@
 #include "svn_fs.h"
 #include "svn_path.h"
 #include "svn_delta.h"
+#include "svn_hash.h"
 
 #include "svn_test_fs.h"
 
@@ -81,8 +82,8 @@ make_fs_config(const char *fs_type,
                fs_type);
   if (server_minor_version)
     {
-      if (server_minor_version == 6)
-        /* no SVN_FS_CONFIG_PRE_1_7_COMPATIBLE */;
+      if (server_minor_version == 6 || server_minor_version == 7)
+        svn_hash_sets(fs_config, SVN_FS_CONFIG_PRE_1_8_COMPATIBLE, "1");
       else if (server_minor_version == 5)
         apr_hash_set(fs_config, SVN_FS_CONFIG_PRE_1_6_COMPATIBLE,
                      APR_HASH_KEY_STRING, "1");

Modified: subversion/branches/javahl-1.8-extensions/tools/server-side/svnpubsub/svnpubsub/server.py
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.8-extensions/tools/server-side/svnpubsub/svnpubsub/server.py?rev=1500370&r1=1500369&r2=1500370&view=diff
==============================================================================
--- subversion/branches/javahl-1.8-extensions/tools/server-side/svnpubsub/svnpubsub/server.py (original)
+++ subversion/branches/javahl-1.8-extensions/tools/server-side/svnpubsub/svnpubsub/server.py Sun Jul  7 05:06:50 2013
@@ -152,6 +152,7 @@ class Client(object):
         self.r.write(str(input))
 
     def write_start(self):
+        self.r.setHeader('X-SVNPubSub-Version', '1')
         self.r.setHeader('content-type', 'application/vnd.apache.vc-notify+json')
         self.write('{"svnpubsub": {"version": 1}}\n\0')