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