Commit Graph

11281 Commits (e69b086c0f3764fe1211435b297f793e02ecd13e)
 

Author SHA1 Message Date
Chan Li e69b086c0f [depot_tools] Roll led
To release https://crrev.com/c/6268756

Bug:  b/40183006
Change-Id: I78cf7ee95c7ac212f4a80c5994aa22bfb56d3b0f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6279569
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Commit-Queue: Chan Li <chanli@chromium.org>
1 week ago
Gavin Mak 9f715f8017 Revert "Add AffectedFile.Extension() in presubmit_support"
This reverts commit d447f41294.

Reason for revert: "AttributeError: 'str' object has no attribute 'Extension'"

Original change's description:
> Add AffectedFile.Extension() in presubmit_support
>
> Add convenience method AffectedFile.Extension() for extracting file
> extension in a standard way. Add a test for this new functionality.
> Add a similar test for AffectedFile.UnixLocalPath().
>
> Bug: None
> Change-Id: If591e751fb2e4fb5355ad0b6f93f310667849d68
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6273341
> Commit-Queue: Anton Bershanskyi <bershanskyi@gmail.com>
> Reviewed-by: Dirk Pranke <dpranke@google.com>
> Reviewed-by: Gavin Mak <gavinmak@google.com>

Bug: None
Change-Id: Ic51b0942e3a3267194fb73af5e92c902b2098c4c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6279837
Auto-Submit: Gavin Mak <gavinmak@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
1 week ago
Anton Bershanskyi d447f41294 Add AffectedFile.Extension() in presubmit_support
Add convenience method AffectedFile.Extension() for extracting file
extension in a standard way. Add a test for this new functionality.
Add a similar test for AffectedFile.UnixLocalPath().

Bug: None
Change-Id: If591e751fb2e4fb5355ad0b6f93f310667849d68
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6273341
Commit-Queue: Anton Bershanskyi <bershanskyi@gmail.com>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
1 week ago
Josip Sokcevic 0a3addbf63 [docs] Update readme with instructions for auto deployment
Bug: 396679832
Change-Id: Ic471c93b6aa9da64e3e43228bf5077c3e655c294
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6276740
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
1 week ago
Andrew Grieve 3b16d50864 android_build_server_helper.py: Do not start server when stdout is a pipe
E.g. "autoninja > foo" would result in a file called "pipe:[394765110]"
being created.

Companion change: https://chromium-review.googlesource.com/c/chromium/src/+/6236987

Bug: None
Change-Id: Idbbee3eab136cb88f9658e033ac02bd90feee34d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6278629
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
1 week ago
Anne Redulla 213348885f [win-bootstrap] Update depot_tools_tutorial to install Git for Windows
Bug: b/360206460
Change-Id: I7f92312d7160c7406ad48bd506eab00636da986f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6278219
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Auto-Submit: Anne Redulla <aredulla@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
1 week ago
Fumitoshi Ukai 6cf251b517 autoninja: fix UnboundLocalError
Change-Id: Iff96b697b3c1f1d88c13d099ffec4c4159e002bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6276006
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
Commit-Queue: Fumitoshi Ukai <ukai@google.com>
Reviewed-by: Matt Stark <msta@google.com>
2 weeks ago
Fumitoshi Ukai 7a0dbd2074 autoninja: set RBE_remote_disabled when offline even with siso
Bug: 396724264
Change-Id: Id92e8d532e571420ff64be3da207ffd51fd282e9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6272278
Commit-Queue: Junji Watanabe <jwata@google.com>
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
Reviewed-by: Junji Watanabe <jwata@google.com>
2 weeks ago
Josip Sokcevic 858ffc1da7 docs: Regenerate docs
Bug: 396174247
Change-Id: I79dba88457dc61c4e2a48d424b5520bab46bc1a6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6266868
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
2 weeks ago
Devon Loehr 65aa0a04ff Use hashlib for truly deterministic hashes
It turns out python's built-in hash function uses a random seed
that changes per-process, so branch names based on that hash
aren't actually deterministic. This changes the hashing algorithm
to use a stable hash so we can get consistent results.

Bug: 389069356
Change-Id: I1d3241b922005a7bff4d8621dc79dc4551bf264e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6258544
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Devon Loehr <dloehr@google.com>
2 weeks ago
Josip Sokcevic ed3da5161f docs: Hide python warnings when generating docs
Those warnings end up going into man pages, which is not desired. The
warning says that pipes are deprecated, and will be removed in py3.13.

R=yiwzhang@google.com

Bug: 396174247
Change-Id: Ieb7f36de944e8b7b5e68f78c87a61b04e663f9d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6268243
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
2 weeks ago
Devon Loehr f7e85d3470 Remove redundant try/catch for better error reporting
During testing, I discovered that the try/catch block surrounding
most of SplitCl is broken: subprocess errors seem to return bytes
more often than strings. When I fixed that, however, I found that
the errors were much more comprehensible if we simply re-raised
the initial error and got all the information it contained; this
both gives us a stack trace and makes it very obvious an error
occurred.

Specifically, we also had the problem that stderr was sometimes
empty even if the process failed (because it wrote to stdout instead),
and if we just wrote the output then it wasn't clear that an error
happened until you actually read the output, as opposed to the
exception printing where the stack trace makes it obvious.

Since re-raising without additional work is pointless, I just removed
the block entirely.

Bug: 389069356
Change-Id: I1d1bec765469d0b70b463f7214f47a25316a37c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6258516
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Devon Loehr <dloehr@google.com>
2 weeks ago
Josip Sokcevic d49a21c533 docs: Fix make_docs
Bug: 396174247
Change-Id: I5888d14bec33e0484651b0b778666c15b05797ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6266867
Auto-Submit: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
2 weeks ago
Lei Zhang 664154a905 ninja: Improve depot_tools directory detection
Tweak the code in ninja.py so it would only skip directories in $PATH
that are named "depot_tools". The existing detection logic skips
"foo_depot_tools". Also rename functions in the file to follow Python
Style and auto-format the file.

Change-Id: I631958768168f0d673b824c8e14783d2c6f65563
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6259139
Reviewed-by: Junji Watanabe <jwata@google.com>
Commit-Queue: Lei Zhang <thestig@chromium.org>
2 weeks ago
Mason Freed 2451ee476d Reland: add a `--no-squash` argument to `git rebase-update`
See crbug.com/40264739 for many more details. But a prior attempt
to land this patch resulted in [1] which simply removed all
squashing behavior from `git rebase-update`. That broke several
people's workflows. So this patch attempts, again, to simply
add an opt-in to *not* squashing, for the folks (like me) who
do not want that behavior.

[1] https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6104282

Fixed: 40264739
Change-Id: I4a6aa8e53e854a7e601a0fb83f4f9fcb638d36ed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6254099
Reviewed-by: Mason Freed <masonf@chromium.org>
Commit-Queue: Mason Freed <masonf@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Auto-Submit: Mason Freed <masonf@chromium.org>
2 weeks ago
recipe-roller 39f24ab04b Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723099295754036657

recipe_engine:
6017fe4b11
  6017fe4 (iannucci@chromium.org)
      [tests] Add explicit api with docs && example for recipe test_d...

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I3caf783852557fcafbf0a0e08d281c546b93a398
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6258679
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2 weeks ago
recipe-roller 0856363220 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723100554032821185

recipe_engine:
1b1c7d987d
  1b1c7d9 (iannucci@chromium.org)
      [findings] Make gzip blob deterministic across platforms.

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: If2e97415db0812fb4004d1f6dfddd4019080ae20
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6257640
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2 weeks ago
Gavin Mak 4734cfabf4 Fix roll_dep_test.py
4 tests consistently error with "FileNotFoundError". Ensure that both
DEPS and gclient config use the same "file://" URI format so gclient
recognizes the repo as identical and doesn't move src/ to _bad_scm/.

Bug: 391455129
Change-Id: I507750754adc5e83b8a8ce853013a20f60102096
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6259135
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
2 weeks ago
Mason Freed a155deff42 Revert "Remove "attempt to squash" behavior from `git rebase-update`"
This reverts commit 58625e82c6.

Reason for revert: Several comments on crbug.com/40264739 that this broke their workflow. I plan to revert this and put patchset #2 back up for review, with an opt-in instead of a change to the default behavior.

Original change's description:
> Remove "attempt to squash" behavior from `git rebase-update`
>
> In common workflows, this step only succeeds ~5% of the time, and
> in the other 95% of cases, simply adds ~30 seconds of wasted time
> to the execution time of `rebase-update`. Therefore, this CL removes
> the automated functionality, and leaves squashing as a manual option
> to the user.
>
> Fixed: 40264739
> Bug: 40390274
> Change-Id: Ib2a3ffe4b0e5d0b74323a2a0d34ab0e1b7fafb08
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6104282
> Auto-Submit: Mason Freed <masonf@chromium.org>
> Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
> Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>

Bug: 40390274
Change-Id: I91210a5a21b3751695553433389f346ba443bb1e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6254237
Auto-Submit: Mason Freed <masonf@chromium.org>
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
2 weeks ago
Devon Loehr 0822fcc141 `git cl split`: Save and load splittings from files
This CL implements the proposal (from the design doc in the cited bug)
to allow `git cl split` to save the generated splitting to a
human-readable and editable text file. This allows users to save the
splitting in case something goes wrong and they need to retry, and also
lets them tweak a generated splitting if they get something mostly, but
not quite, usable.

It also allows users to edit the generated splitting interactively, like
they do for e.g. CL descriptions during `git cl upload`.

Bug: 389069356
Change-Id: I8ae21f2eb7c022ba181ae5af273ce09605b5acec
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6235727
Commit-Queue: Devon Loehr <dloehr@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
2 weeks ago
Anne Redulla 7c4bd3f94e [win-bootstrap] Update the comments in update_depot_tools.bat
Also adds an echo to win_tools.bat so a user will know when the
bootstrapping script is skipped after a CIPD install error.
This should hopefully help when troubleshooting.

Bug: b/360206460
Change-Id: Ic8bfcbddfe4681a7716ca9f3793d045e0de704cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6242904
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Anne Redulla <aredulla@google.com>
3 weeks ago
Fumitoshi Ukai a5519ca872 post_build_ninja_summary: run siso.py instead of siso command
Passing args via siso.bat is problematic.
Invoke 'python3 siso.py' instead.

Bug: 323780528
Change-Id: I991aeab375068d790f9e1f9fd264db9c1003f9dc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6247814
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
Commit-Queue: Fumitoshi Ukai <ukai@google.com>
3 weeks ago
Jordan Brown 9e4336f5fb Adding 0BSD and Python-2.0 to allowlist
These are both in use in chromium:
* xzutils [0] uses 0BSD and is available at https://spdx.org/licenses/0BSD
* argparse [1] uses Python-2.0 and can be found at https://spdx.org/licenses/Python-2.0

xz's provided license file needs to be updated to include the 0BSD
license, and argparse doesn't include a license file, but these are
separate issues.

[0]
https://crsrc.org/c/chrome/installer/mac/third_party/xz/README.chromium
[1]
https://source.chromium.org/chromium/chromium/src/+/main:third_party/js_code_coverage/README.chromium;l=56-72

Change-Id: Ib3671a496ac4819db80c844bd15e5f4bf0da9160
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6188506
Commit-Queue: Jordan Brown <rop@google.com>
Reviewed-by: Jordan Brown <rop@google.com>
Reviewed-by: Bill Wendling <morbo@google.com>
3 weeks ago
recipe-roller 61e081e39d Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723357244955759537

recipe_engine:
046a3c90ba
  046a3c9 (jwata@google.com)
      Reland "Roll CAS Client from 556b635570ee to 19861b3a5b37"

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic9c10605c75d36271eee86c644eae0964589d96e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6247754
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
3 weeks ago
recipe-roller 14051a8346 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723360391732174721

recipe_engine:
47943b643a
  47943b6 (gjc@google.com)
      Revert "Roll CAS Client from 556b635570ee to 19861b3a5b37"

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I4ea467c3aabd77e068b36854c660782318671c5b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6247715
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
3 weeks ago
recipe-roller 55bf8264cb Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723361020423278177

recipe_engine:
b3d5595353
  b3d5595 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 556b635570ee to 19861b3a5b37

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I292dc7ed0da8015fd0f0a41d89fd32c302ec6b9c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6247753
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
3 weeks ago
Jiacheng Guo dde2455e1c Revert "Roll recipe dependencies (trivial)."
This reverts commit cf52f29220.

Reason for revert: Causing CQ closure

Original change's description:
> Roll recipe dependencies (trivial).
>
> This is an automated CL created by the recipe roller. This CL rolls
> recipe changes from upstream projects (recipe_engine) into this repository.
>
> The build that created this CL was
> https://ci.chromium.org/b/8723362907585569457
>
> recipe_engine:
> b3d5595353
>   b3d5595 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
>       Roll CAS Client from 556b635570ee to 19861b3a5b37
>
> Please check the following references for more information:
> - autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
> - rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
> - cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md
>
> Use https://goo.gl/noib3a to file a bug.
>
> R=iannucci@chromium.org
>
> Recipe-Tryjob-Bypass-Reason: Autoroller
> Ignore-Freeze: Autoroller
> Bugdroid-Send-Email: False
> Change-Id: I9e1243b5dda94d661a0c35c116c7ce7d66d6e562
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6247713
> Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
> Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>

Change-Id: I4f4779a18619f2ace65e26e6bed3ad4375ba0b41
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6245554
Commit-Queue: Jiacheng Guo <gjc@google.com>
Auto-Submit: Jiacheng Guo <gjc@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Jiacheng Guo <gjc@google.com>
3 weeks ago
recipe-roller cf52f29220 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723362907585569457

recipe_engine:
b3d5595353
  b3d5595 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 556b635570ee to 19861b3a5b37

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9e1243b5dda94d661a0c35c116c7ce7d66d6e562
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6247713
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
3 weeks ago
recipe-roller 32e86cc3b1 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723531516545370993

recipe_engine:
d3ea56c7a5
  d3ea56c (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 6329c906f31e to faa2f4096dfd

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie326148132a346be7416becdd1cb1d9e5a8a2e32
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6246092
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
3 weeks ago
Devon Loehr ff733a6496 `git cl split`: Include dirname as part of branch names
This CL changes the way `git cl split` generates branch names during
upload. Specifically, it attempts to derive a common directory for all
the files in each CL, and includes that dirname as part of the branch
name, in addition to a hash of the files in the CL. This makes it a bit
easier to guess what's in a branch, given its name.

Since the hash is still included, branch names should remain unique.
Finding a common directory should be deterministic, so we can still rely
on branches having the same name if the script is re-run with the same
splitting.

Bug: 389069356
Change-Id: I70490258755f13962f3db5c835619caa24176af9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6243377
Commit-Queue: Devon Loehr <dloehr@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
3 weeks ago
Devon Loehr 5a3c9438e6 `git cl split`: Name sub-branches by hash
`git cl split` operates by creating a new git branch for each CL
it uploads. It names this branch based on the directory of the files
in the CL. It uses this convention when resuming an interrupted upload:
it skips branches that already exist.

However, this approach is brittle for several reasons:
- The splitting is nondeterministic, so there's no guarantee that CLs
with the same directories will be generated when re-run. Even if they
are, there's no guarantee they'll have exactly the same files.
- For CLs with multiple directories, it uses an arbitrary one, so it
may not choose the same name a second time
- It bakes in an assumption that every CL is defined by the directories
it draws files from.

This CL alleviates this issues by instead naming branches using the hash
of their contained files. This ensures that, with extremely high
probability, branches will have the same name if and only if they have
the same (sorted) list of files. Thus resumed uploads can safely skip
existing branches.

Bug: 389069356
Change-Id: I19bf7cd6ff8b0127f5906384f7f43b3e40ac8fee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6236622
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Devon Loehr <dloehr@google.com>
3 weeks ago
Anne Redulla 6c81fd0ae3 Revert "[win-bootstrap] Cleanup update_depot_tools.bat for lack of git-for-windows"
This reverts commit 524abbc50e.

Reason for revert: restore calling `bootstrap\win_tools.bat` on git error to fix b/394767578

Original change's description:
> [win-bootstrap] Cleanup update_depot_tools.bat for lack of git-for-windows
>
> Bug: b/360206460
> Change-Id: I1a4d9ac8a4e0f19356e22bc15a664cc838e52cd3
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6205947
> Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
> Commit-Queue: Anne Redulla <aredulla@google.com>

Bug: b/360206460
Change-Id: Ifdec35e6ce594688f461f132f302c5b803640409
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6238906
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Anne Redulla <aredulla@google.com>
3 weeks ago
Gavin Mak 912a744103 Add next steps to 'git cl presubmit' cog error message
This updates the presubmit error message when running on Cog to
include instructions on how to trigger presubmits. This also
standardizes the messaging across git cl presubmit/web/presubmit.

Bug: 394615879
Change-Id: Iaa8857268cd43219f7502eb34388034890a919dc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6240212
Reviewed-by: Andy Perelson <ajp@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
3 weeks ago
Dirk Pranke 7cffe56af4 Add UnixLocalPath*() in presubmit_support.
This adds AffectedFile.UnixLocalPath(), Change.UnixLocalPaths(), and
input_api.UnixLocalPaths() to the presubmit support APIs, so that we can
check paths in a platform-independent manner (i.e., not have to worry
about whether we're running on Windows and might need to handle
backslashes).

Change-Id: I1a424825384cb950ef2d4d3008c9c6e60028cf07
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6236404
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Dirk Pranke <dpranke@google.com>
3 weeks ago
recipe-roller 4389013470 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723724667323230897

recipe_engine:
2a60cc45d1
  2a60cc4 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 3521f7751453 to 292f95eae340

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I54087428b6d150c918f55856319f08c057a0b761
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6237980
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
3 weeks ago
KS Yim 781de9e7c4 Update git path for ytdevinfra_github config
R=yim@chromium.org

Bug:375245875
Change-Id: I146b026e4cd1129760d9153efa43c2fd8a37ddf6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6237197
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
Auto-Submit: K. S. Yim <yim@google.com>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
3 weeks ago
Devon Loehr f99834cd29 cl split: Refactor splitting datastructure
This is a preparatory CL which refactors some internal logic to make
writing future CLs easier. In particular, it changes from treating a
CL as "a list of files with the same reviewer" to treating them as a
triple of (reviewers, files, directories). It does so using a dataclass
to make it easy to work with.

It also adds an EmitWarning convenience function, which will be more
heavily used in future CLs.

Bug: 389069356
Change-Id: I842d59ba69f5db5e3745fa39832794cdc1eb222e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6190430
Commit-Queue: Devon Loehr <dloehr@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
3 weeks ago
Alexander Cooper 682a6e1194 Add git cl squash-closed behavior
Introduces a new git cl command `squash-closed`. Similar to archive,
this will operate on all closed branches. Unlike archive, rather than
removing these branches and potentially leaving their downstreams in a
wedged state, this will squash the branch and appropriately reparent the
downstream. This makes this a good function to run in preparation of a
`git rebase-update`, especially if there are chained git branches, as
this will then shrink any merged branches to a single commit which
should cleanly apply and drop off.

Bug: 40264739
Change-Id: I1836f944d43f5f3dcebbebf06437bef890da96ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6230362
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Auto-Submit: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
3 weeks ago
recipe-roller c630492293 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723751718473694225

recipe_engine:
d7c6e2a03f
  d7c6e2a (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 31b74d4b167d to 1c8dc8e37a49

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie15f418f723d7bd86cf2d6374cdf87eb7e6ef1ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6235984
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
3 weeks ago
Alexander Cooper 380df04b62 Modify git squash-branch to perform reparenting
Bug: 40264739
Change-Id: I4ad7f4f8a670334b32c239458048e56c6af44098
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6227541
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
3 weeks ago
recipe-roller 569d698b0b Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723823443286721969

recipe_engine:
9d24599642
  9d24599 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 8f3d9614016f to a9ef97b3c697

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5fe46ef5a18d3a4a4973cc943b5f345285c85870
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6231591
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
3 weeks ago
Gary Tong cf5b6bd0cb Update message on how to format changes
Bug: 379902295
Change-Id: I6d4b2753664c20887f7063865536ce071252844d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6226155
Reviewed-by: Scott Lee <ddoman@chromium.org>
Auto-Submit: Gary Tong <gatong@chromium.org>
Commit-Queue: Scott Lee <ddoman@chromium.org>
3 weeks ago
recipe-roller 1545b061fd Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723843576211635377

recipe_engine:
0d8a28f175
  0d8a28f (mohrr@google.com)
      [cipd] Add build_id metadata to pkg-register calls

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I09d9b6d0c617afde3c306f036504544fe52f1772
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6226156
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
3 weeks ago
Gennady Tsitovich 0d8b87d190 Fix cherry-picking in a non-git environment.
None was always passed to urlparse causing "Unable to determine host" error.

Bug: b/391547354
Change-Id: I58b63b4a33135952cae102e8446eea7cb3a82531
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6226685
Commit-Queue: Gennady Tsitovich <gtsitovich@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
3 weeks ago
recipe-roller 0cc30c3baf Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723895164826249521

recipe_engine:
d42538c2b8
  d42538c (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 8b72ae88ca2f to b408832fea90

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I55213b17585bf0befc7e4e967a443903c8832302
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6228600
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
4 weeks ago
Jordan Brown e42fac3e9c [dependency_metadata] Allow descriptions for CVEs
This adds a new way to report CVEs that includes an accompanying
description. It also adds a new validation check that ensures that the
CVE description is present for every entry listed in the 'Mitigated:'
field.

Bug: b/392026683
Change-Id: Ie55595970b49d705ac532f1f8c41ff47d959f56c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6211644
Auto-Submit: Jordan Brown <rop@google.com>
Reviewed-by: Jiewei Qian <qjw@chromium.org>
Commit-Queue: Jiewei Qian <qjw@chromium.org>
4 weeks ago
Anne Redulla b48765e850 [win-bootstrap] Remove git from CIPD manifest
Bug: b/360206460
Change-Id: I2d61a3b31cea92813fc2ceb6401dd9e70302c764
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6217700
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Anne Redulla <aredulla@google.com>
4 weeks ago
Anne Redulla 524abbc50e [win-bootstrap] Cleanup update_depot_tools.bat for lack of git-for-windows
Bug: b/360206460
Change-Id: I1a4d9ac8a4e0f19356e22bc15a664cc838e52cd3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6205947
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Anne Redulla <aredulla@google.com>
4 weeks ago
recipe-roller 35b602d7e0 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723926618605936577

recipe_engine:
a6004c9060
  a6004c9 (carverforbes@google.com)
      [tricium] Recognize .png files as binaries

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I775388ced1b4df3f50249e2e7933b69babd3de48
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6226763
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
4 weeks ago
recipe-roller 53d1a23b2f Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8723934800860209713

recipe_engine:
16b04d9612
  16b04d9 (mohrr@google.com)
      [cipd] Limit build_id metadata args

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1c9161e1141b221ba8572576451a526e28adb1b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6227159
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
4 weeks ago