@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator

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

+29 -45
+29 -45
src/docs/user/userguide/diffusion.diviner
··· 6 6 = Overview = 7 7 8 8 Diffusion is a repository browser which allows you to explore source code in a 9 - Git or SVN repository, similar to software like Trac and GitWeb. 9 + Subversion, Git, or Mercurial repository. It is somewhat similar to software 10 + like Trac and GitWeb. 10 11 11 - Diffusion provides a very high-performance SVN browser, a moderately 12 - high-performance Git browser and relatively slow Mercurial browser. It achieves 13 - performance by denormalizing large amounts of data about repository history into 14 - a database and using this information like a cache so it can avoid querying the 15 - repository directly. This data is generated by daemons which track repositories, 16 - discover new commits, and parse and import them. 12 + Diffusion can either import a read-only copy of repositories hosted somewhere 13 + else (for example, from GitHub, Bitbucket or existing hosting) or host 14 + repositories within Phabricator. Hosted repositories support a variety of 15 + triggers and access controls. 17 16 18 17 Diffusion is integrated with the other tools in the Phabricator suite. For 19 18 instance: ··· 22 21 automatically updated and linked to the corresponding commits; 23 22 - you can add Herald rules to notify you about commits that match certain 24 23 rules; 25 - - the Owners tool uses Diffusion to map repositories; and 24 + - for hosted repositories, Herald can enforce granular access control rules; 26 25 - in all the tools, commit names are automatically linked. 26 + 27 + = Adding Repositories = 28 + 29 + Repository administration is accomplished through Diffusion. You can use the 30 + web interface in Diffusion to import an external repository, or create a new 31 + hosted repository. 32 + 33 + - For hosted repositories, make sure you go through the setup instructions 34 + in @{article:Diffusion User Guide: Repository Hosting} first. 35 + - For all repositories, you'll need to be running the daemons. If you have 36 + not set them up yet, see @{article:Managing Daemons with phd}. 37 + 38 + By default, you must be an administrator to create a new repository. 27 39 28 40 = Repository Callsigns and Commit Names = 29 41 ··· 62 74 collisions very unlikely) or the full 40-character hash (which makes collisions 63 75 astronomically unlikely). 64 76 65 - = Adding Repositories = 66 - 67 - Repository administration is accomplished through the "Repository" tool, which 68 - is primarily a set of administrative interfaces for Diffusion. To add a 69 - repository to Diffusion, you need to: 70 - 71 - - create a new repository in the Repository tool; and 72 - - start the daemons that will track and import the repository. 73 - 74 - To create a new repository (or edit or delete an existing repository), 75 - **you must be an administrator** (see 76 - @{article:Configuring Accounts and Registration} for instructions on making an 77 - existing account an administrator account). As an administrator, go to the 78 - Repository tool and you'll have the options to create or edit repositories. 79 - 80 - When you create a new repository, you need to specify a human-readable name, 81 - a permanent "Callsign" (see previous section), and the underlying VCS type. Once 82 - you have created a repository, you can go to the "Tracking" tab and set up 83 - tracking in Diffusion. 84 - 85 - Most of the options in the **Tracking** tab should be self-explanatory or are 86 - safe to leave at their defaults. In broad strokes, Diffusion tracks SVN 87 - repositories by issuing an "svn log" command periodically against the remote to 88 - look for new commits. It tracks Git and Mercurial repositories by cloning a 89 - local copy and issuing `git fetch` or `hg pull` periodically. 90 - 91 - Once you've configured everything (and made sure **Tracking** is set to 92 - "Enabled"), you can launch the daemons to begin actually tracking the 93 - repository. 94 - 95 77 = Running Diffusion Daemons = 96 78 97 79 In most cases, it is sufficient to run: ··· 104 86 NOTE: If you have an unusually large install with multiple web frontends, see 105 87 notes in @{article:Managing Daemons with phd}. 106 88 107 - You can use the Daemon Console to monitor the daemons and their progress 108 - importing the repository. Small repositories should import quickly, while 109 - larger repositories may take some time (it takes about 10 minutes to begin 110 - discovering commits in Facebook's 350,000-commit primary repository, and about 111 - 18 hours to import it all with 64 taskmasters on modern hardware). Commits 112 - should begin appearing in Diffusion within a few minutes for all but the 113 - largest repositories. 89 + You can use the repository detail screen and the Daemon Console to monitor the 90 + daemons and their progress importing the repository. Small repositories should 91 + import quickly, while larger repositories may take some time (it takes about 10 92 + minutes to begin discovering commits in Facebook's 350,000-commit primary 93 + repository, and about 18 hours to import it all with 64 taskmasters on modern 94 + hardware). Commits should begin appearing in Diffusion within a few minutes for 95 + all but the largest repositories. 114 96 115 97 == Tuning Daemons == 116 98 ··· 156 138 157 139 - Learn about creating a symbol index at 158 140 @{article:Diffusion User Guide: Symbol Indexes}; or 141 + - set up repository hosting with 142 + @{article:Diffusion User Guide: Repository Hosting}; or 159 143 - understand daemons in detail with @{article:Managing Daemons with phd}; or 160 144 - give us feedback at @{article:Give Feedback! Get Support!}.