Page MenuHomePhabricator

Inconsistency in revision history vs state
Closed, ResolvedPublic

Description

A new revision was created via the web interface, and has a single transaction line shown, including setting repository, project and reviewers (by user).

Revision details have reviewers and project set correctly, but repository is not set.

A herald rule for "revision with no repo" was fired, and a rule for "revisions in that repo" didn't.

Event Timeline

avivey raised the priority of this task from to Needs Triage.
avivey updated the task description. (Show Details)
avivey added a subscriber: avivey.

I believe what's happening here is that the diff's setting for the field (which is empty) is overriding the revision's setting when the transactions are saved. Normally, when you update a revision, we copy the repositoryPHID from the diff to the revision.

In the case of web creation, we should skip this step, and/or move the "repository" field to the previous step (where you paste a diff in).

It fits - the diff was created by "by web" as well, and have null sourceControl* fields (I can't catch the developer to to ask questions).

Also if a new revision is created through the Web Interface and repository is specified, then it isn't saved. For example on http://qa.in-portal.org/D9 from action history you can see that repository was set on the form, but no repository appearing by the fact:

Phabricator_DifferentialLostRepository.png (796×1 px, 162 KB)