Page MenuHomePhabricator

Fix an issue where ancestors of permanent refs might not be published during import or if a branch is later made permanent
ClosedPublic

Authored by epriestley on Sep 25 2019, 3:48 PM.
Tags
None
Referenced Files
F14041995: D20829.id49660.diff
Mon, Nov 11, 11:31 PM
F14039269: D20829.id49660.diff
Mon, Nov 11, 4:51 AM
F14016088: D20829.diff
Mon, Nov 4, 5:14 AM
F14003873: D20829.diff
Sat, Oct 26, 11:50 AM
F13997544: D20829.diff
Thu, Oct 24, 5:01 AM
F13964813: D20829.id.diff
Oct 15 2024, 10:03 PM
Unknown Object (File)
Oct 2 2024, 8:13 PM
Unknown Object (File)
Oct 2 2024, 8:10 PM
Subscribers
Restricted Owners Package

Details

Summary

Fixes T13284. See that task for substantial discussion. There are currently two cases where we'll skip over commits which we should publish:

  • if a branch is not permanent, then later made permanent; or
  • in some cases, the first time we examine branches in a repository.

In both cases, this error is one-shot and things work correctly going forward. The root cause is conflation between the states "this ref currently permanent" and "this ref was permanent the last time we updated refs".

Separate these pieces of state and cover all these cases. Also introduce a "--rebuild" flag to fix the state of bad commits.

Test Plan

See T13284 for the three major cases:

  • initial import;
  • push changes to a nonpermanent branch, update, then make it permanent;
  • push chanegs to a nonpermanent branch, update, push more changes, then make it permanent.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Owners added a subscriber: Restricted Owners Package.Sep 25 2019, 3:48 PM
This revision was not accepted when it landed; it landed in state Needs Review.Sep 25 2019, 3:54 PM
This revision was automatically updated to reflect the committed changes.