Author: hwright
Date: Wed Jan 11 22:59:20 2012
New Revision: 1230309

URL: http://svn.apache.org/viewvc?rev=1230309&view=rev
Log:
Ev2 shims: provide the base revision to the fetch props and fetch base
callback functions.  We don't actually use it for anything in this patch,
but will shortly.

* subversion/include/svn_delta.h
  (svn_delta_fetch_props_func_t, svn_delta_fetch_base_func_t): Add a base
    revision argument.

* subversion/svnrdump/dump_editor.c
  (fetch_base_func): Update implementor.

* subversion/libsvn_wc/util.c
  (svn_wc__fetch_props_func, svn_wc__fetch_base_func): Same.

* subversion/libsvn_wc/wc.h
  (svn_wc__fetch_props_func, svn_wc__fetch_base_func): Same.
 
* subversion/libsvn_client/repos_diff.c
  (fetch_props_func, fetch_base_func): Same.

* subversion/libsvn_client/export.c
  (fetch_props_func, fetch_base_func): Same.

* subversion/libsvn_repos/commit.c
  (prop_fetch_func, fetch_base_func): Same.

* subversion/libsvn_repos/dump.c
  (fetch_props_func, fetch_base_func): Same.

* subversion/libsvn_delta/compat.c
  (process_actions, ev2_add_file, ev2_open_file, build): Provide a base revision
    to the callback invocations.

Modified:
    subversion/trunk/subversion/include/svn_delta.h
    subversion/trunk/subversion/libsvn_client/export.c
    subversion/trunk/subversion/libsvn_client/repos_diff.c
    subversion/trunk/subversion/libsvn_delta/compat.c
    subversion/trunk/subversion/libsvn_repos/commit.c
    subversion/trunk/subversion/libsvn_repos/dump.c
    subversion/trunk/subversion/libsvn_wc/util.c
    subversion/trunk/subversion/libsvn_wc/wc.h
    subversion/trunk/subversion/svnrdump/dump_editor.c

Modified: subversion/trunk/subversion/include/svn_delta.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_delta.h?rev=1230309&r1=1230308&r2=1230309&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_delta.h (original)
+++ subversion/trunk/subversion/include/svn_delta.h Wed Jan 11 22:59:20 2012
@@ -1097,6 +1097,7 @@ typedef svn_error_t *(*svn_delta_fetch_p
   apr_hash_t **props,
   void *baton,
   const char *path,
+  svn_revnum_t base_revision,
   apr_pool_t *result_pool,
   apr_pool_t *scratch_pool
   );
@@ -1123,6 +1124,7 @@ typedef svn_error_t *(*svn_delta_fetch_b
   const char **filename,
   void *baton,
   const char *path,
+  svn_revnum_t base_revision,
   apr_pool_t *result_pool,
   apr_pool_t *scratch_pool
   );

Modified: subversion/trunk/subversion/libsvn_client/export.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/export.c?rev=1230309&r1=1230308&r2=1230309&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/export.c (original)
+++ subversion/trunk/subversion/libsvn_client/export.c Wed Jan 11 22:59:20 2012
@@ -1043,6 +1043,7 @@ static svn_error_t *
 fetch_props_func(apr_hash_t **props,
                  void *baton,
                  const char *path,
+                 svn_revnum_t base_revision,
                  apr_pool_t *result_pool,
                  apr_pool_t *scratch_pool)
 {
@@ -1057,6 +1058,7 @@ static svn_error_t *
 fetch_base_func(const char **filename,
                 void *baton,
                 const char *path,
+                svn_revnum_t base_revision,
                 apr_pool_t *result_pool,
                 apr_pool_t *scratch_pool)
 {

Modified: subversion/trunk/subversion/libsvn_client/repos_diff.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/repos_diff.c?rev=1230309&r1=1230308&r2=1230309&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/repos_diff.c (original)
+++ subversion/trunk/subversion/libsvn_client/repos_diff.c Wed Jan 11 22:59:20 
2012
@@ -1327,6 +1327,7 @@ static svn_error_t *
 fetch_props_func(apr_hash_t **props,
                  void *baton,
                  const char *path,
+                 svn_revnum_t base_revision,
                  apr_pool_t *result_pool,
                  apr_pool_t *scratch_pool)
 {
@@ -1365,6 +1366,7 @@ static svn_error_t *
 fetch_base_func(const char **filename,
                 void *baton,
                 const char *path,
+                svn_revnum_t base_revision,
                 apr_pool_t *result_pool,
                 apr_pool_t *scratch_pool)
 {

Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1230309&r1=1230308&r2=1230309&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Wed Jan 11 22:59:20 2012
@@ -246,21 +246,21 @@ process_actions(void *edit_baton,
             {
               const struct prop_args *p_args = action->args;
 
+              if (!SVN_IS_VALID_REVNUM(props_base_revision))
+                props_base_revision = p_args->base_revision;
+              else
+                SVN_ERR_ASSERT(p_args->base_revision == props_base_revision);
+
               if (!props)
                 {
                   /* Fetch the original props. We can then apply each of
                      the modifications to it.  */
                   SVN_ERR(eb->fetch_props_func(&props,
                                                eb->fetch_props_baton,
-                                               path,
+                                               path, props_base_revision,
                                                scratch_pool, scratch_pool));
                 }
 
-              if (!SVN_IS_VALID_REVNUM(props_base_revision))
-                props_base_revision = p_args->base_revision;
-              else
-                SVN_ERR_ASSERT(p_args->base_revision == props_base_revision);
-
               /* Note that p_args->value may be NULL.  */
               apr_hash_set(props, p_args->name, APR_HASH_KEY_STRING,
                            p_args->value);
@@ -572,7 +572,8 @@ ev2_add_file(const char *path,
 
   SVN_ERR(fb->eb->fetch_base_func(&fb->delta_base,
                                   fb->eb->fetch_base_baton,
-                                  path, result_pool, result_pool));
+                                  path, fb->base_revision,
+                                  result_pool, result_pool));
 
   if (!copyfrom_path)
     {
@@ -611,7 +612,8 @@ ev2_open_file(const char *path,
 
   SVN_ERR(fb->eb->fetch_base_func(&fb->delta_base,
                                   fb->eb->fetch_base_baton,
-                                  path, result_pool, result_pool));
+                                  path, base_revision,
+                                  result_pool, result_pool));
 
   *file_baton = fb;
   return SVN_NO_ERROR;
@@ -939,7 +941,7 @@ build(struct editor_baton *eb,
         operation->kind = kind;
 
       SVN_ERR(eb->fetch_props_func(&current_props, eb->fetch_props_baton,
-                                   relpath, scratch_pool, scratch_pool));
+                                   relpath, rev, scratch_pool, scratch_pool));
 
       SVN_ERR(svn_prop_diffs(&propdiffs, props, current_props, scratch_pool));
 

Modified: subversion/trunk/subversion/libsvn_repos/commit.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/commit.c?rev=1230309&r1=1230308&r2=1230309&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/commit.c (original)
+++ subversion/trunk/subversion/libsvn_repos/commit.c Wed Jan 11 22:59:20 2012
@@ -786,6 +786,7 @@ static svn_error_t *
 prop_fetch_func(apr_hash_t **props,
                 void *baton,
                 const char *path,
+                svn_revnum_t base_revision,
                 apr_pool_t *result_pool,
                 apr_pool_t *scratch_pool)
 {
@@ -836,6 +837,7 @@ static svn_error_t *
 fetch_base_func(const char **filename,
                 void *baton,
                 const char *path,
+                svn_revnum_t base_revision,
                 apr_pool_t *result_pool,
                 apr_pool_t *scratch_pool)
 {

Modified: subversion/trunk/subversion/libsvn_repos/dump.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/dump.c?rev=1230309&r1=1230308&r2=1230309&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/dump.c (original)
+++ subversion/trunk/subversion/libsvn_repos/dump.c Wed Jan 11 22:59:20 2012
@@ -855,6 +855,7 @@ static svn_error_t *
 fetch_props_func(apr_hash_t **props,
                  void *baton,
                  const char *path,
+                 svn_revnum_t base_revision,
                  apr_pool_t *result_pool,
                  apr_pool_t *scratch_pool)
 {
@@ -893,6 +894,7 @@ static svn_error_t *
 fetch_base_func(const char **filename,
                 void *baton,
                 const char *path,
+                svn_revnum_t base_revision,
                 apr_pool_t *result_pool,
                 apr_pool_t *scratch_pool)
 {

Modified: subversion/trunk/subversion/libsvn_wc/util.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/util.c?rev=1230309&r1=1230308&r2=1230309&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/util.c (original)
+++ subversion/trunk/subversion/libsvn_wc/util.c Wed Jan 11 22:59:20 2012
@@ -556,6 +556,7 @@ svn_error_t *
 svn_wc__fetch_props_func(apr_hash_t **props,
                          void *baton,
                          const char *path,
+                         svn_revnum_t base_revision,
                          apr_pool_t *result_pool,
                          apr_pool_t *scratch_pool)
 {
@@ -588,6 +589,7 @@ svn_error_t *
 svn_wc__fetch_base_func(const char **filename,
                         void *baton,
                         const char *path,
+                        svn_revnum_t base_revision,
                         apr_pool_t *result_pool,
                         apr_pool_t *scratch_pool)
 {

Modified: subversion/trunk/subversion/libsvn_wc/wc.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc.h?rev=1230309&r1=1230308&r2=1230309&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc.h Wed Jan 11 22:59:20 2012
@@ -746,6 +746,7 @@ svn_error_t *
 svn_wc__fetch_props_func(apr_hash_t **props,
                          void *baton,
                          const char *path,
+                         svn_revnum_t base_revision,
                          apr_pool_t *result_pool,
                          apr_pool_t *scratch_pool);
 
@@ -754,6 +755,7 @@ svn_error_t *
 svn_wc__fetch_base_func(const char **filename,
                         void *baton,
                         const char *path,
+                        svn_revnum_t base_revision,
                         apr_pool_t *result_pool,
                         apr_pool_t *scratch_pool);
 

Modified: subversion/trunk/subversion/svnrdump/dump_editor.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svnrdump/dump_editor.c?rev=1230309&r1=1230308&r2=1230309&view=diff
==============================================================================
--- subversion/trunk/subversion/svnrdump/dump_editor.c (original)
+++ subversion/trunk/subversion/svnrdump/dump_editor.c Wed Jan 11 22:59:20 2012
@@ -850,6 +850,7 @@ static svn_error_t *
 fetch_base_func(const char **filename,
                 void *baton,
                 const char *path,
+                svn_revnum_t base_revision,
                 apr_pool_t *result_pool,
                 apr_pool_t *scratch_pool)
 {


Reply via email to