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(¤t_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)
{