Hooks for Electron output UTF-8 characters.
Example error for when "✔" is output:
File "/home/markus/depot_tools/metrics.py", line 266, in print_notice_and_exit
yield
File "/home/markus/depot_tools/gclient.py", line 3112, in <module>
sys.exit(main(sys.argv[1:]))
File "/home/markus/depot_tools/gclient.py", line 3098, in main
return dispatcher.execute(OptionParser(), argv)
File "/home/markus/depot_tools/subcommand.py", line 252, in execute
return command(parser, args[1:])
File "/home/markus/depot_tools/gclient.py", line 2677, in CMDsync
ret = client.RunOnDeps('update', args)
File "/home/markus/depot_tools/gclient.py", line 1746, in RunOnDeps
self.RunHooksRecursively(self._options, pm)
File "/home/markus/depot_tools/gclient.py", line 1052, in RunHooksRecursively
hook.run()
File "/home/markus/depot_tools/gclient.py", line 245, in run
cmd, cwd=self.effective_cwd, always=self._verbose)
File "/home/markus/depot_tools/gclient_utils.py", line 344, in CheckCallAndFilterAndHeader
return CheckCallAndFilter(args, **kwargs)
File "/home/markus/depot_tools/gclient_utils.py", line 576, in CheckCallAndFilter
stdout.write(in_byte.decode())
File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe2 in position 0: unexpected end of data
This issue was introduced in CL:1524583.
Bug: 942522
Change-Id: I3c4355b925b34398c800d142f942531a829e0297
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1541334
Auto-Submit: Raul Tambre <raul@tambre.ee>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Raul Tambre <raul@tambre.ee>
|
7 years ago | |
|---|---|---|
| bootstrap/win | 7 years ago | |
| fetch_configs | 7 years ago | |
| git-templates | ||
| infra | 7 years ago | |
| man | 7 years ago | |
| recipes | 7 years ago | |
| support | 7 years ago | |
| testing_support | 7 years ago | |
| tests | 7 years ago | |
| third_party | 7 years ago | |
| win_toolchain | 7 years ago | |
| zsh-goodies | ||
| .gitattributes | 7 years ago | |
| .gitignore | 7 years ago | |
| .style.yapf | ||
| CROS_OWNERS | 7 years ago | |
| LICENSE | ||
| OWNERS | 7 years ago | |
| PRESUBMIT.py | 7 years ago | |
| README.gclient.md | ||
| README.git-cl.md | ||
| README.md | 7 years ago | |
| README.testing | ||
| WATCHLISTS | 8 years ago | |
| annotated_gclient.py | ||
| appengine_mapper.py | ||
| auth.py | 8 years ago | |
| autoninja | 7 years ago | |
| autoninja.bat | 7 years ago | |
| autoninja.py | 7 years ago | |
| bb | 7 years ago | |
| bb.bat | 7 years ago | |
| breakpad.py | ||
| buildbucket.py | 7 years ago | |
| cbuildbot | ||
| checkout.py | 8 years ago | |
| chrome_set_ver | ||
| cipd | 7 years ago | |
| cipd.bat | 7 years ago | |
| cipd.ps1 | 7 years ago | |
| cipd_bin_setup.bat | 8 years ago | |
| cipd_bin_setup.sh | 8 years ago | |
| cipd_client_version | 7 years ago | |
| cipd_client_version.digests | 7 years ago | |
| cipd_manifest.txt | 7 years ago | |
| cipd_manifest.versions | 7 years ago | |
| cit | ||
| cit.bat | 9 years ago | |
| cit.py | 8 years ago | |
| clang-format | ||
| clang-format.bat | 9 years ago | |
| clang_format.py | 7 years ago | |
| clang_format_merge_driver | ||
| clang_format_merge_driver.bat | 9 years ago | |
| clang_format_merge_driver.py | ||
| codereview.settings | ||
| compile_single_file | 8 years ago | |
| compile_single_file.bat | 8 years ago | |
| compile_single_file.py | 8 years ago | |
| cpplint.bat | 9 years ago | |
| cpplint.py | 7 years ago | |
| cpplint_chromium.py | ||
| cros | ||
| cros_sdk | ||
| dart_format.py | 7 years ago | |
| depot-tools-auth | ||
| depot-tools-auth.bat | 9 years ago | |
| depot-tools-auth.py | ||
| detect_host_arch.py | 7 years ago | |
| download_from_google_storage | ||
| download_from_google_storage.bat | 9 years ago | |
| download_from_google_storage.py | 7 years ago | |
| ensure_bootstrap | 8 years ago | |
| fetch | ||
| fetch.bat | 9 years ago | |
| fetch.py | 7 years ago | |
| fix_encoding.py | 7 years ago | |
| gclient | 7 years ago | |
| gclient-new-workdir.py | 8 years ago | |
| gclient.bat | 9 years ago | |
| gclient.py | 7 years ago | |
| gclient_completion.sh | ||
| gclient_eval.py | 7 years ago | |
| gclient_paths.py | 7 years ago | |
| gclient_scm.py | 7 years ago | |
| gclient_utils.py | 7 years ago | |
| gerrit_client.py | 7 years ago | |
| gerrit_util.py | 7 years ago | |
| git-cache | ||
| git-cl | ||
| git-crrev-parse | 8 years ago | |
| git-drover | ||
| git-find-releases | ||
| git-footers | ||
| git-freeze | ||
| git-gs | ||
| git-hyper-blame | ||
| git-map | ||
| git-map-branches | ||
| git-mark-merge-base | ||
| git-nav-downstream | ||
| git-nav-upstream | 7 years ago | |
| git-new-branch | ||
| git-number | ||
| git-rebase-update | ||
| git-rename-branch | ||
| git-reparent-branch | ||
| git-retry | ||
| git-runhooks | ||
| git-squash-branch | ||
| git-thaw | ||
| git-upstream-diff | ||
| git_cache.py | 7 years ago | |
| git_cl.py | 7 years ago | |
| git_cl_completion.sh | ||
| git_common.py | 7 years ago | |
| git_dates.py | ||
| git_drover.py | 8 years ago | |
| git_find_releases.py | ||
| git_footers.py | 8 years ago | |
| git_freezer.py | ||
| git_hyper_blame.py | 8 years ago | |
| git_map.py | 9 years ago | |
| git_map_branches.py | 7 years ago | |
| git_mark_merge_base.py | ||
| git_nav_downstream.py | 7 years ago | |
| git_new_branch.py | 7 years ago | |
| git_number.py | 9 years ago | |
| git_rebase_update.py | 7 years ago | |
| git_rename_branch.py | ||
| git_reparent_branch.py | 7 years ago | |
| git_retry.py | ||
| git_squash_branch.py | ||
| git_upstream_diff.py | 7 years ago | |
| gn | ||
| gn.bat | 9 years ago | |
| gn.py | 7 years ago | |
| gsutil.py | 7 years ago | |
| gsutil.py.bat | 7 years ago | |
| gsutil.vpython | 7 years ago | |
| led | 8 years ago | |
| led.bat | 8 years ago | |
| luci-auth | 8 years ago | |
| luci-auth.bat | 8 years ago | |
| lucicfg | 7 years ago | |
| lucicfg.bat | 7 years ago | |
| mac_toolchain | 8 years ago | |
| metrics.README.md | 7 years ago | |
| metrics.py | 7 years ago | |
| metrics_utils.py | 7 years ago | |
| my_activity.py | 7 years ago | |
| my_reviews.py | 8 years ago | |
| ninja | 7 years ago | |
| ninja-linux32 | 8 years ago | |
| ninja-linux64 | 8 years ago | |
| ninja-mac | 8 years ago | |
| ninja.exe | 8 years ago | |
| ninjalog.README.md | 7 years ago | |
| ninjalog_uploader.py | 7 years ago | |
| ninjalog_uploader_wrapper.py | 7 years ago | |
| owners.py | 7 years ago | |
| owners_finder.py | 7 years ago | |
| patch.py | 8 years ago | |
| post_build_ninja_summary.py | 8 years ago | |
| presubmit_canned_checks.py | 7 years ago | |
| presubmit_support.py | 7 years ago | |
| profile.xml | ||
| prpc | 8 years ago | |
| prpc.bat | 8 years ago | |
| pylint | ||
| pylint.py | ||
| pylintrc | 7 years ago | |
| python_runner.sh | ||
| repo | 7 years ago | |
| rietveld.py | 8 years ago | |
| roll-dep | ||
| roll-dep-svn | ||
| roll-dep-svn.bat | 9 years ago | |
| roll-dep.bat | 9 years ago | |
| roll_dep.py | 7 years ago | |
| roll_dep_svn.py | 8 years ago | |
| scm.py | 7 years ago | |
| setup_color.py | 7 years ago | |
| split_cl.py | 7 years ago | |
| subcommand.py | ||
| subprocess2.py | 7 years ago | |
| update_depot_tools | 7 years ago | |
| update_depot_tools.bat | 8 years ago | |
| update_depot_tools_toggle.py | 9 years ago | |
| upload_metrics.py | 7 years ago | |
| upload_to_google_storage.py | 8 years ago | |
| vpython | 8 years ago | |
| vpython.bat | 8 years ago | |
| watchlists.py | 8 years ago | |
| weekly | ||
| wtf | ||
| yapf | 7 years ago | |
| yapf.bat | 7 years ago | |
README.md
depot_tools
Tools for working with Chromium development. It requires python 2.7.
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.
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.