Merge branch 'en/merge-directory-renames-fix'
authorJunio C Hamano <gitster@pobox.com>
Thu, 6 Jun 2019 21:03:36 +0000 (14:03 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Jun 2019 21:03:36 +0000 (14:03 -0700)
Recent code restructuring of merge-recursive engine introduced a
regression dealing with rename/add conflict.

* en/merge-directory-renames-fix:
merge-recursive: restore accidentally dropped setting of path

1  2 
merge-recursive.c
diff --combined merge-recursive.c
index a7bcfcbeb44679057a0429fd6641627796ad6d40,917b9229eb8695d93f78e355a8e702fe101ea76e..d2e380b7ed845e6fb2cd5616754a3f12a11c7b18
@@@ -163,11 -163,6 +163,11 @@@ static struct tree *shift_tree_object(s
        return lookup_tree(repo, &shifted);
  }
  
 +static inline void set_commit_tree(struct commit *c, struct tree *t)
 +{
 +      c->maybe_tree = t;
 +}
 +
  static struct commit *make_virtual_commit(struct repository *repo,
                                          struct tree *tree,
                                          const char *comment)
        struct commit *commit = alloc_commit_node(repo);
  
        set_merge_remote_desc(commit, comment, (struct object *)commit);
 -      commit->maybe_tree = tree;
 +      set_commit_tree(commit, tree);
        commit->object.parsed = 1;
        return commit;
  }
@@@ -1081,7 -1076,7 +1081,7 @@@ static int find_first_merges(struct rep
        struct commit *commit;
        int contains_another;
  
 -      char merged_revision[42];
 +      char merged_revision[GIT_MAX_HEXSZ + 2];
        const char *rev_args[] = { "rev-list", "--merges", "--ancestry-path",
                                   "--all", merged_revision, NULL };
        struct rev_info revs;
@@@ -1660,6 -1655,7 +1660,7 @@@ static int handle_rename_add(struct mer
               c->path, add_branch);
  
        prev_path_desc = xstrfmt("version of %s from %s", path, a->path);
+       ci->ren1->src_entry->stages[other_stage].path = a->path;
        if (merge_mode_and_contents(opt, a, c,
                                    &ci->ren1->src_entry->stages[other_stage],
                                    prev_path_desc,