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>
This issue is fixed in Python 2.7.12, but we don't guarantee
that we use that version everywhere. The root issue is that,
on certain platforms (e.g. Mac), the exception indicating that
the underlying command (e.g. 'hg') was not found is too large,
and loading the pickle representing the exception fails.
This CL catches this specific exception and treats it identically
to the OS properly raising a 'command not found' code.
BUG=699173
Change-Id: I0483ab0d1d0b6a3dfcfd26f2d9644817b5b5284f
Reviewed-on: https://chromium-review.googlesource.com/455537
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
There will be many other methods that will need to share state.
BUG=689543
R=machenbach@chromium.org
Change-Id: I4ce6fe173ff7c92e57737417c65125156606a664
Reviewed-on: https://chromium-review.googlesource.com/455780
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
New version skips unnecessary hash check for files that are already
in the cache.
R=iannucci@chromium.org
BUG=
Change-Id: Icdbd1d171fa77cf7e353c84e82ded8eafd88c88d
Reviewed-on: https://chromium-review.googlesource.com/454241
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
Please review the expectation changes, and LGTM as normal. The recipe roller
will *NOT* CQ the change itself, so you must CQ the change manually.
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug
(or complain)
recipe_engine:
https://crrev.com/9fdd6d725d8d04125d43ce2be4f5e4b123f705be [json] improve output to get leak_to and better logging. (iannucci@chromium.org)
R=iannucci@chromium.org
Change-Id: Icf48ce2f5211e98b48d794a172be107562cf3b25
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://chromium-review.googlesource.com/455056
Commit-Queue: <recipe-roller@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
Please review the expectation changes, and LGTM as normal. The recipe roller
will *NOT* CQ the change itself, so you must CQ the change manually.
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug
(or complain)
recipe_engine:
https://crrev.com/05a33f9dcf2289bbaf233fcae1e2fb508d95f528 Record infra_step in recipe expectations (phajdan.jr@chromium.org)
R=phajdan.jr@chromium.org
Change-Id: Ic1202d82b7bb4376976c1b4989cbbd7d26d7c531
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://chromium-review.googlesource.com/454341
Commit-Queue: <recipe-roller@chromium.org>
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
This clarifies what the 'create' method actually expects,
and adds a nicer approach for recipes that want to synthesize
their own package definition files.
BUG=
Change-Id: Iee5d5c02260bf71d4775ddfc1d4d1ae43937b693
Reviewed-on: https://chromium-review.googlesource.com/440385
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
The most important git subcommand in depot_tools never had a man
page until today. And now "git help cl" and "git cl --help" will
work.
BUG=695623
Change-Id: Ic0d05fa8d70d2ef6e71d58e0d7d3e7adc4a2fa32
Reviewed-on: https://chromium-review.googlesource.com/447216
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
The get-toolchain script still contained leftover goop for installing
the UCRT, even though that misguided plan was abandoned last year. This
change deletes that.
The get-toolchain script also confusingly used the vs2013_files
directory for anything that wasn't VS 2015. It doesn't technically make
any difference now that we use hashes for the toolchain directories, but
it was confusing when experimenting with VS 2017.
R=sebmarchand@chromium.org
BUG=683729
Change-Id: Ie0d3eccffe4796d4c5e23a28276acdd757e290d4
Reviewed-on: https://chromium-review.googlesource.com/453122
Reviewed-by: Sébastien Marchand <sebmarchand@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
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>
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>
When git-cl doesn’t see a BUG= line, it introduces a new one. The
eventual goal is to switch away from THIS=TYPE of metadata to the footer
field style that’s more natural to git and, most importantly, Gerrit.
With this change, git-cl will treat an existing Bug: line identically to
a BUG= line, and not introduce a new BUG= line if either are present.
This stops short of switching the default format to Bug:, but it allows
projects that wish to switch to the new format now to not be pestered by
git-cl introducing BUG= every time it edits a change description.
This is similar to the bug line parsing done by Bugdroid, which already
undersatnds the Bug: format. See
https://chromium.googlesource.com/infra/infra/+/ba095768d776/infra/services/bugdroid/log_parser.py.
BUG=616753
Change-Id: I23faa55c8275de44b71b031e603f2f55778d7f25
Reviewed-on: https://chromium-review.googlesource.com/451123
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
* convert diagnostic prints to logging
* add -v and -q options to control logging verbosity
* add -d option to fetch patchset data
* add format values:
(issues, changes,reviews)
- {created}: the date an activity was created
- {modified}: the date an activity was modified
- {status}: a status indicator for the activity
(changes,reviews)
- {activity}: a count of the number of comment interactions
(changes)
- {delta}: for changes, the number of lines added and removed
* use a default formatter for outputting that skips, rather than
chokes on, missing values.
Change-Id: Ib50c8c72b98b8ef5939d59ab93c5fc0a1a49599f
Reviewed-on: https://chromium-review.googlesource.com/451278
Commit-Queue: Marc-Antoine Ruel <maruel@chromium.org>
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>
So that we can roll the cit.py pin without breaking other services.
BUG=
Change-Id: I5992d753d8ddf23c29f1ef6c09866a86c7f7c2ae
Reviewed-on: https://chromium-review.googlesource.com/450760
Reviewed-by: Daniel Jacques <dnj@chromium.org>
Commit-Queue: Ryan Tseng <hinoka@chromium.org>
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>
This CL is a step toward checking for long lines in HTML webui files.
Those files may have long <link ...> lines which should be exempted from
the max line length.
BUG=None
Change-Id: I6fa33c004a58ea599651ae03b814fcdefbc887a1
Reviewed-on: https://chromium-review.googlesource.com/448967
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>
Commit-Queue: Dave Schuyler <dschuyler@chromium.org>
If a constructor is marked constexpr it evades the explicit constructor
check right now, since the check only knows about the inline keyword.
Teach it that constexpr can be used also.
Change-Id: Ia76ddd00b69c5a76a385d22a2b9eb18b690bd8c8
Reviewed-on: https://chromium-review.googlesource.com/445932
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
Otherwise it can make the log overwhelming when the number of rolls is higher
than the number of meaningful commits.
R=iannucci@chromium.org
BUG=620765
Change-Id: Iec0b41304d50091498d43abc4883e522b8cc9a2c
Reviewed-on: https://chromium-review.googlesource.com/448676
Commit-Queue: Marc-Antoine Ruel <maruel@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Currently if you set `pre_deps_hooks` in your gclient DEPS file,
they will be executed regardless of whether your repo was supposed
to be recursed into (via recursionlimit or recursedeps) or not.
This change fixes that so that we only run the hooks that were
explicitly configured to be run.
R=kjellander@chromium.org, agable@chromium.org
BUG=696495
Change-Id: Ic0ef641903cf3f56d7c2e119d8b0db862258d995
Reviewed-on: https://chromium-review.googlesource.com/447318
Reviewed-by: Aaron Gable <agable@chromium.org>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug
(or complain)
recipe_engine:
https://crrev.com/40a0e58e42217e0d5249897487d6f2a9cf423bc9 remove use_subprocess42 flag for good (iannucci@chromium.org)
TBR=martiniss@chromium.org,phajdan.jr@chromium.org
Change-Id: I34ab9ae948095a0a1c1304f531d2bf6a3281d122
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://chromium-review.googlesource.com/446536
Reviewed-by: <recipe-roller@chromium.org>
Commit-Queue: <recipe-roller@chromium.org>