Commit Graph

1278 Commits (289b43183e98bdec9e8bc45be1eb462876cccebc)

Author SHA1 Message Date
Kenneth Russell df6e7348b9 Fix addition of CQ_INCLUDE_TRYBOTS on Gerrit.
BUG=710547

Change-Id: I6558ba08683b8e010ac5051dabfd82d9a5b9c551
Reviewed-on: https://chromium-review.googlesource.com/486083
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
8 years ago
Andrii Shyshkalov e6e2375546 Rietveld: fix search query.
R=maruel@chromium.org,jrobbins@chromium.org
BUG=712060

Change-Id: I16651d9926fe0f3a74549a4c03896220f9a58f94
Reviewed-on: https://chromium-review.googlesource.com/482659
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Jochen Eisinger b624bfe0d0 Only attribute comments to owners that are close to the comment
A comment that is preceded with an empty line (or starts at the
beginning of the file) will be attributed to owners listed directly
below the comment. Otherwise, if the comment is in the middle of
a list of owners, it will only be attributed to the next owner.

BUG=712589
R=dpranke@chromium.org

Change-Id: I19bd7809836b6ee65ef56e2ec399e5cd09eaa132
Reviewed-on: https://chromium-review.googlesource.com/481303
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
8 years ago
Aaron Gable 6f5a8d9987 Flip gerrit_util to raise exceptions on 404 by default
This makes the library behave more like what we'd expect,
while still allowing certain function to specify that
returning 204 or 404 is expected/acceptable behavior.

Change-Id: If3ce5598d1603819ee97aaeab0072a9e786ed96d
Reviewed-on: https://chromium-review.googlesource.com/481043
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Aaron Gable 19ee16c860 Reland "Refactor ReadHttpResponse to be error-friendlier"
Gerrit sometimes returns a full response json object at
the same time as returning a non-200 status code. This
refactor makes it easier for calling code to request
access to that object and handle error cases on its own.

The original version of this commit had a bug where
ReadHttpResponse properly set the default value for
accept_statuses, but all calls which came through
ReadHttpJsonResponse were setting None instead.

Bug: 710028
Change-Id: I8cee435d8acd487fb777b3fd69b5e48e19d2e5a3
Reviewed-on: https://chromium-review.googlesource.com/481060
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Aaron Gable 382674be12 Revert "Refactor ReadHttpResponse to be error-friendlier"
This reverts commit 6d7ab1bfe5.

Reason for revert: Stacktrace:
 File "/s/depot_tools/gerrit_util.py", line 816, in GetAccountDetails
   return ReadHttpJsonResponse(conn)
 File "/s/depot_tools/gerrit_util.py", line 376, in ReadHttpJsonResponse
   fh = ReadHttpResponse(conn, accept_statuses)
 File "/s/depot_tools/gerrit_util.py", line 365, in ReadHttpResponse
   if response.status not in accept_statuses:
TypeError: argument of type 'NoneType' is not iterable

Original change's description:
> Refactor ReadHttpResponse to be error-friendlier
> 
> Gerrit sometimes returns a full response json object at
> the same time as returning a non-200 status code. This
> refactor makes it easier for calling code to request
> access to that object and handle error cases on its own.
> 
> Bug: 710028
> Change-Id: Id1017d580d2fb843d5ca6287efcfed8775c52cd6
> Reviewed-on: https://chromium-review.googlesource.com/479450
> Commit-Queue: Aaron Gable <agable@chromium.org>
> Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
> 

TBR=agable@chromium.org,tandrii@chromium.org,chromium-reviews@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ia9d9ce835e207a32e7cc8ee35c0cf40c823c7b78
Reviewed-on: https://chromium-review.googlesource.com/481059
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Robert Iannucci 6c98dc69b2 [git-cl] add --tbrs flag.
Bug:

Change-Id: I6c8ffaa5d8b934e287c97b97faf6909df5d02978
Reviewed-on: https://chromium-review.googlesource.com/479781
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Aaron Gable 6d7ab1bfe5 Refactor ReadHttpResponse to be error-friendlier
Gerrit sometimes returns a full response json object at
the same time as returning a non-200 status code. This
refactor makes it easier for calling code to request
access to that object and handle error cases on its own.

Bug: 710028
Change-Id: Id1017d580d2fb843d5ca6287efcfed8775c52cd6
Reviewed-on: https://chromium-review.googlesource.com/479450
Commit-Queue: Aaron Gable <agable@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov 550e924d20 Gerrit git cl upload <diff_base>: respect diff_base argumnent.
This CL propagates <diff_base> all the way to become parent commit
of the syntentic commit generated by squashing the current branch.

BUG=649846
R=agable@chromium.org

Change-Id: Ided7ebbb5c3a1114cac18adb62b3a9c27610018c
Reviewed-on: https://chromium-review.googlesource.com/475229
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Jochen Eisinger d0573ec067 Use OldContents() for OWNERS files to do checks
BUG=141253
R=dpranke@chromium.org

Change-Id: Iacbc2f0571e725e4f2ccf5ea7878f101972289bb
Reviewed-on: https://chromium-review.googlesource.com/476610
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
8 years ago
Andrii Shyshkalov 73827d154b Refactor git cl tests.
R=machenbach@chromium.org

Change-Id: I54f4a0507352f4d4e460188c9bc6425ff83f28bb
Reviewed-on: https://chromium-review.googlesource.com/475910
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov e05d488235 git cl tests: improve readability of test helper.
Shorten lines and remove useless stacktrace to make sure the actually
usefull exception fits on tandrii@'s screen :)

R=sergiyb@chromium.org

Change-Id: I387da6c70f72a122d64f7a044d201d72a858fc3f
Reviewed-on: https://chromium-review.googlesource.com/475811
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Aaron Gable a1bab27a25 Give Rietveld git-cl-status the 'not lgtm' state
While working on fixing git-cl-status for gerrit, I realized
it would be really easy to bring the Rietveld version up to
parity and simplify it at the same time.

Bug: 706460
Change-Id: Icff32b532fa29f8869205111cd117176e0d34b8f
Reviewed-on: https://chromium-review.googlesource.com/470448
Commit-Queue: Aaron Gable <agable@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov c971239edd git cl patch <url>: better handling of URLs.
* if --rietveld or --gerrit is given, parse only using appropriate
  parser.
* if url has '$HOST-review' in the beginning, assume it's Gerrit
* if type of codereview is detected based on URL, then print this
  information for the user.
  This also applies to `git cl description` but message is logged instead,
  because in '-d|--display' option git cl is supposed to print only description,
  and some tooling likely relies on this :(

R=jochen@chromium.org
BUG=706406

Change-Id: I21c9355c5334fd71db27618cda11287f75168b59
Reviewed-on: https://chromium-review.googlesource.com/473186
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
8 years ago
Paweł Hajdan, Jr ec576ecfa2 Stop running deprecated simulation_test
See https://codereview.chromium.org/2808833003/
for context.

Bug: 699120, 693058
Change-Id: I1420c347d4ae2bac8bea54bc1b921fe6b65e6161
Reviewed-on: https://chromium-review.googlesource.com/474027
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
8 years ago
Matt Giuca 17a530722b git hyper-blame: Fixed --no-default-ignores option to not take argument.
BUG=709835

Change-Id: Ia203cf24adf752ef3acdf660b4fe0990503782b9
Reviewed-on: https://chromium-review.googlesource.com/472587
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Matt Giuca <mgiuca@chromium.org>
8 years ago
Andrii Shyshkalov 90f3192799 git cl: remember codereview type when parsing issue/change URL.
R=jochen@chromium.org
BUG=706406

Change-Id: I477d1cf629bb0bccebead6e5c0189830ea76be7e
Reviewed-on: https://chromium-review.googlesource.com/472867
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
8 years ago
Matt Giuca 2cd3c14ef7 git_hyper_blame: Fix wrong line number on lines changed many times.
This could, in extreme cases, result in a crash due to the wrong line
number being out of bounds of the file line count.

BUG=709831

Change-Id: I08ec75362d49c4a72e7ee9fd489d5f9baa6d31bd
Reviewed-on: https://chromium-review.googlesource.com/472648
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
8 years ago
Andrii Shyshkalov 28d840eb31 git cl patch: when URL matches both codereview systems, choose rietveld.
This is temporary, and will be changed in subsequent CLs. For now,
it suffices to stop relying on pseudo-random dictionary order in tests
and prod.

R=jochen@chromium.org
BUG=706406

Change-Id: I26c467a28bc63b5f81d20fc222a2b6f0511c507f
Reviewed-on: https://chromium-review.googlesource.com/472750
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Jochen Eisinger 76f5fc6cd9 Also print comments found in files during presubmit owners suggestion
R=dpranke@chromium.org
BUG=694222

Change-Id: I5676db2283dd43378293bc9bb32f71e0a1225806
Reviewed-on: https://chromium-review.googlesource.com/471609
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
8 years ago
Jochen Eisinger eb7447605b Configure path to OWNERS.status file via toplevel OWNERS
BUG=694222
R=dpranke@chromium.org

Change-Id: Ie841332129dd6fa8555d2e940c919b812fc9408d
Reviewed-on: https://chromium-review.googlesource.com/467250
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
8 years ago
Andrii Shyshkalov febbae9d2e Revert "git cl upload for Gerrit: use push options instead of refspec."
This reverts commit 0267fd2c29.

Reason for revert: seems to have changed some behavior as reported by SKIA.

Original change's description:
> git cl upload for Gerrit: use push options instead of refspec.
> 
> This removes limitation of no special chars in patchset titles.
> 
> BUG=chromium:663787,chromium:707963,gerrit:5184
> R=​sergiyb@chromium.org,agable@chromium.org
> TEST=uploaded this CL using depot_tools with this patch :)
> 
> Change-Id: I5d684d0a0aa286a45ff99cca6d57aefa8436cd0f
> Reviewed-on: https://chromium-review.googlesource.com/468926
> Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
> Reviewed-by: Sergiy Byelozyorov <sergiyb@google.com>
> 

TBR=agable@chromium.org,sergiyb@google.com,tandrii@chromium.org,sergiyb@chromium.org,borenet@chromium.org,chromium-reviews@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:663787,chromium:707963,gerrit:5184

Change-Id: I3306091b14b97a200150389d0480b69120af8c61
Reviewed-on: https://chromium-review.googlesource.com/469006
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov 0267fd2c29 git cl upload for Gerrit: use push options instead of refspec.
This removes limitation of no special chars in patchset titles.

BUG=chromium:663787,chromium:707963,gerrit:5184
R=sergiyb@chromium.org,agable@chromium.org
TEST=uploaded this CL using depot_tools with this patch :)

Change-Id: I5d684d0a0aa286a45ff99cca6d57aefa8436cd0f
Reviewed-on: https://chromium-review.googlesource.com/468926
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@google.com>
8 years ago
Jochen Eisinger 72606f8c24 Add support for a global status files for OWNERS
This allows for having some global comments such as timezones or
long-term unavailability.

The comments go into build/OWNERS.status (that way, they should be
available in all repos that map in build/ for the gn config files).
The local can be overwritten in codereview.settings.

The format is

email: status

Comments (starting with #) are allowed in that file, but they're ignored.

BUG=694222
R=dpranke@chromium.org

Change-Id: I49f58be87497d1ccaaa74f0a2f3d373403be44e7
Reviewed-on: https://chromium-review.googlesource.com/459542
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
8 years ago
Robert Iannucci 09f1f3ddc7 [git-cl] Add cl methods for dealing with git footers.
This is needed for making PostUploadHooks that don't have to re-invent
the git footers library.

Bug:

Change-Id: I0a0ccf3dffd25152c2c273487ddbd9b279d80678
Reviewed-on: https://chromium-review.googlesource.com/461729
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
8 years ago
anatoly techtonik bdcdc59cb6 Fix pylint file list matching on Windows
Windows paths use backward slash separator, which
escapes regular expressions for white and black lists
in PRESUBMIT.py filters

See https://goo.gl/6c7aku for discussion

Bug:

Change-Id: Ia1d133c5b6cfa6cb364b1500b7b7abe583bce346
Reviewed-on: https://chromium-review.googlesource.com/461141
Commit-Queue: Marc-Antoine Ruel <maruel@chromium.org>
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>
8 years ago
Andrii Shyshkalov 4812e6180b git cl creds-check: add empty line to clearly indicate report.
R=sergiyb@chromium.org
BUG=689543

Change-Id: Ifb0bc9a03da09cb81ba94c310ae59cfee69b7de1
Reviewed-on: https://chromium-review.googlesource.com/461137
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov aa31b97b2e git cl land for not Gerrit: add autorebasing.
Bug: 682934
Tested: https://chromium.googlesource.com/infra/experimental/+log/aef8ad..0378e4
Adapted-from: https://chromium-review.googlesource.com/c/431976/
Change-Id: Ida8141bc92d7501d8e17a1b8571033180f02a7b3
Reviewed-on: https://chromium-review.googlesource.com/458353
Reviewed-by: Aaron Gable <agable@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov bb86fbbef1 git cl upload for Gerrit: warn if uploader is not CL owner.
R=agable@chromium.org
BUG=653172

Change-Id: I141a1422a8f526040fe80522a41d14e2cd8cfc07
Reviewed-on: https://chromium-review.googlesource.com/458421
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Paweł Hajdan, Jr f14709556d Move recipes to their own subdirectory
This will help remove confusion when depot_tools' recipes.py
ends up in PATH.

BUG=699120

Change-Id: Id4c21b0cc6bb022ea2c21145abe76bebb0a8d9c1
Reviewed-on: https://chromium-review.googlesource.com/458430
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Aaron Gable 3a16ed155e Use Bug: footer for Gerrit CLs
Note that because it is now a gerrit footer, it both appears in the same block
as the Change-Id footer (no blank line between them), and isn't guaranteed to be
above the Change-Id footer. This doesn't matter during "git cl upload", when
a Change-Id hasn't been allocated yet, but will show up during "git cl
description".

Bug: 681184
Change-Id: I2ab6fc13be8e992709618a666012410b1a7c02de
Reviewed-on: https://chromium-review.googlesource.com/446660
Commit-Queue: Aaron Gable <agable@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Daniel Cheng 7a1f04d377 Implement presubmit API to get the old contents of an affected file.
BUG=702851

Change-Id: I6f005d19524cbb8b361d3fcb0b91912885c46e00
Reviewed-on: https://chromium-review.googlesource.com/456755
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
8 years ago
Paweł Hajdan, Jr 742adbd76f Run new recipes 'test' command
BUG=chromium:699120

Change-Id: Ie498bec2e2e38cbde8fac6409b13d2032b2e1a1b
Reviewed-on: https://chromium-review.googlesource.com/457318
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
8 years ago
Andrii Shyshkalov 0d6b46e32b git cl comment: require explicit --codereview with -i|--issue flag.
R=agable@chromium.org,machenbach@chromium.org
BUG=698236

Change-Id: If79f938e457f176c47badd75f78ed4ecb764ec2d
Reviewed-on: https://chromium-review.googlesource.com/456700
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Robert Iannucci e86f6de842 Fix smoke test to not hard-code python executable location.
BUG=670678

Change-Id: If3104a6d666e84d7150ba805672dac3e34a1f9a1
Reviewed-on: https://chromium-review.googlesource.com/416269
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Andrii Shyshkalov 5a0cf20452 git cl comment: implement fetching comments for Gerrit.
R=agable@chromium.org,machenbach@chromium.org
BUG=698236

Change-Id: I36dcd2f10d0518a9f04a766e09c1ab00f2ce4d3b
Reviewed-on: https://chromium-review.googlesource.com/456699
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
8 years ago
Andrii Shyshkalov d8aa49f35b git cl comment: refactor fetching comments for Rietveld and add tests.
R=agable@chromium.org,machenbach@chromium.org
BUG=698236

Change-Id: I04e264130952e3e270540fae8381db544cf40e7c
Reviewed-on: https://chromium-review.googlesource.com/456697
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
8 years ago
Andrii Shyshkalov 625986dba7 git cl comment: implement adding comment for Gerrit.
BUG=698236

Change-Id: Ia1a36af71c348be991d77083092c5043c2642c19
Reviewed-on: https://chromium-review.googlesource.com/455877
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov 0a0b067e6b git cl creds-check: add reporting.
BUG=689543

Change-Id: I2c5dd9e1ef4a23ba805c8c057ad44c87cfb65a5b
Reviewed-on: https://chromium-review.googlesource.com/455782
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
8 years ago
Andrii Shyshkalov 9780050b24 git cl creds-check: add methods analysing .gitcookies.
These methods are used to produce report in the next CL.

BUG=689543

Change-Id: I71b2705ac8b046103b4982d47f7ec97f8ef7818b
Reviewed-on: https://chromium-review.googlesource.com/455838
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
8 years ago
Aaron Gable d343c63519 git-cl patch: set metadata before (failing to) apply patch
If the commit or cherry-pick command fails, git automatically drops
the user into a state where they can try to manually fix it. That's
great. But with the old call order, it would also leave the metadata
unset. This sets the issue and patchset number before doing the
potentially-failing heavy lifting, so that the branch will be in a
consistent state after the user finishes fixing up the failed command.

BUG=701130

Change-Id: I792b9fb9e61ba62626c19aa1837d21f8cd8f594e
Reviewed-on: https://chromium-review.googlesource.com/456039
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Andrii Shyshkalov 34924cd4f0 git cl creds-check: add pretty printing of existing creds.
BUG=689543

Change-Id: I085f3e086059ecf3b57a8e0cd0d716adc54f8644
Reviewed-on: https://chromium-review.googlesource.com/454816
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
8 years ago
Andrii Shyshkalov 353637c534 Add `git cl creds-check` to clean Git/Gerrit creds interactively.
BUG=689543

Change-Id: I0ba24c46f36c505fae03aaeab3b277e80bca8f8b
Reviewed-on: https://chromium-review.googlesource.com/454696
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov abc26ac029 git cl: refactor common user interactions.
R=machenbach@chromium.org
BUG=

Change-Id: Id3e3fe6223a875d997ac5569137db270818a08f4
Reviewed-on: https://chromium-review.googlesource.com/453439
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
8 years ago
Andrii Shyshkalov 5c3d0b374d Gerrit git cl upload: add test for early abort.
BUG=689652
R=agable@google.com

Change-Id: Ia0ca4dbacb0131658bbb41fc741f45b5e7f2cba9
Reviewed-on: https://chromium-review.googlesource.com/443545
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
8 years ago
Mark Mentovai 57c4721d81 git-cl: Make BUG_LINE_FORMAT configurable in codereview.settings
The default BUG_LINE_FORMAT is the existing BUG=%s. Projects that wish
to begin using Gerrit-style footers like Bug: %s can now set this in
codereview.settings.

BUG=616753

Change-Id: I4470311a86db228eab2a1655ae884736cce8c380
Reviewed-on: https://chromium-review.googlesource.com/451565
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Mark Mentovai f548d08a5d Make git blame test pass independently of core.abbrev setting
7-digit hashes are bogus, so I run with core.abbrev = 12.

Non-default settings for core.abbrev caused the git blame test to fail,
because it was hard-coded to look for exactly 7 digits. This change
allows an --abbrev option to be passed to the git-blame wrapper, and
ensures that the same value is used for the git-blame operation and the
computed expectation.

TEST=tests/git_common_test.py GitReadOnlyFunctionsTest.testBlame

Change-Id: I83cbf4dd7267ea36607119bef52f303d59c3f840
Reviewed-on: https://chromium-review.googlesource.com/451124
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
8 years ago
Andrii Shyshkalov 0293956dab git cl tests: refactor gerrit base calls for readability.
R=agable@chromium.org
BUG=689652

Change-Id: I3074eeef2b939d64bcd2e537bbc7ee288241bd79
Reviewed-on: https://chromium-review.googlesource.com/443108
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Dirk Pranke 4dc849f802 Fix a bug with handling file:// entries in owners.
Previously, if an OWNERS file included //foo/API_OWNERS, then the
code would get confused and think that it had already read and processed
//foo/OWNERS, transferring the contents of the former to the latter.
This was wrong. This change fixes the attribution and adds tests to make
sure we catch this in the future.

R=thakis@chromium.org
BUG=697156

Change-Id: I1f1b846cafac2ad6d792d2dccfce94911e9d15c3
Reviewed-on: https://chromium-review.googlesource.com/447962
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
8 years ago
Andrii Shyshkalov 3e631421d2 Gerrit git cl upload: abort early if change is submitted or abandoned.
BUG=689652
R=agable@chromium.org,martiniss@chromium.org

Change-Id: Ib9f5b08f5b31a1519a5f5916042885967a263d88
Reviewed-on: https://chromium-review.googlesource.com/443325
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Ryan Tseng 4dc0b2a33d Bot Update: Always pass in --revision <solution>@unmanaged
Gclient sometimes ignores "unmanaged": "False" in the gclient solution
if --revision <anything> is passed.  This forces gclient to always
treat solutions deps as unmanaged.

BUG=693296

Change-Id: I91d5f4c9377fab0fde23cf15d1475779978820fa
Reviewed-on: https://chromium-review.googlesource.com/444098
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov 21fb824ed7 Gerrit git cl: add description cache handling regression test.
Follow up on https://chromium-review.googlesource.com/#/c/439877/
which fixed a bug.

R=kbr@chromium.org
BUG=688765

Change-Id: I8cfc5feb2d8060182572b2d4ecb6a038bf1e0abf
Reviewed-on: https://chromium-review.googlesource.com/443350
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Kenneth Russell 61e2ed43fb Moved EnsureCQIncludeTrybotsAreAdded to OutputApi.
This makes them accessible to presubmit scripts' PostUploadHook.

Fixed bugs where caching needed to be bypassed in order for
sequential PostUploadHooks to see each others' results.

BUG=688765

Change-Id: I56c0c6b6419e2474f4b7f701be036fb2a524f8e3
Reviewed-on: https://chromium-review.googlesource.com/439877
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
8 years ago
Ryan Tseng 4dbec6722f bot_update: Rewrite repo@HEAD to repo@origin/master
BUG=692140,664880

Change-Id: I3ddd899f1841930e601a906d658c5c78e2d76673
Reviewed-on: https://chromium-review.googlesource.com/442707
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Ryan Tseng <hinoka@chromium.org>
8 years ago
Stephen Martinis 014cb038b8 recipes_test.py: Use recipe bootstrap
This ensures coverage is installed, rather than depending on it being
installed in your system.

BUG=671189

Change-Id: Id9d7c514b4db53963381c5269bee06c706b23751
Reviewed-on: https://chromium-review.googlesource.com/442050
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Ryan Tseng 112edbbb15 Bot Update: Use gclient sync --revision for revisions
BUG=664880

Change-Id: Ic3d4da4595acb509c9dae682dbd696900f435436
Reviewed-on: https://chromium-review.googlesource.com/442025
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Ryan Tseng <hinoka@chromium.org>
8 years ago
Andrii Shyshkalov 3186301a4e git cl: allow to forcibly bypass cache and fetch CL description.
R=kbr@chromium.org
BUG=633572,688765

Change-Id: I2ce6530148bc2f00fe9f6a80aaccc520c69a2f83
Reviewed-on: https://chromium-review.googlesource.com/439186
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
8 years ago
Kenneth Russell 1678a364a5 Add presubmit_support.EnsureCQIncludeTrybotsAreAdded.
The PostUploadHooks in the Chromium repository which add
CQ_INCLUDE_TRYBOTS entries to the issue description will be rewritten
in terms of this primitive, which will compose properly if multiple
sub-directories attempt to modify it.

BUG=688765

Change-Id: Icf72edb872f29af1e082038e96bc547504edfd07
Reviewed-on: https://chromium-review.googlesource.com/438925
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
8 years ago
Andrii Shyshkalov e9c78ffc95 git cl for Gerrit: add support for local git cache checkouts.
R=machenbach@chromium.org
BUG=689035

Change-Id: Ib7a56c52501a5d0dd6638a99bde3d376bd27bfb6
Reviewed-on: https://chromium-review.googlesource.com/438347
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Aaron Gable eb3af71509 git-cl: don't prompt after cleaning patchset title
BUG=688099

Change-Id: Ic505ab6553b1a9f1e6ab51377bb6519d805a847e
Reviewed-on: https://chromium-review.googlesource.com/436406
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Andrew Bonventre <andybons@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Andrii Shyshkalov eadad92e4a git cl try: reduce number of RPCs to Gerrit from 3 to 1.
R=agable@chromium.org
BUG=681704

Change-Id: I3c0ab781e0357e0855d50157c5653df57f68ac9a
Reviewed-on: https://chromium-review.googlesource.com/432336
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Andrii Shyshkalov 8039be7cc8 git cl: reduce number of Gerrit RPCs in status check.
Also fixes git cl description <url> by propagating codereview host information
in all cases.

BUG=681704
R=agable@chromium.org

Change-Id: Ia79c10b19d72b5a8797a1428ad8a79c8f4480901
Reviewed-on: https://chromium-review.googlesource.com/431036
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Andrii Shyshkalov 8fc0c1d8f0 git cl: refactor tests to account for Gerrit GetChangeDetail RPCs.
BUG=681704

Change-Id: I7c8fd09f3c19b9facf876ebeef853e5d77b72a9c
Reviewed-on: https://chromium-review.googlesource.com/432316
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Andrii Shyshkalov 1897532850 Python style fixes + unused imports removal in git cl and friends.
R=sergiyb@chromium.org
BUG=

Change-Id: I9b886100557bf6efa9be07d40175f7bb919f5294
Reviewed-on: https://chromium-review.googlesource.com/432456
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov 18df0cdf0b Improve debuggability of git cl tests.
Change-Id: If14776d86a687a6edf5917f2a63ff984b812ecb8
Reviewed-on: https://chromium-review.googlesource.com/432376
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov f3a20aed82 git cl: remove code related to pending refs and gnumbd.
Refactor _GitNumbererState to two functions and remove no longer
useful tests.

BUG=644915
R=agable@chromium.org

Change-Id: If5e3e3b141aee192211f6af130b01f20f9afdbfe
Reviewed-on: https://chromium-review.googlesource.com/431976
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Christopher Lam f732cd5c70 Add cl description backup to gerrit upload.
BUG=684261

Change-Id: I2716864526fcedf44e561be8512843e12810e3a9
Reviewed-on: https://chromium-review.googlesource.com/431459
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov 258e0a653c Gerrit git cl: cache change detail to save on RPC calls.
R=sergiyb@chromium.org
BUG=681704

Change-Id: I5c320f7e6442a92ae0574e2ca6481a082e82568a
Reviewed-on: https://chromium-review.googlesource.com/430795
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
8 years ago
Dirk Pranke 3c86cee33a Revert "Fix OWNERS canned check to avoid duplicate output."
This reverts commit 66c50ea1f1.

Reason for revert:
Breaks some OWNERS checks. See https://crbug.com/684270 for details.

Original change's description:
> Fix OWNERS canned check to avoid duplicate output.
>
> 1. Update PanProjectChecks() to supply source_filter to CheckOwners().
>    This prevents files under e.g. third_party/WebKit being checked both
>    by the top-level and sub-directory PRESUBMIT rules.
> 2. Fix CheckOwners() to list missing-OWNERS only for the sub-directory
>    it is invoked on, rather than the whole CL. This prevents files under
>    sub-directories with their own PRESUBMIT rule, within the same repo,
>    from causing OWNERS to be checked for files outside that directory.
>
> BUG=
>
> Reviewed-on: https://chromium-review.googlesource.com/426003

TBR=wez@chromium.org,dcheng@chromium.org
BUG=684270

Change-Id: I094818a6fa3e16fbac0d37d2596a40210611ee05
Reviewed-on: https://chromium-review.googlesource.com/431656
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
8 years ago
Alan Cutter 0001782a88 Include branch name in git-squash-branch's default message
Change-Id: I5dfa6017d1c938f8e1c55fbd6e607909aa4d6811
Reviewed-on: https://chromium-review.googlesource.com/422589
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Alan Cutter <alancutter@chromium.org>
8 years ago
Andrii Shyshkalov 351c61da20 Fix git cl on windows for git-numberer repos.
Git cl decides if git-numberer is enabled on a repository by writing
Gerrit's project.config from refs/meta/config into a tempfile, which is
then queried using `git config -f tempfile --get ...`.  The file itself
is only flushed, but not closed after writing because Python's
tempfile.NamedTemporaryFile is deleted on closing. This worked fine on
Linix/Mac, but not on Windows, where `git config` apparently doesn't see
file or its contents.

This CL rewrites the above using yet another contexmanager temp
directory into which a file is written and closed before git config is
ran.

R=machenbach@chromium.org,grt@chromium.org
BUG=683202

Change-Id: I7974d66b1b2b0478ab4b6f7ac04e547a4981c46c
Reviewed-on: https://chromium-review.googlesource.com/430719
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
8 years ago
Aaron Gable e447411c4e Remove unused FORCE_HTTPS_COMMIT_URL parameter from git-cl
BUG=

Change-Id: Ib8953a7fea4e3cd1c17ea277b5310a31821bfbe8
Reviewed-on: https://chromium-review.googlesource.com/431050
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Clemens Hammacher d0c226a0d3 Output missing LGTMs notification also on dry-run
On larger CLs, this can be used to see whether all needed LGTMs are
there on a dry run.

R=tandrii@chromium.org

Change-Id: I5fe4022feaca73d08ead9aed14ca270192740675
Reviewed-on: https://chromium-review.googlesource.com/426819
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: smut <smut@chromium.org>
8 years ago
Aaron Gable 59f4851751 Don't send email to CCs by default on initial upload
It looks like this regressed when we switched from specifying CCs
via the refspec arguments to using the API.

BUG=680605

Change-Id: Iabd397b639989f050932188b1a1aa488639ffbbe
Reviewed-on: https://chromium-review.googlesource.com/427344
Reviewed-by: Andrew Bonventre <andybons@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Aaron Gable b56ad33d00 Respect -t/--title in initial cl uploads to Gerrit
BUG=674254

Change-Id: Icdc572648dfffeca7e28f327e085f64985221ce9
Reviewed-on: https://chromium-review.googlesource.com/425823
Commit-Queue: Aaron Gable <agable@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Wez 66c50ea1f1 Fix OWNERS canned check to avoid duplicate output.
1. Update PanProjectChecks() to supply source_filter to CheckOwners().
   This prevents files under e.g. third_party/WebKit being checked both
   by the top-level and sub-directory PRESUBMIT rules.
2. Fix CheckOwners() to list missing-OWNERS only for the sub-directory
   it is invoked on, rather than the whole CL. This prevents files under
   sub-directories with their own PRESUBMIT rule, within the same repo,
   from causing OWNERS to be checked for files outside that directory.

BUG=

Change-Id: I9bd5677a69efe9c78b4174a917780d6688991a38
Reviewed-on: https://chromium-review.googlesource.com/426003
Commit-Queue: James Weatherall <wez@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
8 years ago
Quinten Yearsley e9c794ea4e Make DoPresubmitChecks unit tests clearer.
This is a follow-up to https://chromium-review.googlesource.com/c/419148/;
the purpose is to confirm that the behavior is how we want it to be when
there are presubmit errors and warnings.

BUG=671683

Change-Id: I5b295c200d3db1a374e4294bdd78a777ae36c832
Reviewed-on: https://chromium-review.googlesource.com/420975
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Aaron Gable 208db564b0 Remove git-svn support from scm.py
None of these methods are called anymore.

BUG=475320

Change-Id: I2f21a326069cf3e65af179f4e61fa15093b73b07
Reviewed-on: https://chromium-review.googlesource.com/423122
Reviewed-by: Katie Thomas <katthomas@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Aaron Gable 6dd3e7146e Remove scm.SVN from depot_tools
This code is no longer imported by anything.

BUG=475320

Change-Id: Ib03f1185c3d90e271f4ee4bff6ad0184454facb8
Reviewed-on: https://chromium-review.googlesource.com/422463
Reviewed-by: Katie Thomas <katthomas@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
agable 814b1cab2f Remove svn support from smaller git extensions
R=iannucci@chromium.org
BUG=475320

Review-Url: https://codereview.chromium.org/2354313003
8 years ago
agable debf6c857c Remove gclient cleanup command
R=maruel@chromium.org
BUG=641588

Review-Url: https://codereview.chromium.org/2401483002
8 years ago
Aaron Gable 1bc7bfe5d9 Remove SVN (and dcommit) support from git-cl
BUG=638750

Change-Id: I9ebe4ff861a37433209b66f4050370b49f17cdc7
Reviewed-on: https://chromium-review.googlesource.com/419661
Commit-Queue: Aaron Gable <agable@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Robert Iannucci 53f3555f63 Fix depot_tools test for git 2.11
We were checking for output which has been dropped from 2.11.0, so loosen the
test a bit.

BUG=670678

Change-Id: Ic610c76ceed4ab42a3b9f2bb8b952a3689658cbf
Reviewed-on: https://chromium-review.googlesource.com/416402
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Quinten Yearsley b2cc4a94da depot_tools: Replace pylint error numbers with symbolic names.
This affects a bunch of files, but only changes comments,
and shouldn't make any difference to behavior.

The purpose is to slightly improve readability of pylint
disable comments.

Change-Id: Ic6cd0f8de792b31d91c6125f6da2616450b30f11
Reviewed-on: https://chromium-review.googlesource.com/420412
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
8 years ago
Quinten Yearsley 442fb64cab depot_tools: Run automatic spell-checker.
Specifically, this CL was made by running codespell
(https://github.com/lucasdemarchi/codespell), manually filtering
for changes in non-third-party files that appear correct.

Change-Id: Ia16c1b29483d777744450d7bea45a178cf877a25
Reviewed-on: https://chromium-review.googlesource.com/420871
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Quinten Yearsley 516fe7f881 Presubmit: if there are warnings and may_prompt is false, don't fail.
Rationale: The description of the -f flag to git cl upload is "force
yes to questions (don't prompt)", so when git cl upload -f is run,
I would expect it to abort on errors, but still continue on warnings.

When the -f is given, DoPresubmitChecks is called with may_prompt=False;
this CL would change the behavior of DoPresubmitChecks so that when
may_prompt is False and there are warnings but no errors, then that
means we will print warnings but not fail.

BUG=671683

Change-Id: Ie0f1ac1983d875226db8ad741cbce3dc0bc4eb96
Reviewed-on: https://chromium-review.googlesource.com/419148
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
8 years ago
Aaron Gable 9b713dd18b Generate patchset name from commit subject
This is a reland of 947f2ee808,
which was reverted in a5a1eea537

BUG=672332

Change-Id: If33c54e500fbeac11f60d81a19549880506c63d8
Reviewed-on: https://chromium-review.googlesource.com/419737
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Aaron Gable 02cdbb45a7 Fix gerrit/gitiles typo in git_cl
This is a fix to 32978d969c,
which introduced a "Landed as <gerrit link>" feature to git-cl, but
which at the last minute introduced a typo causing the whole feature
to not actually work.

BUG=661187

Change-Id: Ifef3379a51f035973bc5f3842862528f90bfdf84
Reviewed-on: https://chromium-review.googlesource.com/419782
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Quinten Yearsley ee60c539eb Refactor DoPresubmitChecks unit tests.
Purpose: This is a unit test method refactoring to try to
improve readability; I made this when adding unit tests for
https://chromium-review.googlesource.com/c/419148/.

In this CL:
 - Extract ExampleChange helper method
 - Explicitly write names of args for DoPresubmitChecks
 - Other minor changes to make the style more consistent

Change-Id: I52236e285e50db890245c6c4b69c70ddf258f140
Reviewed-on: https://chromium-review.googlesource.com/419184
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
8 years ago
Andrii Shyshkalov b5effa1f24 git cl + git numberer: fix 3+ lineage ordering.
In other words, end 2 end test was a really awesome idea.

R=machenbach@chromium.org,sergiyb@chromium.org
BUG=642493
TEST=git cl land of https://codereview.chromium.org/2575043003 succeeded

Change-Id: I568ce79baf109b2aa556e4343527b63f39c10d00
Reviewed-on: https://chromium-review.googlesource.com/419478
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
8 years ago
Andrii Shyshkalov 8f15f3ec1d git cl refactor: s/should_git_number/should_add_git_number
R=sergiyb@google.com
BUG=chromium:642493

Change-Id: Id7b732d82c25ce88a3295ff54c79cf2a66e0d5b9
Reviewed-on: https://chromium-review.googlesource.com/419437
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov a5a1eea537 Revert "Generate patchset name from commit subject"
This reverts commit 947f2ee808.

Reason for revert: unnecessarily sets the title for the first upload,
which isn't done for Rietveld.

Original change's description:
> Generate patchset name from commit subject
> 
> BUG=672332
> 
> Change-Id: If9c662f11b217a52cac7c9c47ad9f3d978148c2e
> Reviewed-on: https://chromium-review.googlesource.com/419330
> Commit-Queue: Aaron Gable <agable@chromium.org>
> Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
> 

TBR=agable@chromium.org,tandrii@chromium.org,chromium-reviews@chromium.org
BUG=672332
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I9dcec1b02c8f16ceca8338acef4a1fc174aef35c
Reviewed-on: https://chromium-review.googlesource.com/419517
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Aaron Gable 947f2ee808 Generate patchset name from commit subject
BUG=672332

Change-Id: If9c662f11b217a52cac7c9c47ad9f3d978148c2e
Reviewed-on: https://chromium-review.googlesource.com/419330
Commit-Queue: Aaron Gable <agable@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov cbec8efcee git cl + git-numberer: add extra regression test case.
R=machenbach@chromium.org
BUG=chromium:642493,672043

Change-Id: Ie50637d6e01e40ddd15dcdfc1430c9554fa82976
Reviewed-on: https://chromium-review.googlesource.com/418715
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov 828701bdf3 Gerrit: git cl set-commit -d: don't spam reviwers/owner.
R=sergiyb@chromium.org,machenbach@chromium.org
BUG=

Change-Id: Ia89e91479c22adeebc85a4432cd9f7b8d95a8fde
Reviewed-on: https://chromium-review.googlesource.com/418655
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov f01be229a7 git cl: insert "Review-Url" instead "Review URL" footer like CQ.
R=sergiyb@chromium.org

Change-Id: I2df867e381ceb1035add84563d3b444b0ee0ea94
Reviewed-on: https://chromium-review.googlesource.com/417267
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov 768f1d88a0 git cl: use gnumbd config instead of PENDING_REF_PREFIX of codereview.settings.
BUG=chromium:642493,672043
R=machenbach@chromium.org,iannucci@chromium.org

Change-Id: I0abc31b95b1766fd5fd24c1379b538d0c5291011
Reviewed-on: https://chromium-review.googlesource.com/417259
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
8 years ago
Andrii Shyshkalov cd6a9363ef git_cl: add GitNumbererState in preparation to stop gnumbd service.
The new class is unused and doesn't change any existing functionality.

BUG=chromium:642493
R=machenbach@chromium.org,iannucci@chromium.org

Change-Id: Id3fe71b07b694339f0a620b427816e52560069d8
Reviewed-on: https://chromium-review.googlesource.com/416430
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Andrii Shyshkalov a6695810bb git cl replacing gnumbd: set correct committer timestamp.
BUG=642493
R=sergiyb@chromium.org

Change-Id: I5d8588f2b6f30368188aecab2d2c462a11aa6883
Reviewed-on: https://chromium-review.googlesource.com/414369
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
9 years ago
Michael Achenbach c850b9611e Add authors check to canned presubmit checks
BUG=v8:5603

Change-Id: Ib7bbdfae070ae4c55f99041befbade942d1d3f9c
Reviewed-on: https://chromium-review.googlesource.com/416859
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
9 years ago
Andrii Shyshkalov 15e50cc5c4 git cl: implement git number footer generation.
BUG=642493

Change-Id: Ic8eb121b0ad7adcc7a3f3f1967ef2261f415e731
Reviewed-on: https://chromium-review.googlesource.com/414466
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
9 years ago
Mike Stipicevic e992b61391 Disable problematic test until we can get git pinned.
BUG=670678

Change-Id: I70f39618eea7dd6428d18e5ba60b539cdd57889c
Reviewed-on: https://chromium-review.googlesource.com/416357
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
9 years ago
Aaron Gable a45ee11d6e Use 'change' instead of 'issue' when talking about Gerrit CLs
Change-Id: I17884d9ef7efdaf75ed575e66aca1034db0672b5
Reviewed-on: https://chromium-review.googlesource.com/413289
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
9 years ago
Andrii Shyshkalov b8c535f696 Use codereview.settings style for GENERATE_GIT_NUMBER_FOOTERS.
R=sergiyb@chromium.org
BUG=642493

Change-Id: Ic4acf4076fdf27c1ed5e75f0ed1dda4b16d675fc
Reviewed-on: https://chromium-review.googlesource.com/414469
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
9 years ago
Andrii Shyshkalov 5fb4774810 git cl: rework setting to auto-generate git number footers.
BUG=642493

Change-Id: I1c83c54f7ad938cf4abeadb42f8d9414521d6dc5
Reviewed-on: https://chromium-review.googlesource.com/414465
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
9 years ago
Andrii Shyshkalov 06a2502fc9 git cl land: add test expectations for Rietveld.
This is preperatory work for Cr- footers generation in git cl instead
of gnumbd.

BUG=642493

Change-Id: I4cfdd882fe6caa7972e51ffa81d335104ddb56dd
Reviewed-on: https://chromium-review.googlesource.com/414464
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
9 years ago
agable 0b65e732b4 Remove SVN support from PRESUBMIT
R=maruel@chromium.org
BUG=475320

Review-Url: https://codereview.chromium.org/2394043002
9 years ago
agable a98a6cd47d Remove safesync support from gclient[_scm].py
R=dpranke@chromium.org

Review-Url: https://codereview.chromium.org/2395013002
9 years ago
Ravi Mistry fda50ca02d Skip checking local vs remote patchset for Gerrit
BUG=chromium:664520

Change-Id: Idd5855e14f6237577b351ff51582335996522417
Reviewed-on: https://chromium-review.googlesource.com/399118
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
9 years ago
dnj b445ef568c bot_update: Use 'gclient' from same repository.
Currently, 'bot_update' uses the 'gclient' that is on the system path.
Now, it will use the 'gclient.py' that is in the same 'depot_tools'
checkout as the 'bot_update' recipe module.

Also don't ignore "git_cache" move errors.

BUG=664254,663990,663440
TEST=None

Review-Url: https://codereview.chromium.org/2492963002
9 years ago
scottmg b84b5e3a13 Don't --find-copies-harder when printing informational diff, either
We're doing the diff twice afaict, once to print stats to the user, and
once to actually do the upload. Definitely no need to
--find-copies-harder in the print.

Previously: https://codereview.chromium.org/2488823002.

R=dpranke@chromium.org
BUG=544889

Review-Url: https://codereview.chromium.org/2489963003
9 years ago
Andrii Shyshkalov c6c8b4c99b presubmit_support for Gerrit: don't ignore 404.
Before, presubmit_support would fail with not very useful stacktrace if
Gerrit returns 404, which is usually due to missing/invalid credentials.

This CL fixes that and improves the exception message, and also improves
logic in git_cl.

R=agable@chromium.org
BUG=

Change-Id: Iae8f0c24422c46af70929c7d5d71993164887511
Reviewed-on: https://chromium-review.googlesource.com/409650
Commit-Queue: Aaron Gable <agable@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
9 years ago
tandrii 8c5a353e63 Implement and test git cl try for Gerrit.
R=borenet@chromium.org,qyearsley@chromium.org
BUG=599931

Review-Url: https://codereview.chromium.org/2468263005
9 years ago
agable 32978d969c git-cl-land: print url of final commit location
BUG=661187

Review-Url: https://codereview.chromium.org/2466953003
9 years ago
katthomas 86fe47d1a0 Make bot_update on win more resilient
Sometimes Windows has trouble deleting files. This can cause problems
when lockfiles are left in .git directories.

R=agable@google.com
BUG=659178

Review-Url: https://codereview.chromium.org/2454463002
9 years ago
qyearsley 136b49ff7e depot_tools: Remove DoGetTrySlaves, GetTrySlavesExecuter, GetPreferredTrySlaves
Note: This CL originally just removed a deprecated use of Remove use of DoGetTrySlaves, suggested in http://crrev.com/2442153002, then was expanded to remove DoGetTrySlaves, GetPreferredTrySlaves and GetTrySlavesExecuter since these are all deprecated and unused.

BUG=660453

Review-Url: https://codereview.chromium.org/2453823002
9 years ago
qyearsley 123a468d14 git cl try: support multiple bots from different masters without specifying master.
It might be good to make this change after the refactoring CL http://crrev.com/2442153002.

BUG=640740

Review-Url: https://codereview.chromium.org/2439293002
9 years ago
qyearsley 5eb0519b4c git cl try: Remove --name option, stop sending "reason" property.
When triggering the build, there's a field called "reason",
which is currently populated by default with the user's
branch name.

I have a feeling that this is optional and could be completely
omitted.

Andrii notes that if users want to send a "reason" string,
they could send invoke git cl try with the argument -p reason="<reason>".

PSA on infra-dev:
https://groups.google.com/a/chromium.org/d/msg/infra-announce/PXkM1WinTYY/w2IvN5B4AwAJ

BUG=659552

Review-Url: https://codereview.chromium.org/2428383010
9 years ago
skobes 6468b9068b Make git cl patch work with binary files.
BUG=557512

Review-Url: https://codereview.chromium.org/2445543002
9 years ago
bradnelson d975b30c20 Automatically CC folks listed in CC= lines.
Detect CC=<users> lines the way we detect R= and TBR=.
Add these as CC'ed users for rietveld and gerrit.

R=iannucci@chromium.org,hinoka@chromium.org,dnj@chromium.org

Review-Url: https://codereview.chromium.org/2433323004
9 years ago
agable 41e3a6c553 Remove SVN support from gclient_utils and gclient_scm
This removes SVN support (most notably the SVNWrapper class, and the git-svn
logic in GitWrapper.GetUsableRev) from gclient_scm. It also removes some
references to SVN from comments in gclient_utils.

R=maruel@chromium.org
BUG=641588

Review-Url: https://chromiumcodereview.appspot.com/2393773003
9 years ago
borenet 6c0efe6050 Add -B/--bucket flag to git-cl try
BUG=

Review-Url: https://chromiumcodereview.appspot.com/2419113002
9 years ago
agable d437d76b64 Reland "Remove SVN and File support from gclient"
This is a revert of 398a46ee09
Which was itself a revert of b3a24c3fd5

BUG=641588

Review-Url: https://codereview.chromium.org/2404413002
9 years ago
tandrii 48df58136d Gerrit git cl: make it work with minimal file.
BUG=656555
R=emso@chromium.org,andybons@chromium.org

Review-Url: https://codereview.chromium.org/2421253002
9 years ago
tandrii de281aee41 git cl try: make code less Rietveld-specific.
This also adds first test to cover case of custom properties.

R=machenbach@chromium.org,sergiyb@chromium.org
BUG=599931

Review-Url: https://codereview.chromium.org/2409223002
9 years ago
katthomas df66a34f68 Remove git lockfile flakiness on win (bot_update)
Hypothesis: Sometimes bot update fails because windows fails to delete
a lockfile associated with a git process.

Test: If this happens, let's delete that lockfile and try again.

BUG=651602

Review-Url: https://codereview.chromium.org/2382653005
9 years ago
lpique 398a46ee09 Revert of Remove SVN and File support from gclient (patchset #4 id:60001 of https://codereview.chromium.org/2398493004/ )
Reason for revert:
The Chrome buildbots pass "--transitive" still. Removing the option causes them to fail to build.

Example:

https://uberchromegw.corp.google.com/i/chromeos.chrome/builders/x86-alex-tot-chrome-pfq-informational/builds/21555

Original issue's description:
> Remove SVN and File support from gclient
>
> FileImpl was only usable with SVN.
>
> R=maruel@chromium.org
> BUG=641588
>
> Committed: b3a24c3fd5

TBR=maruel@chromium.org,agable@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=641588

Review-Url: https://codereview.chromium.org/2405173003
9 years ago
agable b3a24c3fd5 Remove SVN and File support from gclient
FileImpl was only usable with SVN.

R=maruel@chromium.org
BUG=641588

Review-Url: https://codereview.chromium.org/2398493004
9 years ago
tandrii 64103db728 Revert of gclient: kill git fetch operation that hangs. (patchset #12 id:220001 of https://codereview.chromium.org/2241843002/ )
Reason for revert:
Didn't help.

Original issue's description:
> gclient: kill git fetch operation that hangs.
>
> This provides env variable GCLIENT_KILL_GIT_FETCH_AFTER
> that kills git fetch if it produces no output for that
> many seconds.
>
> Note that this is not final patch, but an experiment.
> See http://crbug.com/635641#c24 for the deployment plan.
>
> BUG=635641
> R=hinoka@chromium.org
>
> Committed: f8757b7e02

TBR=hinoka@chromium.org,hinoka@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=635641

Review-Url: https://codereview.chromium.org/2410853002
9 years ago
tandrii 30d956272d Revert of bot_update/gclient: kill git fetch after timeout regardless of output. (patchset #2 id:20001 of https://codereview.chromium.org/2293013002/ )
Reason for revert:
didn't work.

Original issue's description:
> bot_update/gclient: kill git fetch after timeout regardless of output.
>
> Also spits out whatever output was produced by git fetch for debugging.
>
> BUG=635641
> R=machenbach@chromium.org,hinoka@chromium.org
>
> Committed: db8b839320

TBR=hinoka@chromium.org,machenbach@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=635641

Review-Url: https://codereview.chromium.org/2410053002
9 years ago
tandrii 45b2a5891a git cl try-results regression tests for Gerrit.
The flow looks like this:

  $ git cl status
  Branches associated with reviews:
    gerrit-4483 : https://chromium-review.googlesource.com/381231 (waiting)

  $ git cl try-results
  Warning: Codereview server has newer patchsets (2) than most recent
  upload from local checkout (None). Did a previous upload fail?
  By default, git cl try uses latest patchset from codereview,
  continuing using such patchset 2.

  Warning: Some results might be missing because You are not logged in.
  Please login first by running:
    depot-tools-auth login chromium-review.googlesource.com
  Started:
    Infra Linux Precise 32 Tester https://luci-milo.appspot.com/swarming/...
    Infra Linux Trusty 64 Tester  https://luci-milo.appspot.com/swarming/...
  Total: 2 try jobs

  $ depot-tools-auth login chromium-review.googlesource.com
   <<<auth in my browser>>>

  Logged in to chromium-review.googlesource.com as <some@email.com>

	To login with a different email run:
		depot-tools-auth login chromium-review.googlesource.com
	To logout and purge the authentication token run:
		depot-tools-auth logout chromium-review.googlesource.com

  $ git config branch.gerrit-4483.gerritpatchset 2
  $ git cl try-results
  Started:
    Infra Linux Precise 32 Tester https://luci-milo.appspot.com/swarming/...
    Infra Linux Trusty 64 Tester  https://luci-milo.appspot.com/swarming/...
    Infra Mac Tester              https://luci-milo.appspot.com/swarming/...
  Total: 3 try jobs

R=sergiyb@chromium.org,emso@chromium.org
BUG=599931
TEST=new unittests + end-to-end local.

Review-Url: https://codereview.chromium.org/2392463009
9 years ago
tandrii c2405f5545 git cl patch: handle missing/wrong Gerrit issue better.
No stacktrace is printed, instead just a user-friendly string is shown.
Add test + some tests refactoring.

This CL also improve missing Gerrit issue exception elsewhere by raising
user-friendly exception.

BUG=654360
R=sergiyb@chromium.org
TEST=manual

Review-Url: https://codereview.chromium.org/2403793002
9 years ago
tandrii 221ab25f46 git cl try-results: refactor Rietveld + add tests.
R=emso@chromium.org,phajdan.jr@chromium.org
BUG=599931
TEST=new teste + local end-to-end

Review-Url: https://codereview.chromium.org/2395113002
9 years ago
tandrii 8818977467 Reland of Add CC_LIST and --cc to Gerrit issues via API to be similar to CCs in Rietveld
Originally landed as issue 2378703002 at patchset 60001
(http://crrev.com/2378703002#ps60001).

BUG=chromium:649660
TBR=rmistry@chromium.org

Review-Url: https://codereview.chromium.org/2376323002
9 years ago
tandrii 31d165a5c1 Revert of Add CC_LIST and --cc to Gerrit issues via API to be similar to CCs in Rietveld (patchset #4 id:60001 of https://codereview.chromium.org/2378703002/ )
Reason for revert:
Actually, it doesn't break uploads, add cc-ed emails post-upload fails with exception and confuses users, and I couldn't find workaround.

Original issue's description:
> Add CC_LIST and --cc to Gerrit issues via API to be similar to CCs in Rietveld
>
> BUG=chromium:649660
>
> Committed: 3574740929

TBR=rmistry@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:649660

Review-Url: https://codereview.chromium.org/2375393002
9 years ago
rmistry 3574740929 Add CC_LIST and --cc to Gerrit issues via API to be similar to CCs in Rietveld
BUG=chromium:649660

Review-Url: https://codereview.chromium.org/2378703002
9 years ago
stip f3cc160f0c Delete unneeded test.
Follow-up to https://codereview.chromium.org/2352393003. Note that a lot of these tests seem svn related, and can probably be deleted. I defer to to agable@ on what we can carve out here.

BUG=
R=agable@chromium.org

Review-Url: https://codereview.chromium.org/2360113002
9 years ago
hinoka b61b9b7583 Reland bot_update: add --auth-refresh-token-json passthrough for apply_issue
Reland of https://codereview.chromium.org/2294413002/ after a rebase fix.

BUG=642150

Review-Url: https://codereview.chromium.org/2353833002
9 years ago
hinoka ad842878e4 Revert of bot_update: add --auth-refresh-token-json passthrough for apply_issue (patchset #7 id:120001 of https://codereview.chromium.org/2294413002/ )
Reason for revert:
Pointing to the wrong file :(

Original issue's description:
> bot_update: add --auth-refresh-token-json passthrough for apply_issue
>
> BUG=642150
>
> Committed: e465667e78

TBR=vadimsh@chromium.org,martiniss@chromium.org,tandrii@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=642150

Review-Url: https://codereview.chromium.org/2350363003
9 years ago
hinoka e465667e78 bot_update: add --auth-refresh-token-json passthrough for apply_issue
BUG=642150

Review-Url: https://codereview.chromium.org/2294413002
9 years ago
iannucci 3dd7436899 Remove unused PATCH_TOOL and resulting dead code from bot_update.
R=agable@chromium.org, estaab@chromium.org, hinoka@chromium.org, martiniss@chromium.org
BUG=643885

Review-Url: https://codereview.chromium.org/2328883002
9 years ago
agable 3454ae85da Reland "Delete lots of svn logic from bot_update"
This is a reland of 082267a659
which was reverted in 4dcad385f4

BUG=472386

Review-Url: https://codereview.chromium.org/2325513002
9 years ago
agable dce6ddcd21 Propagate use_relative_paths into recursedeps
Currently, if a DEPS file sets use_relative_paths, but *also* sets
recursedeps, then the recursed-upon DEPS files still get checked
out relative to the .gclient root. This change makes it so that
recursed-upon DEPS files check their dependencies out relative to
where their parent wants them to be, if that parent sets
use_relative_paths=True.

R=maruel@chromium.org

Review-Url: https://codereview.chromium.org/2324513003
9 years ago
agable 73baf85348 Update gclient test to assert both dir and url
This makes it easier to reason about tests which care about
both the url being fetched and the directory to which it is
being fetched, like those concerning relative paths and
recursion.

R=maruel@chromium.org

Review-Url: https://codereview.chromium.org/2316963004
9 years ago
dsansome e2d6fd987e Prompt to delete pending edits before changing the Gerrit CL description.
BUG=641838

Review-Url: https://codereview.chromium.org/2318903002
9 years ago
hinoka eb20eaeced Copy over bot_update_coverage_test.py
BUG=

Review-Url: https://codereview.chromium.org/2316393002
9 years ago
tandrii 8da412cf5a Remove redundant output in git_cl.py tests.
R=agable@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2319903002
9 years ago
qyearsley 53f48a1c52 Add a --json option to git cl try-results.
For use in scripts that check try job results, this is
currently practically the same as making requests to
https://codereview.chromium.org/api/<cl-number>/<patchset-number>.

However, I think that this might be more future-proof, since
it fetches try job information from Buildbucket, and I expect
to still work after migration from Rietveld to Gerrit.

BUG=640354

Review-Url: https://codereview.chromium.org/2274743003
9 years ago
scottmg 86099d7ce5 Shutdown multiprocess pool after running tests to avoid _finalizer spew on Windows
Can't just let the GC collect the pool on Windows.

R=tandrii@chromium.org
BUG=618726

Review-Url: https://codereview.chromium.org/2296723006
9 years ago
iannucci f3458f046e Roll recipe dependencies (MANUAL).
Additions:
  * Remove PYTHONUNBUFFERED for svn tests

This obviates https://codereview.chromium.org/2298863002/.

recipe_engine:
  https://crrev.com/09345f9dcf4d2744f66d64766fd349ddf04f04ce Cancel PYTHONUNBUFFERED when unbuffered is explicitly set to False (iannucci@chromium.org)

TBR=martiniss@chromium.org, phajdan.jr@chromium.org
BUG=635641

Review-Url: https://codereview.chromium.org/2298893002
9 years ago