working in an emacs shell

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Aug 31 07:07:04 UTC 2015


Yes, ediff can be used as a 3-way merge tool.

Almost 99% of what you need is to fire up emacs with the right options in a
command like this:

*emacs -nw --eval "(ediff-merge-with-ancestor \"$LOCAL\" \"$REMOTE\"
\"$BASE\" nil \"$MERGED\")"*


I have been using this small wrapper script for several years now:
http://paste.lisp.org/display/154566

With the following lines to configure it a merge tool in my ~/.hgrc:

*[merge-tools]*
*ediff-merge.priority = 100*
*ediff-merge.check = changed*
*ediff-merge.args = $local $base $other*

*[ui]*
*merge = ediff-merge*


Nothing too fancy, but there's no reason why ediff cannot be a 3-way merge
tool.


On Tue, Aug 18, 2015 at 5:23 AM, Neal Becker <ndbecker2 at gmail.com> wrote:

> Boylan, Ross wrote:
>
> > Running in a bash shell under non-graphical emacs I did an hg merge, and
> > gibberish showed up on the screen when it tried to resolve conflicts.  My
> > guess is it was trying to run vi in this environment, because there were
> > messages about :quit.  Eventually I got out of it, but it was a mess.
> >
> > 1. Is there a better way to do this within an emacs shell?
> > https://mercurial.selenic.com/wiki/MergingWithEmacs has some notes, but
> > I'm not at all sure they are appropriate if already running in an emacs
> > shell.
> >
>
> Emacs has ediff, which is pretty powerful.  I don't know if it can be used
> as the merge tool for hg, but I'd think this would be the way to go.
>
> _______________________________________________
> Mercurial mailing list
> Mercurial at selenic.com
> https://selenic.com/mailman/listinfo/mercurial
>



-- 
Giorgos Keramidas; keramida at ceid.upatras.gr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20150831/bf0fb3d5/attachment-0002.html>


More information about the Mercurial mailing list