diff --git a/scripts/repository/commit_hook.php b/scripts/repository/commit_hook.php --- a/scripts/repository/commit_hook.php +++ b/scripts/repository/commit_hook.php @@ -119,12 +119,14 @@ exit($err); } else if ($repository->isGit() || $repository->isHg()) { $username = getenv(DiffusionCommitHookEngine::ENV_USER); - if (!phutil_nonempty_string($username)) { - throw new Exception( - pht( - 'No Direct Pushes: You are pushing directly to a hosted repository. '. - 'This will not work. See "No Direct Pushes" in the documentation '. - 'for more information.')); + if ($username !== false) { + if (!phutil_nonempty_string($username)) { + throw new Exception( + pht( + 'No Direct Pushes: You are pushing directly to a hosted repository. '. + 'This will not work. See "No Direct Pushes" in the documentation '. + 'for more information.')); + } } if ($repository->isHg()) { @@ -181,18 +183,24 @@ $engine->setOriginalArgv(array_slice($argv, 2)); $remote_address = getenv(DiffusionCommitHookEngine::ENV_REMOTE_ADDRESS); -if (phutil_nonempty_string($remote_address)) { - $engine->setRemoteAddress($remote_address); +if ($remote_address !== false) { + if (phutil_nonempty_string($remote_address)) { + $engine->setRemoteAddress($remote_address); + } } $remote_protocol = getenv(DiffusionCommitHookEngine::ENV_REMOTE_PROTOCOL); -if (phutil_nonempty_string($remote_protocol)) { - $engine->setRemoteProtocol($remote_protocol); +if ($remote_protocol !== false) { + if (phutil_nonempty_string($remote_protocol)) { + $engine->setRemoteProtocol($remote_protocol); + } } $request_identifier = getenv(DiffusionCommitHookEngine::ENV_REQUEST); -if (phutil_nonempty_string($request_identifier)) { - $engine->setRequestIdentifier($request_identifier); +if ($request_identifier !== false) { + if (phutil_nonempty_string($request_identifier)) { + $engine->setRequestIdentifier($request_identifier); + } } try {