Reverted commit 4511b131e6 had a bug where
squash_ret.success = True and empty_rebase = False. In that case, stdout
and stderr would already be string and trying to decode would fail.
Bug: 1071280
Change-Id: Iadcc526147ebb98aa7a91a7daa64ef44066e83b6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2163387
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Slashes and backslashes are interchangeable on Windows in many contexts.
But not all. In particular, if you add a path to a dictionary and then
try looking it up with an equivalent path that has different slashes
then - not surprisingly - the lookup will fail. Therefore it is
important to always use slashes when populating _paths_to_owners. This
is now done, and documented.
Additionally, while fnmatch.fnmatch handles comparing slash separated
paths to backslash separated paths, fnmatch.translate does not. This is
arguably a bug in fnmatch.translate, or at least something that should
be documented. This bug is worked around by having _fnmatch sanitize
file names to always use slashes, and asserting that the patterns do
not contain backslashes.
With these changes this command:
git cl owners --ignore-current --show-all chrome/browser/BUILD.gn
now correctly gives the same results as this command on Windows:
git cl owners --ignore-current --show-all chrome\browser\BUILD.gn
The modified test fails without the other changes, passes with them.
Bug: 1009104
Change-Id: I416c7131281f00e352c1d2b85c30fcc463417fa5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1915410
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
This reverts commit 4511b131e6.
Reason for revert: Broke git_rebase_update.py under Python3, which does
not support calling decode() on string objects.
Original change's description:
> Fix printing error on git-rebase failure
>
> R=ehmaldonado@chromium.org
>
> Bug: 1071280
> Change-Id: I8b1f00bb7c454297b10d5e047ae35c2686f69fb1
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2155154
> Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
> Commit-Queue: Josip Sokcevic <sokcevic@google.com>
TBR=ehmaldonado@chromium.org,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 1071280, 1073768
Change-Id: I58c1b24ba2aef255068c81be25475b2abbbf4fcb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2161111
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Having it in %PATH% means that powershell users will accidentally
run 'cipd.ps1' when they should be running 'cipd.bat'; This would
cause them to get requests for input parameters (like the backend URL)
which they have no idea how to supply.
R=agable@chromium.org, nodir@chromium.org, vadimsh@google.com
Bug: 1073529
Change-Id: I62a3bd9e00229a2047293dba1ba480d28f77bf63
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2161645
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Auto-Submit: Robbie Iannucci <iannucci@chromium.org>
This avoids the toolchain being wiped after using WinDbg.
Bug: None
Change-Id: I989ef7744b46254bab4c5a707724dc38a9b9a548
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2159998
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Running `fetch v8` with Python 3.5 produces the following error:
TypeError: the JSON object must be str, not 'bytes'
Adding `.decode("utf-8")` makes it compatible with both versions.
Change-Id: Ib0699b61b24f191559c30f1e7ca8d2c919803d03
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2154108
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
We've had reliability issues with gerrit, primarily related to
429 status codes but also DDoS bans. The light DDoS bans can be
very short lived and we extend retries to handle this. Longer
term bans can take up to an hour to lift.
BUG=chromium:1071590
TEST=./gerrit_client_test.py
Change-Id: Iaf68c0d9cc7375aa58367ec0447d54a99f8ebf39
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2153089
Commit-Queue: George Engelbrecht <engeg@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Cpplint.py supports checking for spaces in front of square brackets;
this is a style violation in most cases (with the typical case being
arrays), but there are already situations where this rule is skipped
for the square bracket used for lambda captures. We add another such
exclusion here for the case of c++ attributes.
Change-Id: I2d4f972be29f5427cb8d855787c90dfa5d610e86
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2151125
Commit-Queue: Derek Morris <demorri@microsoft.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Fixed by switching "stat()" to "lstat()".
Does not seem to be a python3 vs python2 thing (fails on py2 as well).
Bug: 1071066
Change-Id: I7eea9ed39b43e09ae2f7558bf23c12581f02e4a2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2150507
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
This is a reland of 310e1e814d
Use subprocess2, which will set shell=True when running on Windows.
Original change's description:
> metrics: Use vpython3 instead of sys.executable
>
> Apparently, uploading metrics might happen after sys.executable
> has been deleted.
>
> Bug: 1068263
> Change-Id: Id4ab465bb97d146b688f42fb2002e29372e65555
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2148879
> Commit-Queue: Anthony Polito <apolito@google.com>
> Reviewed-by: Anthony Polito <apolito@google.com>
Bug: 1068263
Change-Id: I19c915f3e8862ae3248b01e0eccdbdf0bfda7369
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2150170
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
The bug is caused because we already have refs/branch-heads/XXXX locally,
so we don't attempt to fetch it again, even if it has been updated.
This solution is a bit of a hack to make sure that we fetch
refs/branch-heads/*, which is the most common case for this to fail.
Bug: 1070545
Change-Id: Iec7cfff18219794230188e2b9e901c587acd274b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2149849
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
This reverts commit 310e1e814d.
Reason for revert:
"vpython3" doesn't work on Windows without shell
Original change's description:
> metrics: Use vpython3 instead of sys.executable
>
> Apparently, uploading metrics might happen after sys.executable
> has been deleted.
>
> Bug: 1068263
> Change-Id: Id4ab465bb97d146b688f42fb2002e29372e65555
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2148879
> Commit-Queue: Anthony Polito <apolito@google.com>
> Reviewed-by: Anthony Polito <apolito@google.com>
TBR=ehmaldonado@chromium.org,apolito@google.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com
Change-Id: I6b9998de0d3afeda142971f889361fb1c8a37a0d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1068263
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2149762
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Apparently, uploading metrics might happen after sys.executable
has been deleted.
Bug: 1068263
Change-Id: Id4ab465bb97d146b688f42fb2002e29372e65555
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2148879
Commit-Queue: Anthony Polito <apolito@google.com>
Reviewed-by: Anthony Polito <apolito@google.com>
This change is to facilitate the annotation protocol -> luciexe protocol
migration in the future. The failure response structure will be changed
after the migration. Therefore, we only need to change the
implementation detail of ResultReasonRE at that time.
R=iannucci
Change-Id: If5e0005dddcaf6ccdfbcb047e3855763cf4eadc5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2146066
Auto-Submit: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
This was made by running `codespell` and `scspell`
and then checking the results.
Change-Id: I169fd5b40294f83015075b4a899fbca263821f25
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2144602
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
Auto-Submit: Quinten Yearsley <qyearsley@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Bruce created the script and is most qualified to review changes to it.
Bug: None
Change-Id: I238c88ad03db422f9c7f5b2760ff2dd25d431e65
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2141224
Commit-Queue: Peter Wen <wnwen@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Auto-Submit: Peter Wen <wnwen@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Increase the number of long times by extension to report from 5 to 10
since java build steps produce a number of different extension types. It
is difficult to distinguish between android vs non-android builds, so
increase this default for all platforms.
Prioritize .jar outputs for java targets and allow up to two levels of
extensions to be recognized.
e.g.
file.interface.jar would have .interface.jar as its full extension.
file.javac.jar would have .javac.jar as its full extension.
Some of these build steps require .jar outputs, which is why these
targets use a secondary extension to differentiate.
Example output: https://crrev.com/c/2142395
Bug: chromium:1067273
Change-Id: Id5780980f60841c3384d91bf96121c6dec3e8bed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2142163
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Auto-Submit: Peter Wen <wnwen@chromium.org>
At the moment, specifying --dependencies to upload all dependent CLs
will always prompt for confirmation if --force was specified. This
means that there is no way to run this command in a batch way or from
another script, and it's also in contradiction to the --force flag
which is meant to answer 'yes' to all prompts.
This uses a pattern that is used several times in the script, which is
to check 'if not force: prompt()'.
Change-Id: I7d85b02b68d958a5b2d3295a04c4ced023d36ec8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2139700
Auto-Submit: Jose Lopes <jabolopes@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
The most notable change is that invalid escape sequences in strings
cause errors now. This is due to an underlying starlark-go change.
R=tandrii@chromium.org, iannucci@chromium.org
Change-Id: I2fc8aa297000e5bcfd9c5f0cca7af205a8e77e80
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2137983
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
This is a reland of 87661afbfc
Set shell=True on Windows, so that vpython.bat can be executed.
Original change's description:
> git-cl: Execute clang-format-diff.py using vpython.
>
> When running git-cl using vpython3, sys.executable is python3.
> Execute clang-format-diff.py using vpython instead, since it has
> not been migrated already.
>
> Bug: 1066187
> Change-Id: I31556acb50ff4256706a313c1393eddad9f903f3
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2130926
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Bug: 1066187
Change-Id: Ia482f13d0f30d625f2f6db3cb4202b7f3f95707b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2135330
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
The title of command prompt windows indicates what command is running.
However it is easy to confuse Windows so that it doesn't clear the
status when a program termintes. Apparently a tail from one batch file
to another is sufficient to do this. This change uses "call" to run
python to avoid this minor glitch, making is so that I can tell when
gclient has completed merely by glancing at the command prompt status
bar.
Change-Id: Ibd310362b8dd78589abc443be1841f0937c791fb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2133303
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
This reverts commit 87661afbfc.
Reason for revert: Still get:
OSError: Execution failed with error: [Error 2] The system cannot find the file specified.
Original change's description:
> Reland "git-cl: Execute clang-format-diff.py using vpython."
>
> This is a reland of beec66070e
>
> Append the clang-format directory to the front of PATH instead of
> overwriting it.
> This allows vpython to be invoked.
>
> Original change's description:
> > git-cl: Execute clang-format-diff.py using vpython.
> >
> > When running git-cl using vpython3, sys.executable is python3.
> > Execute clang-format-diff.py using vpython instead, since it has
> > not been migrated already.
> >
> > Bug: 1066187
> > Change-Id: I31556acb50ff4256706a313c1393eddad9f903f3
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2130926
> > Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> > Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
>
> Bug: 1066187
> Change-Id: I8b65549ef47587cef8492f8f76a037eb85a981fc
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2132972
> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
TBR=ehmaldonado@chromium.org,apolito@google.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com
Change-Id: I22566c829a83991e3749a039d0bd0ba7d8a56812
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1066187
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2133588
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>