Re: svn commit: r1170836 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/ tests/libsv

2011-09-14 Thread Daniel Shahaf
Hyrum K Wright wrote on Wed, Sep 14, 2011 at 20:30:03 -0500:
> On Wed, Sep 14, 2011 at 5:06 PM, Daniel Shahaf  
> wrote:
> > The rest looks good.
> 
> Thanks.  In spite of my prickly attitude a couple of days ago, I do
> appreciate the review.  :)

Thanks.  That's the spirit it's intended in (even if I may sound
otherwise...)


svn commit: r1170924 - /subversion/trunk/subversion/libsvn_delta/compat.c

2011-09-14 Thread hwright
Author: hwright
Date: Thu Sep 15 01:59:11 2011
New Revision: 1170924

URL: http://svn.apache.org/viewvc?rev=1170924&view=rev
Log:
Add some skeleton code to facilitate Ev2 shim post-processing.

(Note: this code doesn't actually run yet, since we segfault calling the
NULL fetch_props_func in the delta editor part of the shim.)

* subversion/libsvn_delta/compat.c
  (editor_baton): Add a paths hash and edit_pool.
  (set_props_cb): Add our path to the hash.
  (complete_cb): Sort the paths and iterate over them.
  (svn_editor_from_delta): Initialize a few baton members.

Modified:
subversion/trunk/subversion/libsvn_delta/compat.c

Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1170924&r1=1170923&r2=1170924&view=diff
==
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Thu Sep 15 01:59:11 2011
@@ -561,6 +561,9 @@ struct editor_baton
 {
   const svn_delta_editor_t *deditor;
   void *dedit_baton;
+
+  apr_hash_t *paths;
+  apr_pool_t *edit_pool;
 };
 
 /* This implements svn_editor_cb_add_directory_t */
@@ -618,6 +621,10 @@ set_props_cb(void *baton,
  svn_boolean_t complete,
  apr_pool_t *scratch_pool)
 {
+  struct editor_baton *eb = baton;
+  apr_hash_set(eb->paths, apr_pstrdup(eb->edit_pool, relpath),
+   APR_HASH_KEY_STRING, (void *)0xdeadbeef);
+
   return SVN_NO_ERROR;
 }
 
@@ -684,6 +691,24 @@ complete_cb(void *baton,
 apr_pool_t *scratch_pool)
 {
   struct editor_baton *eb = baton;
+  apr_array_header_t *sorted_hash;
+  int i;
+
+  /* Sort the paths touched by this edit.
+   * Ev2 doesn't really have any particular need for depth-first-ness, but
+   * we want to ensure all parent directories are handled before children in
+   * the case of adds (which does introduce an element of depth-first-ness). */
+  sorted_hash = svn_sort__hash(eb->paths, svn_sort_compare_items_as_paths,
+   scratch_pool);
+
+  for (i = 0; i < sorted_hash->nelts; i++)
+{
+  svn_sort__item_t *item = &APR_ARRAY_IDX(sorted_hash, i, 
svn_sort__item_t);
+  const char *path = item->key;
+
+  /* ### We should actually do something here, but for now... */
+}
+
   return svn_error_trace(eb->deditor->close_edit(eb->dedit_baton,
  scratch_pool));
 }
@@ -726,6 +751,8 @@ svn_editor_from_delta(svn_editor_t **edi
 
   eb->deditor = deditor;
   eb->dedit_baton = dedit_baton;
+  eb->edit_pool = result_pool;
+  eb->paths = apr_hash_make(result_pool);
 
   SVN_ERR(svn_editor_create(&editor, eb, cancel_func, cancel_baton,
 result_pool, scratch_pool));




svn commit: r1170919 - /subversion/trunk/subversion/libsvn_delta/compat.c

2011-09-14 Thread hwright
Author: hwright
Date: Thu Sep 15 01:42:51 2011
New Revision: 1170919

URL: http://svn.apache.org/viewvc?rev=1170919&view=rev
Log:
Capture and use the target revision value in the Ev2 shim.

* subversion/libsvn_delta/compat.c
  (ev2_edit_baton): New member.
  (ev2_set_target_revision): Update value.
  (process_actions): Use the target revision.
  (svn_delta_from_editor): Initialize target revision.

Modified:
subversion/trunk/subversion/libsvn_delta/compat.c

Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1170919&r1=1170918&r2=1170919&view=diff
==
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Thu Sep 15 01:42:51 2011
@@ -93,6 +93,7 @@ struct ev2_edit_baton
 {
   svn_editor_t *editor;
   apr_hash_t *paths;
+  svn_revnum_t target_revision;
   apr_pool_t *edit_pool;
   svn_delta_fetch_props_cb_func_t fetch_props_func;
   void *fetch_props_baton;
@@ -163,6 +164,8 @@ ev2_set_target_revision(void *edit_baton
 apr_pool_t *scratch_pool)
 {
   struct ev2_edit_baton *eb = edit_baton;
+
+  eb->target_revision = target_revision;
   return SVN_NO_ERROR;
 }
 
@@ -464,7 +467,7 @@ process_actions(void *edit_baton,
 }
 
   /* This point, PROPS will contain all the props for this node. */
-  SVN_ERR(svn_editor_set_props(eb->editor, path, SVN_INVALID_REVNUM,
+  SVN_ERR(svn_editor_set_props(eb->editor, path, eb->target_revision,
props, TRUE));
 }
 
@@ -542,6 +545,7 @@ svn_delta_from_editor(const svn_delta_ed
 
   eb->editor = editor;
   eb->paths = apr_hash_make(pool);
+  eb->target_revision = SVN_INVALID_REVNUM;
   eb->edit_pool = pool;
   eb->fetch_props_func = fetch_props_func;
   eb->fetch_props_baton = fetch_props_baton;




Re: svn commit: r1170836 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/ tests/libsv

2011-09-14 Thread Hyrum K Wright
On Wed, Sep 14, 2011 at 5:06 PM, Daniel Shahaf  wrote:
> hwri...@apache.org wrote on Wed, Sep 14, 2011 at 20:28:39 -:
>> @@ -240,12 +243,19 @@ ev2_change_dir_prop(void *dir_baton,
>>                      apr_pool_t *scratch_pool)
>>  {
>>    struct ev2_dir_baton *db = dir_baton;
>> -  struct prop_args *p_args = apr_palloc(db->eb->edit_pool, sizeof(*p_args));
>>
>> -  p_args->name = apr_pstrdup(db->eb->edit_pool, name);
>> -  p_args->value = value ? svn_string_dup(value, db->eb->edit_pool) : NULL;
>> +  if (value)
>> +    {
>> +      struct prop_args *p_args = apr_palloc(db->eb->edit_pool, 
>> sizeof(*p_args));
>> +
>> +      p_args->name = apr_pstrdup(db->eb->edit_pool, name);
>> +      p_args->value = value ? svn_string_dup(value, db->eb->edit_pool) : 
>> NULL;
>
> The NULL will never be evaluated.  (also in ev2_change_file_prop())

Good catch, fixed in r1170915.

> The rest looks good.

Thanks.  In spite of my prickly attitude a couple of days ago, I do
appreciate the review.  :)

-Hyrum



-- 

uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com/


svn commit: r1170915 - /subversion/trunk/subversion/libsvn_delta/compat.c

2011-09-14 Thread hwright
Author: hwright
Date: Thu Sep 15 01:28:19 2011
New Revision: 1170915

URL: http://svn.apache.org/viewvc?rev=1170915&view=rev
Log:
Remove a superfluous trinary operator.

Found by: danielsh

* subversion/libsvn_delta/compat.c
  (ev2_change_dir_prop, ev2_change_file_prop): Remove unneeded ?: operation.

Modified:
subversion/trunk/subversion/libsvn_delta/compat.c

Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1170915&r1=1170914&r2=1170915&view=diff
==
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Thu Sep 15 01:28:19 2011
@@ -250,7 +250,7 @@ ev2_change_dir_prop(void *dir_baton,
   struct prop_args *p_args = apr_palloc(db->eb->edit_pool, 
sizeof(*p_args));
 
   p_args->name = apr_pstrdup(db->eb->edit_pool, name);
-  p_args->value = value ? svn_string_dup(value, db->eb->edit_pool) : NULL;
+  p_args->value = svn_string_dup(value, db->eb->edit_pool);
 
   SVN_ERR(add_action(db->eb, db->path, set_prop, p_args));
 }
@@ -346,7 +346,7 @@ ev2_change_file_prop(void *file_baton,
 {
   struct prop_args *p_args = apr_palloc(fb->eb->edit_pool, 
sizeof(*p_args));
   p_args->name = apr_pstrdup(fb->eb->edit_pool, name);
-  p_args->value = value ? svn_string_dup(value, fb->eb->edit_pool) : NULL;
+  p_args->value = svn_string_dup(value, fb->eb->edit_pool);
 
   SVN_ERR(add_action(fb->eb, fb->path, set_prop, p_args));
 }




svn commit: r1170868 - /subversion/trunk/subversion/libsvn_client/ra.c

2011-09-14 Thread danielsh
Author: danielsh
Date: Wed Sep 14 22:10:58 2011
New Revision: 1170868

URL: http://svn.apache.org/viewvc?rev=1170868&view=rev
Log:
* subversion/libsvn_client/ra.c: Fix whitespace.

Modified:
subversion/trunk/subversion/libsvn_client/ra.c

Modified: subversion/trunk/subversion/libsvn_client/ra.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/ra.c?rev=1170868&r1=1170867&r2=1170868&view=diff
==
--- subversion/trunk/subversion/libsvn_client/ra.c (original)
+++ subversion/trunk/subversion/libsvn_client/ra.c Wed Sep 14 22:10:58 2011
@@ -368,7 +368,7 @@ svn_client__open_ra_session_internal(svn
 }
 
   return SVN_NO_ERROR;
- }
+}
 #undef SVN_CLIENT__MAX_REDIRECT_ATTEMPTS
 
 




Re: svn commit: r1170836 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/ tests/libsv

2011-09-14 Thread Daniel Shahaf
hwri...@apache.org wrote on Wed, Sep 14, 2011 at 20:28:39 -:
> @@ -240,12 +243,19 @@ ev2_change_dir_prop(void *dir_baton,
>  apr_pool_t *scratch_pool)
>  {
>struct ev2_dir_baton *db = dir_baton;
> -  struct prop_args *p_args = apr_palloc(db->eb->edit_pool, sizeof(*p_args));
>  
> -  p_args->name = apr_pstrdup(db->eb->edit_pool, name);
> -  p_args->value = value ? svn_string_dup(value, db->eb->edit_pool) : NULL;
> +  if (value)
> +{
> +  struct prop_args *p_args = apr_palloc(db->eb->edit_pool, 
> sizeof(*p_args));
> +
> +  p_args->name = apr_pstrdup(db->eb->edit_pool, name);
> +  p_args->value = value ? svn_string_dup(value, db->eb->edit_pool) : 
> NULL;

The NULL will never be evaluated.  (also in ev2_change_file_prop())

The rest looks good.


svn commit: r1170863 - /subversion/trunk/subversion/libsvn_delta/compat.c

2011-09-14 Thread hwright
Author: hwright
Date: Wed Sep 14 21:59:08 2011
New Revision: 1170863

URL: http://svn.apache.org/viewvc?rev=1170863&view=rev
Log:
* subversion/libsvn_delta/compat.c
  (ev2_open_root): Set the path value.

Modified:
subversion/trunk/subversion/libsvn_delta/compat.c

Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1170863&r1=1170862&r2=1170863&view=diff
==
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Wed Sep 14 21:59:08 2011
@@ -176,6 +176,7 @@ ev2_open_root(void *edit_baton,
   struct ev2_edit_baton *eb = edit_baton;
 
   db->eb = eb;
+  db->path = "";
 
   *root_baton = db;
   return SVN_NO_ERROR;




svn commit: r1170843 - /subversion/trunk/subversion/libsvn_delta/compat.c

2011-09-14 Thread hwright
Author: hwright
Date: Wed Sep 14 20:43:21 2011
New Revision: 1170843

URL: http://svn.apache.org/viewvc?rev=1170843&view=rev
Log:
Move post-edit processing into it's own function for clarity.  No functional
change.

* subversion/libsvn_delta/compat.c
  (process_actions): New.
  (ev2_close_edit): Call the new function, rather than embed it.

Modified:
subversion/trunk/subversion/libsvn_delta/compat.c

Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1170843&r1=1170842&r2=1170843&view=diff
==
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Wed Sep 14 20:43:21 2011
@@ -375,6 +375,102 @@ ev2_absent_file(const char *path,
 }
 
 static svn_error_t *
+process_actions(void *edit_baton,
+const char *path,
+apr_array_header_t *actions,
+apr_pool_t *scratch_pool)
+{
+  struct ev2_edit_baton *eb = edit_baton;
+  apr_array_header_t *removed_props = NULL;
+  apr_hash_t *props = NULL;
+  int i;
+
+  /* Go through all of our actions, populating various datastructures
+   * dependent on them. */
+  for (i = 0; i < actions->nelts; i++)
+{
+  struct path_action *action = APR_ARRAY_IDX(actions, i,
+ struct path_action *);
+
+  switch (action->action)
+{
+  case set_prop:
+{
+  struct prop_args *p_args = action->args;
+
+  if (!props)
+props = apr_hash_make(scratch_pool);
+
+  apr_hash_set(props, p_args->name, APR_HASH_KEY_STRING,
+   p_args->value);
+  break;
+}
+
+  case remove_prop:
+{
+  const char *name = action->args;
+
+  if (!removed_props)
+removed_props = apr_array_make(scratch_pool, 1,
+   sizeof(const char *));
+
+  APR_ARRAY_PUSH(removed_props, const char *) = name;
+  break;
+}
+
+  case delete:
+{
+  svn_revnum_t *revnum = action->args;
+
+  /* If we get a delete, we'd better not have gotten any
+ other actions for this path later, so we can go ahead
+ and call our handler. */
+  SVN_ERR(svn_editor_delete(eb->editor, path, *revnum));
+  break;
+}
+
+  default:
+break;
+}
+}
+
+  /* We've now got a wholistic view of what has happened to this node,
+   * so we can call our own editor APIs on it. */
+
+  if (props || removed_props)
+{
+  /* If we've seen any prop mods, we're going to need to fetch the
+ existing props so that we can properly drive the editor method
+ below. */
+  apr_hash_t *existing_props;
+
+  SVN_ERR(eb->fetch_props_func(&existing_props, eb->fetch_props_baton,
+   path, scratch_pool));
+  if (props)
+props = apr_hash_overlay(scratch_pool, props, existing_props);
+  else
+props = existing_props;
+
+  /* Now delete any props which were deleted in our drive. */
+  if (removed_props)
+{
+  for (i = 0; i < removed_props->nelts; i++)
+{
+  const char *name = APR_ARRAY_IDX(removed_props, i,
+   const char *);
+  apr_hash_set(props, name, APR_HASH_KEY_STRING, NULL);
+}
+}
+
+  /* This point, PROPS will contain all the props for this node. */
+  SVN_ERR(svn_editor_set_props(eb->editor, path, SVN_INVALID_REVNUM,
+   props, TRUE));
+}
+
+  return SVN_NO_ERROR;
+}
+
+static svn_error_t *
 ev2_close_edit(void *edit_baton,
apr_pool_t *scratch_pool)
 {
@@ -396,95 +492,9 @@ ev2_close_edit(void *edit_baton,
   svn_sort__item_t *item = &APR_ARRAY_IDX(sorted_hash, i, 
svn_sort__item_t);
   apr_array_header_t *actions = item->value;
   const char *path = item->key;
-  apr_array_header_t *removed_props = NULL;
-  apr_hash_t *props = NULL;
-  int j;
 
   svn_pool_clear(iterpool);
-
-  /* Go through all of our actions, populating various datastructures
-   * dependent on them. */
-  for (j = 0; j < actions->nelts; j++)
-{
-  struct path_action *action = APR_ARRAY_IDX(actions, j,
- struct path_action *);
-
-  switch (action->action)
-{
-  case set_prop:
-{
-  struct prop_args *p_args = action->args;
-
-  if (!props)
-props = apr_hash_make(iterpool);
-
-  apr_hash_set(props, p_

svn commit: r1170838 - /subversion/trunk/subversion/include/svn_editor.h

2011-09-14 Thread hwright
Author: hwright
Date: Wed Sep 14 20:33:34 2011
New Revision: 1170838

URL: http://svn.apache.org/viewvc?rev=1170838&view=rev
Log:
* subversion/include/svn_editor.h
  (svn_editor_set_props): Update docstring in answer to a question, and remove
said question.

Modified:
subversion/trunk/subversion/include/svn_editor.h

Modified: subversion/trunk/subversion/include/svn_editor.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_editor.h?rev=1170838&r1=1170837&r2=1170838&view=diff
==
--- subversion/trunk/subversion/include/svn_editor.h (original)
+++ subversion/trunk/subversion/include/svn_editor.h Wed Sep 14 20:33:34 2011
@@ -771,13 +771,8 @@ svn_editor_add_absent(svn_editor_t *edit
 
 /** Drive @a editor's #svn_editor_cb_set_props_t callback.
  *
- * Set or change properties on the existing node at @a relpath.
- * ### TODO @todo Does this send *all* properties, always?
- * ### HKW: The purist in me says "yes", but the pragmatist says "no".
- * ### Writing a backward compat shim is going to be next to impossible,
- * ### since we've no way to know about existing props while receiving
- * ### props from the delta editor.
- * ###
+ * Set or change properties on the existing node at @a relpath.  This
+ * function sends *all* properties, both existing and changes.
  * ### TODO @todo What is REVISION for?
  * ### HKW: This is puzzling to me as well...
  * ###




svn commit: r1170836 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/ tests/libsvn_de

2011-09-14 Thread hwright
Author: hwright
Date: Wed Sep 14 20:28:39 2011
New Revision: 1170836

URL: http://svn.apache.org/viewvc?rev=1170836&view=rev
Log:
Add a prop fetching callback to the Ev2 shim code.  This allows the shim to
retrieve existing props in order to set the new ones.

* subversion/libsvn_ra_svn/editorp.c,
  subversion/libsvn_ra_neon/commit.c,
  subversion/svnsync/main.c,
  subversion/svnrdump/dump_editor.c,
  subversion/tests/libsvn_delta/editor-test.c,
  subversion/libsvn_wc/diff_editor.c,
  subversion/libsvn_wc/update_editor.c,
  subversion/libsvn_wc/status.c,
  subversion/libsvn_client/repos_diff.c,
  subversion/libsvn_client/mergeinfo.c,
  subversion/libsvn_client/export.c,
  subversion/libsvn_client/commit.c,
  subversion/libsvn_ra_serf/commit.c,
  subversion/libsvn_repos/commit.c,
  subversion/libsvn_repos/dump.c:
Update callers.

* subversion/include/svn_delta.h
  (svn_delta_fetch_props_cb_func_t): New.
  (svn_delta_from_editor, svn_editor__insert_shims): Add callback and baton.

* subversion/libsvn_delta/compat.c
  (ev2_edit_baton): Add callback and baton member.
  (action): Add the remove_prop action.
  (ev2_change_dir_prop, ev2_change_file_prop): Differentiate between a changed
or added prop and a removed one (since we can't store removed props in
a hash).
  (ev2_close_edit): Handle removed props properly, and fetch the existing
props to ensure we don't nuke existing properties.
  (svn_delta_from_editor): Take and store the prop fetch callback.
  (svn_editor__insert_shims): Take and use the prop fetch callback.

Modified:
subversion/trunk/subversion/include/svn_delta.h
subversion/trunk/subversion/libsvn_client/commit.c
subversion/trunk/subversion/libsvn_client/export.c
subversion/trunk/subversion/libsvn_client/mergeinfo.c
subversion/trunk/subversion/libsvn_client/repos_diff.c
subversion/trunk/subversion/libsvn_delta/compat.c
subversion/trunk/subversion/libsvn_ra_neon/commit.c
subversion/trunk/subversion/libsvn_ra_serf/commit.c
subversion/trunk/subversion/libsvn_ra_svn/editorp.c
subversion/trunk/subversion/libsvn_repos/commit.c
subversion/trunk/subversion/libsvn_repos/dump.c
subversion/trunk/subversion/libsvn_wc/diff_editor.c
subversion/trunk/subversion/libsvn_wc/status.c
subversion/trunk/subversion/libsvn_wc/update_editor.c
subversion/trunk/subversion/svnrdump/dump_editor.c
subversion/trunk/subversion/svnsync/main.c
subversion/trunk/subversion/tests/libsvn_delta/editor-test.c

Modified: subversion/trunk/subversion/include/svn_delta.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_delta.h?rev=1170836&r1=1170835&r2=1170836&view=diff
==
--- subversion/trunk/subversion/include/svn_delta.h (original)
+++ subversion/trunk/subversion/include/svn_delta.h Wed Sep 14 20:28:39 2011
@@ -1086,6 +1086,18 @@ typedef struct svn_delta_editor_t
 svn_delta_editor_t *
 svn_delta_default_editor(apr_pool_t *pool);
 
+/** Callback to retrieve a node's entire set of properties.  This is
+ * needed by the various editor shims in order to effect backward compat.
+ *
+ * @since New in 1.8.
+ */
+typedef svn_error_t *(*svn_delta_fetch_props_cb_func_t)(
+  apr_hash_t **props,
+  void *baton,
+  const char *path,
+  apr_pool_t *scratch_pool
+  );
+
 /* Return a delta editor and baton which will forward calls to @a editor,
  * allocated in @a pool.
  *
@@ -1100,6 +1112,8 @@ svn_error_t *
 svn_delta_from_editor(const svn_delta_editor_t **deditor,
   void **dedit_baton,
   svn_editor_t *editor,
+  svn_delta_fetch_props_cb_func_t fetch_props_func,
+  void *fetch_props_baton,
   apr_pool_t *pool);
 
 /* Return an editor allocated in @a result_pool which will forward calls
@@ -1137,6 +1151,8 @@ svn_editor__insert_shims(const svn_delta
  void **dedit_baton_out,
  const svn_delta_editor_t *deditor_in,
  void *dedit_baton_in,
+ svn_delta_fetch_props_cb_func_t fetch_props_func,
+ void *fetch_props_baton,
  apr_pool_t *result_pool,
  apr_pool_t *scratch_pool);
 

Modified: subversion/trunk/subversion/libsvn_client/commit.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/commit.c?rev=1170836&r1=1170835&r2=1170836&view=diff
==
--- subversion/trunk/subversion/libsvn_client/commit.c (original)
+++ subversion/trunk/subversion/libsvn_client/commit.c Wed Sep 14 20:28:39 2011
@@ -673,7 +673,7 @@ get_ra_editor(svn_ra_session_t **ra_sess
 pool));
 
   SVN_ERR(svn_editor__insert_shims(editor, edit_baton, *editor, *edit_baton,
-   pool, po

svn propchange: r1170776 - svn:log

2011-09-14 Thread hwright
Author: hwright
Revision: 1170776
Modified property: svn:log

Modified: svn:log at Wed Sep 14 19:34:29 2011
--
--- svn:log (original)
+++ svn:log Wed Sep 14 19:34:29 2011
@@ -1,4 +1,4 @@
-Update news sections of the website to reflect 1.7.0-alpha2.
+Update news sections of the website to reflect 1.7.0-rc3.
 
 * publish/news.html
   (news-20110914): New.



svn commit: r1170776 - in /subversion/site/publish: index.html news.html

2011-09-14 Thread hwright
Author: hwright
Date: Wed Sep 14 19:12:04 2011
New Revision: 1170776

URL: http://svn.apache.org/viewvc?rev=1170776&view=rev
Log:
Update news sections of the website to reflect 1.7.0-alpha2.

* publish/news.html
  (news-20110914): New.

* publish/index.html
  (news-20110914): New.
  (news-20110724): Remove.

Modified:
subversion/site/publish/index.html
subversion/site/publish/news.html

Modified: subversion/site/publish/index.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/index.html?rev=1170776&r1=1170775&r2=1170776&view=diff
==
--- subversion/site/publish/index.html (original)
+++ subversion/site/publish/index.html Wed Sep 14 19:12:04 2011
@@ -64,6 +64,32 @@
 
 
 
+ 
+2011-09-14 — Apache Subversion 1.7.0-rc3 Released
+ ¶ 
+ 
+ 
+We are pleased to announce to release of Apache Subversion 1.7.0-rc3. This 
+ is another release candidate of Subversion 1.7.0 and is thought to be free
+ of blocking issues.  If none are found will become the final release.  For
+ this reason, we encourage thorough testing in as many environments as
+ possible.  This release candidate continues the four-week "soak" period to
+ allow for further testing, and barring show-stopping bugs, the final
+ 1.7.0 release can be expected on or near Sept. 28.
+
+Please see the
+ http://svn.haxx.se/dev/archive-2011-09/0358.shtml";>release
+ announcement for more information about this release, and the
+ release notes and 
+ http://svn.apache.org/repos/asf/subversion/tags/1.7.0-rc3/CHANGES";> 
+ change log for information about the 1.7.0 release.
+
+To get this release from the nearest mirror, please visit our
+ download page. 
+ 
+  
+
  
 2011-08-31 — Apache Subversion 1.7.0-rc2 Released

 
- 
-2011-07-24 — Apache Subversion 1.7.0-beta2 Released
- ¶ 
- 
- 
-We are pleased to announce to release of Apache Subversion 1.7.0-beta2. This
- release is not intended for production use, but we believe it to be free of
- critical issues, and encourage wider testing and feedback from intrepid users
- and maintainers.  Please see the
- http://svn.haxx.se/dev/archive-2011-07/0696.shtml";>release
- announcement for more information about this release, and the
- release notes and 
- http://svn.apache.org/repos/asf/subversion/tags/1.7.0-beta2/CHANGES";> 
- change log for information about what will eventually be
- in the 1.7.0 release. 
- 
-To get this release from the nearest mirror, please visit our
- download page. 
-
-(Note: For those keeping score at home, this is the first 1.7.0 beta
- release; 1.7.0-beta1 was not officially released.)
- 
-  
-
 
 [Click here to see all News

Modified: subversion/site/publish/news.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/news.html?rev=1170776&r1=1170775&r2=1170776&view=diff
==
--- subversion/site/publish/news.html (original)
+++ subversion/site/publish/news.html Wed Sep 14 19:12:04 2011
@@ -22,6 +22,32 @@
 
 
 
+ 
+2011-09-14 — Apache Subversion 1.7.0-rc3 Released
+ ¶ 
+ 
+ 
+We are pleased to announce to release of Apache Subversion 1.7.0-rc3. This 
+ is another release candidate of Subversion 1.7.0 and is thought to be free
+ of blocking issues.  If none are found will become the final release.  For
+ this reason, we encourage thorough testing in as many environments as
+ possible.  This release candidate continues the four-week "soak" period to
+ allow for further testing, and barring show-stopping bugs, the final
+ 1.7.0 release can be expected on or near Sept. 28.
+
+Please see the
+ http://svn.haxx.se/dev/archive-2011-09/0358.shtml";>release
+ announcement for more information about this release, and the
+ release notes and 
+ http://svn.apache.org/repos/asf/subversion/tags/1.7.0-rc3/CHANGES";> 
+ change log for information about the 1.7.0 release.
+
+To get this release from the nearest mirror, please visit our
+ download page. 
+ 
+  
+
  
 2011-08-31 — Apache Subversion 1.7.0-rc2 Released
  

svn commit: r1170762 - /subversion/site/publish/download/download.html

2011-09-14 Thread hwright
Author: hwright
Date: Wed Sep 14 18:40:57 2011
New Revision: 1170762

URL: http://svn.apache.org/viewvc?rev=1170762&view=rev
Log:
* publish/download/download.html:
  Update the website with 1.7.0-rc3.

Modified:
subversion/site/publish/download/download.html

Modified: subversion/site/publish/download/download.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/download/download.html?rev=1170762&r1=1170761&r2=1170762&view=diff
==
--- subversion/site/publish/download/download.html (original)
+++ subversion/site/publish/download/download.html Wed Sep 14 18:40:57 2011
@@ -169,7 +169,7 @@ Other mirrors:
 
  
 
-Subversion 1.7.0-rc2
+Subversion 1.7.0-rc3
 
 
   File
@@ -177,17 +177,17 @@ Other mirrors:
   Signatures
 
 
-  subversion-1.7.0-rc2.tar.bz2
-  691fd19a88908b10f4a96cbbd930ed359543d18b
-  [http://www.apache.org/dist/subversion/subversion-1.7.0-rc2.tar.bz2.asc";>PGP]
+  subversion-1.7.0-rc3.zip
+  0a1e80426720233bfdb8aaab1d97e3e8bd3ae82c
+  [http://www.apache.org/dist/subversion/subversion-1.7.0-rc3.zip.asc";>PGP]
 
-  subversion-1.7.0-rc2.tar.gz
-  261ae261bebce283ec3f4941641a536c7ffe7df2
-  [http://www.apache.org/dist/subversion/subversion-1.7.0-rc2.tar.gz.asc";>PGP]
+  subversion-1.7.0-rc3.tar.bz2
+  37c44ac69b132749deece46f853fdbfbe4d8b417
+  [http://www.apache.org/dist/subversion/subversion-1.7.0-rc3.tar.bz2.asc";>PGP]
 
-  subversion-1.7.0-rc2.zip
-  e2b3d54b5aafc0414657d88646df8575801ee158
-  [http://www.apache.org/dist/subversion/subversion-1.7.0-rc2.zip.asc";>PGP]
+  subversion-1.7.0-rc3.tar.gz
+  6c62df9f66a9eb71df055ad8794e887716cd04a6
+  [http://www.apache.org/dist/subversion/subversion-1.7.0-rc3.tar.gz.asc";>PGP]
 
 
 




svn commit: r1170669 - in /subversion/branches/1.7.x: ./ STATUS subversion/libsvn_wc/wc-queries.sql subversion/libsvn_wc/wc_db.c subversion/tests/cmdline/externals_tests.py

2011-09-14 Thread hwright
Author: hwright
Date: Wed Sep 14 15:04:41 2011
New Revision: 1170669

URL: http://svn.apache.org/viewvc?rev=1170669&view=rev
Log:
Reintegrate the 1.7.x-r1163557 branch:

 * r1163557
   Relax wcng consistency checks for file externals.
   Justification:
  Debug build claims wcng DB is inconsistent when it is OK.
   Branch:
 1.7.x-r1163557
   Votes:
 +1: philip, rhuijben, neels

Modified:
subversion/branches/1.7.x/   (props changed)
subversion/branches/1.7.x/STATUS
subversion/branches/1.7.x/subversion/libsvn_wc/wc-queries.sql
subversion/branches/1.7.x/subversion/libsvn_wc/wc_db.c
subversion/branches/1.7.x/subversion/tests/cmdline/externals_tests.py

Propchange: subversion/branches/1.7.x/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Sep 14 15:04:41 2011
@@ -8,6 +8,7 @@
 /subversion/branches/1.7.x-r1152189:1152759-1154249
 /subversion/branches/1.7.x-r1155160:1158704-1159223
 /subversion/branches/1.7.x-r1159093:1159097-1159230
+/subversion/branches/1.7.x-r1163557:1163574-1170648
 /subversion/branches/atomic-revprop:965046-1000689
 /subversion/branches/bdb-reverse-deltas:872050-872529
 /subversion/branches/diff-callbacks3:870059-870761
@@ -63,4 +64,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,1147882,1148071,1148083,1148094,1148131,1148374,1148424,1148566,1148588,1148853,1148877,1148882,1148936,1149105,1149141,1149160,1149228,1149240,1149343,1149371-1149372,1149377,1149398,1149401,1149539,1149572,1149627,1149675,1149701,1149713,1150242,1150254,1150260-1150261,1150266,1150302,1150327,1150368,1150372,1150441,1150506,1150812,1150853,1151036,1151177,1151610,1151906,1151911,1152129,1152140,1152189-1152190,1152267,1152282,1152286,1152726,1152809,1153138,1153141,1153416,1153799,1153807,1153968,1154009,1154023,1154115,1154119,1154121,1154144,1154155,1154159,1154165,1154215,1154225,1154273,1154461,1154717-1154718,1154733,1154908,1154982,1155015,1155044,1155124,1155131,1155160,1155313,1155334,1155391,1155404,1156085,1156098,1156216,1156218,1156312,1156527,1156717,1156721,1156750,1156827,1156838,1157416,1158187,115
 
8193-1158194,1158196,1158201,1158207,1158209-1158210,1158217,1158285,1158288,1158303,1158309,1158407,1158419,1158421,1158436,1158455,1158616-1158617,1158634,1158854,1158875,1158886,1158893,1158896,1158919,1158924,1158963,1159093,1159098,1159101,1159132,1159136,1159148,1159230,1159275,1159400,1159686,1159760,1159772,1160605,1160671,1160682,1160704-1160705,1160756,1161063,1161080,1161185,1161210,1161683,1161721,1162024,1162033,1162201,1162516,1162880,1163792,1163953,1164027,1164517,1164535,1164554,1164580,1164645,1164760,1164765,1166500,1166555,1166678,1167062,1167173,1167209,1167269
+/subversion/trunk:1146013,1146121,1146219,1146222,1146274,1146492,1146555,1146606,1146620,1146684,1146781,1146832,1146834,1146870,1146899,1146904,1147293,1147309,1147882,1148071,1148083,1148094,1148131,1148374,1148424,1148566,1148588,1148853,1148877,1148882,1148936,1149105,1149141,1149160,1149228,1149240,1149343,1149371-1149372,1149377,1149398,1149401,1149539,1149572,1149627,1149675,1149701,1149713,1150242,1150254,1150260-1150261,1150266,1150302,1150327,1150368,1150372,1150441,1150506,1150812,1150853,1151036,1151177,1151610,1151906,1151911,1152129,1152140,1152189-1152190,1152267,1152282,1152286,1152726,1152809,1153138,1153141,1153416,1153799,1153807,1153968,1154009,1154023,1154115,1154119,1154121,1154144,1154155,1154159,1154165,1154215,1154225,1154273,1154461,1154717-1154718,1154733,1154908,1154982,1155015,1155044,1155124,1155131,1155160,1155313,1155334,1155391,1155404,1156085,1156098,1156216,1156218,1156312,1156527,1156717,1156721,1156750,1156827,1156838,1157416,1158187,115
 
8193-1158194,1158196,1158201,1158207,1158209-1158210,1158217,1158285,1158288,1158303,1158309,1158407,1158419,1158421,1158436,1158455,1158616-1158617,1158634,1158854,1158875,1158886,1158893,1158896,1158919,1158924,1158963,1159093,1159098,1159101,1159132,1159136,1159148,1159230,1159275,1159400,1159686,1159760,1159772,1160605,1160671,1160682,1160704-1160705,1160756,1161063,1161080,1161185,1161210,1161683,1161721,1162024,1162033,1162201,1162516,1162880,1163557,1163792,1163953,1164027,1164517,1164535,1164554,1164580,1164645,1164760,1164765,1166500,1166555,1166678,1167062,1167173,1167209,1167269

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1170669&r1=1170668&r2=1170669&view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Wed Sep 14 15:04:41 2011
@@ -138,12 +138,3 @@ Veto-blocked chang

svn commit: r1170642 - /subversion/branches/1.7.x/STATUS

2011-09-14 Thread neels
Author: neels
Date: Wed Sep 14 14:29:45 2011
New Revision: 1170642

URL: http://svn.apache.org/viewvc?rev=1170642&view=rev
Log:
* STATUS: Vote thrice, approves of r1163557.

Changed a +0 to a +1. I thought I'd have more file-in-unversioned-externals
fixes ready in a short time to go along, but still not there. So let's get
this one out of STATUS, even if it just fixes a small maintainer-mode bug.

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1170642&r1=1170641&r2=1170642&view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Wed Sep 14 14:29:45 2011
@@ -86,18 +86,6 @@ Candidate changes:
Votes:
  +1: pburba
 
- * r1163557
-   Relax wcng consistency checks for file externals.
-   Justification:
-  Debug build claims wcng DB is inconsistent when it is OK.
-   Branch:
- 1.7.x-r1163557
-   Votes:
- +1: philip, rhuijben
- +0: neels (Much other code still dismally fails at file externals in
-unversioned dirs, e.g. 'status', 'commit'. This apparently
-only fixes maintainer-mode 'svn cleanup', IMHO low prio.)
-
  * r1164386
Avoid an expensive database operation in 'svn info'.
Justification:
@@ -134,7 +122,7 @@ Candidate changes:
Justification:
  Upgrade with file externals breaks working copies.
Votes:
- +1: philip
+ +1: philip, neels
 
  * r1169650
Make relocate act recursively on all externals, not just immediate ones.
@@ -143,10 +131,19 @@ Candidate changes:
Notes:
  Depends on issue 4015 merge.
Votes:
- +1: philip
+ +1: philip, neels
 
 Veto-blocked changes:
 =
 
 Approved changes:
 =
+
+ * r1163557
+   Relax wcng consistency checks for file externals.
+   Justification:
+  Debug build claims wcng DB is inconsistent when it is OK.
+   Branch:
+ 1.7.x-r1163557
+   Votes:
+ +1: philip, rhuijben, neels




svn commit: r1170628 - in /subversion/branches/fs-py/subversion/libsvn_fs_py: ./ fs_fs.c tree.c

2011-09-14 Thread hwright
Author: hwright
Date: Wed Sep 14 13:56:48 2011
New Revision: 1170628

URL: http://svn.apache.org/viewvc?rev=1170628&view=rev
Log:
On the fs-py branch:
Bring libsvn_fs_py up-to-date with libsvn_fs_fs.

Modified:
subversion/branches/fs-py/subversion/libsvn_fs_py/   (props changed)
subversion/branches/fs-py/subversion/libsvn_fs_py/fs_fs.c
subversion/branches/fs-py/subversion/libsvn_fs_py/tree.c

Propchange: subversion/branches/fs-py/subversion/libsvn_fs_py/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Sep 14 13:56:48 2011
@@ -8,7 +8,7 @@
 /subversion/branches/double-delete/subversion/libsvn_fs_py:870511-872970
 
/subversion/branches/explore-wc/subversion/libsvn_fs_py:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,875864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997
 /subversion/branches/file-externals/subversion/libsvn_fs_py:871779-873302
-/subversion/branches/fs-py/subversion/libsvn_fs_fs:1154225-1163246
+/subversion/branches/fs-py/subversion/libsvn_fs_fs:1154225-1170625
 /subversion/branches/fs-rep-sharing/subversion/libsvn_fs_py:869036-873803
 /subversion/branches/fsfs-pack/subversion/libsvn_fs_py:873717-874575
 /subversion/branches/gnome-keyring/subversion/libsvn_fs_py:870558-871410

Modified: subversion/branches/fs-py/subversion/libsvn_fs_py/fs_fs.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/fs-py/subversion/libsvn_fs_py/fs_fs.c?rev=1170628&r1=1170627&r2=1170628&view=diff
==
--- subversion/branches/fs-py/subversion/libsvn_fs_py/fs_fs.c (original)
+++ subversion/branches/fs-py/subversion/libsvn_fs_py/fs_fs.c Wed Sep 14 
13:56:48 2011
@@ -148,6 +148,9 @@ read_min_unpacked_rev(svn_revnum_t *min_
 static svn_error_t *
 update_min_unpacked_rev(svn_fs_t *fs, apr_pool_t *pool);
 
+static svn_error_t *
+get_youngest(svn_revnum_t *youngest_p, const char *fs_path, apr_pool_t *pool);
+
 /* Pathname helper functions */
 
 /* Return TRUE is REV is packed in FS, FALSE otherwise. */
@@ -617,15 +620,13 @@ with_some_lock(svn_fs_t *fs,
   if (!err)
 {
   fs_fs_data_t *ffd = fs->fsap_data;
+  svn_revnum_t youngest;
   int format;
 
   SVN_ERR(svn_fs_py__get_int_attr(&format, ffd->p_fs, "format"));
   if (format >= SVN_FS_FS__MIN_PACKED_FORMAT)
 SVN_ERR(update_min_unpacked_rev(fs, pool));
-#if 0 /* Might be a good idea? */
-  SVN_ERR(get_youngest(&ffd->youngest_rev_cache, fs->path,
-   pool));
-#endif
+  SVN_ERR(svn_fs_py__youngest_rev(&youngest, fs, pool));
   err = body(baton, subpool);
 }
 
@@ -1213,9 +1214,6 @@ update_min_unpacked_rev(svn_fs_t *fs, ap
pool);
 }
 
-static svn_error_t *
-get_youngest(svn_revnum_t *youngest_p, const char *fs_path, apr_pool_t *pool);
-
 svn_error_t *
 svn_fs_py__open(svn_fs_t *fs, const char *path, apr_pool_t *pool)
 {
@@ -6926,7 +6924,6 @@ struct change_rev_prop_baton {
 /* The work-horse for svn_fs_py__change_rev_prop, called with the FS
write lock.  This implements the svn_fs_py__with_write_lock()
'body' callback type.  BATON is a 'struct change_rev_prop_baton *'. */
-
 static svn_error_t *
 change_rev_prop_body(void *baton, apr_pool_t *pool)
 {

Modified: subversion/branches/fs-py/subversion/libsvn_fs_py/tree.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/fs-py/subversion/libsvn_fs_py/tree.c?rev=1170628&r1=1170627&r2=1170628&view=diff
==
--- subversion/branches/fs-py/subversion/libsvn_fs_py/tree.c (original)
+++ subversion/branches/fs-py/subversion/libsvn_fs_py/tree.c Wed Sep 14 
13:56:48 2011
@@ -1728,7 +1728,7 @@ fs_delete_node(svn_fs_root_t *root,
 {
   parent_path_t *parent_path;
   const char *txn_id = root->txn;
-  apr_int64_t mergeinfo_count;
+  apr_int64_t mergeinfo_count = 0;
   svn_node_kind_t kind;
 
   if (! root->is_txn_root)
@@ -1759,7 +1759,7 @@ fs_delete_node(svn_fs_root_t *root,
 txn_id, pool));
 
   /* Update mergeinfo counts for parents */
-  if (svn_fs_py__fs_supports_mergeinfo(root->fs) && mergeinfo_count > 0)
+  if (mergeinfo_count > 0)
 SVN_ERR(increment_mergeinfo_up_tree(parent_path->parent,
 -mergeinfo_count,
 pool));
@@ -2871,7 +2871,7 @@ fs_node_origin_rev(svn_revnum_t *revisio
 
 /* Walk the predecessor links back to origin. */
 SVN_ERR(fs_node_id(&pred_id, curroot, lastpath->data, predidpool));
-while (pred_id)
+do
   {
 svn_pool_clear(subpool);
  

svn commit: r1170622 [7/7] - in /subversion/branches/fs-py: ./ notes/ subversion/bindings/javahl/tests/org/apache/subversion/javahl/ subversion/include/ subversion/include/private/ subversion/libsvn_c

2011-09-14 Thread hwright
Modified: subversion/branches/fs-py/tools/examples/get-location-segments.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/fs-py/tools/examples/get-location-segments.py?rev=1170622&r1=1170621&r2=1170622&view=diff
==
--- subversion/branches/fs-py/tools/examples/get-location-segments.py (original)
+++ subversion/branches/fs-py/tools/examples/get-location-segments.py Wed Sep 
14 13:46:56 2011
@@ -21,6 +21,7 @@
 #
 import sys
 import os
+import getpass
 from svn import client, ra, core
 
 def printer(segment, pool):
@@ -71,6 +72,39 @@ def parse_args(args):
   return url, peg_revision, start_revision, end_revision
 
 
+def prompt_func_ssl_unknown_cert(realm, failures, cert_info, may_save, pool):
+  print "The certficate details are as follows:"
+  print "--"
+  print "Issuer : " + str(cert_info.issuer_dname)
+  print "Hostname   : " + str(cert_info.hostname)
+  print "ValidFrom  : " + str(cert_info.valid_from)
+  print "ValidUpto  : " + str(cert_info.valid_until)
+  print "Fingerprint: " + str(cert_info.fingerprint)
+  print ""
+  ssl_trust = core.svn_auth_cred_ssl_server_trust_t()
+  if may_save:
+choice = raw_input( "accept (t)temporarily   (p)permanently: ")
+  else:
+choice = raw_input( "(r)Reject or accept (t)temporarily: ")
+  if choice[0] == "t" or choice[0] == "T":
+ssl_trust.may_save = False
+ssl_trust.accepted_failures = failures
+  elif choice[0] == "p" or choice[0] == "P":
+ssl_trust.may_save = True
+ssl_trust.accepted_failures = failures
+  else:
+ssl_trust = None
+  return ssl_trust
+
+def prompt_func_simple_prompt(realm, username, may_save, pool):
+  username = raw_input("username: ")
+  password = getpass.getpass(prompt="password: ")
+  simple_cred = core.svn_auth_cred_simple_t()
+  simple_cred.username = username
+  simple_cred.password = password
+  simple_cred.may_save = False
+  return simple_cred
+
 def main():
   try:
 url, peg_revision, start_revision, end_revision = parse_args(sys.argv[1:])
@@ -93,6 +127,9 @@ ERROR: %s
   ctx = client.ctx_t()
   providers = [
 client.get_simple_provider(),
+core.svn_auth_get_ssl_server_trust_file_provider(),
+core.svn_auth_get_simple_prompt_provider(prompt_func_simple_prompt, 2),
+
core.svn_auth_get_ssl_server_trust_prompt_provider(prompt_func_ssl_unknown_cert),
 client.get_username_provider(),
 client.get_ssl_server_trust_file_provider(),
 client.get_ssl_client_cert_file_provider(),




svn commit: r1170622 [4/7] - in /subversion/branches/fs-py: ./ notes/ subversion/bindings/javahl/tests/org/apache/subversion/javahl/ subversion/include/ subversion/include/private/ subversion/libsvn_c

2011-09-14 Thread hwright
Modified: subversion/branches/fs-py/subversion/libsvn_wc/wc_db.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/fs-py/subversion/libsvn_wc/wc_db.h?rev=1170622&r1=1170621&r2=1170622&view=diff
==
--- subversion/branches/fs-py/subversion/libsvn_wc/wc_db.h (original)
+++ subversion/branches/fs-py/subversion/libsvn_wc/wc_db.h Wed Sep 14 13:46:56 
2011
@@ -1871,6 +1871,8 @@ struct svn_wc__db_info_t {
 
   const char *moved_to_abspath; /* Only on op-roots. See svn_wc_status3_t. */
   svn_boolean_t moved_here; /* On both op-roots and children. */
+
+  svn_boolean_t file_external;
 };
 
 /* Return in *NODES a hash mapping name->struct svn_wc__db_info_t for




svn commit: r1170614 - /subversion/branches/1.7.x/STATUS

2011-09-14 Thread neels
Author: neels
Date: Wed Sep 14 13:36:16 2011
New Revision: 1170614

URL: http://svn.apache.org/viewvc?rev=1170614&view=rev
Log:
* STATUS: Indent.

Modified:
subversion/branches/1.7.x/STATUS

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1170614&r1=1170613&r2=1170614&view=diff
==
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Wed Sep 14 13:36:16 2011
@@ -121,29 +121,29 @@ Candidate changes:
  performance should be better, I wonder if that's
  been tested at all)
 
-  * r1167659
-Don't sort an already sorted array in svn_sort__hash().
-Justification:
-  Possible performance improvement for merges, and doesn't cost anything.
-  This function is used to sort mergeinfo catalogs, among other things.
-Votes:
-  +1: stsp (for 1.7.1)
+ * r1167659
+   Don't sort an already sorted array in svn_sort__hash().
+   Justification:
+ Possible performance improvement for merges, and doesn't cost anything.
+ This function is used to sort mergeinfo catalogs, among other things.
+   Votes:
+ +1: stsp (for 1.7.1)
 
-  * r1167503,r1169524,r1169531
-Fix issue 4015, file externals upgrade to bogus non-external files.
-Justification:
-  Upgrade with file externals breaks working copies.
-Votes:
-  +1: philip
+ * r1167503,r1169524,r1169531
+   Fix issue 4015, file externals upgrade to bogus non-external files.
+   Justification:
+ Upgrade with file externals breaks working copies.
+   Votes:
+ +1: philip
 
-  * r1169650
-Make relocate act recursively on all externals, not just immediate ones.
-Justification:
-  Relocating externals is new 1.7, no reason not to do them all.
-Notes:
-  Depends on issue 4015 merge.
-Votes:
-  +1: philip
+ * r1169650
+   Make relocate act recursively on all externals, not just immediate ones.
+   Justification:
+ Relocating externals is new 1.7, no reason not to do them all.
+   Notes:
+ Depends on issue 4015 merge.
+   Votes:
+ +1: philip
 
 Veto-blocked changes:
 =




Re: svn commit: r1170324 - /subversion/trunk/subversion/include/svn_editor.h

2011-09-14 Thread Hyrum K Wright
On Tue, Sep 13, 2011 at 5:38 PM, Daniel Shahaf  wrote:
> (about svn_editor_set_props())
>
> hwri...@apache.org wrote on Tue, Sep 13, 2011 at 19:54:14 -:
>> Author: hwright
>> Date: Tue Sep 13 19:54:14 2011
>> New Revision: 1170324
>>
>> URL: http://svn.apache.org/viewvc?rev=1170324&view=rev
>> Log:
>> * subversion/include/svn_editor.h
>>   (svn_editor_set_props): Add a couple of notes.
>>
>> Modified:
>>     subversion/trunk/subversion/include/svn_editor.h
>>
> ...
>>   * Set or change properties on the existing node at @a relpath.
>>   * ### TODO @todo Does this send *all* properties, always?
>
> I'd answer "As written, yes" since the props parameter is an apr_hash_t
> (and the docstring doesn't make special arrangements for representation
> of propdels within that).
>
>> + * ### HKW: The purist in me says "yes", but the pragmatist says "no".
>> + * ### Writing a backward compat shim is going to be next to impossible,
>> + * ### since we've no way to know about existing props while receiving
>> + * ### props from the delta editor.
>> + * ###
>
> For example, 'svn propset pn pv URL' does not know the remaining
> properties of URL.
>
> That said: isn't this discussion similar to the discussion from last
> week about whether svn_editor_set_text() should be taking a full
> contents stream or a delta stream?  Does the resolution of that
> discusion apply here?

I think it does: provide a callback to the shim so it can get the
existing properties on a node.  I arrived at this conclusion when
thinking about the problem last night, and then discovered your and
Greg's suggestions this morning.  Guess I'm on the right track!  (Or,
we're all wrong together...)

-Hyrum


-- 

uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com/