Author: cmpilato
Date: Thu Jul 29 15:41:00 2010
New Revision: 980477

URL: http://svn.apache.org/viewvc?rev=980477&view=rev
Log:
On the 'issue-2779-dev' branch: Notify the client about followed
redirections.

* subversion/include/svn_wc.h
  (svn_wc_notify_action_t): Add 'svn_wc_notify_url_redirect' enum value.

* subversion/libsvn_client/ra.c
  (svn_client__open_ra_session_internal): Call the client's
    notification function with notice of URL redirection.

* subversion/svn/notify.c
  (notify): Handle notifications of type svn_wc_notify_url_redirect.

Modified:
    subversion/branches/issue-2779-dev/subversion/include/svn_wc.h
    subversion/branches/issue-2779-dev/subversion/libsvn_client/ra.c
    subversion/branches/issue-2779-dev/subversion/svn/notify.c

Modified: subversion/branches/issue-2779-dev/subversion/include/svn_wc.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/issue-2779-dev/subversion/include/svn_wc.h?rev=980477&r1=980476&r2=980477&view=diff
==============================================================================
--- subversion/branches/issue-2779-dev/subversion/include/svn_wc.h (original)
+++ subversion/branches/issue-2779-dev/subversion/include/svn_wc.h Thu Jul 29 
15:41:00 2010
@@ -1086,6 +1086,11 @@ typedef enum svn_wc_notify_action_t
    * @since New in 1.7. */
   svn_wc_notify_patch_hunk_already_applied,
 
+  /** The server has instructed the client to follow a URL
+   * redirection.
+   * @since New in 1.7. */
+  svn_wc_notify_url_redirect
+
 } svn_wc_notify_action_t;
 
 

Modified: subversion/branches/issue-2779-dev/subversion/libsvn_client/ra.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/issue-2779-dev/subversion/libsvn_client/ra.c?rev=980477&r1=980476&r2=980477&view=diff
==============================================================================
--- subversion/branches/issue-2779-dev/subversion/libsvn_client/ra.c (original)
+++ subversion/branches/issue-2779-dev/subversion/libsvn_client/ra.c Thu Jul 29 
15:41:00 2010
@@ -360,7 +360,14 @@ svn_client__open_ra_session_internal(svn
           if (! corrected)
             break;
 
-          /* ### TODO: Notify the user that a redirect is being followed. */
+          /* Notify the user that a redirect is being followed. */
+          if (ctx->notify_func2 != NULL)
+            {
+              svn_wc_notify_t *notify = 
+                svn_wc_create_notify_url(corrected, 
+                                         svn_wc_notify_url_redirect, pool);
+              (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+            }
 
           /* Our caller will want to know what our final corrected URL was. */
           *corrected_url = corrected;

Modified: subversion/branches/issue-2779-dev/subversion/svn/notify.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/issue-2779-dev/subversion/svn/notify.c?rev=980477&r1=980476&r2=980477&view=diff
==============================================================================
--- subversion/branches/issue-2779-dev/subversion/svn/notify.c (original)
+++ subversion/branches/issue-2779-dev/subversion/svn/notify.c Thu Jul 29 
15:41:00 2010
@@ -792,6 +792,12 @@ notify(void *baton, const svn_wc_notify_
           goto print_error;
       break;
 
+    case svn_wc_notify_url_redirect:
+      err = svn_cmdline_printf(pool, _("Redirecting to URL '%s'\n"),
+                               n->url);
+      if (err)
+        goto print_error;
+
     default:
       break;
     }


Reply via email to