You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/07/22 19:15:48 UTC

svn commit: r1149658 - in /subversion/branches/1.7.x: ./ STATUS subversion/libsvn_ra_svn/editorp.c subversion/tests/cmdline/update_tests.py

Author: hwright
Date: Fri Jul 22 17:15:47 2011
New Revision: 1149658

URL: http://svn.apache.org/viewvc?rev=1149658&view=rev
Log:
So much for my 24-hour rule. ( I blame you, OCD!)

Merge r1148424 from trunk:

 * r1148424
   Resolve issue 3963, 'svn update -r{R>HEAD}' hangs client over ra_svn.
   Justification:
     Subversion and svnserve shouldn't hang waiting for IO that will
     never come when a user passes a revision that hasn't been committed
     yet.
   Votes:
     +1: rhuijben, cmpilato, philip

Modified:
    subversion/branches/1.7.x/   (props changed)
    subversion/branches/1.7.x/STATUS
    subversion/branches/1.7.x/subversion/libsvn_ra_svn/editorp.c
    subversion/branches/1.7.x/subversion/tests/cmdline/update_tests.py

Propchange: subversion/branches/1.7.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jul 22 17:15:47 2011
@@ -54,4 +54,4 @@
 /subversion/branches/tree-conflicts:868291-873154
 /subversion/branches/tree-conflicts-notify:873926-874008
 /subversion/branches/uris-as-urls:1060426-1064427
-/subversion/trunk:1146013,1146121,1146219,1146222,1146274,1146492,1146555,1146606,1146620,1146684,1146781,1146832,1146834,1146870,1146899,1146904,1147293,1147309,1148071,1148131,1148374,1148566,1148588,1148853,1148877,1148882,1148936,1149105,1149141,1149228
+/subversion/trunk:1146013,1146121,1146219,1146222,1146274,1146492,1146555,1146606,1146620,1146684,1146781,1146832,1146834,1146870,1146899,1146904,1147293,1147309,1148071,1148131,1148374,1148424,1148566,1148588,1148853,1148877,1148882,1148936,1149105,1149141,1149228

Modified: subversion/branches/1.7.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1149658&r1=1149657&r2=1149658&view=diff
==============================================================================
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Fri Jul 22 17:15:47 2011
@@ -149,12 +149,3 @@ Veto-blocked changes:
 
 Approved changes:
 =================
-
- * r1148424
-   Resolve issue 3963, 'svn update -r{R>HEAD}' hangs client over ra_svn.
-   Justification:
-     Subversion and svnserve shouldn't hang waiting for IO that will
-     never come when a user passes a revision that hasn't been committed
-     yet.
-   Votes:
-     +1: rhuijben, cmpilato, philip

Modified: subversion/branches/1.7.x/subversion/libsvn_ra_svn/editorp.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_ra_svn/editorp.c?rev=1149658&r1=1149657&r2=1149658&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_ra_svn/editorp.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_ra_svn/editorp.c Fri Jul 22 17:15:47 2011
@@ -914,6 +914,17 @@ svn_error_t *svn_ra_svn_drive_editor2(sv
         }
       if (ra_svn_edit_cmds[i].cmd)
         err = (*ra_svn_edit_cmds[i].handler)(conn, subpool, params, &state);
+      else if (strcmp(cmd, "failure") == 0)
+        {
+          /* While not really an editor command this can occur when
+             reporter->finish_report() fails before the first editor command */
+          if (aborted)
+            *aborted = TRUE;
+          err = svn_ra_svn__handle_failure_status(params, pool);
+          return svn_error_compose_create(
+                            err,
+                            editor->abort_edit(edit_baton, subpool));
+        }
       else
         {
           err = svn_error_createf(SVN_ERR_RA_SVN_UNKNOWN_CMD, NULL,

Modified: subversion/branches/1.7.x/subversion/tests/cmdline/update_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/tests/cmdline/update_tests.py?rev=1149658&r1=1149657&r2=1149658&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/tests/cmdline/update_tests.py (original)
+++ subversion/branches/1.7.x/subversion/tests/cmdline/update_tests.py Fri Jul 22 17:15:47 2011
@@ -5392,6 +5392,17 @@ def skip_access_denied(sbox):
 
   f.close()
 
+def update_to_HEAD_plus_1(sbox):
+  "updating to HEAD+1 should fail"
+
+  sbox.build(read_only = True)
+  wc_dir = sbox.wc_dir
+
+  svntest.actions.run_and_verify_update(wc_dir,
+                                        None, None, None,
+                                        ".*No such revision",
+                                        None, None,
+                                        None, None, None, wc_dir, '-r', '2')
 
 
 #######################################################################
@@ -5459,6 +5470,7 @@ test_list = [ None,
               update_nonexistent_child_of_copy,
               revive_children_of_copy,
               skip_access_denied,
+              update_to_HEAD_plus_1,
              ]
 
 if __name__ == '__main__':