mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-20 03:31:10 +01:00
Update Diffusion main documentation
Summary: This was really out of date and full of lies. Mostly I've deleted sections, since the UI is way way more self-explanatory and much better at surfacing errors now. Test Plan: L@@K Reviewers: btrahan, chad Reviewed By: chad Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D8873
This commit is contained in:
parent
9da255efaa
commit
93f23674bf
1 changed files with 29 additions and 45 deletions
|
@ -6,14 +6,13 @@ Guide to Diffusion, the Phabricator repository browser.
|
|||
= Overview =
|
||||
|
||||
Diffusion is a repository browser which allows you to explore source code in a
|
||||
Git or SVN repository, similar to software like Trac and GitWeb.
|
||||
Subversion, Git, or Mercurial repository. It is somewhat similar to software
|
||||
like Trac and GitWeb.
|
||||
|
||||
Diffusion provides a very high-performance SVN browser, a moderately
|
||||
high-performance Git browser and relatively slow Mercurial browser. It achieves
|
||||
performance by denormalizing large amounts of data about repository history into
|
||||
a database and using this information like a cache so it can avoid querying the
|
||||
repository directly. This data is generated by daemons which track repositories,
|
||||
discover new commits, and parse and import them.
|
||||
Diffusion can either import a read-only copy of repositories hosted somewhere
|
||||
else (for example, from GitHub, Bitbucket or existing hosting) or host
|
||||
repositories within Phabricator. Hosted repositories support a variety of
|
||||
triggers and access controls.
|
||||
|
||||
Diffusion is integrated with the other tools in the Phabricator suite. For
|
||||
instance:
|
||||
|
@ -22,9 +21,22 @@ instance:
|
|||
automatically updated and linked to the corresponding commits;
|
||||
- you can add Herald rules to notify you about commits that match certain
|
||||
rules;
|
||||
- the Owners tool uses Diffusion to map repositories; and
|
||||
- for hosted repositories, Herald can enforce granular access control rules;
|
||||
- in all the tools, commit names are automatically linked.
|
||||
|
||||
= Adding Repositories =
|
||||
|
||||
Repository administration is accomplished through Diffusion. You can use the
|
||||
web interface in Diffusion to import an external repository, or create a new
|
||||
hosted repository.
|
||||
|
||||
- For hosted repositories, make sure you go through the setup instructions
|
||||
in @{article:Diffusion User Guide: Repository Hosting} first.
|
||||
- For all repositories, you'll need to be running the daemons. If you have
|
||||
not set them up yet, see @{article:Managing Daemons with phd}.
|
||||
|
||||
By default, you must be an administrator to create a new repository.
|
||||
|
||||
= Repository Callsigns and Commit Names =
|
||||
|
||||
Each repository is identified by a "callsign", which is a short uppercase string
|
||||
|
@ -62,36 +74,6 @@ repositories, Diffusion generally uses either a 16-character prefix (which makes
|
|||
collisions very unlikely) or the full 40-character hash (which makes collisions
|
||||
astronomically unlikely).
|
||||
|
||||
= Adding Repositories =
|
||||
|
||||
Repository administration is accomplished through the "Repository" tool, which
|
||||
is primarily a set of administrative interfaces for Diffusion. To add a
|
||||
repository to Diffusion, you need to:
|
||||
|
||||
- create a new repository in the Repository tool; and
|
||||
- start the daemons that will track and import the repository.
|
||||
|
||||
To create a new repository (or edit or delete an existing repository),
|
||||
**you must be an administrator** (see
|
||||
@{article:Configuring Accounts and Registration} for instructions on making an
|
||||
existing account an administrator account). As an administrator, go to the
|
||||
Repository tool and you'll have the options to create or edit repositories.
|
||||
|
||||
When you create a new repository, you need to specify a human-readable name,
|
||||
a permanent "Callsign" (see previous section), and the underlying VCS type. Once
|
||||
you have created a repository, you can go to the "Tracking" tab and set up
|
||||
tracking in Diffusion.
|
||||
|
||||
Most of the options in the **Tracking** tab should be self-explanatory or are
|
||||
safe to leave at their defaults. In broad strokes, Diffusion tracks SVN
|
||||
repositories by issuing an "svn log" command periodically against the remote to
|
||||
look for new commits. It tracks Git and Mercurial repositories by cloning a
|
||||
local copy and issuing `git fetch` or `hg pull` periodically.
|
||||
|
||||
Once you've configured everything (and made sure **Tracking** is set to
|
||||
"Enabled"), you can launch the daemons to begin actually tracking the
|
||||
repository.
|
||||
|
||||
= Running Diffusion Daemons =
|
||||
|
||||
In most cases, it is sufficient to run:
|
||||
|
@ -104,13 +86,13 @@ see @{article:Managing Daemons with phd}.
|
|||
NOTE: If you have an unusually large install with multiple web frontends, see
|
||||
notes in @{article:Managing Daemons with phd}.
|
||||
|
||||
You can use the Daemon Console to monitor the daemons and their progress
|
||||
importing the repository. Small repositories should import quickly, while
|
||||
larger repositories may take some time (it takes about 10 minutes to begin
|
||||
discovering commits in Facebook's 350,000-commit primary repository, and about
|
||||
18 hours to import it all with 64 taskmasters on modern hardware). Commits
|
||||
should begin appearing in Diffusion within a few minutes for all but the
|
||||
largest repositories.
|
||||
You can use the repository detail screen and the Daemon Console to monitor the
|
||||
daemons and their progress importing the repository. Small repositories should
|
||||
import quickly, while larger repositories may take some time (it takes about 10
|
||||
minutes to begin discovering commits in Facebook's 350,000-commit primary
|
||||
repository, and about 18 hours to import it all with 64 taskmasters on modern
|
||||
hardware). Commits should begin appearing in Diffusion within a few minutes for
|
||||
all but the largest repositories.
|
||||
|
||||
== Tuning Daemons ==
|
||||
|
||||
|
@ -156,5 +138,7 @@ repositories.
|
|||
|
||||
- Learn about creating a symbol index at
|
||||
@{article:Diffusion User Guide: Symbol Indexes}; or
|
||||
- set up repository hosting with
|
||||
@{article:Diffusion User Guide: Repository Hosting}; or
|
||||
- understand daemons in detail with @{article:Managing Daemons with phd}; or
|
||||
- give us feedback at @{article:Give Feedback! Get Support!}.
|
||||
|
|
Loading…
Reference in a new issue