HomePhabricator

Separate repository updates from the pull daemon

Description

Separate repository updates from the pull daemon

Summary:
Ref T4605. Currently, the PullLocal daemon is responsible for two relatively distinct things:

  • scheduling repository updates; and
  • actually updating repositories.

Move the "actually updating" part into a new bin/repository update command, which basically runs the pull, discover, refs and mirror commands. This will let the parent process focus on scheduling in a more understandable way and update multiple repositories at once. It also makes it easier to debug and understand update behavior since the non-scheduling pipeline can be run separately.

Test Plan:

  • Ran update --trace on SVN, Mercurial and Git repos.
  • Ran PullLocal daemon for a while without issues.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T4605

Differential Revision: https://secure.phabricator.com/D8780

Event Timeline