commit | d9c1c856c64c30d6a45e318c7c0349bed9a995b3 | [log] [tgz] |
---|---|---|
author | Raul Tambre <raul@tambre.ee> | Tue Sep 10 16:33:40 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Sep 10 16:33:40 2019 |
tree | b2a0670d6737ecfc5bedb15527cd13c92f54ff61 | |
parent | e5641be5fe309f40aad850d4d1e1ca607768572c [diff] |
fix_encoding: Decode bytestrings on Python 3 Strings need to be passed to WriteConsoleW, otherwise an exception will be thrown: <Unicode console <stdout>>.write: ArgumentError("argument 2: <class 'TypeError'>: wrong type") Traceback (most recent call last): File "C:\Google\depot_tools\metrics.py", line 267, in print_notice_and_exit yield File "C:\Google\depot_tools\gclient.py", line 3156, in <module> sys.exit(main(sys.argv[1:])) File "C:\Google\depot_tools\gclient.py", line 3142, in main return dispatcher.execute(OptionParser(), argv) File "C:\Google\depot_tools\subcommand.py", line 252, in execute return command(parser, args[1:]) File "C:\Google\depot_tools\gclient.py", line 2699, in CMDsync ret = client.RunOnDeps('update', args) File "C:\Google\depot_tools\gclient.py", line 1771, in RunOnDeps self.RunHooksRecursively(self._options, pm) File "C:\Google\depot_tools\gclient.py", line 1064, in RunHooksRecursively hook.run() File "C:\Google\depot_tools\gclient.py", line 255, in run gclient_utils.CheckCallAndFilter( File "C:\Google\depot_tools\gclient_utils.py", line 592, in CheckCallAndFilter stdout_write(in_byte) File "C:\Google\depot_tools\gclient_utils.py", line 375, in write return self._wrapped.write(out) File "C:\Google\depot_tools\gclient_utils.py", line 343, in write self._wrapped.write(out, *args, **kwargs) File "C:\Google\depot_tools\fix_encoding.py", line 224, in write retval = self._WriteConsoleW( ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type Bug: 984182 Change-Id: Icffe0e0ea1fe2be5bc7607e32f58605d02f1f870 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1778746 Commit-Queue: Raul Tambre <raul@tambre.ee> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Auto-Submit: Raul Tambre <raul@tambre.ee>
Tools for working with Chromium development. It requires python 2.7.
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.
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
.
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.
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.