1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-22 14:52:40 +01:00

staging repo compatibility for older git versions

Summary:
The `--no-verify` flag was not added until git 1.8.2.  This
flag is used to avoid running local pre-push hooks.  This is likely a
rare configuration and is safe to omit the flag on older versions.
Users with local pre-push hooks **and** older git version may need to
adjust their workfow.

fixes T9310

Test Plan:
 * Ran `arc diff` with my real git 1.7.10.4 and succeeded with `STAGING
   PUSHED`.
 * Edited `getGitVersion` to be > 1.8.2 and pushed again.  Got
   `STAGING FAILED` because `error: unknown option`.

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: joshuaspence, epriestley

Maniphest Tasks: T9310

Differential Revision: https://secure.phabricator.com/D14033
This commit is contained in:
cburroughs 2015-09-02 06:52:11 -07:00 committed by epriestley
parent 9419cccdd2
commit 029e5a7c29

View file

@ -2667,8 +2667,13 @@ EOTEXT
pht('PUSH STAGING'), pht('PUSH STAGING'),
pht('Pushing changes to staging area...')); pht('Pushing changes to staging area...'));
$push_flags = array();
if (version_compare($api->getGitVersion(), '1.8.2', '>=')) {
$push_flags[] = '--no-verify';
}
$err = phutil_passthru( $err = phutil_passthru(
'git push --no-verify -- %s %s:refs/tags/%s', 'git push %Ls -- %s %s:refs/tags/%s',
$push_flags,
$staging_uri, $staging_uri,
$commit, $commit,
$tag); $tag);