Homec4science

Add a maintenance script for reconciling repositories to disk state

Authored by epriestley <git@epriestley.com> on Feb 3 2012, 01:03.

Description

Add a maintenance script for reconciling repositories to disk state

Summary:
@rguerin ran into an issue in his install where Phabricator appears to have
discovered commits which no longer exist, and thus is failing to proceed with
its repository import.

It's not clear how we got into this state. Previously, it was possible by, e.g.,
parsing a different repository's working copy and then switching them back, but
there are now safeguards against that.

I'm taking a three-pronged approach to try to sort this out:

  • Provide a script to get out of this state (this script) and reconcile

Phabricator's view of a repository with an authoritative copy of it. This
basically "un-discovers" any discovered commits which don't actually exist (any
queued tasks to parse them will fail permanently when they fail to load the
commit object).

  • Add more logging to the discovery daemon so we can figure out where commits

came from.

  • Improve Diffusion's UI when stuff is partially discovered (T776).

(This script should also clean up some nonsense on secure.phabricator.com from a
botched Diviner import.)

Test Plan: Ran "reconcile.php" with bogus commits and bogus differential/commit
links, had them expunged. Will work with @rguerin to see if this resolves
things.

Reviewers: btrahan, rguerin

Reviewed By: btrahan

CC: aran, epriestley

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

Details

Committed
epriestley <git@epriestley.com>Feb 3 2012, 01:03
Pushed
aubortJan 31 2017, 17:16
Parents
rPHc86dfd84d9ca: Wrap basic diff/revision association in a transaction
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPHa15130b47c6d: Add a maintenance script for reconciling repositories to disk state (authored by epriestley <git@epriestley.com>).Feb 3 2012, 01:03