mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-02 09:58:24 +01:00
When triggering audits, respect committer identities when importing commits
Summary: Ref T13311. We currently don't use committer identity mappings when triggering audits, so if a user is only associated with an identity via manual mapping we won't treat them as the author. Instead, use the identity and manual mapping if they're available. Test Plan: - Pushed a commit as `xyz <xyz@example.org>`, an address with no corresponding user. - In the UI, manually associated that identity with user `@alice`. - Ran `bin/repository reparse --publish <hash>` to trigger audits and publishing for the commit. - Before: observed the `$author_phid` was `null`. - After: observed the `$author_phid` is Alice. Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13311 Differential Revision: https://secure.phabricator.com/D20580
This commit is contained in:
parent
4af73a625f
commit
4450c90881
2 changed files with 13 additions and 1 deletions
|
@ -466,6 +466,18 @@ final class PhabricatorRepositoryCommit
|
|||
return $data->getCommitDetail('authorPHID');
|
||||
}
|
||||
|
||||
public function getEffectiveAuthorPHID() {
|
||||
if ($this->hasAuthorIdentity()) {
|
||||
$identity = $this->getAuthorIdentity();
|
||||
if ($identity->hasEffectiveUser()) {
|
||||
return $identity->getCurrentEffectiveUserPHID();
|
||||
}
|
||||
}
|
||||
|
||||
$data = $this->getCommitData();
|
||||
return $data->getCommitDetail('authorPHID');
|
||||
}
|
||||
|
||||
public function getAuditStatusObject() {
|
||||
$status = $this->getAuditStatus();
|
||||
return DiffusionCommitAuditStatus::newForStatus($status);
|
||||
|
|
|
@ -147,7 +147,7 @@ final class PhabricatorRepositoryCommitPublishWorker
|
|||
|
||||
$data = $commit->getCommitData();
|
||||
|
||||
$author_phid = $data->getCommitDetail('authorPHID');
|
||||
$author_phid = $commit->getEffectiveAuthorPHID();
|
||||
|
||||
$revision = DiffusionCommitRevisionQuery::loadRevisionForCommit(
|
||||
$viewer,
|
||||
|
|
Loading…
Add table
Reference in a new issue