Commit Graph

112 Commits (ef14192d7edb1a4213f193d25831989cb6ea27a1)

Author SHA1 Message Date
iannucci@chromium.org d61a4950b2 Changes to improve multiprocessing PRESUBMIT support in Windows
* make RunTest's multiprocessing.Pool in the constructor of InputApi
    to avoid getting tripped up by chdir manipulation.
  * Don't do the split cyclic-import check when the invoker of the
    Pylint presubmit checks explicitly sends cyclic import check
    parameters via extra_args
  * fix pseudobug where ownership of the files variable was unclear,
    and pass all arguments on stdin (instead of mix of CLI + stdin).
  * fix bug in pylint which caused it to manipulate sys.path before
    spawning its subprocesses, which caused multiprocessing to fail
    on windows.
    * Note: This may carry a slight semantic change. Before, pylint would
      add all .py files' directories to sys.path while checking any of
      them. Now in parallel mode, pylint will only add the path of the
      single file to sys.path. This behavior actually mirrors Python's
      own behavior, so the check should be more-correct than before (and
      should cut down on pylint import scanning time with very large
      sys.path's).
    * If someone encounters an issue with this, please note that the
      GetPylint check also includes an extra_paths_list which is
      expressly for this purpose.

R=dpranke@chromium.org, kbr@chromium.org, maruel@chromium.org
BUG=501012

Review URL: https://codereview.chromium.org/1208743002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295908 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sergiyb@chromium.org f3751949de Use virtualenv to run commit_queue script
R=pgervais@chromium.org
BUG=503067

Review URL: https://codereview.chromium.org/1195423002.

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295843 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sergiyb@chromium.org 1d630b0c72 Update cq_client and add validate command to commit_queue binary
R=akuegel@chromium.org, pgervais@chromium.org
BUG=472612, 503068

Review URL: https://codereview.chromium.org/1200863002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295818 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com d91b7e3ccb Find, upload and apply patchset dependencies.
Here is an explanation of the changes in each module:

* git_cl.py -
IF a local branch is being tracked AND a CL has been uploaded there THEN use the CL's issue number and latest patchset as a dependency.

* upload.py -
Uploads the patchset dependency, if it exists, to Rietveld (Rietveld will be able to parse this when https://codereview.chromium.org/1155513002/ lands).

* rietveld.py -
Adds utility methods to get patchset dependencies from the new Rietveld endpoint (the endpoint will exist when https://codereview.chromium.org/1155513002/ lands).

* apply_issue.py -
If CL3 depends on CL2 which in turn depends on CL1 then apply_issue will gather a list of all issues and patchsets to apply (Eg: [CL1:PS1, CL2:PS1, CL3:PS2]).
apply_issue will then loop over the list applying each dependency.
Note: The apply_issue.py diff looks much worse than it is. Please see my comment in
https://codereview.chromium.org/1149653002/diff/260001/apply_issue.py#oldcode169


Tested end-to-end using a test Git repository (https://skia.googlesource.com/skiabot-test/) and the following CLs created in my test Rietveld instance:
* https://skia-codereview-staging.appspot.com/931002  ('Branch1 CL')
* https://skia-codereview-staging.appspot.com/5001001 ('Branch2 CL')
* https://skia-codereview-staging.appspot.com/9881001 ('Branch3 CL')
* https://skia-codereview-staging.appspot.com/3951001 ('Branch3.1 CL')
Opt into the new UI and observe the new 'Depends on Patchset' and 'Dependent Patchsets' sections in the above CLs.


Design doc is here: https://docs.google.com/document/d/1KZGFKZpOPvco81sYVRCzwlnjGctup71RAzY0MSb0ntc/edit#heading=h.6r6lt4tsvssw

BUG=502255

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=295778

Review URL: https://codereview.chromium.org/1149653002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295799 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com 1c28dab9ee Revert of [depot_tools] Find, upload and apply patchset dependencies (patchset #17 id:360001 of https://codereview.chromium.org/1149653002/)
Reason for revert:
Ran into a crash during the bot_update step here:
https://uberchromegw.corp.google.com/i/internal.infra.try/builders/infra-internal-presubmit/builds/62

Original issue's description:
> Find, upload and apply patchset dependencies.
> 
> Here is an explanation of the changes in each module:
> 
> * git_cl.py -
> IF a local branch is being tracked AND a CL has been uploaded there THEN use the CL's issue number and latest patchset as a dependency.
> 
> * upload.py -
> Uploads the patchset dependency, if it exists, to Rietveld (Rietveld will be able to parse this when https://codereview.chromium.org/1155513002/ lands).
> 
> * rietveld.py -
> Adds utility methods to get patchset dependencies from the new Rietveld endpoint (the endpoint will exist when https://codereview.chromium.org/1155513002/ lands).
> 
> * apply_issue.py -
> If CL3 depends on CL2 which in turn depends on CL1 then apply_issue will gather a list of all issues and patchsets to apply (Eg: [CL1:PS1, CL2:PS1, CL3:PS2]).
> apply_issue will then loop over the list applying each dependency.
> Note: The apply_issue.py diff looks much worse than it is. Please see my comment in
> https://codereview.chromium.org/1149653002/diff/260001/apply_issue.py#oldcode169
> 
> 
> Tested end-to-end using a test Git repository (https://skia.googlesource.com/skiabot-test/) and the following CLs created in my test Rietveld instance:
> * https://skia-codereview-staging.appspot.com/931002  ('Branch1 CL')
> * https://skia-codereview-staging.appspot.com/5001001 ('Branch2 CL')
> * https://skia-codereview-staging.appspot.com/9881001 ('Branch3 CL')
> * https://skia-codereview-staging.appspot.com/3951001 ('Branch3.1 CL')
> Opt into the new UI and observe the new 'Depends on Patchset' and 'Dependent Patchsets' sections in the above CLs.
> 
> 
> Design doc is here: https://docs.google.com/document/d/1KZGFKZpOPvco81sYVRCzwlnjGctup71RAzY0MSb0ntc/edit#heading=h.6r6lt4tsvssw
> 
> BUG=502255
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=295778

TBR=agable@chromium.org,jrobbins@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=502255

Review URL: https://codereview.chromium.org/1200773003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295782 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com c2b9bd03e9 Find, upload and apply patchset dependencies.
Here is an explanation of the changes in each module:

* git_cl.py -
IF a local branch is being tracked AND a CL has been uploaded there THEN use the CL's issue number and latest patchset as a dependency.

* upload.py -
Uploads the patchset dependency, if it exists, to Rietveld (Rietveld will be able to parse this when https://codereview.chromium.org/1155513002/ lands).

* rietveld.py -
Adds utility methods to get patchset dependencies from the new Rietveld endpoint (the endpoint will exist when https://codereview.chromium.org/1155513002/ lands).

* apply_issue.py -
If CL3 depends on CL2 which in turn depends on CL1 then apply_issue will gather a list of all issues and patchsets to apply (Eg: [CL1:PS1, CL2:PS1, CL3:PS2]).
apply_issue will then loop over the list applying each dependency.
Note: The apply_issue.py diff looks much worse than it is. Please see my comment in
https://codereview.chromium.org/1149653002/diff/260001/apply_issue.py#oldcode169


Tested end-to-end using a test Git repository (https://skia.googlesource.com/skiabot-test/) and the following CLs created in my test Rietveld instance:
* https://skia-codereview-staging.appspot.com/931002  ('Branch1 CL')
* https://skia-codereview-staging.appspot.com/5001001 ('Branch2 CL')
* https://skia-codereview-staging.appspot.com/9881001 ('Branch3 CL')
* https://skia-codereview-staging.appspot.com/3951001 ('Branch3.1 CL')
Opt into the new UI and observe the new 'Depends on Patchset' and 'Dependent Patchsets' sections in the above CLs.


Design doc is here: https://docs.google.com/document/d/1KZGFKZpOPvco81sYVRCzwlnjGctup71RAzY0MSb0ntc/edit#heading=h.6r6lt4tsvssw

BUG=502255

Review URL: https://codereview.chromium.org/1149653002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295778 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sergiyb@chromium.org 442811154b Added CQ team as OWNERS for CQ-related stuff in depot_tools
TBR=pgervais@chromium.org
R=akuegel@chromium.org, tandrii@chromium.org, phajdan.jr@chromium.org

Review URL: https://codereview.chromium.org/1183363002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295718 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sheyang@chromium.org dc3a1c1083 Updated cq_client library with signcla verifier
BUG=457428

Review URL: https://codereview.chromium.org/1177953005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295680 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sergiyb@chromium.org 67ac65cf1c Renamed google.protobuf to protobuf26
R=pgervais@chromium.org

Review URL: https://codereview.chromium.org/1162993005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295512 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sergiyb@chromium.org 3ee55885bf Updated cq_client library
This introduces changes from https://chromereviews.googleplex.com/206957013/.

R=akuegel@chromium.org
TBR=pgervais@chromium.org
BUG=471767

Review URL: https://codereview.chromium.org/1156373013

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295506 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sergiyb@chromium.org 0b5a74a547 Insert third_party in to the beginning of PATH
This allows to avoid conflicts with libraries in users' PATH

R=pgervais@chromium.org, tandrii@chromium.org

Review URL: https://codereview.chromium.org/1161803004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295497 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sergiyb@chromium.org dc1283197c Added tools to retrieve CQ builders from a CQ config
R=pgervais@chromium.org

Review URL: https://codereview.chromium.org/1153333003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295461 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sheyang@chromium.org 002ffa0e3e Remove apiclient package
BUG=

Review URL: https://codereview.chromium.org/1091163002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294877 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
akuegel@chromium.org 82c0fb126a Revert of Upgrade 3rd packages (patchset #4 id:60001 of https://codereview.chromium.org/1085893002/)
Reason for revert:
This might have broken some internal tryserver bots.

Original issue's description:
> Upgrade 3rd packages
> 
> BUG=461614
> R=nodir@chromium.org
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=294835

TBR=nodir@chromium.org,sheyang@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=461614

Review URL: https://codereview.chromium.org/1094533003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294841 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sheyang@google.com 7e3b6fdd79 Upgrade 3rd packages
BUG=461614
R=nodir@chromium.org

Review URL: https://codereview.chromium.org/1085893002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294835 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vadimsh@chromium.org ed15219ece Use prefixed URLs path when calling internal Rietveld with OAuth2 auth.
Internal Rietveld exposes OAuth2 compatible API via /bots/* endpoints, not via
/* as public one does. See crbug.com/476690.

R=maruel@chromium.org
BUG=356813

Review URL: https://codereview.chromium.org/1082033002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294793 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vadimsh@chromium.org eed4df3d91 Add OAuth2 support for end users (i.e. 3-legged flow with the browser).
This CL introduces new top level command for managing cached auth tokens:
  $ depot-tools-auth login codereview.chromium.org
  $ depot-tools-auth info codereview.chromium.org
  $ depot-tools-auth logout codereview.chromium.org

All scripts that use rietveld.Rietveld internally should be able to use cached
credentials created by 'depot-tools-auth' subcommand. Also 'depot-tools-auth'
is the only way to run login flow. If some scripts stumbles over expired or
revoked token, it dies with the error, asking user to run
'depot-tools-auth login <hostname>'.

Password login is still default. OAuth2 can be enabled by passing --oauth2 to
all scripts.

R=maruel@chromium.org
BUG=356813

Review URL: https://codereview.chromium.org/1074673002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294764 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vadimsh@chromium.org cf6a5d2026 Extract authentication options handling into a separate function.
It is done in preparation for switching to OAuth2 as default (and only)
authentication method. Having all auth options handled by the same code makes it
easier to gradually add OAuth2 support.

As part of this, some options that would no longer work with OAuth2 (and that
are not being used from anywhere now, as far as I can tell) are removed:
  * Passing account password for authentication via command line.
  * Overriding 'Host' header when making requests to Rietveld (won't work with
    SSL anyway).
  * --account_type option (seems to be ClientLogin specific).

R=maruel@chromium.org
BUG=356813

Review URL: https://codereview.chromium.org/1075723002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294746 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dnj@chromium.org 5549faa546 Fix 'gsutil' self-discovery.
Use 'realpath' instead of 'abspath' for self-discovery. This fixes an
issue where 'gsutil' cannot find its dependencies when it is referenced
through a symbolic link.

Specifically, the symlink was: /b/scripts => /b/build/scripts
'gsutil' was called as:
/b/scripts/slave/../../../depot_tools/third_party/gsutil/gsutil

Because '/b/scripts/slave' resolves to '/b/build/scripts/slave', the three
parent directory operators actually resolve to '/b', but 'os.path.abspath'
blindly resolves them to '/'.

BUG=chromium:474442
TEST=live
  - Signed onto failing bot, made this change, 'gsutil' works.

R=hinoka@chromium.org

Review URL: https://codereview.chromium.org/1060353002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294712 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dnj@chromium.org 836566743c upload.py: Fix immutable exception attribute.
BUG=chromium:356813
TEST=local
  - Actually failed login, watched error message get printed.

Review URL: https://codereview.chromium.org/1063143003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294705 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dnj@google.com c0707f8ea5 upload.py: Fix undefined variable bug.
BUG=chromium:356813
TEST=None
R=vadimsh@chromium.org, stip@chromium.org

Review URL: https://codereview.chromium.org/1060633003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294704 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dnj@chromium.org 491272f14f Try internal authentication URL if external fails.
BUG=chromium:356813
TEST=local
  - Deleted cookies file, ran without patch, 404.
  - Deleted cookies file, ran on internal network, works!

Review URL: https://codereview.chromium.org/1068973002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294701 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com ef966222c9 Add ability to CQ dry run patchsets during "git cl upload".
The corresponding Rietveld change is here: https://codereview.chromium.org/1054683003/

BUG=chromium:472690

Review URL: https://codereview.chromium.org/1053653004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294699 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sheyang@google.com 67e58a51f8 Added OAuth2 support in depot_tools
BUG=356813
R=nodir@chromium.org, vadimsh@chromium.org

Review URL: https://codereview.chromium.org/963953003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294698 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vapier@chromium.org ab81b0c662 pylint: upgrade to 1.4.1
This is largely a bugfix release, so should be much easier to transition.

BUG=chromium:431514
TEST=ran on some code bases and checked output

Review URL: https://codereview.chromium.org/876793002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293806 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vapier@chromium.org 9f1f040b5f pylint: upgrade to 1.4.0
This is largely a bugfix release, so should be much easier to transition.

BUG=chromium:431514
TEST=ran on some code bases and checked output

Review URL: https://codereview.chromium.org/753543006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293355 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com d1e3758a84 depot_tools: Send the remote tracked ref to Rietveld via upload.py.
This change goes hand in hand with the corresponding Rietveld change here:
https://codereview.chromium.org/773083004/
The motivation for both CLs came from the discussion in the internal CL: https://chromereviews.googleplex.com/115567013/

AFAIK either change can be submitted first without breaking anything in the other framework.

Observe the "Tracked Ref" field in the below CLs-

Tracking a remote ref:
* https://skia-codereview-staging.appspot.com/8861001 (Tracking skiabot-test's refs/heads/master)
* https://skia-codereview-staging.appspot.com/851002 (Tracking skiabot-test's refs/diff/test1)
* https://skia-codereview-staging.appspot.com/2891001 (Tracking Chromium's refs/heads/master)
* https://skia-codereview-staging.appspot.com/1931003 (Tracking Chromium's refs/branch-heads/1916)

Tracking a local branch which in turn tracks a remote ref:
* https://skia-codereview-staging.appspot.com/3891002 (Transitively tracking skiabot-test's refs/heads/master)
* https://skia-codereview-staging.appspot.com/4921001 (Transitively tracking Chromium's refs/branch-heads/1916)

CL when no target_ref is specified in depot_tools/third_party/upload.py:
* https://skia-codereview-staging.appspot.com/3871003 (CL with missing target_ref should default to /refs/heads/master)


Try the above links with and without the 'Deprecated UI' checked in https://skia-codereview-staging.appspot.com/settings


BUG=435702

Review URL: https://codereview.chromium.org/781523002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293334 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
iannucci@chromium.org 34edb9bfa3 Update upload.py in depot_tools to infra.git@3d174a0959ba68a4cd83a5abce9f497e30bfce68
Includes fix for bug 388937.

R=agable@chromium.org, jrobbins@chromium.org, maruel@chromium.org
BUG=388937

Review URL: https://codereview.chromium.org/785433003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293259 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vapier@chromium.org e3b32af9fe Revert "Revert "pylint: upgrade to 1.3.1""
The reason cited for reverting was invalid, so reland the update.

BUG=chromium:431514

Review URL: https://codereview.chromium.org/739393004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293049 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
smut@google.com 9fccbfe4d1 Revert "pylint: upgrade to 1.3.1"
This reverts commit e642ee868c.

Conflicts:
	pylintrc

Reason:
	All repos are borked.

TBR=vapier

Review URL: https://codereview.chromium.org/741023003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293042 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
jochen@chromium.org 145960c213 Ignore any import error for upload.py
BUG=none
TBR=jrobbins@chromium.org

Review URL: https://codereview.chromium.org/733923003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293010 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vapier@chromium.org e642ee868c pylint: upgrade to 1.3.1
The current pylint is very old at this point.  Pull in the latest version
as it supports a lot more features.  Also need to fix the pylint wrapper
to actually update sys.path to use the local modules.

We include the six module since not all bots have it, and it's small.

This will trigger new warnings in files, but they look like legitimate
issues that should be fixed at some point.

BUG=chromium:431514
TEST=ran on some code bases and checked output

Review URL: https://codereview.chromium.org/741503002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292988 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
kbr@chromium.org 8a57ce17e3 Revert "pylint: upgrade to 1.3.1"
This reverts commit 451939d582.

Throws an exception with a missing import, breaking Telemetry's
presubmit checks and presumably presubmit checks for all Python files
in Chromium. See comment on https://codereview.chromium.org/707353002/ .

BUG=chromium:431514

Review URL: https://codereview.chromium.org/719313003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292955 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vapier@chromium.org 451939d582 pylint: upgrade to 1.3.1
The current pylint is very old at this point.  Pull in the latest version
as it supports a lot more features.  Also need to fix the pylint wrapper
to actually update sys.path to use the local modules.

This will trigger new warnings in files, but they look like legitimate
issues that should be fixed at some point.

BUG=chromium:431514
TEST=ran on some code bases and checked output

Review URL: https://codereview.chromium.org/707353002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292954 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
jrobbins@chromium.org 09b2920af9 Make MIME boundary harder to accidentally match.
This is just making the same change to the copy of upload.py that is in depot_tools.

BUG=419156
R=iannucci@chromium.org

Original Review URL: https://codereview.chromium.org/624513002

Review URL: https://codereview.chromium.org/639503002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292432 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
jrobbins@chromium.org e1623bbab3 When getting content for a moved file w/ history, don't convert newlines in output of 'git show'
BUG=339068

Review URL: https://codereview.chromium.org/442893003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@287615 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
dtu@chromium.org 37b5c05f73 Fix undefined default_config_path_bak in gsutil config.
This is already fixed upstream in gsutil.


BUG=None.
TEST=None.

Review URL: https://codereview.chromium.org/341833005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@280386 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
sheyang@chromium.org 152cf83378 Upload project option in 'gcl' and 'git cl' uploading commands.
BUG=374398

Review URL: https://codereview.chromium.org/298703003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@276491 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@chromium.org d5a1ab12ef Remove prompt for default project ID
The "What is your project ID" has confused about every user of gsutil that I've
talked to, and isn't even useful in the context of download_from_google_storage
because its only good for "mb" on a bucket and "ls" without specifying a bucket,
neither of which this version of gsutil should ever do.

This CL:
* Removes the prompt for project ID
* Removes the 2 second delay which was meant for autolaunching a browser
  * We don't want this behavior anyways because most of our devs have multiple
    browser profiles open and they need to paste the URL into the correct profile.
* Removes support to autolaunch a broswer.
* Removes a lot of the extra messages.  The prompt now looks like:
===
$ download_from_google_storage -g
Please navigate your browser to the following URL:
https://accounts.google.com/o/oauth2/auth?.....

Enter the authorization code: <code>

Boto config file "/usr/local/google/home/hinoka/.boto.depot_tools" created.
$ 
===
BUG=351015

Review URL: https://codereview.chromium.org/222973002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@267973 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
agable@chromium.org 333087e2c5 Fix upload.py to properly use a local logger
When rietveld.py overrides upload.py's logging module, it generally works fine...
until someone tries to run upload.py with any level of verbosity. Then the
calls to logging.getLogger and logging.INFO/logging.DEBUG fail. This patches
upload.py to properly use a module-scope logger so that rietveld.py doesn't
have to perform invasive surgery, and everything just works.

This version of upload.py taken from upstream Rietveld at:
changeset:   1267:d7b39eca7dbe
branch:      chromium

R=djacques@chromium.org, maruel@chromium.org

Review URL: https://codereview.chromium.org/221423007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262793 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org fe0d1902b3 Revamped terminal output for update.
Features:

- Non-verbose output is now limited to a one-line progress
indicator.

- Verbose output is now collated per subprocess.  As soon as a
subprocess finishes, its full output is dumped to terminal.

- Verbose output is prefixed with timestamps representing elapsed
time since the beginning of the gclient invocation.

- git progress indicators ("Receiving objects", etc.) are limited to
one line every 10 seconds.

- In both verbose and non-verbose mode, if a failure occurs, the
full output of the failed update operation is dumped to terminal
just before exit.

- In the event that updates are progressing, but slowly,
"Still working" messages will be printed periodically, to pacify
users and buildbots.

BUG=
R=hinoka@google.com

Review URL: https://codereview.chromium.org/227163002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262500 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
pgervais@chromium.org 0752f9bf41 Replaced boto certificate
Removed check on certificate SHA1 in gsutil

BUG=348233

Review URL: https://codereview.chromium.org/212553007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@260297 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@google.com 8bc4a30f1c Allow prodaccess based gsutil to also write into a bucket
The Telemetry workflow happily uses this gsutil to download artifacts, but they would also like to use the same workflow to upload artifacts.

I don't see a big harm in enabling read_write access for prodaccess based gsutil since its already more restrictive than the normal gsutil auth flow.  I could also be convinced to make this full_control, but that need has not arisen yet.

BUG= 341665

Review URL: https://codereview.chromium.org/148203012

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259761 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@google.com c776c1067c Revert of Replaced boto certificate (https://codereview.chromium.org/212993005/)
Reason for revert:
This causes download_from_google_storage to fail:
Failure: CA certificates file does not have expected SHA1 sum; expected: ed024a78d9327f8669b3b117d9eac9e3c9460e9b, actual: 433e5589520cd2f1f29dea3e077cfbc2b74fb78c.

You'll need to also update the expectations on the gsutil side, and then reland.

Test it by running "gsutil ls".

Original issue's description:
> Replaced boto certificate
> 
> BUG=348233
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=259692

TBR=stip@chromium.org,rsleevi@chromium.org,pgervais@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=348233

Review URL: https://codereview.chromium.org/213963002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259744 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
pgervais@chromium.org e88578a09c Replaced boto certificate
BUG=348233

Review URL: https://codereview.chromium.org/212993005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259692 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
pgervais@chromium.org 9979824601 Added OAuth2 authentication to apply_issue
Added oauth2client and httplib to third_party

BUG=348233

Review URL: https://codereview.chromium.org/183793010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259643 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 3407103d2c Presubmit check improvements.
- Don't pylint files in .gitignore or .git/info/excludes
- Print full path to modules in pylint.

BUG=

Review URL: https://codereview.chromium.org/202773002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@257672 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@google.com da73a4bdaa bypass_prodaccess fix
It looked like the bypass_prodaccess flag wasn't passed in all the way to
where it needed to be, causing it to be set to True by default at some point,
which caused the prodaccess path to never happen.  This change takes the flag
and brings it all of the way.

BUG=337972

Review URL: https://codereview.chromium.org/147443002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@247049 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
dtu@chromium.org 8cfa89bfd7 Disable retries when gsutil runs loas_check.
By default, if loasd is not running, loas_check retries twice, waiting 5 seconds between retries. This is in case loasd is restarting due to reinstallation. Unfortunately, if the user has never run prodaccess, this check takes an extra 10 seconds. So, just disable the retries.

BUG=

Review URL: https://codereview.chromium.org/137853024

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@245399 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@chromium.org c6a2ee6930 Adds SSO auth to gsutil
Code path:
1. plugins.sso_auth is imported, which adds the AuthHandler class to the global state.
2. HasConfiguredCredentials() in gslib/utils.py is called by gsutil, and will return true if "prodaccess" exists on the system, which tells the system that we don't want a no-op auth handler.
3. When a command is called, all the auth handlers are cycled through and sso_auth.SSOAuth is called, which calls a stubby command to emit a gaiamint'ed oauth2 access token, which is then used as the Authorization Header

if --bypass_prodaccess is passed in, then:
1. HasConfiguredCredentials() will bypass the check for prodaccess, as if it didn't exist.
2. plugins.sso_auth does not get imported.
Which will essentially cause gsutil to behave as if this patch never existed.

So the expected behavior is:
=.boto file does not exist, prodaccess exists, but unauthenticated=
Failure: No handler was ready to authenticate. 3 handlers were checked. ['OAuth2Auth', 'HmacAuthV1Handler', 'SSOAuth'] Check your credentials.

=.boto file exists, prodaccess exists, but unauthenticated=
sso_auth will raise NotReadyToAuthenticate, and the .boto file will be used instead

=.boto file exists, prodaccess exists, authenticated=
sso_auth will be run _after_ the default gsutil authenticator, which causes the sso_auth to be used over whatever the default authentication is.

bypass_prodaccess is passed in by default to upload_to_google_storage because we expect people who use upload_to_google_storage to not need prodaccess and have their own boto file already.  Also the sso_auth plugin will only request a readonlyi token, which will not work for uploading.

BUG=258152

Review URL: https://codereview.chromium.org/86123002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@240266 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago