This reverts commit6754c49e02. Reason for revert: will be relanded with fixed batch comments that triggered parser error. Original change's description: > Revert "Make depot_tools scripts return exit codes properly on all platforms." > > This reverts commit7c4f7ec408. > > Reason for revert: bugs reported by users (see comments in Gerrit). > error: block. was unexpected at this time. > > Original change's description: > > Make depot_tools scripts return exit codes properly on all platforms. > > > > Changes: > > 1. Windows: exit /b %errorlevel% should be used instead of goto :EOF to get valid exit codes during cmd /c <script>.bat invocation. > > 2. Windows: delayed var expansion is required in update_depot_tools.bat exit code generation. > > 3. Posix: update_depot_tools returns exit code from update_git_repo function in case of a failure. > > > > A rule of thumb on Windows: goto :EOF should not be used if %errorlevel% must be returned for all possible invocations. > > > > Test case for update_depot_tools changes: > > 1. Make a change to depot_tools sources that will conflict with next depot_tools update > > 2. Run update_depot_tools either directly or via gclient > > 3. Expect a git error is triggered > > 4. Inspect %errorlevel% or $? depending on platform > > 5. Expected 1, but the actual result is 0. > > > > Test case for changes in other .bat files: > > 1. Make a change to depot_tools sources that will conflict with next depot_tools update > > 2. Run cmd /c gclient > > 3. Expect a git error is triggered > > 4. Inspect %errorlevel% > > 5. Expected 1, but the actual result is 0. > > > > Change-Id: I64459982bcd9cc3db1319a9b39224b7a7af8c5aa > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3688632 > > Reviewed-by: Josip Sokcevic <sokcevic@google.com> > > Commit-Queue: Josip Sokcevic <sokcevic@google.com> > > Auto-Submit: Aleksey Khoroshilov <akhoroshilov@brave.com> > > Reviewed-by: Bruce Dawson <brucedawson@chromium.org> > > Change-Id: I85d598af01d75588cdee77165d6af22270ee031d > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3694139 > Auto-Submit: Josip Sokcevic <sokcevic@google.com> > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Change-Id: I377f966ea1b1a567de815caca703b5e124a76b64 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3696396 Reviewed-by: Josip Sokcevic <sokcevic@google.com> Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Commit-Queue: Josip Sokcevic <sokcevic@google.com> Auto-Submit: Aleksey Khoroshilov <akhoroshilov@brave.com>
depot_tools
Tools for working with Chromium development. It requires python 2.7 or 3.8 for python 3 support.
Tools
The most important tools are:
fetch: Agclientwrapper to checkout a project. Usefetch --helpfor more details.gclient: A meta-checkout tool. Think repo or git submodules, except that it support OS-specific rules, e.g. do not checkout Windows only dependencies when checking out for Android. Usegclient helpfor more details and README.gclient.md.git cl: A code review tool to interact with Rietveld or Gerrit. Usegit cl helpfor more details and README.git-cl.md.roll-dep: A gclient dependency management tool to submit a dep roll, updating a dependency to a newer revision.
There are a lot of git utilities included.
Updating
depot_tools updates itself automatically when running gclient tool. To
disable auto update, set the environment variable DEPOT_TOOLS_UPDATE=0 or
run ./update_depot_tools_toggle.py --disable.
To update package manually, run update_depot_tools.bat on Windows,
or ./update_depot_tools on Linux or Mac.
On Windows only, running gclient will install git and python.
Contributing
To contribute change for review:
git new-branch <somename>
# Hack
git add .
git commit -a -m "Fixes goat teleporting"
# find reviewers
git cl owners
git log -- <yourfiles>
# Request a review.
git cl upload -r reviewer1@chromium.org,reviewer2@chromium.org --send-mail
# Edit change description if needed.
git cl desc
# If change is approved, flag it to be committed.
git cl set-commit
# If change needs more work.
git rebase-update
...
git cl upload -t "Fixes goat teleporter destination to be Australia"
See also open bugs, open reviews, forum or report problems.
cpplint.py
Until 2018, our cpplint.py was a copy of the upstream version at
https://github.com/google/styleguide/tree/gh-pages/cpplint. Unfortunately, that
repository is not maintained any more.
If you want to update cpplint.py in depot_tools, just upload a patch to do
so. We will figure out a long-term strategy via issue https://crbug.com/916550.
Note that the cpplint.py here is also used by the Tricium
analyzer,
so if the cpplint.py here changes, we should also update the copy used there.