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/01/28 22:59:14 UTC

svn commit: r1064905 - in /subversion/branches/ignore-mergeinfo-log/subversion: libsvn_ra_svn/client.c svnserve/serve.c

Author: hwright
Date: Fri Jan 28 21:59:14 2011
New Revision: 1064905

URL: http://svn.apache.org/viewvc?rev=1064905&view=rev
Log:
On the ignore-mergeinfo-log branch:
Send the list of ignored prop mods from client to server over the SVN RA
protocol.

* subversion/libsvn_ra_svn/client.c
  (ra_svn_log): Put the ignored_prop_mods into the server-bound tuple.

* subversion/svnserve/serve.c
  (log_cmd): Parse the incoming ignored_prop_mods.

Modified:
    subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c
    subversion/branches/ignore-mergeinfo-log/subversion/svnserve/serve.c

Modified: subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c?rev=1064905&r1=1064904&r2=1064905&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c Fri Jan 28 21:59:14 2011
@@ -1389,14 +1389,29 @@ static svn_error_t *ra_svn_log(svn_ra_se
               && strcmp(name, SVN_PROP_REVISION_LOG) != 0)
             want_custom_revprops = TRUE;
         }
-      SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!))"));
+      SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!)!"));
     }
   else
     {
-      SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!w())", "all-revprops"));
+      SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!w()!", "all-revprops"));
       want_custom_revprops = TRUE;
     }
 
+  if (ignored_prop_mods)
+    {
+      SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!(!"));
+      for (i = 0; i < ignored_prop_mods->nelts; i++)
+        {
+          name = APR_ARRAY_IDX(ignored_prop_mods, i, char *);
+          SVN_ERR(svn_ra_svn_write_cstring(conn, pool, name));
+        }
+      SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!))"));
+    }
+  else
+    {
+      SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!())"));
+    }
+
   SVN_ERR(handle_auth_request(sess_baton, pool));
 
   /* Read the log messages. */

Modified: subversion/branches/ignore-mergeinfo-log/subversion/svnserve/serve.c
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/svnserve/serve.c?rev=1064905&r1=1064904&r2=1064905&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/svnserve/serve.c (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/svnserve/serve.c Fri Jan 28 21:59:14 2011
@@ -1984,17 +1984,20 @@ static svn_error_t *log_cmd(svn_ra_svn_c
   const char *full_path;
   svn_boolean_t changed_paths, strict_node, include_merged_revisions;
   apr_array_header_t *paths, *full_paths, *revprop_items, *revprops;
+  apr_array_header_t *ignored_prop_mods_items;
+  apr_array_header_t *ignored_prop_mods;
   char *revprop_word;
   svn_ra_svn_item_t *elt;
   int i;
   apr_uint64_t limit, include_merged_revs_param;
   log_baton_t lb;
 
-  SVN_ERR(svn_ra_svn_parse_tuple(params, pool, "l(?r)(?r)bb?n?Bwl", &paths,
+  SVN_ERR(svn_ra_svn_parse_tuple(params, pool, "l(?r)(?r)bb?n?Bwl?l", &paths,
                                  &start_rev, &end_rev, &changed_paths,
                                  &strict_node, &limit,
                                  &include_merged_revs_param,
-                                 &revprop_word, &revprop_items));
+                                 &revprop_word, &revprop_items,
+                                 &ignored_prop_mods_items));
 
   if (include_merged_revs_param == SVN_RA_SVN_UNSPECIFIED_NUMBER)
     include_merged_revisions = FALSE;
@@ -2027,6 +2030,25 @@ static svn_error_t *log_cmd(svn_ra_svn_c
                              _("Unknown revprop word '%s' in log command"),
                              revprop_word);
 
+  if (ignored_prop_mods_items)
+    {
+      ignored_prop_mods = apr_array_make(pool, ignored_prop_mods_items->nelts,
+                                         sizeof(char *));
+      for (i = 0; i < ignored_prop_mods_items->nelts; i++)
+        {
+          elt = &APR_ARRAY_IDX(ignored_prop_mods_items, i, svn_ra_svn_item_t);
+          if (elt->kind != SVN_RA_SVN_STRING)
+            return svn_error_create(SVN_ERR_RA_SVN_MALFORMED_DATA, NULL,
+                                    _("Propname entry not a string"));
+          APR_ARRAY_PUSH(ignored_prop_mods, const char *) =
+                                                        elt->u.string->data;
+        }
+    }
+  else
+    {
+      ignored_prop_mods = NULL;
+    }
+
   /* If we got an unspecified number then the user didn't send us anything,
      so we assume no limit.  If it's larger than INT_MAX then someone is
      messing with us, since we know the svn client libraries will never send
@@ -2057,11 +2079,11 @@ static svn_error_t *log_cmd(svn_ra_svn_c
   lb.fs_path = b->fs_path->data;
   lb.conn = conn;
   lb.stack_depth = 0;
-  err = svn_repos_get_logs4(b->repos, full_paths, start_rev, end_rev,
+  err = svn_repos_get_logs5(b->repos, full_paths, start_rev, end_rev,
                             (int) limit, changed_paths, strict_node,
-                            include_merged_revisions, revprops,
-                            authz_check_access_cb_func(b), b, log_receiver,
-                            &lb, pool);
+                            include_merged_revisions, ignored_prop_mods,
+                            revprops, authz_check_access_cb_func(b), b,
+                            log_receiver, &lb, pool);
 
   write_err = svn_ra_svn_write_word(conn, pool, "done");
   if (write_err)



Re: svn commit: r1064905 - in /subversion/branches/ignore-mergeinfo-log/subversion: libsvn_ra_svn/client.c svnserve/serve.c

Posted by Hyrum K Wright <hy...@hyrumwright.org>.
Done in r1066137.

-Hyrum

On Fri, Jan 28, 2011 at 8:17 PM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> What about libsvn_ra_svn/protocol ?
>
> hwright@apache.org wrote on Fri, Jan 28, 2011 at 21:59:14 -0000:
>> Author: hwright
>> Date: Fri Jan 28 21:59:14 2011
>> New Revision: 1064905
>>
>> URL: http://svn.apache.org/viewvc?rev=1064905&view=rev
>> Log:
>> On the ignore-mergeinfo-log branch:
>> Send the list of ignored prop mods from client to server over the SVN RA
>> protocol.
>>
>> * subversion/libsvn_ra_svn/client.c
>>   (ra_svn_log): Put the ignored_prop_mods into the server-bound tuple.
>>
>> * subversion/svnserve/serve.c
>>   (log_cmd): Parse the incoming ignored_prop_mods.
>>
>> Modified:
>>     subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c
>>     subversion/branches/ignore-mergeinfo-log/subversion/svnserve/serve.c
>

Re: svn commit: r1064905 - in /subversion/branches/ignore-mergeinfo-log/subversion: libsvn_ra_svn/client.c svnserve/serve.c

Posted by Hyrum K Wright <hy...@hyrumwright.org>.
Done in r1066137.

-Hyrum

On Fri, Jan 28, 2011 at 8:17 PM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> What about libsvn_ra_svn/protocol ?
>
> hwright@apache.org wrote on Fri, Jan 28, 2011 at 21:59:14 -0000:
>> Author: hwright
>> Date: Fri Jan 28 21:59:14 2011
>> New Revision: 1064905
>>
>> URL: http://svn.apache.org/viewvc?rev=1064905&view=rev
>> Log:
>> On the ignore-mergeinfo-log branch:
>> Send the list of ignored prop mods from client to server over the SVN RA
>> protocol.
>>
>> * subversion/libsvn_ra_svn/client.c
>>   (ra_svn_log): Put the ignored_prop_mods into the server-bound tuple.
>>
>> * subversion/svnserve/serve.c
>>   (log_cmd): Parse the incoming ignored_prop_mods.
>>
>> Modified:
>>     subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c
>>     subversion/branches/ignore-mergeinfo-log/subversion/svnserve/serve.c
>

Re: svn commit: r1064905 - in /subversion/branches/ignore-mergeinfo-log/subversion: libsvn_ra_svn/client.c svnserve/serve.c

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
What about libsvn_ra_svn/protocol ?

hwright@apache.org wrote on Fri, Jan 28, 2011 at 21:59:14 -0000:
> Author: hwright
> Date: Fri Jan 28 21:59:14 2011
> New Revision: 1064905
> 
> URL: http://svn.apache.org/viewvc?rev=1064905&view=rev
> Log:
> On the ignore-mergeinfo-log branch:
> Send the list of ignored prop mods from client to server over the SVN RA
> protocol.
> 
> * subversion/libsvn_ra_svn/client.c
>   (ra_svn_log): Put the ignored_prop_mods into the server-bound tuple.
> 
> * subversion/svnserve/serve.c
>   (log_cmd): Parse the incoming ignored_prop_mods.
> 
> Modified:
>     subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c
>     subversion/branches/ignore-mergeinfo-log/subversion/svnserve/serve.c

Re: svn commit: r1064905 - in /subversion/branches/ignore-mergeinfo-log/subversion: libsvn_ra_svn/client.c svnserve/serve.c

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
What about libsvn_ra_svn/protocol ?

hwright@apache.org wrote on Fri, Jan 28, 2011 at 21:59:14 -0000:
> Author: hwright
> Date: Fri Jan 28 21:59:14 2011
> New Revision: 1064905
> 
> URL: http://svn.apache.org/viewvc?rev=1064905&view=rev
> Log:
> On the ignore-mergeinfo-log branch:
> Send the list of ignored prop mods from client to server over the SVN RA
> protocol.
> 
> * subversion/libsvn_ra_svn/client.c
>   (ra_svn_log): Put the ignored_prop_mods into the server-bound tuple.
> 
> * subversion/svnserve/serve.c
>   (log_cmd): Parse the incoming ignored_prop_mods.
> 
> Modified:
>     subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c
>     subversion/branches/ignore-mergeinfo-log/subversion/svnserve/serve.c