HomePhabricator

Add an "importing" state to repositories and clean up the UI

Description

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

Details

Provenance
epriestleyAuthored on Oct 27 2013, 2:59 AM
Reviewer
btrahan
Differential Revision
D7429: Add an "importing" state to repositories and clean up the UI
Parents
rP912509558723: Distinguish between empty and unparsed commits in Diffusion
Branches
Unknown
Tags
Unknown
Tasks
T1493: Empty repositories should show a "this repository is empty" message
Restricted Maniphest Task
Restricted Maniphest Task

Event Timeline