do
local std_merge3_from_merge_changelog = merge3
function merge3 (anc_path, left_path, right_path, merged_path, ancestor, left, right)
if merged_path == "ChangeLog" then
local ret
local lfile = write_to_temporary_file (left)
local afile = write_to_temporary_file (ancestor)
local rfile = write_to_temporary_file (right)
local outfile = write_to_temporary_file ("")
local res = execute("merge.ChangeLog", afile, lfile, rfile, outfile)
if res == 0 then
ret = read_contents_of_file (outfile, "r")
if string.len(ret) then
return ret
end
end
end
return std_merge3_from_merge_changelog(anc_path, left_path, right_path, merged_path, ancestor, left, right)
end
end