Page MenuHomePhabricator

D20127.id48046.diff
No OneTemporary

D20127.id48046.diff

diff --git a/src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php b/src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php
--- a/src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php
+++ b/src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php
@@ -147,7 +147,6 @@
->withPHIDs(mpull($audits, 'getAuditorPHID'))
->execute();
-
foreach ($audits as $audit) {
$commit = $commits[$audit->getCommitPHID()];
@@ -170,10 +169,19 @@
'and can not be recovered.',
count($audits));
if ($console->confirm($message)) {
+ $synchronize_phids = array();
+
foreach ($audits as $audit) {
$id = $audit->getID();
$console->writeOut("%s\n", pht('Deleting audit %d...', $id));
$audit->delete();
+
+ $commit_phid = $audit->getCommitPHID();
+ $synchronize_phids[$commit_phid] = $commit_phid;
+ }
+
+ foreach ($synchronize_phids as $commit_phid) {
+ $this->synchronizeCommitAuditState($commit_phid);
}
}
}
diff --git a/src/applications/audit/management/PhabricatorAuditManagementWorkflow.php b/src/applications/audit/management/PhabricatorAuditManagementWorkflow.php
--- a/src/applications/audit/management/PhabricatorAuditManagementWorkflow.php
+++ b/src/applications/audit/management/PhabricatorAuditManagementWorkflow.php
@@ -87,4 +87,39 @@
return $commits;
}
+ protected function synchronizeCommitAuditState($commit_phid) {
+ $viewer = $this->getViewer();
+
+ $commit = id(new DiffusionCommitQuery())
+ ->setViewer($viewer)
+ ->withPHIDs(array($commit_phid))
+ ->needAuditRequests(true)
+ ->executeOne();
+ if (!$commit) {
+ return;
+ }
+
+ $old_status = $commit->getAuditStatusObject();
+ $commit->updateAuditStatus($commit->getAudits());
+ $new_status = $commit->getAuditStatusObject();
+
+ if ($old_status->getKey() == $new_status->getKey()) {
+ echo tsprintf(
+ "%s\n",
+ pht(
+ 'No synchronization changes for "%s".',
+ $commit->getDisplayName()));
+ } else {
+ echo tsprintf(
+ "%s\n",
+ pht(
+ 'Synchornizing "%s": "%s" -> "%s".',
+ $commit->getDisplayName(),
+ $old_status->getName(),
+ $new_status->getName()));
+
+ $commit->save();
+ }
+ }
+
}
diff --git a/src/applications/audit/management/PhabricatorAuditSynchronizeManagementWorkflow.php b/src/applications/audit/management/PhabricatorAuditSynchronizeManagementWorkflow.php
--- a/src/applications/audit/management/PhabricatorAuditSynchronizeManagementWorkflow.php
+++ b/src/applications/audit/management/PhabricatorAuditSynchronizeManagementWorkflow.php
@@ -6,7 +6,10 @@
protected function didConstruct() {
$this
->setName('synchronize')
- ->setExamples('**synchronize** ...')
+ ->setExamples(
+ "**synchronize** __repository__ ...\n".
+ "**synchronize** __commit__ ...\n".
+ "**synchronize** --all")
->setSynopsis(pht('Update audit status for commits.'))
->setArguments(
array_merge(
@@ -21,36 +24,7 @@
foreach ($objects as $object) {
$commits = $this->loadCommitsForConstraintObject($object);
foreach ($commits as $commit) {
- $commit = id(new DiffusionCommitQuery())
- ->setViewer($viewer)
- ->withPHIDs(array($commit->getPHID()))
- ->needAuditRequests(true)
- ->executeOne();
- if (!$commit) {
- continue;
- }
-
- $old_status = $commit->getAuditStatusObject();
- $commit->updateAuditStatus($commit->getAudits());
- $new_status = $commit->getAuditStatusObject();
-
- if ($old_status->getKey() == $new_status->getKey()) {
- echo tsprintf(
- "%s\n",
- pht(
- 'No changes for "%s".',
- $commit->getDisplayName()));
- } else {
- echo tsprintf(
- "%s\n",
- pht(
- 'Updating "%s": "%s" -> "%s".',
- $commit->getDisplayName(),
- $old_status->getName(),
- $new_status->getName()));
-
- $commit->save();
- }
+ $this->synchronizeCommitAuditState($commit->getPHID());
}
}
}

File Metadata

Mime Type
text/plain
Expires
Sun, Sep 21, 9:37 PM (2 w, 2 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
8892140
Default Alt Text
D20127.id48046.diff (4 KB)

Event Timeline