git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: George Brown <321.george@gmail.com>
Cc: git@vger.kernel.org, peff@peff.net
Subject: Re: [PATCH] contrib/git-jump: cat output when not a terminal
Date: Sun, 10 May 2020 12:38:53 -0700	[thread overview]
Message-ID: <xmqqftc7twaa.fsf@gitster.c.googlers.com> (raw)
In-Reply-To: <xmqqk11jtxl3.fsf@gitster.c.googlers.com> (Junio C. Hamano's message of "Sun, 10 May 2020 12:10:48 -0700")

Junio C Hamano <gitster@pobox.com> writes:

> Because this is a new feature, instead of breaking existing users
> and forcing them to do something different they did not have to
> (namely, set and export the GIT_JUMP_IGNORE_STDOUT_CHECK environment
> variable), we should instead make this a non-default behaviour and
> those who want it should explicitly opt-in to trigger it, perhaps
> like:
>
>         open_editor() {
>                 if ! test -t 1 && test -n "$GIT_JUMP_AUTO_CAT"
>                 then
>                         cat "$1"
>                 else
>                         editor=`git var GIT_EDITOR`
>                         eval "$editor -q \$1"
>                 fi
>         }
>
> so that existing users won't get affected by this change at all,
> while allowing you and other vim users to set and export the
> environment variable just once.  
>
> Unilaterally breaking, and ignoring when you are told you are
> breaking, possible existing users, without giving them any escape
> hatch, is simply irresponsible, and not something done in this
> project.  But I am sensing that you are not listening to and
> thinking about what you hear before you respond, so I will stop
> spending time on this topic for now, and wait until others chime in.

Well, I lied ;-) 

I somehow doubt that users of vim types "!git jump diff" (or
whichever submode they want) from within vim's command prompt;
wouldn't they typically wrap the invocation in a vim macro?

If my suspicion is correct, with an opt-in feature like the above
(which is designed not to hurt existing users), the vim users can
change their macro definition to not just invoke "git jump
<whatever>", but invoke "GIT_JUMP_AUTO_CAT=yes git jump <whatever>",
i.e. tell "git jump" that you are opting into the "cat the file,
instead of launching GIT_EDITOR".  So with just a one-time setting,
vim (and other similar editor) users would benefit without hurting
others.

For that matter, instead of introducing GIT_JUMP_AUTO_CAT, the same
mechanism can be used to run "GIT_EDITOR=cat git jump <whatever>",
i.e. tell "git jump" that it is expected to run "cat" as its
editor, from such a vim macro ;-)

  parent reply	other threads:[~2020-05-10 19:39 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-09 19:15 [PATCH] contrib/git-jump: cat output when not a terminal George Brown
2020-05-09 21:41 ` Junio C Hamano
2020-05-09 22:04   ` George Brown
2020-05-09 23:42     ` Junio C Hamano
2020-05-10  9:03       ` George Brown
2020-05-10 16:47         ` Junio C Hamano
2020-05-10 17:33           ` George Brown
2020-05-10 18:12             ` Junio C Hamano
2020-05-10 18:34               ` George Brown
2020-05-10 19:10                 ` Junio C Hamano
2020-05-10 19:25                   ` George Brown
2020-05-10 19:38                   ` Junio C Hamano [this message]
2020-05-10 20:20                     ` George Brown
2020-05-11 14:31                       ` Junio C Hamano
2020-05-11 14:31                 ` Jeff King
2020-05-11 15:36                   ` Junio C Hamano
2020-05-11 15:42                     ` Jeff King
2020-05-11 16:46                       ` Re* " Junio C Hamano
2020-05-12 19:23                         ` Jeff King
2020-05-12 21:30                           ` Junio C Hamano
2020-05-13  4:52                             ` Jeff King
  -- strict thread matches above, loose matches on Subject: below --
2020-05-10 20:26 Benjamin
2020-05-11 14:33 ` Junio C Hamano

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqftc7twaa.fsf@gitster.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=321.george@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).