Page MenuHomePhabricator

Separate changeset analysis code from DifferentialDiff and provide a standalone `rebuild-changesets` workflow
ClosedPublic

Authored by epriestley on May 16 2018, 3:45 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 1, 2:46 PM
Unknown Object (File)
Sun, Mar 31, 2:32 PM
Unknown Object (File)
Sun, Mar 31, 2:32 PM
Unknown Object (File)
Sun, Mar 31, 2:32 PM
Unknown Object (File)
Sun, Mar 31, 2:32 PM
Unknown Object (File)
Thu, Mar 28, 6:11 PM
Unknown Object (File)
Feb 11 2024, 2:16 AM
Unknown Object (File)
Jan 6 2024, 11:28 AM
Subscribers
None

Details

Summary

Ref T13137. The "analyze/cache data about changesets" step is becoming more involved. We recently added detection for generated code to support "Ignore generated changes" in Owners, and I now plan to hash the new file content so we can hide changes which have no effect.

Before adding this new hashing step, pull the "detect copied code" and "detect generated code" stuff out and move them to a separate ChangesetEngine. Then support doing a changeset rebuild directly with bin/differential rebuild-changesets.

This simplifies things a bit and makes testing easier since you don't need to keep creating new revisions to re-run copy/generated/hash logic.

Test Plan

Ran bin/differential rebuild-changesets --revision Dxxx, saw changesets rebuild. See also next change.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

I only really looked at PhabricatorDifferentialRebuildChangesetsWorkflow, assuming that the other changes are just direct cut and pastes.

This revision is now accepted and ready to land.May 16 2018, 5:26 PM

Yeah, they're just moves with some minor tweaks (removing static, etc.)