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
F18843491: D21223.diff
Tue, Oct 28, 10:39 PM
F18827105: D21223.diff
Fri, Oct 24, 7:46 AM
F18817254: D21223.id50546.diff
Tue, Oct 21, 1:55 PM
F18753468: D21223.id50545.diff
Oct 4 2025, 7:00 PM
F18741141: D21223.id.diff
Oct 2 2025, 8:53 AM
F18739485: D21223.diff
Oct 1 2025, 9:40 PM
F18734291: D21223.id.diff
Sep 30 2025, 10:51 PM
F18695335: D21223.id.diff
Sep 27 2025, 5:25 AM
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
Lint
Lint Not Applicable
Unit
Tests Not Applicable