Metrics: stop trying to print the notice in color and unicode

It breaks gclient for some users depending on locale settings (see bug).
The feature just doesn't seem worth the complexity.

Bug: 934279
Change-Id: I2c6e2b77ab764381db9f2c4e63ff8a84526769bb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1520646
Reviewed-by: Elliott Friedman <friedman@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>
Commit-Queue: Ryan Tseng <hinoka@chromium.org>
Auto-Submit: Hans Wennborg <hans@chromium.org>
1 file changed
tree: b3044811231a2d5c1d93cff3b25ed3dae416cd64
  1. bootstrap/
  2. fetch_configs/
  3. git-templates/
  4. infra/
  5. man/
  6. recipes/
  7. support/
  8. testing_support/
  9. tests/
  10. third_party/
  11. win_toolchain/
  12. zsh-goodies/
  13. .gitattributes
  14. .gitignore
  15. .style.yapf
  16. annotated_gclient.py
  17. appengine_mapper.py
  18. auth.py
  19. autoninja
  20. autoninja.bat
  21. autoninja.py
  22. breakpad.py
  23. buildbucket.py
  24. checkout.py
  25. cipd
  26. cipd.bat
  27. cipd.ps1
  28. cipd_bin_setup.bat
  29. cipd_bin_setup.sh
  30. cipd_client_version
  31. cipd_client_version.digests
  32. cipd_manifest.txt
  33. cipd_manifest.versions
  34. cit
  35. cit.bat
  36. cit.py
  37. clang-format
  38. clang-format.bat
  39. clang_format.py
  40. clang_format_merge_driver
  41. clang_format_merge_driver.bat
  42. clang_format_merge_driver.py
  43. codereview.settings
  44. compile_single_file
  45. compile_single_file.bat
  46. compile_single_file.py
  47. cpplint.bat
  48. cpplint.py
  49. cpplint_chromium.py
  50. CROS_OWNERS
  51. dart_format.py
  52. depot-tools-auth
  53. depot-tools-auth.bat
  54. depot-tools-auth.py
  55. detect_host_arch.py
  56. download_from_google_storage
  57. download_from_google_storage.bat
  58. download_from_google_storage.py
  59. ensure_bootstrap
  60. fetch
  61. fetch.bat
  62. fetch.py
  63. fix_encoding.py
  64. gclient
  65. gclient-new-workdir.py
  66. gclient.bat
  67. gclient.py
  68. gclient_completion.sh
  69. gclient_eval.py
  70. gclient_paths.py
  71. gclient_scm.py
  72. gclient_utils.py
  73. gerrit_client.py
  74. gerrit_util.py
  75. git-cache
  76. git-cl
  77. git-crrev-parse
  78. git-drover
  79. git-find-releases
  80. git-footers
  81. git-freeze
  82. git-gs
  83. git-hyper-blame
  84. git-map
  85. git-map-branches
  86. git-mark-merge-base
  87. git-nav-downstream
  88. git-nav-upstream
  89. git-new-branch
  90. git-number
  91. git-rebase-update
  92. git-rename-branch
  93. git-reparent-branch
  94. git-retry
  95. git-runhooks
  96. git-squash-branch
  97. git-thaw
  98. git-upstream-diff
  99. git_cache.py
  100. git_cl.py
  101. git_cl_completion.sh
  102. git_common.py
  103. git_dates.py
  104. git_drover.py
  105. git_find_releases.py
  106. git_footers.py
  107. git_freezer.py
  108. git_hyper_blame.py
  109. git_map.py
  110. git_map_branches.py
  111. git_mark_merge_base.py
  112. git_nav_downstream.py
  113. git_new_branch.py
  114. git_number.py
  115. git_rebase_update.py
  116. git_rename_branch.py
  117. git_reparent_branch.py
  118. git_retry.py
  119. git_squash_branch.py
  120. git_upstream_diff.py
  121. gn
  122. gn.bat
  123. gn.py
  124. gsutil.py
  125. gsutil.py.bat
  126. gsutil.vpython
  127. led
  128. led.bat
  129. LICENSE
  130. luci-auth
  131. luci-auth.bat
  132. lucicfg
  133. lucicfg.bat
  134. mac_toolchain
  135. metrics.py
  136. metrics.README.md
  137. metrics_utils.py
  138. my_activity.py
  139. my_reviews.py
  140. ninja
  141. ninja-linux32
  142. ninja-linux64
  143. ninja-mac
  144. ninja.exe
  145. ninjalog.README.md
  146. ninjalog_uploader.py
  147. ninjalog_uploader_wrapper.py
  148. OWNERS
  149. owners.py
  150. owners_finder.py
  151. patch.py
  152. post_build_ninja_summary.py
  153. PRESUBMIT.py
  154. presubmit_canned_checks.py
  155. presubmit_support.py
  156. profile.xml
  157. prpc
  158. prpc.bat
  159. pylint
  160. pylint.py
  161. pylintrc
  162. python_runner.sh
  163. README.gclient.md
  164. README.git-cl.md
  165. README.md
  166. README.testing
  167. repo
  168. rietveld.py
  169. roll-dep
  170. roll-dep-svn
  171. roll-dep-svn.bat
  172. roll-dep.bat
  173. roll_dep.py
  174. roll_dep_svn.py
  175. scm.py
  176. setup_color.py
  177. split_cl.py
  178. subcommand.py
  179. subprocess2.py
  180. update_depot_tools
  181. update_depot_tools.bat
  182. update_depot_tools_toggle.py
  183. upload_metrics.py
  184. upload_to_google_storage.py
  185. vpython
  186. vpython.bat
  187. WATCHLISTS
  188. watchlists.py
  189. weekly
  190. wtf
  191. yapf
  192. yapf.bat
README.md

depot_tools

Tools for working with Chromium development. It requires python 2.7.

Tools

The most important tools are:

  • fetch: A gclient wrapper to checkout a project. Use fetch --help for 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. Use gclient help for more details and README.gclient.md.
  • git cl: A code review tool to interact with Rietveld or Gerrit. Use git cl help for 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.