mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-01 01:18:22 +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 =
|
= Overview =
|
||||||
|
|
||||||
Diffusion is a repository browser which allows you to explore source code in a
|
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
|
Diffusion can either import a read-only copy of repositories hosted somewhere
|
||||||
high-performance Git browser and relatively slow Mercurial browser. It achieves
|
else (for example, from GitHub, Bitbucket or existing hosting) or host
|
||||||
performance by denormalizing large amounts of data about repository history into
|
repositories within Phabricator. Hosted repositories support a variety of
|
||||||
a database and using this information like a cache so it can avoid querying the
|
triggers and access controls.
|
||||||
repository directly. This data is generated by daemons which track repositories,
|
|
||||||
discover new commits, and parse and import them.
|
|
||||||
|
|
||||||
Diffusion is integrated with the other tools in the Phabricator suite. For
|
Diffusion is integrated with the other tools in the Phabricator suite. For
|
||||||
instance:
|
instance:
|
||||||
|
@ -22,9 +21,22 @@ instance:
|
||||||
automatically updated and linked to the corresponding commits;
|
automatically updated and linked to the corresponding commits;
|
||||||
- you can add Herald rules to notify you about commits that match certain
|
- you can add Herald rules to notify you about commits that match certain
|
||||||
rules;
|
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.
|
- 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 =
|
= Repository Callsigns and Commit Names =
|
||||||
|
|
||||||
Each repository is identified by a "callsign", which is a short uppercase string
|
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
|
collisions very unlikely) or the full 40-character hash (which makes collisions
|
||||||
astronomically unlikely).
|
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 =
|
= Running Diffusion Daemons =
|
||||||
|
|
||||||
In most cases, it is sufficient to run:
|
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
|
NOTE: If you have an unusually large install with multiple web frontends, see
|
||||||
notes in @{article:Managing Daemons with phd}.
|
notes in @{article:Managing Daemons with phd}.
|
||||||
|
|
||||||
You can use the Daemon Console to monitor the daemons and their progress
|
You can use the repository detail screen and the Daemon Console to monitor the
|
||||||
importing the repository. Small repositories should import quickly, while
|
daemons and their progress importing the repository. Small repositories should
|
||||||
larger repositories may take some time (it takes about 10 minutes to begin
|
import quickly, while larger repositories may take some time (it takes about 10
|
||||||
discovering commits in Facebook's 350,000-commit primary repository, and about
|
minutes to begin discovering commits in Facebook's 350,000-commit primary
|
||||||
18 hours to import it all with 64 taskmasters on modern hardware). Commits
|
repository, and about 18 hours to import it all with 64 taskmasters on modern
|
||||||
should begin appearing in Diffusion within a few minutes for all but the
|
hardware). Commits should begin appearing in Diffusion within a few minutes for
|
||||||
largest repositories.
|
all but the largest repositories.
|
||||||
|
|
||||||
== Tuning Daemons ==
|
== Tuning Daemons ==
|
||||||
|
|
||||||
|
@ -156,5 +138,7 @@ repositories.
|
||||||
|
|
||||||
- Learn about creating a symbol index at
|
- Learn about creating a symbol index at
|
||||||
@{article:Diffusion User Guide: Symbol Indexes}; or
|
@{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
|
- understand daemons in detail with @{article:Managing Daemons with phd}; or
|
||||||
- give us feedback at @{article:Give Feedback! Get Support!}.
|
- give us feedback at @{article:Give Feedback! Get Support!}.
|
||||||
|
|
Loading…
Add table
Reference in a new issue