Page MenuHomeClusterLabs Projects
Diviner Phabricator User Docs Diffusion User Guide: Existing Repositories

Diffusion User Guide: Existing Repositories
Phabricator User Documentation (Application User Guides)

Quick guide for importing or observing existing repositories.


If you have an existing repository, you can observe or import it into Diffusion.

Observing a repository creates a read-only copy in Phabricator that is kept up to date by continuously importing new changes.

Importing a repository creates a read-write copy.

This document is a quick guide to getting started. For an overview of Diffusion, see Diffusion User Guide. For a more detailed guide about managing repositories and URIs in Diffusion, see Diffusion User Guide: URIs.

Observing Repositories

To observe an existing repository:

  • Create a repository in Diffusion, but do not activate it yet.
  • Add the URI for the existing repository you wish to observe in the URIs section, in Observe mode.
  • Activate the repository in Diffusion.

This creates a read-only copy of the repository in Phabricator. Phabricator will keep its copy in sync with the remote by periodically polling the remote for changes.

For more details, see Diffusion User Guide: URIs.

Importing Repositories

There are two primary ways to import an existing repository:

Observe First: In Git or Mercurial, you can observe the repository first. Once the import completes, change the "I/O Type" on the Observe URI to "No I/O" mode to automatically convert it into a hosted repository.

Push to Empty Repository: Create and activate an empty repository, then push all of your changes to the empty repository.

In Git and Mercurial, you can do this with git push or hg push.

In Subversion, you can do this with svnsync.

For more details, see Diffusion User Guide: URIs.

Next Steps

Continue by: