skyfmmf · GitHub

After updating stgit from 2.4.2 to 2.4.3 I observe the following behavior on macOS: when I open an interactive editor (vim in my case), it complains that the input is not a terminal. Afterwards, the terminal is broken and can only be fixed by running reset (note the additional indentation after stg edit, the calls to stg series are only to visualize the issue):

user@host$ stg series
+ change-foo
> add-bar
user@host$ stg edit
hint: Waiting for your editor to close the file... Vim: Warning: Input is not from a terminal
& add-bar
         > add-bar
                  %
user@host$ stg series
+ change-foo
            > add-bar
                     %
user@host$

When I do the same inside tmux, it gets even worse: inside vim, many keys do not work as expected, e.g., typing backspace produces ^? instead.

Environment info:

  • macOS
  • stgit 2.4.3
  • git 2.43.0
  • zsh 5.9
  • tmux 3.3a
  • vim 9.1

Bisecting between v2.4.2 and v2.4.3 shows that 048f182 ("fix: use gix-command for interactive edit") is the commit that introduced the bug. I assume that gix_command somehow messes with the stdin.

Read the original on github.com ↗