# HG changeset patch # User Matt Mackall # Date 1245362163 18000 # Node ID 91e26fb24fb154ca55953a3445c514c7819e1e6b # Parent a9850eda29736a2a93e7bc9f09a6e837b56f5e8b filemerge: add internal:dump This create foo.{local,other,base} files for people to manually merge files while littering their working directory. diff -r a9850eda2973 -r 91e26fb24fb1 mercurial/filemerge.py --- a/mercurial/filemerge.py Thu Jun 18 16:56:02 2009 -0500 +++ b/mercurial/filemerge.py Thu Jun 18 16:56:03 2009 -0500 @@ -16,7 +16,8 @@ def _toolbool(ui, tool, part, default=False): return ui.configbool("merge-tools", tool + "." + part, default) -_internal = ['internal:' + s for s in 'fail local other merge prompt'.split()] +_internal = ['internal:' + s + for s in 'fail local other merge prompt dump'.split()] def _findtool(ui, tool): if tool in _internal: @@ -191,6 +192,12 @@ if tool == "internal:merge": r = simplemerge.simplemerge(ui, a, b, c, label=['local', 'other']) + elif tool == 'internal:dump': + a = repo.wjoin(fd) + util.copyfile(a, a + ".local") + repo.wwrite(a + ".other", fco.data(), fco.flags()) + repo.wwrite(a + ".base", fca.data(), fca.flags()) + return 1 # unresolved else: args = _toolstr(ui, tool, "args", '$local $base $other') if "$output" in args: