From 3ade74ebdb474659d7e912ed5e782c6ea5869a94 Mon Sep 17 00:00:00 2001 From: Daniel Sahlberg Date: Wed, 27 Nov 2024 07:09:21 +0000 Subject: [PATCH 1/4] .asf.yaml doesn't work for since we don't have a r/w Git repository. Our notifications are a hard-coded one-off by Humbedooh (@infra). Commenting out, so it doesn't look like it is actually active, but keeping the settings so we remember WHAT is configured. git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1922149 13f79535-47bb-0310-9956-ffa450edef68 --- .asf.yaml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index e7025d60d3866..9fb6abe9e750f 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -19,5 +19,17 @@ # .asf.yml -- ASF infra services configuration # -notifications: - jobs: notifications@subversion.apache.org +# GitHub Action notifications, see +# https://github.com/apache/infrastructure-asfyaml?tab=readme-ov-file +# +# However, according to discussion with Humbedooh on Slack the-asf#Infra, +# it require a r/w Git repository, so the below doesn't work. +# +# Humbedooh has kindly helped us hard-code a one-off notification which +# doesn't rely on .asf.yaml. +# +# Commenting out, but keeping in place as a sticky-note for future changes. +# +# For reference, this is the hard-coded configuration: +#notifications: +# jobs: notifications@subversion.apache.org From 279aba4fc4e3b67d696f41ed7139551322b8c2ae Mon Sep 17 00:00:00 2001 From: Timofei Zhakov Date: Wed, 27 Nov 2024 12:54:10 +0000 Subject: [PATCH 2/4] In the trunk, merge.c: Declare start_rev and end_rev separately instead of using a single svn_merge_range_t with later usage of its .start and .end fields. These two variable are being utilized as arguments of the find_nearest_ancestor_with_intersecting_ranges() function. This change simplifies this code a bit, without making any functional changes. * subversion/libsvn_client/merge.c (record_tree_conflict): Ditto. git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1922157 13f79535-47bb-0310-9956-ffa450edef68 --- subversion/libsvn_client/merge.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/subversion/libsvn_client/merge.c b/subversion/libsvn_client/merge.c index b371b860ef9ca..0649888ccfb2d 100644 --- a/subversion/libsvn_client/merge.c +++ b/subversion/libsvn_client/merge.c @@ -1431,8 +1431,8 @@ record_tree_conflict(merge_cmd_baton_t *merge_b, struct svn_client__merge_source_t *source; svn_client__pathrev_t *loc1; svn_client__pathrev_t *loc2; - svn_merge_range_t range = - {SVN_INVALID_REVNUM, SVN_INVALID_REVNUM, TRUE}; + svn_revnum_t start_rev; + svn_revnum_t end_rev; /* We are honoring mergeinfo so do not blindly record * a conflict describing the merge of @@ -1440,7 +1440,7 @@ record_tree_conflict(merge_cmd_baton_t *merge_b, * SOURCE->LOC2->URL@SOURCE->LOC2->REV * but figure out the actual revision range merged. */ (void)find_nearest_ancestor_with_intersecting_ranges( - &(range.start), &(range.end), + &start_rev, &end_rev, merge_b->children_with_mergeinfo, action != svn_wc_conflict_action_delete, local_abspath); @@ -1448,8 +1448,8 @@ record_tree_conflict(merge_cmd_baton_t *merge_b, scratch_pool); loc2 = svn_client__pathrev_dup(merge_b->merge_source.loc2, scratch_pool); - loc1->rev = range.start; - loc2->rev = range.end; + loc1->rev = start_rev; + loc2->rev = end_rev; source = svn_client__merge_source_create(loc1, loc2, merge_b->merge_source.ancestral, scratch_pool); From e6317787f98868770304883b59d7240857e7b367 Mon Sep 17 00:00:00 2001 From: Timofei Zhakov Date: Wed, 27 Nov 2024 12:59:52 +0000 Subject: [PATCH 3/4] In the trunk, merge.c: Separate the code for mergeinfo adjustments by a few newlines. We have the following structure here: - Declaration of the local variables related to this scope. - find_nearest_ancestor_with_intersecting_ranges() - Initialization of `loc1`, `loc2`, and `source` variables. - make_conflict_versions(&left, &right) In general, this scope is existing for proper initialization of `left` and `right` pointers-to-structure. * subversion/libsvn_client/merge.c (record_tree_conflict): Ditto. No functional changes. git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1922158 13f79535-47bb-0310-9956-ffa450edef68 --- subversion/libsvn_client/merge.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/subversion/libsvn_client/merge.c b/subversion/libsvn_client/merge.c index 0649888ccfb2d..1e58e80e83927 100644 --- a/subversion/libsvn_client/merge.c +++ b/subversion/libsvn_client/merge.c @@ -1444,6 +1444,7 @@ record_tree_conflict(merge_cmd_baton_t *merge_b, merge_b->children_with_mergeinfo, action != svn_wc_conflict_action_delete, local_abspath); + loc1 = svn_client__pathrev_dup(merge_b->merge_source.loc1, scratch_pool); loc2 = svn_client__pathrev_dup(merge_b->merge_source.loc2, @@ -1453,6 +1454,7 @@ record_tree_conflict(merge_cmd_baton_t *merge_b, 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, From 3f78bbf82f138d9728479bb22ae68860fedc9a96 Mon Sep 17 00:00:00 2001 From: Timofei Zhakov Date: Wed, 27 Nov 2024 13:01:24 +0000 Subject: [PATCH 4/4] In the trunk, merge.c: Do not prefix the type of the `source` variable with `struct` keyword; svn_client__merge_source_t is a typedef. * subversion/libsvn_client/merge.c (record_tree_conflict): Ditto. No functional changes. git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1922159 13f79535-47bb-0310-9956-ffa450edef68 --- subversion/libsvn_client/merge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subversion/libsvn_client/merge.c b/subversion/libsvn_client/merge.c index 1e58e80e83927..c360b4f950f04 100644 --- a/subversion/libsvn_client/merge.c +++ b/subversion/libsvn_client/merge.c @@ -1428,7 +1428,7 @@ record_tree_conflict(merge_cmd_baton_t *merge_b, if (HONOR_MERGEINFO(merge_b) && merge_b->merge_source.ancestral) { - struct svn_client__merge_source_t *source; + svn_client__merge_source_t *source; svn_client__pathrev_t *loc1; svn_client__pathrev_t *loc2; svn_revnum_t start_rev;