Somebody wrote those `pushd` and `popd` lines without testing them. Redirections bind tighter than `||` so those lines were always spamming the console. Using `set -e` is more reliable than always checking exit codes anyway.