Changeset View
Changeset View
Standalone View
Standalone View
src/docs/user/userguide/diffusion_permanent.diviner
@title Diffusion User Guide: Permanent Refs | @title Diffusion User Guide: Permanent Refs | ||||
@group userguide | @group userguide | ||||
Explains when Diffusion will take actions in response to discovering commits. | Explains when Diffusion will take actions in response to discovering commits. | ||||
Overview | Overview | ||||
======== | ======== | ||||
Diffusion can close tasks and revisions and take other actions when commits | Diffusion can close tasks and revisions and take other actions when commits | ||||
appear in a repository (either because they were pushed to Phabricator, or | appear in a repository (either because they were pushed to Phorge, or | ||||
because they were pushed to some remote which Phabricator is observing). | because they were pushed to some remote which Phorge is observing). | ||||
This document explains when Diffusion acts on commits and how to configure this | This document explains when Diffusion acts on commits and how to configure this | ||||
behavior. | behavior. | ||||
Publishing Commits | Publishing Commits | ||||
================== | ================== | ||||
Diffusion distinguishes between "pushed" and "published" commits. | Diffusion distinguishes between "pushed" and "published" commits. | ||||
Not all commits that are pushed to a repository are destined for greatness: | Not all commits that are pushed to a repository are destined for greatness: | ||||
for example, many tools push temporary commits to secret places like | for example, many tools push temporary commits to secret places like | ||||
`refs/pull/123`, `refs/notes/*`, or `refs/changes/12/345678/1`. | `refs/pull/123`, `refs/notes/*`, or `refs/changes/12/345678/1`. | ||||
Sometimes, human users intentionally push changes to branches like | Sometimes, human users intentionally push changes to branches like | ||||
"tmp-hack-ignore-123". This is formally discouraged by Phabricator, but the | "tmp-hack-ignore-123". This is formally discouraged by Phorge, but the | ||||
practice is so widespread that we've given up trying to stop anyone from doing | practice is so widespread that we've given up trying to stop anyone from doing | ||||
it. | it. | ||||
Phabricator will import these commits and create pages for them so you can view | Phorge will import these commits and create pages for them so you can view | ||||
them in the web UI and link to them, but does not take any other actions until | them in the web UI and link to them, but does not take any other actions until | ||||
they are "published". | they are "published". | ||||
A commit is "published" when it becomes reachable from a permanent ref. By | A commit is "published" when it becomes reachable from a permanent ref. By | ||||
default, all branches are permanent refs, so pushing a commit to "master" will | default, all branches are permanent refs, so pushing a commit to "master" will | ||||
publish it, but pushing a commit to `refs/pull/123` (either directly, or by | publish it, but pushing a commit to `refs/pull/123` (either directly, or by | ||||
using a tool like GitHub) will not. | using a tool like GitHub) will not. | ||||
Usually, commits are published by pushing them directly to a permanent branch | Usually, commits are published by pushing them directly to a permanent branch | ||||
like "master", or by merging a temporary branch into a permanent branch. | like "master", or by merging a temporary branch into a permanent branch. | ||||
When a commit is published, Phabricator acts on it and: | When a commit is published, Phorge acts on it and: | ||||
- sends email; | - sends email; | ||||
- delivers notifications; | - delivers notifications; | ||||
- publishes a feed story; | - publishes a feed story; | ||||
- triggers Audits; | - triggers Audits; | ||||
- runs Herald rules; | - runs Herald rules; | ||||
- updates mentioned objects; | - updates mentioned objects; | ||||
- closes referenced tasks; and | - closes referenced tasks; and | ||||
Show All 30 Lines |
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0