git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] contrib/git-jump: cat output when not a terminal

From
GBGeorge Brown <321.george@gmail.com>
Date
May 9, 2020, 22:04 UTC
Message-ID
<CAFKec1Wj_uK-moVfin3XrTEmmBaAzaJKsh1f8q-3+RBs2-3Jdg@mail.gmail.com>
In-Reply-To
<xmqqd07cvl9b.fsf@gitster.c.googlers.com>
Show 7 quoted lines
> The are editors that open their own window, or tell an already open
> editor instance to edit the buffer (think: emacsclient) and in order
> to be functional, they do not have to be launched from inside a
> working terminal window (whose input comes from the keyboard---the
> test "-t 1" is an approximate check for that).
>
> Wouldn't this change hurt the users of such an editor?

I'm unsure of emacsclient but I would have thought that editors in general would be more amenable to receiving lines than relying on additional spawned instances to behave as clients.

> Would it work to set GIT_EDITOR to "cat" while performing the
> "populating quickfix list" (whatever that is) operation?
It would, though I considered this to be less elegant.

Just for background the quickfix list in Vim is simply a list of locations that you can browse and jump to.

On Sat, 9 May 2020 at 22:41, Junio C Hamano <gitster@pobox.com> wrote:
Show 45 quoted lines
>
> George Brown <321.george@gmail.com> writes:
>
> > contrib/git-jump: cat output when not a terminal
> >
> > The current usage to populate Vim's quickfix list cannot be used from
> > within the editor as it invokes another instance.
> >
> > Check if stdout is to a terminal or not. If not simply cat the output.
>
> The are editors that open their own window, or tell an already open
> editor instance to edit the buffer (think: emacsclient) and in order
> to be functional, they do not have to be launched from inside a
> working terminal window (whose input comes from the keyboard---the
> test "-t 1" is an approximate check for that).
>
> Wouldn't this change hurt the users of such an editor?
>
> Would it work to set GIT_EDITOR to "cat" while performing the
> "populating quickfix list" (whatever that is) operation?
>
> > Signed-off-by: George Brown <321.george@gmail.com>
> > ---
> >  contrib/git-jump/git-jump | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/contrib/git-jump/git-jump b/contrib/git-jump/git-jump
> > index 931b0fe3a9..253341c64e 100755
> > --- a/contrib/git-jump/git-jump
> > +++ b/contrib/git-jump/git-jump
> > @@ -19,8 +19,12 @@ EOF
> >  }
> >
> >  open_editor() {
> > -    editor=`git var GIT_EDITOR`
> > -    eval "$editor -q \$1"
> > +    if test -t 1; then
> > +        editor=`git var GIT_EDITOR`
> > +        eval "$editor -q \$1"
> > +    else
> > +        cat "$1"
> > +    fi
> >  }
> >
> >  mode_diff() {
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 21 in “contrib/git-jump: cat output when not a terminal”
  1. contrib/git-jump: cat output when not a terminalGeorge Brown, May 9, 2020
  2. Junio C HamanoMay 9, 2020
  3. George BrownMay 9, 2020
  4. Junio C HamanoMay 9, 2020
  5. George BrownMay 10, 2020
  6. Junio C HamanoMay 10, 2020
  7. George BrownMay 10, 2020
  8. Junio C HamanoMay 10, 2020
  9. George BrownMay 10, 2020
  10. Junio C HamanoMay 10, 2020
  11. George BrownMay 10, 2020
  12. Junio C HamanoMay 10, 2020
  13. George BrownMay 10, 2020
  14. Junio C HamanoMay 11, 2020
  15. Jeff KingMay 11, 2020
  16. Junio C HamanoMay 11, 2020
  17. Jeff KingMay 11, 2020
  18. Re* [PATCH] contrib/git-jump: cat output when not a terminalJunio C Hamano, May 11, 2020
  19. Jeff KingMay 12, 2020
  20. Junio C HamanoMay 12, 2020
  21. Jeff KingMay 13, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.