threads / patch / 25033

patchmerge-recursive: Small code cleanup

Subject: [PATCH] merge-recursive: Small code cleanup

## tl;dr

One message between Sep 8, 2010 and Sep 8, 2010. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Elijah Newren· Sep 8, 2010, 07:21 UTC · lore

process_renames() had a variable named "stage" and derived variables src_other and dst_other whose purpose was not entirely clear to me. Make the name of stage slightly more descriptive and add a brief comment explaining what is occurring.

Signed-off-by: Elijah Newren <newren@gmail.com>
---
Was previously PATCH 2/3 from my "fix resolvable rename + D/F conflict
testcases" series, but I've pulled this patch out since it's not
strictly related.  Also, due to Ken Schalk's response, I've dropped
the piece of the patch he pointed out an issue in.  So now it's just a
smaller cleanup, that is now based on maint.
 merge-recursive.c |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)
Show changes to merge-recursive.c +14 −6
diff --git a/merge-recursive.c b/merge-recursive.c
index fb6aa4a..ba9cbab 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -924,15 +924,23 @@ static int process_renames(struct merge_options *o,
 			struct string_list_item *item;
 			/* we only use sha1 and mode of these */
 			struct diff_filespec src_other, dst_other;
-			int try_merge, stage = a_renames == renames1 ? 3: 2;
+			int try_merge;
 
-			remove_file(o, 1, ren1_src, o->call_depth || stage == 3);
+			/*
+			 * unpack_trees loads entries from common-commit
+			 * into stage 1, from head-commit into stage 2, and
+			 * from merge-commit into stage 3.  We keep track
+			 * of which side corresponds to the rename.
+			 */
+			int renamed_stage = a_renames == renames1 ? 2 : 3;
+			int other_stage =   a_renames == renames1 ? 3 : 2;
 
-			hashcpy(src_other.sha1, ren1->src_entry->stages[stage].sha);
-			src_other.mode = ren1->src_entry->stages[stage].mode;
-			hashcpy(dst_other.sha1, ren1->dst_entry->stages[stage].sha);
-			dst_other.mode = ren1->dst_entry->stages[stage].mode;
+			remove_file(o, 1, ren1_src, o->call_depth || renamed_stage == 2);
 
+			hashcpy(src_other.sha1, ren1->src_entry->stages[other_stage].sha);
+			src_other.mode = ren1->src_entry->stages[other_stage].mode;
+			hashcpy(dst_other.sha1, ren1->dst_entry->stages[other_stage].sha);
+			dst_other.mode = ren1->dst_entry->stages[other_stage].mode;
 			try_merge = 0;
 
 			if (string_list_has_string(&o->current_directory_set, ren1_dst)) {
-- 
1.7.2.3.7.gf6a98

← back to recent threads