From bb2e9a0394a48f4ef3576e8d91607e8129b2b716 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers@google.com>
Date: Fri, 8 Jul 2022 14:55:46 -0700
Subject: [PATCH] Fix PHP 8.1 incompatibility with `arc patch D<12345>`

Fixes the following observed error with PHP 8.1:

  EXCEPTION: (RuntimeException) preg_match(): Passing null to parameter phacility#2 ($subject) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261]
  arcanist(head=master, ref.master=acec17af414f)
    #0 PhutilErrorHandler::handleError(integer, string, string, integer)
    phacility#1 preg_match(string, NULL, NULL) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:603]
    phacility#2 ArcanistGitAPI::getCanonicalRevisionName(NULL) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:1146]
    phacility#3 ArcanistGitAPI::hasLocalCommit(NULL) called at [<arcanist>/src/workflow/ArcanistPatchWorkflow.php:433]
    phacility#4 ArcanistPatchWorkflow::run() called at [<arcanist>/src/workflow/ArcanistPatchWorkflow.php:398]
    phacility#5 ArcanistPatchWorkflow::run() called at [<arcanist>/scripts/arcanist.php:427]

Link: https://secure.phabricator.com/book/phabcontrib/article/contributing_code/
Link: https://reviews.llvm.org/D129232#3634072
Suggested-by: Yuanfang Chen <yuanfang.chen@sony.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
 src/differential/ArcanistDifferentialDependencyGraph.php | 3 ++-
 src/lint/linter/ArcanistScriptAndRegexLinter.php         | 2 +-
 src/repository/api/ArcanistGitAPI.php                    | 3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/differential/ArcanistDifferentialDependencyGraph.php b/src/differential/ArcanistDifferentialDependencyGraph.php
index 64e2f9c71c20..fbc4e6594f0e 100644
--- a/src/differential/ArcanistDifferentialDependencyGraph.php
+++ b/src/differential/ArcanistDifferentialDependencyGraph.php
@@ -42,7 +42,8 @@ final class ArcanistDifferentialDependencyGraph extends AbstractDirectedGraph {
     $edges = array();
     foreach ($dependencies as $dependency) {
       $dependency_revision = $this->getCommitHashFromDict($dependency);
-      if ($repository_api->hasLocalCommit($dependency_revision)) {
+      if (phutil_nonempty_string($dependency_revision) &&
+          $repository_api->hasLocalCommit($dependency_revision)) {
         $edges[$dependency['phid']] = array();
         continue;
       }
diff --git a/src/lint/linter/ArcanistScriptAndRegexLinter.php b/src/lint/linter/ArcanistScriptAndRegexLinter.php
index 0c3d9d9a11ca..b9f6924ec997 100644
--- a/src/lint/linter/ArcanistScriptAndRegexLinter.php
+++ b/src/lint/linter/ArcanistScriptAndRegexLinter.php
@@ -338,7 +338,7 @@ final class ArcanistScriptAndRegexLinter extends ArcanistLinter {
     }
 
     $line = idx($match, 'line');
-    if (strlen($line)) {
+    if (phutil_nonempty_string($line) && strlen($line)) {
       $line = (int)$line;
       if (!$line) {
         $line = 1;
diff --git a/src/repository/api/ArcanistGitAPI.php b/src/repository/api/ArcanistGitAPI.php
index 6c6d2ac42a19..13907d5634be 100644
--- a/src/repository/api/ArcanistGitAPI.php
+++ b/src/repository/api/ArcanistGitAPI.php
@@ -1143,7 +1143,8 @@ final class ArcanistGitAPI extends ArcanistRepositoryAPI {
 
   public function hasLocalCommit($commit) {
     try {
-      if (!$this->getCanonicalRevisionName($commit)) {
+      if (!phutil_nonempty_string($commit) ||
+          !$this->getCanonicalRevisionName($commit)) {
         return false;
       }
     } catch (CommandException $exception) {
-- 
2.37.0.rc0.161.g10f37bed90-goog

