git-smart icon indicating copy to clipboard operation
git-smart copied to clipboard

Fix smart-pull hanging when remote repository is up to date.

Open chrisdarroch opened this issue 10 years ago • 0 comments

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.

chrisdarroch avatar May 10 '14 06:05 chrisdarroch