Page MenuHomePhabricator

D8873.diff
No OneTemporary

D8873.diff

diff --git a/src/docs/user/userguide/diffusion.diviner b/src/docs/user/userguide/diffusion.diviner
--- a/src/docs/user/userguide/diffusion.diviner
+++ b/src/docs/user/userguide/diffusion.diviner
@@ -6,14 +6,13 @@
= 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 @@
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 @@
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 @@
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 @@
- 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!}.

File Metadata

Mime Type
text/plain
Expires
Wed, Nov 20, 12:52 AM (15 h, 38 m ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6727455
Default Alt Text
D8873.diff (5 KB)

Event Timeline