From: Theodore Tso <tytso@mit.edu>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jason Sewall <jasonsewall@gmail.com>,
Sam Vilain <sam.vilain@catalyst.net.nz>,
git@vger.kernel.org
Subject: Re: [PATCH] git-mergetool: add support for ediff
Date: Mon, 2 Jul 2007 10:48:00 -0400 [thread overview]
Message-ID: <20070702144800.GA4720@thunk.org> (raw)
In-Reply-To: <7vr6nrz9yx.fsf@assigned-by-dhcp.cox.net>
On Sun, Jul 01, 2007 at 09:49:10PM -0700, Junio C Hamano wrote:
> The reason I personally use emacsclient is not about the
> start-up delay, but with the access to existing buffers,
> keyboard macros, Gnus buffers, ... IOW the access to the
> "session" while editing. I suspect people with long running
> Emacs session use emacsclient for that reason.
Sure, but do you need access to existing buffers, keyboard, macros,
etc., if you're simply firing up an emacs to handle a merge conflict?
If the goal is just to run a merge application, then firing up a
separate process makes a lot more sense.
One other thing which I just noticed is that emacs21's emacsclient
does NOT support the -f or -e option. And a lot of people may still
be using emacs21. So in any case, at the moment we are in fact using
to fire up a separate process when using emerge or ediff. I suppose
we could try testing to see if the user is running emacs21 or emacs22
if EDITOR==emacsclient, but there's no easy way of doing this short of
doing something heavyweight such as firing up emacs and asking to eval
some lisp that prints the value of emacs-version to stdout. And even
then we would have to fix emerge to do the right thing when invoked
via emacsclient. Yuck...
This still leaves us with the question about whether the following to
fix ediff is acceptable:
emacs --eval "(progn (defun ediff-write-merge-buffer () (let ((file ediff-merge-store-file)) (set-buffer ediff-buffer-C) (write-region (point-min) (point-max) file) (message \"Merge buffer saved in: %s\" file) (set-buffer-modified-p nil) (sit-for 1))) (setq ediff-quit-hook 'kill-emacs ediff-quit-merge-hook 'ediff-write-merge-buffer) (ediff-merge-files-with-ancestor \"$LOCAL\" \"$REMOTE\" \"$BASE\" nil \"$path\"))"
In my mind it's on the hairy edge. Alternatively we just never use
ediff by default, and assume that either expert users can hack their
.emacs.el file to have the right overrides will use ediff, or who are
willing to put up with ediff's user-hostile approach to quitting an
merge session.
- Ted
next prev parent reply other threads:[~2007-07-02 14:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-29 1:00 [PATCH] git-mergetool: add support for ediff Sam Vilain
2007-06-29 1:31 ` Jason Sewall
2007-06-29 4:03 ` Theodore Tso
2007-07-02 2:04 ` Theodore Tso
2007-07-02 2:32 ` Junio C Hamano
2007-07-02 3:05 ` Theodore Tso
2007-07-02 4:49 ` Junio C Hamano
2007-07-02 14:48 ` Theodore Tso [this message]
2007-07-02 23:11 ` Junio C Hamano
2007-07-02 21:32 ` Sam Vilain
2007-07-02 21:58 ` Theodore Tso
2007-07-02 22:16 ` Theodore Tso
2007-07-02 23:19 ` Sam Vilain
2007-07-03 1:09 ` Theodore Tso
2007-07-03 6:27 ` Sam Vilain
2007-07-28 9:22 ` David Kastrup
2007-07-29 2:38 ` Theodore Tso
2007-07-29 8:54 ` David Kastrup
-- strict thread matches above, loose matches on Subject: below --
2007-06-30 8:56 a bunch of outstanding updates Sam Vilain
2007-06-30 8:56 ` [PATCH] repack: improve documentation on -a option Sam Vilain
2007-06-30 8:56 ` [PATCH] git-svn: use git-log rather than rev-list | xargs cat-file Sam Vilain
2007-06-30 8:56 ` [PATCH] git-svn: cache max revision in rev_db databases Sam Vilain
2007-06-30 8:56 ` [PATCH] GIT-VERSION-GEN: don't convert - delimiter to .'s Sam Vilain
2007-06-30 8:56 ` [PATCH] git-remote: document -n Sam Vilain
2007-06-30 8:56 ` [PATCH] git-remote: allow 'git-remote fetch' as a synonym for 'git fetch' Sam Vilain
2007-06-30 8:56 ` [PATCH] git-merge-ff: fast-forward only merge Sam Vilain
2007-06-30 8:56 ` [PATCH] git-mergetool: add support for ediff Sam Vilain
2007-06-30 17:19 ` Junio C Hamano
2007-07-01 22:33 ` Sam Vilain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070702144800.GA4720@thunk.org \
--to=tytso@mit.edu \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jasonsewall@gmail.com \
--cc=sam.vilain@catalyst.net.nz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).