Re: Issue with git > 2.36.1 and pre-commit hook on macOS M1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 14.12.2022 23:23, René Scharfe wrote:

I don't know "docker compose" well enough to say whether it's a bug,
but it seems it turns on some kind of terminal mode that needs both
stdin and stdout to be connected to a TTY after only checking that one
of them actually is.  Why not check both?

Curious that only macOS should be affected.  Is stdin of a hook script a
TTY on that platform?  Or can "docker compose" handle stdin not being a
TTY and stdout being one there?

René

Well, seems like I somehow tested this wrong. Tried it again from scratch and on linux I also get this error. So this looks like not a bug. Docker compose CLI options page is a little confusing because of these:

>--interactive , -i  true  Keep STDIN open even if not attached.
>--no-TTY , -T true Disable pseudo-TTY allocation (default: auto-detected).
>--tty , -t          true  Allocate a pseudo-TTY.

Second column with `true` values is titled `Default`, whatever it means.
So `--tty` and `--no-TTY` is set by default? Anyway, seems like it is checking if at least one of stdout, stding, stderr is a tty and then tries to allocate a tty to all.

You can check docs here https://docs.docker.com/engine/reference/commandline/compose_run/#options

As a final solution I used makefile "magic" with `ifeq` and shell command like this:

    $(shell test -t 0)
    ifeq ($(.SHELLSTATUS), 1)
    ALLOCATE_TTY = --no-TTY
    endif

docker compose run $(ALLOCATE_TTY) --rm --entrypoint "" app /code/test.sh


Maybe I'll just write to to them to clarify documentation on how those TTY options actually works by default.

Thanks for help with this.
Piotr



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux