Page MenuHomePhabricator

Fix an issue where non-ID changeset state keys were used as changeset IDs
ClosedPublic

Authored by epriestley on May 4 2020, 11:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, May 3, 7:57 AM
Unknown Object (File)
Wed, May 1, 8:17 AM
Unknown Object (File)
Thu, Apr 25, 1:55 AM
Unknown Object (File)
Thu, Apr 18, 6:22 AM
Unknown Object (File)
Tue, Apr 16, 4:06 AM
Unknown Object (File)
Thu, Apr 11, 9:34 AM
Unknown Object (File)
Mon, Apr 8, 6:44 PM
Unknown Object (File)
Mar 20 2024, 7:57 PM
Subscribers
None

Details

Summary

Ref T13519. This is a little fuzzy, but I think the workflow here is:

  • View an intradiff, generating an ephemeral comparison changeset with no changeset ID. This produces a state key of "*".
  • Apply "hidden" state changes to the changeset.
  • View some other intradiff and/or diff view.
  • The code attempts to use "*" as a changset ID?

I'm not entirely sure this is accurate; this was observed in production and I couldn't get a clean reproduction case locally.

Optimistically, try making changeset IDs explicit rather than relying on state keys to be "usually changeset-ID-like".

Test Plan

Used "hidden" locally across multiple intradiffs, but I wasn't cleanly able to reproduce the initial issue.

Diff Detail

Repository
rP Phabricator
Branch
changeset1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 24361
Build 33560: Run Core Tests
Build 33559: arc lint + arc unit