diff options
author | Dan Liew <dan@su-root.co.uk> | 2016-01-14 13:39:29 +0000 |
---|---|---|
committer | Dan Liew <dan@su-root.co.uk> | 2016-01-14 13:39:29 +0000 |
commit | ee419bedc4d7e72be61665028afcc58da2a75676 (patch) | |
tree | 062f6204414d9c1f3eaae2b60b3ca09823ab1556 /llvm/docs/Phabricator.rst | |
parent | a3cd2164830a7f1d3d7993d53e52dc88be97d781 (diff) | |
download | bcm5719-llvm-ee419bedc4d7e72be61665028afcc58da2a75676.tar.gz bcm5719-llvm-ee419bedc4d7e72be61665028afcc58da2a75676.zip |
[docs] Improve the documentation on committing code reviewed on
Phabricator to trunk.
The previous documentation had a few issues:
* It did not make it explicit that code could be
committed without using the Arcanist tool and how this should be done.
* There was also an implicit assumption on using Subversion
rather than git-svn in the example using Arcanist. The documentation now
explicitly mentions both cases and details how to commit to trunk in
each case.
Reviewers: klimek, probinson
Subscribers: probinson, nwilson, reames, llvm-commits
Differential Revision: http://reviews.llvm.org/D15801
llvm-svn: 257764
Diffstat (limited to 'llvm/docs/Phabricator.rst')
-rw-r--r-- | llvm/docs/Phabricator.rst | 77 |
1 files changed, 60 insertions, 17 deletions
diff --git a/llvm/docs/Phabricator.rst b/llvm/docs/Phabricator.rst index af1e4429fda..04319a9a378 100644 --- a/llvm/docs/Phabricator.rst +++ b/llvm/docs/Phabricator.rst @@ -127,37 +127,80 @@ a change from Phabricator. Committing a change ------------------- -Arcanist can manage the commit transparently. It will retrieve the description, -reviewers, the ``Differential Revision``, etc from the review and commit it to the repository. +Once a patch has been reviewed and approved on Phabricator it can then be +committed to trunk. There are multiple workflows to achieve this. Whichever +method you follow it is recommend that your commit message ends with the line: + +:: + + Differential Revision: <URL> + +where ``<URL>`` is the URL for the code review, starting with +``http://reviews.llvm.org/``. + +This allows people reading the version history to see the review for +context. This also allows Phabricator to detect the commit, close the +review, and add a link from the review to the commit. + +Note that if you use the Arcanist tool the ``Differential Revision`` line will +be added automatically. If you don't want to use Arcanist, you can add the +``Differential Revision`` line (as the last line) to the commit message +yourself. + +Using the Arcanist tool can simplify the process of committing reviewed code +as it will retrieve reviewers, the ``Differential Revision``, etc from the review +and place it in the commit message. Several methods of using Arcanist to commit +code are given below. If you do not wish to use Arcanist then simply commit +the reviewed patch as you would normally. + +Note that if you commit the change without using Arcanist and forget to add the +``Differential Revision`` line to your commit message then it is recommended +that you close the review manually. In the web UI, under "Leap Into Action" put +the SVN revision number in the Comment, set the Action to "Close Revision" and +click Submit. Note the review must have been Accepted first. + +Subversion and Arcanist +^^^^^^^^^^^^^^^^^^^^^^^ + +On a clean Subversion working copy run the following (where ``<Revision>`` is +the Phabricator review number): :: arc patch D<Revision> arc commit --revision D<Revision> +The first command will take the latest version of the reviewed patch and apply it to the working +copy. The second command will commit this revision to trunk. + +git-svn and Arcanist +^^^^^^^^^^^^^^^^^^^^ -When committing a change that has been reviewed using -Phabricator, the convention is for the commit message to end with the -line: +This presumes that the git repository has been configured as described in :ref:`developers-work-with-git-svn`. + +On a clean Git repository on an up to date ``master`` branch run the +following (where ``<Revision>`` is the Phabricator review number): :: - Differential Revision: <URL> + arc patch D<Revision> -where ``<URL>`` is the URL for the code review, starting with -``http://reviews.llvm.org/``. -Note that Arcanist will add this automatically. +This will create a new branch called ``arcpatch-D<Revision>`` based on the +current ``master`` and will create a commit corresponding to ``D<Revision>`` with a +commit message derived from information in the Phabricator review. + +Check you are happy with the commit message and amend it if necessary. Now switch to +the ``master`` branch and add the new commit to it and commit it to trunk. This +can be done by running the following: + +:: + + git checkout master + git merge --ff-only arcpatch-D<Revision> + git svn dcommit -This allows people reading the version history to see the review for -context. This also allows Phabricator to detect the commit, close the -review, and add a link from the review to the commit. -If you use ``git`` or ``svn`` to commit the change and forget to add the line -to your commit message, you should close the review manually. In the web UI, -under "Leap Into Action" put the SVN revision number in the Comment, set the -Action to "Close Revision" and click Submit. Note the review must have been -Accepted first. Abandoning a change ------------------- |