* 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.