1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-13 10:22:42 +01:00
phorge-phorge/src/applications/diffusion
epriestley d8bda7c66e Add an "importing" state to repositories and clean up the UI
Summary:
Fixes T3217. Ref T776. Ref T1493. Broadly, this introduces a mechanism which works like this:

  - When a repository is created, we set an "importing" flag.
  - After discovery completes, we check if a repository has no importing commits. Basically, this is the first time we catch up to HEAD.
  - If we're caught up, clear the "importing" flag.

This flag lets us fix some issues:

  - T3217. Currently, when you import a new repository and users have rules like "Email me on every commit ever" or "trigger an audit on every commit", we take a bunch of publish actions. Instead, implicitly disable publishing during import.
  - An imported but un-pulled repository currently has an incomprehensible error on `/diffusion/X/`. Fix that.
  - Show more cues in the UI about importing.
  - Made some exceptions more specific.

Test Plan:
This is the new screen for a completely new repo, replacing a giant exception:

{F75443}

  - Created a repository, saw it "importing".
  - Pulled and discovered it.
  - Processed its commits.
  - Ran discovery again, saw import flag clear.
  - Also this repository was empty, which hit some of the other code.

This is the new "parsed empty repository" UI, which isn't good, but is less broken:

{F75446}

Reviewers: btrahan

Reviewed By: btrahan

CC: aran, hach-que

Maniphest Tasks: T3607, T1493, T776, T3217

Differential Revision: https://secure.phabricator.com/D7429
2013-10-29 15:32:41 -07:00
..
application Accept and route VCS HTTP requests 2013-10-29 15:32:40 -07:00
capability Add global "push" policy to Repositories 2013-10-29 15:32:40 -07:00
conduit Fix logged-out Diffusion calls to Conduit 2013-10-22 13:47:52 -07:00
config Use PhutilBugtraqParser in Phabricator 2013-09-18 10:13:00 -07:00
controller Add an "importing" state to repositories and clean up the UI 2013-10-29 15:32:41 -07:00
data Fix issue where 'changeType' is not marshalled across Conduit 2013-09-19 11:57:23 -07:00
doorkeeper Remove loadMemberPHIDs from PhabricatorProject 2013-10-06 17:07:08 -07:00
events Tie application event listeners to the applications they listen for 2013-10-21 17:00:21 -07:00
exception Remove spurious "+x" from files that shouldn't have it 2013-10-05 05:18:17 -07:00
query Lock policy queries to their applications 2013-10-21 17:20:27 -07:00
remarkup Use Application PHIDs for commits 2013-07-22 12:17:34 -07:00
request Make more Diffusion controllers/views capability-sensitive 2013-09-27 10:49:45 -07:00
response Serve Git reads over HTTP 2013-10-29 15:32:40 -07:00
ssh Serve git writes over SSH 2013-10-29 15:32:41 -07:00
view Add an "importing" state to repositories and clean up the UI 2013-10-29 15:32:41 -07:00
DiffusionLintSaveRunner.php Make most repository reads policy-aware 2013-09-25 16:54:48 -07:00