If a Gerrit issue has commits not available in the local branch,
git cl upload will tell the user to run git rebase-update. That doesn't
actually merge the Gerrit commits into the local branch though, so the message
is misleading.
Bug: 1441209
Change-Id: Ib30377ac3a0d87e5fcfc491759b10c3268883159
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4507644
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
This changes cipd_impl.ps1 to work with "Constrained Language Mode",
just using built in powershell utils. This also now has a
substantially simpler implementation.
A lost feature here is that multiple cipd_impl invocations would
serialize... however this required using System functions which
don't work in Constrained Language Mode. The new impl goes for
an eventually consistent approach; Each invocation of the script
will use a tempfile with a unique name, and will move it into
place after downloading if the file hash matches.
In the cold start &&& higly parallel case, this could cause multiple
downloads, but the eventual state will be consistent.
R=actodd, alexschulze, fancl, vadimsh
Bug: 1442051
Change-Id: I4e7a808eb60654d96fe7f20f36b642e8792b4193
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4507643
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
The script downloads the current cipd version from [1], and exposes
functions, variables and aliases into the session (dot-sourcing). This
is unnecessary and prevents the system from running in
ConstrainedLanguage mode.
The change runs the powershell script in script scope only to support
the ConstrainedLanguage mode.
[1] https://chrome-infra-packages.appspot.com/client
Bug: 1442051
Change-Id: I249396714ab41b7f5a5edb96f3146904b4e876f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4507036
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Auto-Submit: Alexander Schulze <alexschulze@chromium.org>
Commit-Queue: Alexander Schulze <alexschulze@chromium.org>
Gerrit may return 409 error to us even if the branch was created.
We should ignore this error if the branch head is the commit we
requested.
Also pre-check the branch status before creating it.
If an existing branch is expected by the caller, simply return
the branch info without sending the creation request.
BUG=1433047
TEST=local run
Change-Id: Ic6184705579f1410cb9c54843cc0bbb4c4ad61b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4436317
Reviewed-by: Gavin Mak <gavinmak@google.com>
Reviewed-by: Garrett Beaty <gbeaty@google.com>
Commit-Queue: Xinan Lin <linxinan@chromium.org>
Currently the package names are not resolved in gclient output, see example below.
This is part of broader work to improve CIPD output, the next CL will replace 'None'.
```
$~ gclient revinfo -a | grep '${platform}\|${arch}'
src/buildtools/linux64:gn/gn/linux-${arch}: None
src/buildtools/reclient:infra/rbe/client/${platform}: None
src/third_party/dawn/third_party/ninja:infra/3pp/tools/ninja/${platform}: None
src/third_party/dawn/tools/golang:infra/3pp/tools/go/${platform}: None
src/third_party/devtools-frontend-internal/devtools-frontend/third_party/esbuild:infra/3pp/tools/esbuild/${platform}: None
src/third_party/devtools-frontend/src/third_party/esbuild:infra/3pp/tools/esbuild/${platform}: None
src/third_party/ninja:infra/3pp/tools/ninja/${platform}: None
src/tools/luci-go:infra/tools/luci/isolate/${platform}: None
src/tools/luci-go:infra/tools/luci/swarming/${platform}: None
src/tools/resultdb:infra/tools/result_adapter/${platform}: None
```
Bug:b/279097790
Change-Id: I21abf2579910e9d79d9ee0dcd018ee761e3d3c1c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4463983
Reviewed-by: Rachael Newitt <renewitt@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Dan Le Febvre <dlf@google.com>
This will not impact the calls which have explicit timeout.
For the rest, either PUT or POST or DELETE methods, 5 min should
suffice.
Fixed: 1441863
TEST=NA
Change-Id: I235bc60344b6981eb3d96930ca8b6463129a2be2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4495994
Commit-Queue: Xinan Lin <linxinan@chromium.org>
Reviewed-by: Gavin Mak <gavinmak@google.com>
By default during tests, the _get_footers_step call will return None for
the returned footers because it does not set any test data. This does
not match the actual behavior of the recipe because git_footers.py
returns an empty json object if the commit message has no footers. This
change updates it to return an empty dict instead of None and checks for
the cached footers value to be None instead of any non-true value so
that a commit message without footers doesn't get parsed multiple times.
Change-Id: I716a27e964eb92de138228df5cc0876322d82823
Recipe-Manual-Change: build
Recipe-Nontrivial-Roll: build_limited
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4492269
Commit-Queue: Garrett Beaty <gbeaty@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Our developer guide has stated that Python 3.8 or greater is required
since CL:4303078. Additionally, this launcher has been warning users
of Python 3.6 and 3.7 for quite some time now. Finally, Python 3.8 is
now the default interpeter in CrOS SDK.
I think it's safe to make 3.8 the hard minimum version.
R=vapier@chromium.org
Bug: b:187794810
Change-Id: I0d71ba916dafedd08757edc5beff539b788494bc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4483617
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Exclude file paths always use forward slash but tests currently change
based on which OS is running them, so this bug never got caught.
Bug: 1440473
Change-Id: Iafd7e57c2dedd0c9990a1a620abd3ae38631a4f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4481518
Reviewed-by: Sean McCullough <seanmccullough@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
Using $base_dir/cipd as a path for the cipd command only works when
$base_dir is an absolute path, not when it is a relative path, as
the current directory is already $base_dir.
Therefore, "./cipd" must be used to run a command located in $base_dir.
Change-Id: Ia882a7fb404b7ff837944f80c0ace3f4e90e6a97
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4479169
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Yngve Pettersen <yngve@vivaldi.com>
This speeds up small builds as we will still persist the credential
cache and it will speed up all builds as we will keep the deps cache
and compiler info cache.
Bug: b/278498980
Change-Id: I2fe26395a7493c461860b34ef3f109b2147abb5e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4454889
Reviewed-by: Junji Watanabe <jwata@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Ben Segall <bentekkie@google.com>
This fixes an uninitialized variable.
Bug: 1411979, 1435326
Change-Id: Ib28ed259238ff478e78e36b48e74eaf51617cd6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4457528
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
`autosiso` doesn't handle non build commands. e.g. help, version, login
We should encourage users to use `siso` command directly,
and get rid of `autosiso` eventually at some point.
Bug: b/278675516
Change-Id: I651e537d8d03674f5d1996983083e25ab5d149c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4452374
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Fumitoshi Ukai <ukai@google.com>
Commit-Queue: Junji Watanabe <jwata@google.com>
If bot doesn't have vpython, run post submit hooks with vpython3.
presubmit_support already checks this too, and it will run those
presubmits regardless of USE_PYTHON3 variable.
Bug: 1411979
Change-Id: Id7edb8a10c39d625154dcc5a131becad3d3ebcbb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4457567
Reviewed-by: Garrett Beaty <gbeaty@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
The Bug: syntax is well known as a way of tagging bugs in a commit
message, at least partially because when it is missing there is a
presubmit warning suggesting that it be used.
The Fixed: syntax is less well known because there is no such reminder.
And, if somebody types "Fixes: " instead of "Fixed: " there is no error.
Therefore it is not surprising that "Fixes: " was used seven times in
the last 10,000 commits. See crrev.com/c/4416218 for one example.
This change adds both a reminder that Fixed: exists as well as an error
if Fixes: is used.
Fixed: 1434702
Change-Id: Id940d0af5cfea206ee923fbb779bf686b34c5f33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4436316
Reviewed-by: Aravind Vasudevan <aravindvasudev@google.com>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Developers will be able to use `autosiso` command to invoke siso builds.
This CL extracts reclient management logic from `ninja_reclient` to be reused in both Ninja and Siso builds.
Bug: b/278675516
Change-Id: I3e64a3188db184f4d3f851063a0feef7d3a73d6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4445366
Auto-Submit: Junji Watanabe <jwata@google.com>
Reviewed-by: Philipp Wollermann <philwo@google.com>
Commit-Queue: Joanna Wang <jojwang@chromium.org>
Reviewed-by: Fumitoshi Ukai <ukai@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Joanna Wang <jojwang@chromium.org>
Fixes issue where reclient erroneously shutdown during startup via
bootstrap.
BUG=b:269549741
TEST=Run bootstrap locally using the new version specified in this
change.
Change-Id: Ic443ba48d4d976a5341847bd7855e7d7fb63cc61
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4445369
Commit-Queue: Eric Lok <lokeric@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Auto-Submit: Eric Lok <lokeric@google.com>