Skip to content

Conversation

@chrisdarroch
Copy link

Running git fetch <remote> in git 1.8+ outputs nothing to STDOUT or STDERR if the remote is up-to-date. By changing the fetch command to use --verbose, we ensure something is always output when git fetch runs, even if the remote is up-to-date. This will prevent the IO.pipe from hanging when executing the git fetch command.

For bonus points, I switched to using Open3#popen2e instead of using Kernel#exec. Now the handling of sub-processes is abstracted away, and we can wait for, read and handle the exit status of the process more deterministically.

Running `git fetch <remote>` in git 1.8+ outputs nothing to STDOUT or STDERR if the remote is up-to-date. By changing the fetch command to use --verbose, we ensure something is always output when git fetch runs, even if the remote is up-to-date. This will prevent the IO.pipe from hanging when executing the git fetch command.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant