Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> --- contrib/remote-helpers/git-remote-hg | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg index 503a9fc..247b7cb 100755 --- a/contrib/remote-helpers/git-remote-hg +++ b/contrib/remote-helpers/git-remote-hg @@ -427,6 +427,14 @@ def parse_blob(parser): parser.next() return +def get_merge_files(repo, p1, p2, files): + for e in repo[p1].files(): + if e not in files: + if e not in repo[p1].manifest(): + continue + f = { 'ctx' : repo[p1][e] } + files[e] = f + def parse_commit(parser): global marks, blob_marks, bmarks, parsed_refs @@ -470,6 +478,8 @@ def parse_commit(parser): of = files[f] if 'deleted' in of: raise IOError + if 'ctx' in of: + return of['ctx'] is_exec = of['mode'] == 'x' is_link = of['mode'] == 'l' return context.memfilectx(f, of['data'], is_link, is_exec, None) @@ -492,6 +502,13 @@ def parse_commit(parser): else: p2 = '\0' * 20 + # + # If files changed from any of the parents, hg wants to know, but in git if + # nothing changed from the first parent, nothing changed. + # + if merge_mark: + get_merge_files(repo, p1, p2, files) + ctx = context.memctx(repo, (p1, p2), data, files.keys(), getfilectx, user, (date, tz), extra) -- 1.8.0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html