Page MenuHomePhabricator

Separate "shouldPublishRef()" from "isPermanentRef()" and set "IMPORTED_PERMANENT" more narrowly
ClosedPublic

Authored by epriestley on Jan 22 2021, 10:09 PM.
Tags
None
Referenced Files
F18103969: D21515.id51209.diff
Sun, Aug 10, 8:59 AM
F18101319: D21515.diff
Sat, Aug 9, 12:26 PM
F18098197: D21515.id51214.diff
Fri, Aug 8, 7:11 PM
F18094577: D21515.id.diff
Thu, Aug 7, 10:13 PM
F18090839: D21515.diff
Wed, Aug 6, 5:56 PM
F17849668: D21515.id51209.diff
Sun, Jul 27, 8:58 AM
F17756232: D21515.id51214.diff
Tue, Jul 22, 1:52 PM
F17756231: D21515.id51209.diff
Tue, Jul 22, 1:52 PM
Subscribers
None

Details

Summary

Ref T13591. Currently, the "IMPORTED_PERMANENT" flag (previously "IMPORTED_CLOSEABLE", until D21514) flag is set by using the result of "shouldPublishRef()".

This method returns the wrong value for the flag when there is a repository-level reason not to publish the ref (most commonly, because the repository is currently importing).

Although it's correct that commits should not be published in an importing repository, that's already handled in the "PublishWorker" by testing "shouldPublishCommit()". The "IMPORTED_PERMANENT" flag should only reflect whether a commit is reachable from a permanent ref or not.

  • Move the relevant logic to a new method in Publisher.
  • Fill "IMPORTED_PERMANENT" narrowly from "isPermanentRef()", rather than broadly from "shouldPublishRef()".
  • Deduplicate some logic in "PhabricatorRepositoryRefEngine" which has the same intent as the logic in the Publisher.
Test Plan
  • Ran discovery on a new repository, saw permanent commits marked as permanent from the beginning.
  • See later changes in this patch series for additional testing.

Diff Detail

Repository
rP Phabricator
Branch
repair3
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 25020
Build 34522: Run Core Tests
Build 34521: arc lint + arc unit

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Jan 23 2021, 3:51 AM
This revision was automatically updated to reflect the committed changes.