Summary:
We've modified arcanist a while ago so that if it doesn't find user/cert information for the specific URL that it's using, it just picks the user/cert information from any other URL in ~/.arcrc. This is because it's essentially always the same user, and always the same cert, so there's really no point in being too picky.
This updates hg extension to be almost as careless. It will attempt to find the matching user/cert, but if it doesn't work, it'll just pick any cert if available.
Test Plan:
Without this change, "hg ssl" in a recent version of www reports an warning because www/.arcconfig has phabricator.intern.facebook.com, where default ~/.arcrc's have phabricator.fb.com.
With this change, "hg ssl" succeeds to display revision information because it is once again able to authenticate with conduit
Reviewers: #phabricator, rmcelroy
Reviewed By: rmcelroy
Subscribers: mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4964111
Tasks: 17683952
Signature: t1:4964111:1493323636:668b50ce2d20d720ba3de573de05be5251ce3310
Summary:
On Windows `arc install-certificate` writes the cert to APPDATA:
https://fburl.com/i7fpssf8, so that is where we need to look for it.
Test Plan: - make this change, see that `hg ssl` shows commit status locally
Reviewers: davidsp, andrasbelo, #sourcecontrol
Subscribers: mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4962334
Tasks: 17511545
Summary:
If the user does not have necesary credentials defined in their arc
configuration, catch the KeyError and convert it into an ArcConfigError.
The existing call sites in the phabstatus and arcdiff extensions catch and
handle ArcConfigError, but not generic KeyErrors.
This also fixes the phabstatus warning messages to end with a newline.
Test Plan: Added a unit test.
Reviewers: #sourcecontrol, quark, simonfar, wez, rmcelroy
Reviewed By: wez, rmcelroy
Subscribers: rmcelroy, net-systems-diffs@fb.com, yogeshwer, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4800977
Tasks: 17002914
Signature: t1:4800977:1490847078:e18bba042e3ff57100e0a7b25c610b5cad17fa2e
Summary:
Only match the "Differential Revision" label at the start of a line. We
have some diffs that include legitimate-looking Differential Revision label
strings inside parts of their test plan, which previously confused the phabdiff
output.
Test Plan: Included a unit test.
Reviewers: #sourcecontrol, quark, akushner
Reviewed By: akushner
Subscribers: net-systems-diffs@fb.com, yogeshwer, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4793483
Signature: t1:4793483:1490756514:05b2c49d5d65e1a3eadd5eb78ed0b91ef3bea42c
Summary:
This follows the removal of urlparse upstream:
changeset: 97aa316e17ea7a0d3ba4180b23ef29bd32e409fc
user: Gregory Szorc <gregory.szorc@gmail.com>
date: Tue, 21 Mar 2017 22:47:49 -0700
py3: stop exporting urlparse from pycompat and util (API)
Test Plan:
./run-tests.py locally
Copy extension into place on my devserver and confirm that phrevset still works in www:
04:27:55 simonfar@devvm022:~/www (bb5bd09) $ hg show D1234
D1234 does not have an associated version control system
You can view the diff at http://phabricator.fb.com/D1234
abort: unknown revision D1234
04:28:53 simonfar@devvm022:~/www (bb5bd09) $ hg show D4721979
changeset: 74f087400ed442941d7400749d7f0301f7b6662a D4721979
user: alonsch@2c7ba8d8-a2f7-0310-a573-de162e16dcc7
date: Mon, 20 Mar 2017 04:07:37 -0700
[Portal] Remove outdated TODO comments in OnavoLineChart
Reviewers: #sourcecontrol, ikostia
Subscribers: mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4761905
Summary:
I got the following profile results when profiling smartlog:
{P56936293}
It suggests that regex compiling takes too much time. I tend to think that
profiling is inaccurate in this case because with this diff I didn't get any
noticable speed up. But this diff won't do any harm.
Test Plan: arc unit
Reviewers: #sourcecontrol, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4387265
Signature: t1:4387265:1483724595:43de3c694109be2d4343d8ebdbc7ab79aa9edb04
Summary: This allows us to pass the check-code test.
Test Plan: run all tests
Reviewers: #mercurial, ttung, quark
Reviewed By: quark
Subscribers: mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D3514693
Signature: t1:3514693:1467624953:99a15876c9eb78f79a05ad315f3eb9dbd0b70fb8
Summary:
Silence the test-check-code-hg test failure by using the new
mercurial.util.urlparse location (used to bridge Python 2 and 3).
Test Plan:
Ran all phabricator tests:
$HG/tests/run-tests.py -l test-phab*
Reviewers: #mercurial, ttung, simonfar
Reviewed By: simonfar
Subscribers: simonfar, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D3503125
Signature: t1:3503125:1467283251:dd77c1dc7037d35c80c17ccf89d96c16168aa117
Summary:
I want to re-use this elsewhere, so robustify it a bit
and move it to phabricator.diffprops.
Test Plan: run-tests.py, also verified in my www repo.
Reviewers: #sourcecontrol, ttung
Reviewed By: ttung
Subscribers: mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D3230147
Signature: t1:3230147:1463081787:799f232e2ce73395218db3a0fff37dec9a0b02e0
Summary: We want out phabricator diff parsers to recognize both https://phabricator.intern.facebook.com/ and https://phabricator.fb.com/ URLs (and a bigger class as well).
Test Plan:
- updated some tests (for `phabdiff` and `pullcreatemarkers` other files don't even seem to be used)
- ran tests
- tested phabdiff manually as well:
{F60696023}
Reviewers: #sourcecontrol, andersonmat, mitrandir, simpkins, lcharignon, quark, ttung, ikostia, rmcelroy
Reviewed By: ikostia, rmcelroy
Subscribers: wez, rmcelroy, net-systems-diffs@, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D3229776
Tasks: 11013909, 11017978
Signature: t1:3229776:1461839346:08b9b3414e43ff9966bc05591ca5662ef9691aac
Summary:
In addition to being duplicated between these places,
I'd like to re-use this elsewhere.
Test Plan: run-tests continues to pass
Reviewers: #sourcecontrol, ttung, ikostia
Reviewed By: ikostia
Subscribers: mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D3230128
Tasks: 11013909
Signature: t1:3230128:1461775513:6fc79fda68cd15ded7fb11d52024b5aab56ee880
Summary:
I pretty much stole this from our libfb.py.conduit client, but
removed the python 2.7 and 3 specific aspects of it.
This is an HTTP client for conduit, rather than shelling out to arcanist.
I've added a very simple mechanism for replaying conduit results in the
test harness and used this to build out some tests for the `arcdiff.py`
and `phabstatus.py` extensions.
Test Plan:
```
$ ../../hg-crew/tests/run-tests.py -j8
```
In addition to the new tests, manually tested the actual HTTP functionality:
```
$ /data/users/wez/facebook-hg-rpms/hg-crew/hg --config extensions.phabstatus=/data/users/wez/facebook-hg-rpms/fb-hgext/phabstatus.py --config extensions.errorredirect=! ssl
```
Does not error out and shows the diff status.
Reviewers: #sourcecontrol, ttung
Subscribers: mjpieters
Differential Revision: https://phabricator.fb.com/D3200713
Summary:
This is here to support other arcanist/phabrication integration
modules.
Note: this adds a new package. I'm not sure what the packaging ramifications
are exactly, but surely there are some as other extensions start to depend on
this.
Test Plan:
integration test is provided:
```
$ ../../hg-crew/tests/run-tests.py -j8
....................................................
# Ran 52 tests, 0 skipped, 0 warned, 0 failed.
```
Reviewers: #sourcecontrol, ttung
Subscribers: mjpieters
Differential Revision: https://phabricator.fb.com/D3215615