This repo contains code that automatically mirrors source code metadata between git-notes and Phabricator.
This tool expects to run in an environment with the following attributes:
- The "arcanist" command line tool is installed and included in the PATH.
- A ".arcrc" file is located where arcanist will find it, specifies a URL for a Phabricator instance which should be used for any repos that do not override the default instance, and provides auth credentials for every Phabricator instance that is used.
- The current working directory contains a clone of every git repo that needs to be mirrored.
- The git command line tool is installed, and included in the PATH.
- The git command line tool is configured with the credentials it needs to push to the remotes for all of those repos.
- The "mysql" command line tool is installed, and has been preconfigured with the IP address, username, and password necessary to connect to the Phabricator database. This is a (hopefully temporary) workaround to the fact that the Phabricator API does not yet support querying revision transactions.
Assuming you have the Go tools installed, run the following command:
go get github.com/google/git-phabricator-mirror/git-phabricator-mirror
The source code metadata is stored in git-notes, using the formats described here.