All of lore.kernel.org
 help / color / mirror / Atom feed
* Why does git-mergetool use /dev/tty?
@ 2010-08-24  1:49 Brian Gernhardt
  2010-08-24  1:53 ` Jonathan Nieder
  2010-08-24  6:43 ` Charles Bailey
  0 siblings, 2 replies; 5+ messages in thread
From: Brian Gernhardt @ 2010-08-24  1:49 UTC (permalink / raw)
  To: Git Mailing List, Charles Bailey, Theodore Ts'o

git-mergetool.sh, lines 298-302:
>     if test $last_status -ne 0; then
>         prompt_after_failed_merge < /dev/tty || exit 1
>     fi
>     printf "\n"
>     merge_file "$i" < /dev/tty > /dev/tty

Why does git-mergetool ignore the provided STDIN and STDOUT when not given a path to merge?

This wasn't apparent until bb0a484: "mergetool: Skip autoresolved paths" added a test that doesn't provide a file to merge on the command line.

~~ Brian Gernhardt

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Why does git-mergetool use /dev/tty?
  2010-08-24  1:49 Why does git-mergetool use /dev/tty? Brian Gernhardt
@ 2010-08-24  1:53 ` Jonathan Nieder
  2010-08-24  1:58   ` Brian Gernhardt
  2010-08-24  6:43 ` Charles Bailey
  1 sibling, 1 reply; 5+ messages in thread
From: Jonathan Nieder @ 2010-08-24  1:53 UTC (permalink / raw)
  To: Brian Gernhardt; +Cc: Git Mailing List, Charles Bailey, Theodore Ts'o

Brian Gernhardt wrote:

> Why does git-mergetool ignore the provided STDIN and STDOUT when not given a path to merge?

See af314714 (mergetool: Remove explicit references to /dev/tty,
2010-08-20) in pu.

Hope that helps,
Jonathan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Why does git-mergetool use /dev/tty?
  2010-08-24  1:53 ` Jonathan Nieder
@ 2010-08-24  1:58   ` Brian Gernhardt
  0 siblings, 0 replies; 5+ messages in thread
From: Brian Gernhardt @ 2010-08-24  1:58 UTC (permalink / raw)
  To: Jonathan Nieder; +Cc: Git Mailing List, Charles Bailey, Theodore Ts'o


On Aug 23, 2010, at 9:53 PM, Jonathan Nieder wrote:

> Brian Gernhardt wrote:
> 
>> Why does git-mergetool ignore the provided STDIN and STDOUT when not given a path to merge?
> 
> See af314714 (mergetool: Remove explicit references to /dev/tty,
> 2010-08-20) in pu.
> 
> Hope that helps,

It does really help, actually.  One thing removed from my TODO.

~~ Brian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Why does git-mergetool use /dev/tty?
  2010-08-24  1:49 Why does git-mergetool use /dev/tty? Brian Gernhardt
  2010-08-24  1:53 ` Jonathan Nieder
@ 2010-08-24  6:43 ` Charles Bailey
  2010-08-24  7:04   ` Brian Gernhardt
  1 sibling, 1 reply; 5+ messages in thread
From: Charles Bailey @ 2010-08-24  6:43 UTC (permalink / raw)
  To: Brian Gernhardt; +Cc: Git Mailing List, Theodore Ts'o

On Mon, Aug 23, 2010 at 09:49:57PM -0400, Brian Gernhardt wrote:
> git-mergetool.sh, lines 298-302:
> >     if test $last_status -ne 0; then
> >         prompt_after_failed_merge < /dev/tty || exit 1
> >     fi
> >     printf "\n"
> >     merge_file "$i" < /dev/tty > /dev/tty
> 
> Why does git-mergetool ignore the provided STDIN and STDOUT when not given a path to merge?

It doesn't deliberately ignore them, it merely loses them because what
you've quoted is in the middle of a redirect, you snipped:

    files_to_merge |
    while IFS= read i
    do  

mergetool is designed to be an interactive tool and didn't originally
have any tests so this was a reasonable (if ugly) way to restore
access to the user for the merge_file function.

This is also why all the previous test provided an explict list of
files to merge, because this was the only testable way to invoke
mergetool.

There's a proposed patch to save and restore the original stdin
instead of assuming that there is a tty in pu: af314714.

If the current behaviour is causing an issue for you then testing this
fix would be appreciated.

Thanks,

Charles.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Why does git-mergetool use /dev/tty?
  2010-08-24  6:43 ` Charles Bailey
@ 2010-08-24  7:04   ` Brian Gernhardt
  0 siblings, 0 replies; 5+ messages in thread
From: Brian Gernhardt @ 2010-08-24  7:04 UTC (permalink / raw)
  To: Charles Bailey; +Cc: Git Mailing List, Theodore Ts'o


On Aug 24, 2010, at 2:43 AM, Charles Bailey wrote:

> There's a proposed patch to save and restore the original stdin
> instead of assuming that there is a tty in pu: af314714.
> 
> If the current behaviour is causing an issue for you then testing this
> fix would be appreciated.

The issue was spurious output during tests, which is fixed by af314714.

Thanks for the explanation though, I had missed that it was part of a pipeline.

~~ Brian

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-08-24  7:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-24  1:49 Why does git-mergetool use /dev/tty? Brian Gernhardt
2010-08-24  1:53 ` Jonathan Nieder
2010-08-24  1:58   ` Brian Gernhardt
2010-08-24  6:43 ` Charles Bailey
2010-08-24  7:04   ` Brian Gernhardt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.