# # # patch "NEWS" # from [5fd4052f300ee5bd7c68c2d631cc5f93dd9fd752] # to [64240dcb7bd676dc7168901d254faf3ae1e5c684] # # patch "std_hooks.lua" # from [8d713fef5bf9921b78ac24e07f6d837524e35e9a] # to [a8ce32582e19e799eef97ddb45e91418c8b24fcc] # ============================================================ --- NEWS 5fd4052f300ee5bd7c68c2d631cc5f93dd9fd752 +++ NEWS 64240dcb7bd676dc7168901d254faf3ae1e5c684 @@ -35,6 +35,9 @@ xxx xxx xx xx:xx:xx UTC 2010 Other + - Support for the diffuse merger (http://diffuse.sourceforge.net) + has been added. + Sun Mar 14 21:15:06 UTC 2010 0.47 release. ============================================================ --- std_hooks.lua 8d713fef5bf9921b78ac24e07f6d837524e35e9a +++ std_hooks.lua a8ce32582e19e799eef97ddb45e91418c8b24fcc @@ -471,10 +471,10 @@ mergers.meld = { mergers.meld = { cmd = function (tbl) - io.write (string.format("\nWARNING: 'meld' was chosen to perform ".. - "an external 3-way merge.\n".. - "You must merge all changes to the ".. - "*CENTER* file.")) + io.write(string.format( + "\nWARNING: 'meld' was chosen to perform an external 3-way merge.\n".. + "You must merge all changes to the *CENTER* file.\n\n" + )) local path = "meld" local ret = execute(path, tbl.lfile, tbl.afile, tbl.rfile) if (ret ~= 0) then @@ -487,6 +487,24 @@ mergers.meld = { wanted = function () return true end } +mergers.diffuse = { + cmd = function (tbl) + io.write(string.format( + "\nWARNING: 'diffuse' was chosen to perform an external 3-way merge.\n".. + "You must merge all changes to the *CENTER* file.\n\n" + )) + local path = "diffuse" + local ret = execute(path, tbl.lfile, tbl.afile, tbl.rfile) + if (ret ~= 0) then + io.write(string.format(gettext("Error running merger '%s'\n"), path)) + return false + end + return tbl.afile + end , + available = function () return program_exists_in_path("diffuse") end, + wanted = function () return true end +} + mergers.tortoise = { cmd = function (tbl) local path = "tortoisemerge" @@ -858,7 +876,8 @@ function get_preferred_merge3_command (t end function get_preferred_merge3_command (tbl) - local default_order = {"kdiff3", "xxdiff", "opendiff", "tortoise", "emacs", "vim", "meld", "diffutils"} + local default_order = {"diffuse", "kdiff3", "xxdiff", "opendiff", + "tortoise", "emacs", "vim", "meld", "diffutils"} local function existmerger(name) local m = mergers[name] if type(m) == "table" and m.available(tbl) then