Author: rinrab
Date: Sun Oct 20 10:12:12 2024
New Revision: 1921433
URL: http://svn.apache.org/viewvc?rev=1921433&view=rev
Log:
Factor-out definitions of the utility functions for manupaluting with
merge_source_t into a private client.h header file, in order to use
them in other source files as well.
The merge_source_t struct has already been defined in this file, while
merge_source_create() and merge_source_dup() function were implemented
directly in the merge.c file (merge implementation itself). Since the struct
itself is defined the header file, and is already utilized in the other file,
it is going to be nice to have these utilities there.
* subversion/libsvn_client/client.h
(svn_client__merge_source_create,
svn_client__merge_source_dup): Declare functions.
* subversion/libsvn_client/merge.c
(svn_client__merge_source_create,
svn_client__merge_source_dup): Renamed implementation to include the
`svn_client__` preffix, remove static.
(...everywhere...): Adjust usages of these functions.
Modified:
subversion/trunk/subversion/libsvn_client/client.h
subversion/trunk/subversion/libsvn_client/merge.c
Modified: subversion/trunk/subversion/libsvn_client/client.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/client.h?rev=1921433&r1=1921432&r2=1921433&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/client.h (original)
+++ subversion/trunk/subversion/libsvn_client/client.h Sun Oct 20 10:12:12 2024
@@ -1185,6 +1185,19 @@ typedef struct merge_source_t
svn_boolean_t ancestral;
} merge_source_t;
+/* Return a new merge_source_t structure, allocated in RESULT_POOL,
+ * initialized with deep copies of LOC1 and LOC2 and ANCESTRAL. */
+merge_source_t *
+svn_client__merge_source_create(const svn_client__pathrev_t *loc1,
+ const svn_client__pathrev_t *loc2,
+ svn_boolean_t ancestral,
+ apr_pool_t *result_pool);
+
+/* Return a deep copy of SOURCE, allocated in RESULT_POOL. */
+merge_source_t *
+svn_client__merge_source_dup(const merge_source_t *source,
+ apr_pool_t *result_pool);
+
/* Description of the merge target root node (a WC working node) */
typedef struct merge_target_t
{
Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1921433&r1=1921432&r2=1921433&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Sun Oct 20 10:12:12 2024
@@ -395,11 +395,11 @@ session_url_is(svn_ra_session_t *ra_sess
/* Return a new merge_source_t structure, allocated in RESULT_POOL,
* initialized with deep copies of LOC1 and LOC2 and ANCESTRAL. */
-static merge_source_t *
-merge_source_create(const svn_client__pathrev_t *loc1,
- const svn_client__pathrev_t *loc2,
- svn_boolean_t ancestral,
- apr_pool_t *result_pool)
+merge_source_t *
+svn_client__merge_source_create(const svn_client__pathrev_t *loc1,
+ const svn_client__pathrev_t *loc2,
+ svn_boolean_t ancestral,
+ apr_pool_t *result_pool)
{
merge_source_t *s
= apr_palloc(result_pool, sizeof(*s));
@@ -411,9 +411,9 @@ merge_source_create(const svn_client__pa
}
/* Return a deep copy of SOURCE, allocated in RESULT_POOL. */
-static merge_source_t *
-merge_source_dup(const merge_source_t *source,
- apr_pool_t *result_pool)
+merge_source_t *
+svn_client__merge_source_dup(const merge_source_t *source,
+ apr_pool_t *result_pool)
{
merge_source_t *s = apr_palloc(result_pool, sizeof(*s));
@@ -1448,9 +1448,9 @@ record_tree_conflict(merge_cmd_baton_t *
scratch_pool);
loc1->rev = range.start;
loc2->rev = range.end;
- source = merge_source_create(loc1, loc2,
- merge_b->merge_source.ancestral,
- scratch_pool);
+ source = svn_client__merge_source_create(loc1, loc2,
+
merge_b->merge_source.ancestral,
+ scratch_pool);
SVN_ERR(make_conflict_versions(&left, &right, local_abspath,
merge_left_node_kind,
merge_right_node_kind,
@@ -5613,9 +5613,11 @@ single_range_conflict_report_create(cons
assert(conflicted_range != NULL);
- report->conflicted_range = merge_source_dup(conflicted_range, result_pool);
+ report->conflicted_range =
+ svn_client__merge_source_dup(conflicted_range, result_pool);
report->remaining_source
- = remaining_source ? merge_source_dup(remaining_source, result_pool)
+ = remaining_source ? svn_client__merge_source_dup(remaining_source,
+ result_pool)
: NULL;
return report;
}
@@ -5632,7 +5634,8 @@ conflict_report_create(const char *targe
sizeof(*report));
report->target_abspath = apr_pstrdup(result_pool, target_abspath);
- report->conflicted_range = merge_source_dup(conflicted_range, result_pool);
+ report->conflicted_range =
+ svn_client__merge_source_dup(conflicted_range, result_pool);
report->was_last_range = was_last_range;
return report;
}
@@ -5646,8 +5649,8 @@ conflict_report_dup(const svn_client__co
sizeof(*new));
new->target_abspath = apr_pstrdup(result_pool, report->target_abspath);
- new->conflicted_range = merge_source_dup(report->conflicted_range,
- result_pool);
+ new->conflicted_range =
+ svn_client__merge_source_dup(report->conflicted_range, result_pool);
return new;
}
@@ -7199,11 +7202,13 @@ combine_range_with_segments(apr_array_he
MIN(segment->range_end, maxrev), segment->path, pool);
/* If this is subtractive, reverse the whole calculation. */
if (subtractive)
- merge_source = merge_source_create(loc2, loc1, TRUE /* ancestral */,
- pool);
+ merge_source = svn_client__merge_source_create(loc2, loc1,
+ TRUE /* ancestral */,
+ pool);
else
- merge_source = merge_source_create(loc1, loc2, TRUE /* ancestral */,
- pool);
+ merge_source = svn_client__merge_source_create(loc1, loc2,
+ TRUE /* ancestral */,
+ pool);
APR_ARRAY_PUSH(merge_source_ts, merge_source_t *) = merge_source;
}
@@ -7557,7 +7562,7 @@ subrange_source(const merge_source_t *so
loc1.url = source->loc2->url;
}
}
- return merge_source_create(&loc1, &loc2, source->ancestral, pool);
+ return svn_client__merge_source_create(&loc1, &loc2, source->ancestral,
pool);
}
/* The single-file, simplified version of do_directory_merge(), which see for
@@ -10717,7 +10722,8 @@ svn_client__merge_locked(svn_client__con
/* Build a single-item merge_source_t array. */
merge_sources = apr_array_make(scratch_pool, 1, sizeof(merge_source_t
*));
APR_ARRAY_PUSH(merge_sources, merge_source_t *)
- = merge_source_create(source1_loc, source2_loc, FALSE, scratch_pool);
+ = svn_client__merge_source_create(source1_loc, source2_loc,
+ FALSE, scratch_pool);
}
err = do_merge(NULL, NULL, conflict_report, &use_sleep,
@@ -11766,7 +11772,7 @@ find_reintegrate_merge(merge_source_t **
/* Left side: trunk@youngest-trunk-rev-merged-to-branch-at-specified-peg-rev
* Right side: branch@specified-peg-revision */
if (source_p)
- *source_p = merge_source_dup(&source, result_pool);
+ *source_p = svn_client__merge_source_dup(&source, result_pool);
if (yc_ancestor_p)
*yc_ancestor_p = svn_client__pathrev_dup(yc_ancestor, result_pool);