MyDeveloper Day via llvm-dev
2019-Mar-02 10:06 UTC
[llvm-dev] Getting the commit message from Phabricator
I'm not sure if this is well known, but it helped me so I thought I'd
share
it with you.
When committing to gitmonorepo, (with git llvm push) you need to have
committed to your local repo first and so you need to have crafted your
commit message from your the Phabricator revision. (e.g. D12345)
Phabricator has the ability to give you this commit message it would have
used, even if you do not use arc to perform the commit/land
This small script (attached) uses arc, jq and sed (but it can be
relatively easily changed to use curl instead of arc)
You need to provide your own conduit api token in place of
<replace_with_phabricator_api_token>
You can get one of these from you Profile->Setting->Conduit API Tokens in
the top right hand corner of Phabricator https://reviews.llvm.org
----------------------------
get_commit_message.sh
----------------------------
echo '{ "revision_id": '${1:1}' }' | arc call-conduit
--conduit-uri
https://reviews.llvm.org/ --conduit-token
<replace_with_phabricator_api_token> differential.getcommitmessage | jq
".response" | sed 's/^.\(.*\).$/\1/' - | sed 's/\\n/\
/g' -
----------------------------
This simply pulls the commit message as json and then replaces \n with
newlines (there are probably better ways of doing this, I'm not a jq
expert!)
Given an example review https://reviews.llvm.org/D58250
simply run
get_commit_message.sh D58250
And you get all the relevant information (see below) about the
message,revision,reviewers, subsribers etc.. returned (as if arc was going
to commit it)
(names changed to protect the innocent)
---------------------------------------------------------------------------------
[AIX][CMake] Changes for building on AIX with XL and GCC
Summary: In support of IBM's efforts to produce a viable C and C++ LLVM
compiler for AIX (ref: RFC at
http://lists.llvm.org/pipermail/llvm-dev/2019-February/130175.html), this
patch adds customizations to the CMake files in order to properly invoke
the host toolchain for the build on AIX. Additional changes to enable a
successful build will follow.
Reviewers: john doe
Reviewed By: jane doe,walter smith
Subscribers: jane doe, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D58250
---------------------------------------------------------------------------------
You can then copy and paste this into your commit message.
I hope this helps..
MyDeveloperDay
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20190302/a0464789/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: get_commit_message.sh
Type: text/x-sh
Size: 242 bytes
Desc: not available
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20190302/a0464789/attachment.sh>
Jordan Rupprecht via llvm-dev
2019-Mar-04 18:04 UTC
[llvm-dev] Getting the commit message from Phabricator
If you already have arc setup, then "arc amend" (or "arc amend --revision D12345") updates the git commit message as well. I never got "arc land" working, but I use "arc diff", "arc amend", then "git llvm push". On Sat, Mar 2, 2019, 2:07 AM MyDeveloper Day via llvm-dev < llvm-dev at lists.llvm.org> wrote:> I'm not sure if this is well known, but it helped me so I thought I'd > share it with you. > > When committing to gitmonorepo, (with git llvm push) you need to have > committed to your local repo first and so you need to have crafted your > commit message from your the Phabricator revision. (e.g. D12345) > > Phabricator has the ability to give you this commit message it would have > used, even if you do not use arc to perform the commit/land > > This small script (attached) uses arc, jq and sed (but it can be > relatively easily changed to use curl instead of arc) > > You need to provide your own conduit api token in place of > <replace_with_phabricator_api_token> > > You can get one of these from you Profile->Setting->Conduit API Tokens in > the top right hand corner of Phabricator https://reviews.llvm.org > > ---------------------------- > get_commit_message.sh > ---------------------------- > echo '{ "revision_id": '${1:1}' }' | arc call-conduit --conduit-uri > https://reviews.llvm.org/ --conduit-token > <replace_with_phabricator_api_token> differential.getcommitmessage | jq > ".response" | sed 's/^.\(.*\).$/\1/' - | sed 's/\\n/\ > /g' - > ---------------------------- > > This simply pulls the commit message as json and then replaces \n with > newlines (there are probably better ways of doing this, I'm not a jq > expert!) > > Given an example review https://reviews.llvm.org/D58250 > > simply run > > get_commit_message.sh D58250 > > And you get all the relevant information (see below) about the > message,revision,reviewers, subsribers etc.. returned (as if arc was going > to commit it) > > (names changed to protect the innocent) > > --------------------------------------------------------------------------------- > [AIX][CMake] Changes for building on AIX with XL and GCC > > Summary: In support of IBM's efforts to produce a viable C and C++ LLVM > compiler for AIX (ref: RFC at > http://lists.llvm.org/pipermail/llvm-dev/2019-February/130175.html), this > patch adds customizations to the CMake files in order to properly invoke > the host toolchain for the build on AIX. Additional changes to enable a > successful build will follow. > > Reviewers: john doe > > Reviewed By: jane doe,walter smith > > Subscribers: jane doe, llvm-commits > > Tags: #llvm > > Differential Revision: https://reviews.llvm.org/D58250 > > --------------------------------------------------------------------------------- > > You can then copy and paste this into your commit message. > > I hope this helps.. > > MyDeveloperDay > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190304/51e9d1f7/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4849 bytes Desc: S/MIME Cryptographic Signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190304/51e9d1f7/attachment.bin>
MyDeveloper Day via llvm-dev
2019-Mar-13 07:54 UTC
[llvm-dev] Getting the commit message from Phabricator
Just as a follow up for completeness, if you don't use arc (or don't
have
it installed) you can just user curl and jq with the following in a bash
script passing in the DXXXX number as an argument
curl -s -S https://reviews.llvm.org/api/differential.getcommitmessage -d
api.token=<api-token> -d revision_id=${1:1} | jq -r ".result" -
jq - https://stedolan.github.io/jq/download/
curl - https://curl.haxx.se/download.html
MyDeveloperDay
On Mon, Mar 4, 2019 at 6:04 PM Jordan Rupprecht <rupprecht at google.com>
wrote:
> If you already have arc setup, then "arc amend" (or "arc
amend --revision
> D12345") updates the git commit message as well. I never got "arc
land"
> working, but I use "arc diff", "arc amend", then
"git llvm push".
>
> On Sat, Mar 2, 2019, 2:07 AM MyDeveloper Day via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> I'm not sure if this is well known, but it helped me so I thought
I'd
>> share it with you.
>>
>> When committing to gitmonorepo, (with git llvm push) you need to have
>> committed to your local repo first and so you need to have crafted your
>> commit message from your the Phabricator revision. (e.g. D12345)
>>
>> Phabricator has the ability to give you this commit message it would
have
>> used, even if you do not use arc to perform the commit/land
>>
>> This small script (attached) uses arc, jq and sed (but it can be
>> relatively easily changed to use curl instead of arc)
>>
>> You need to provide your own conduit api token in place of
>> <replace_with_phabricator_api_token>
>>
>> You can get one of these from you Profile->Setting->Conduit API
Tokens in
>> the top right hand corner of Phabricator https://reviews.llvm.org
>>
>> ----------------------------
>> get_commit_message.sh
>> ----------------------------
>> echo '{ "revision_id": '${1:1}' }' | arc
call-conduit --conduit-uri
>> https://reviews.llvm.org/ --conduit-token
>> <replace_with_phabricator_api_token>
differential.getcommitmessage | jq
>> ".response" | sed 's/^.\(.*\).$/\1/' - | sed
's/\\n/\
>> /g' -
>> ----------------------------
>>
>> This simply pulls the commit message as json and then replaces \n with
>> newlines (there are probably better ways of doing this, I'm not a
jq
>> expert!)
>>
>> Given an example review https://reviews.llvm.org/D58250
>>
>> simply run
>>
>> get_commit_message.sh D58250
>>
>> And you get all the relevant information (see below) about the
>> message,revision,reviewers, subsribers etc.. returned (as if arc was
going
>> to commit it)
>>
>> (names changed to protect the innocent)
>>
>>
---------------------------------------------------------------------------------
>> [AIX][CMake] Changes for building on AIX with XL and GCC
>>
>> Summary: In support of IBM's efforts to produce a viable C and C++
LLVM
>> compiler for AIX (ref: RFC at
>> http://lists.llvm.org/pipermail/llvm-dev/2019-February/130175.html),
>> this patch adds customizations to the CMake files in order to properly
>> invoke the host toolchain for the build on AIX. Additional changes to
>> enable a successful build will follow.
>>
>> Reviewers: john doe
>>
>> Reviewed By: jane doe,walter smith
>>
>> Subscribers: jane doe, llvm-commits
>>
>> Tags: #llvm
>>
>> Differential Revision: https://reviews.llvm.org/D58250
>>
>>
---------------------------------------------------------------------------------
>>
>> You can then copy and paste this into your commit message.
>>
>> I hope this helps..
>>
>> MyDeveloperDay
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20190313/3c4a1bb7/attachment-0001.html>
Maybe Matching Threads
- Proposing a llvm-patch helper script in-tree to create/apply patches without arc
- R vs Python performance-wise
- operations on sparse matrices, and dense intermediary steps
- [PATCH] v2v: -o json: add a simple test for it
- Matrix library error: "should never happen; please report"