libv8 5.7.492.65.1 → 5.9.211.38.0beta0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +8 -2
- data/CHANGELOG.md +4 -0
- data/README.md +4 -3
- data/Rakefile +27 -10
- data/ext/libv8/builder.rb +4 -0
- data/lib/libv8/version.rb +1 -1
- data/libv8.gemspec +1 -1
- data/patches/0001-Build-a-standalone-static-library.patch +5 -5
- data/patches/0002-Don-t-compile-unnecessary-stuff.patch +20 -24
- data/patches/0003-Use-the-fPIC-flag-for-the-static-library.patch +5 -5
- data/patches/0004-Do-not-embed-debug-symbols-in-macOS-libraries.patch +5 -5
- data/patches/0005-Fix-GCC-7-build-errors.patch +147 -0
- data/scaleway.png +0 -0
- data/vendor/depot_tools/.gitattributes +52 -0
- data/vendor/depot_tools/.gitignore +10 -0
- data/vendor/depot_tools/README.md +7 -3
- data/vendor/depot_tools/apply_issue.bat +4 -3
- data/vendor/depot_tools/apply_issue.py +0 -10
- data/vendor/depot_tools/autoninja +12 -0
- data/vendor/depot_tools/autoninja.bat +9 -0
- data/vendor/depot_tools/autoninja.py +70 -0
- data/vendor/depot_tools/bootstrap/win/README.md +108 -26
- data/vendor/depot_tools/bootstrap/win/git-bash.template.sh +3 -3
- data/vendor/depot_tools/bootstrap/win/git.template.bat +2 -2
- data/vendor/depot_tools/bootstrap/win/manifest.txt +18 -0
- data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +18 -0
- data/vendor/depot_tools/bootstrap/win/python27.new.bat +49 -0
- data/vendor/depot_tools/bootstrap/win/win_tools.bat +55 -59
- data/vendor/depot_tools/bootstrap/win/win_tools.py +335 -0
- data/vendor/depot_tools/cipd +16 -2
- data/vendor/depot_tools/cipd.bat +20 -2
- data/vendor/depot_tools/cipd.ps1 +36 -22
- data/vendor/depot_tools/cipd_bin_setup.bat +6 -0
- data/vendor/depot_tools/cipd_bin_setup.sh +10 -0
- data/vendor/depot_tools/cipd_client_version +1 -1
- data/vendor/depot_tools/cipd_manifest.txt +9 -0
- data/vendor/depot_tools/cit.bat +12 -11
- data/vendor/depot_tools/clang-format.bat +4 -3
- data/vendor/depot_tools/clang_format_merge_driver.bat +12 -11
- data/vendor/depot_tools/commit_queue.bat +4 -3
- data/vendor/depot_tools/cpplint.bat +9 -3
- data/vendor/depot_tools/cpplint.py +3 -3
- data/vendor/depot_tools/depot-tools-auth.bat +4 -3
- data/vendor/depot_tools/download_from_google_storage.bat +5 -3
- data/vendor/depot_tools/download_from_google_storage.py +6 -1
- data/vendor/depot_tools/fetch.bat +5 -4
- data/vendor/depot_tools/fetch.py +4 -5
- data/vendor/depot_tools/gclient-new-workdir.py +82 -46
- data/vendor/depot_tools/gclient.bat +5 -4
- data/vendor/depot_tools/gclient.py +713 -319
- data/vendor/depot_tools/gclient_eval.py +284 -0
- data/vendor/depot_tools/gclient_utils.py +70 -4
- data/vendor/depot_tools/gerrit_client.py +26 -1
- data/vendor/depot_tools/gerrit_util.py +120 -127
- data/vendor/depot_tools/git-crrev-parse +1 -0
- data/vendor/depot_tools/git-gs +1 -1
- data/vendor/depot_tools/git_cl.py +731 -415
- data/vendor/depot_tools/git_common.py +23 -3
- data/vendor/depot_tools/git_drover.py +10 -1
- data/vendor/depot_tools/git_footers.py +62 -22
- data/vendor/depot_tools/git_hyper_blame.py +3 -2
- data/vendor/depot_tools/git_map.py +30 -3
- data/vendor/depot_tools/git_map_branches.py +18 -4
- data/vendor/depot_tools/git_number.py +8 -2
- data/vendor/depot_tools/git_retry.py +21 -0
- data/vendor/depot_tools/gn.bat +4 -3
- data/vendor/depot_tools/infra/config/cq.cfg +1 -5
- data/vendor/depot_tools/infra/config/recipes.cfg +18 -16
- data/vendor/depot_tools/led +12 -0
- data/vendor/depot_tools/led.bat +7 -0
- data/vendor/depot_tools/man/html/git-cl.html +9 -1
- data/vendor/depot_tools/man/html/git-drover.html +22 -18
- data/vendor/depot_tools/man/man1/git-cl.1 +8 -3
- data/vendor/depot_tools/man/man1/git-drover.1 +22 -20
- data/vendor/depot_tools/man/src/git-cl.txt +3 -0
- data/vendor/depot_tools/man/src/git-drover.txt +8 -0
- data/vendor/depot_tools/my_activity.py +8 -5
- data/vendor/depot_tools/owners.py +103 -11
- data/vendor/depot_tools/owners_finder.py +14 -2
- data/vendor/depot_tools/presubmit_canned_checks.py +25 -67
- data/vendor/depot_tools/presubmit_support.py +87 -35
- data/vendor/depot_tools/recipes/OWNERS +2 -0
- data/vendor/depot_tools/recipes/README.recipes.md +842 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +5 -3
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +181 -60
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/{example.expected → examples/full.expected}/apply_gerrit_ref.json +4 -2
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +82 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +149 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/buildbot.json +82 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +149 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +122 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +149 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +149 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_shallow.json +149 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +148 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange.json +150 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/{example.expected → examples/full.expected}/trychange_oauth2.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_buildbot.json +152 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_json.json +150 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_json_win.json +150 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob.json +156 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +91 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +118 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +118 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +202 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle_deprecated.json +158 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +196 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8.json +202 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +202 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +162 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +162 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +149 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/{example.py → examples/full.py} +46 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +139 -133
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +25 -13
- data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +40 -9
- data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/basic.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/basic_pkg.json +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/describe-failed.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/describe-many-instances.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/mac64.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/pkg_bad_file.json +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/pkg_bad_mode.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/pkg_bad_verfile.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/win64.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.py → examples/full.py} +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +7 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +7 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.py +59 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +5 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/{example.expected → examples/full.expected}/basic.json +7 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/{example.expected → examples/full.expected}/win.json +7 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/{example.py → examples/full.py} +2 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +1 -4
- data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +28 -14
- data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +10 -235
- data/vendor/depot_tools/recipes/recipe_modules/gclient/{example.expected → examples/full.expected}/basic.json +9 -9
- data/vendor/depot_tools/recipes/recipe_modules/gclient/{example.expected → examples/full.expected}/buildbot.json +9 -9
- data/vendor/depot_tools/recipes/recipe_modules/gclient/{example.expected → examples/full.expected}/revision.json +9 -9
- data/vendor/depot_tools/recipes/recipe_modules/gclient/{example.expected → examples/full.expected}/tryserver.json +9 -9
- data/vendor/depot_tools/recipes/recipe_modules/gclient/{example.py → examples/full.py} +5 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +45 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +97 -2
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +283 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/{example.py → examples/full.py} +31 -2
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/test_api.py +30 -1
- data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +1 -4
- data/vendor/depot_tools/recipes/recipe_modules/git/api.py +7 -35
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic_branch.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic_file_name.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic_hash.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic_ref.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic_submodule_update_force.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/can_fail_build.json +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/cannot_fail_build.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/cat-file_test.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/count-objects_delta.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/count-objects_failed.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/count-objects_with_bad_output.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/count-objects_with_bad_output_fails_build.json +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/curl_trace_file.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/git-cache-checkout.json +6 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +223 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/rebase_failed.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/remote_not_origin.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/set_got_revision.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/git/{example.py → examples/full.py} +2 -1
- data/vendor/depot_tools/recipes/recipe_modules/git/resources/git_setup.py +12 -21
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/__init__.py +1 -4
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +13 -11
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/{example.expected → examples/full.expected}/basic.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/{example.py → examples/full.py} +4 -2
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/OWNERS +3 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/__init__.py +7 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +135 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +537 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.py +61 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +192 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/test_api.py +95 -0
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/{example.expected → examples/full.expected}/basic.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/{example.py → examples/full.py} +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/__init__.py +0 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/basic.json +3 -2
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/paths_buildbot_linux.json +3 -2
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/paths_buildbot_mac.json +3 -2
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/paths_buildbot_win.json +3 -2
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/paths_generic_linux.json +3 -2
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/paths_generic_mac.json +3 -2
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +16 -0
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +16 -0
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +16 -0
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +16 -0
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.py → examples/full.py} +2 -1
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +12 -3
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +2 -2
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/{example.expected → examples/full.expected}/basic.json +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/{example.py → examples/full.py} +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/__init__.py +0 -4
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/{example.expected → examples/full.expected}/basic.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/{example.expected → examples/full.expected}/buildbot.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/examples/full.expected/no_auth.json +27 -0
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/{example.py → examples/full.py} +9 -1
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/__init__.py +3 -5
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +21 -96
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/basic_tags.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/set_failure_hash_with_no_steps.json +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +56 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected/with_gerrit_patch_deprecated.json → examples/full.expected/with_git_patch.json} +2 -2
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected/with_gerrit_patch.json → examples/full.expected/with_git_patch_luci.json} +2 -2
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/with_rietveld_patch.json +0 -20
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/with_rietveld_patch_new.json +0 -20
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/with_wrong_patch.json +1 -13
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/with_wrong_patch_new.json +1 -13
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.py → examples/full.py} +3 -17
- data/vendor/depot_tools/recipes/recipes.py +141 -96
- data/vendor/depot_tools/rietveld.py +8 -1
- data/vendor/depot_tools/roll-dep-svn.bat +12 -10
- data/vendor/depot_tools/roll-dep.bat +5 -3
- data/vendor/depot_tools/scm.py +8 -1
- data/vendor/depot_tools/setup_color.py +0 -0
- data/vendor/depot_tools/split_cl.py +193 -0
- data/vendor/depot_tools/third_party/schema/.editorconfig +15 -0
- data/vendor/depot_tools/third_party/schema/.gitignore +174 -0
- data/vendor/depot_tools/third_party/schema/.travis.yml +37 -0
- data/vendor/depot_tools/third_party/schema/LICENSE-MIT +19 -0
- data/vendor/depot_tools/third_party/schema/MANIFEST.in +1 -0
- data/vendor/depot_tools/third_party/schema/README.chromium +12 -0
- data/vendor/depot_tools/third_party/schema/README.rst +382 -0
- data/vendor/depot_tools/third_party/schema/__init__.py +1 -0
- data/vendor/depot_tools/third_party/schema/schema.py +338 -0
- data/vendor/depot_tools/third_party/schema/setup.cfg +5 -0
- data/vendor/depot_tools/third_party/schema/setup.py +30 -0
- data/vendor/depot_tools/third_party/schema/test_schema.py +556 -0
- data/vendor/depot_tools/third_party/schema/tox.ini +33 -0
- data/vendor/depot_tools/third_party/upload.py +4 -0
- data/vendor/depot_tools/update_depot_tools +4 -16
- data/vendor/depot_tools/update_depot_tools.bat +4 -17
- data/vendor/depot_tools/update_depot_tools_toggle.py +38 -0
- data/vendor/depot_tools/vpython +12 -0
- data/vendor/depot_tools/vpython.bat +7 -0
- data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +17 -5
- data/vendor/depot_tools/win_toolchain/package_from_installed.py +63 -33
- metadata +161 -113
- data/vendor/depot_tools/bootstrap/gclient.bat +0 -22
- data/vendor/depot_tools/bootstrap/win/get_file.js +0 -119
- data/vendor/depot_tools/bootstrap/win/git_bootstrap.py +0 -193
- data/vendor/depot_tools/bootstrap/win/git_version.txt +0 -1
- data/vendor/depot_tools/bootstrap/win/git_version_bleeding_edge.txt +0 -1
- data/vendor/depot_tools/bootstrap/win/python276.new.bat +0 -8
- data/vendor/depot_tools/bootstrap/win/svn.new.bat +0 -4
- data/vendor/depot_tools/bootstrap/win/svnversion.new.bat +0 -4
- data/vendor/depot_tools/bootstrap/win/unzip.js +0 -91
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/basic.json +0 -53
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/basic_output_manifest.json +0 -60
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json +0 -54
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/buildbot.json +0 -53
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/clobber.json +0 -54
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/gerrit_no_rebase_patch_ref.json +0 -54
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/gerrit_no_reset.json +0 -54
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/no_shallow.json +0 -54
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json +0 -53
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/trychange.json +0 -55
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/trychange_oauth2_buildbot.json +0 -57
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/trychange_oauth2_json.json +0 -55
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/trychange_oauth2_json_win.json +0 -55
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob.json +0 -59
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_fail.json +0 -62
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json +0 -83
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json +0 -84
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json +0 -60
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle_deprecated.json +0 -60
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_v8.json +0 -62
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json +0 -62
- data/vendor/depot_tools/recipes/recipe_modules/gclient/bundle_extra_paths.txt +0 -4
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/example.expected/basic.json +0 -66
- data/vendor/depot_tools/recipes/recipe_modules/git/bundle_extra_paths.txt +0 -28
- data/vendor/depot_tools/recipes/recipe_modules/git/example.expected/platform_win.json +0 -237
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/example.expected/paths_generic_win.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/example.expected/paths_kitchen_linux.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/example.expected/paths_kitchen_mac.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/example.expected/paths_kitchen_win.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/bundle_extra_paths.txt +0 -30
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/example.expected/with_git_patch.json +0 -109
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/example.expected/with_git_patch_luci.json +0 -8
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# Copyright 2017 The Chromium Authors. All rights reserved.
|
4
|
+
# Use of this source code is governed by a BSD-style license that can be
|
5
|
+
# found in the LICENSE file.
|
6
|
+
|
7
|
+
MYPATH=$(dirname "${BASH_SOURCE[0]}")
|
8
|
+
|
9
|
+
source "$MYPATH/cipd_bin_setup.sh"
|
10
|
+
cipd_bin_setup
|
11
|
+
|
12
|
+
exec "$MYPATH/.cipd_bin/led" "$@"
|
@@ -917,6 +917,14 @@ set-commit
|
|
917
917
|
</p>
|
918
918
|
</dd>
|
919
919
|
<dt class="hdlist1">
|
920
|
+
split
|
921
|
+
</dt>
|
922
|
+
<dd>
|
923
|
+
<p>
|
924
|
+
splits a branch into smaller branches and uploads CLs
|
925
|
+
</p>
|
926
|
+
</dd>
|
927
|
+
<dt class="hdlist1">
|
920
928
|
status
|
921
929
|
</dt>
|
922
930
|
<dd>
|
@@ -1018,7 +1026,7 @@ from <a href="https://chromium.googlesource.com/chromium/tools/depot_tools.git">
|
|
1018
1026
|
<div id="footnotes"><hr /></div>
|
1019
1027
|
<div id="footer">
|
1020
1028
|
<div id="footer-text">
|
1021
|
-
Last updated 2017-
|
1029
|
+
Last updated 2017-06-21 09:37:12 PDT
|
1022
1030
|
</div>
|
1023
1031
|
</div>
|
1024
1032
|
</body>
|
@@ -858,7 +858,7 @@ at least once to fetch the branches.</p></div>
|
|
858
858
|
<h4 id="_merge_example">Merge Example</h4>
|
859
859
|
<div class="paragraph"><p></p></div><div class="listingblock"><div class="content"><pre><code># Here's a commit (from some.committer) that we want to 'drover'.
|
860
860
|
<span style="font-weight: bold; color: #ffffff">$ git log -n 1 --pretty=fuller</span>
|
861
|
-
<span style="color: #e7e71c">commit
|
861
|
+
<span style="color: #e7e71c">commit c4c505c80a710432a95089cd7dca83e801bd3787</span>
|
862
862
|
Author: some.committer <some.committer@chromium.org>
|
863
863
|
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
|
864
864
|
Commit: some.committer <some.committer@chromium.org>
|
@@ -867,10 +867,10 @@ CommitDate: Thu Apr 10 08:54:46 2014 +0000
|
|
867
867
|
This change needs to go to branch 9999
|
868
868
|
|
869
869
|
# Now do the 'drover'.
|
870
|
-
<span style="font-weight: bold; color: #ffffff">$ git drover --branch 9999 --cherry-pick
|
870
|
+
<span style="font-weight: bold; color: #ffffff">$ git drover --branch 9999 --cherry-pick c4c505c80a710432a95089cd7dca83e801bd3787</span>
|
871
871
|
Going to cherry-pick
|
872
872
|
"""
|
873
|
-
<span style="color: #e7e71c">commit
|
873
|
+
<span style="color: #e7e71c">commit c4c505c80a710432a95089cd7dca83e801bd3787</span>
|
874
874
|
Author: some.committer <some.committer@chromium.org>
|
875
875
|
Date: Thu Apr 10 08:54:46 2014 +0000
|
876
876
|
|
@@ -888,7 +888,7 @@ About to land on 9999. Continue (y/n)? y
|
|
888
888
|
<h4 id="_merge_with_conflicts_example">Merge with Conflicts Example</h4>
|
889
889
|
<div class="paragraph"><p></p></div><div class="listingblock"><div class="content"><pre><code># Here's a commit (from some.committer) that we want to 'drover'.
|
890
890
|
<span style="font-weight: bold; color: #ffffff">$ git log -n 1 --pretty=fuller</span>
|
891
|
-
<span style="color: #e7e71c">commit
|
891
|
+
<span style="color: #e7e71c">commit 1bf3c1360a47ee7db9ab3a1960bada575652ab18</span>
|
892
892
|
Author: some.committer <some.committer@chromium.org>
|
893
893
|
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
|
894
894
|
Commit: some.committer <some.committer@chromium.org>
|
@@ -897,10 +897,10 @@ CommitDate: Thu Apr 10 08:54:46 2014 +0000
|
|
897
897
|
This change needs to go to branch 9999
|
898
898
|
|
899
899
|
# Now do the 'drover'.
|
900
|
-
<span style="font-weight: bold; color: #ffffff">$ git drover --branch 9999 --cherry-pick
|
900
|
+
<span style="font-weight: bold; color: #ffffff">$ git drover --branch 9999 --cherry-pick 1bf3c1360a47ee7db9ab3a1960bada575652ab18</span>
|
901
901
|
Going to cherry-pick
|
902
902
|
"""
|
903
|
-
<span style="color: #e7e71c">commit
|
903
|
+
<span style="color: #e7e71c">commit 1bf3c1360a47ee7db9ab3a1960bada575652ab18</span>
|
904
904
|
Author: some.committer <some.committer@chromium.org>
|
905
905
|
Date: Thu Apr 10 08:54:46 2014 +0000
|
906
906
|
|
@@ -942,30 +942,32 @@ Branch drover_9999 set up to track remote ref refs/branch-heads/9999.
|
|
942
942
|
|
943
943
|
# Here's the commit we want to revert.
|
944
944
|
<span style="font-weight: bold; color: #ffffff">$ git log -n 1</span>
|
945
|
-
<span style="color: #e7e71c">commit
|
945
|
+
<span style="color: #e7e71c">commit 62b99a198636d608dd761b8f87714627154dbd34</span>
|
946
946
|
Author: some.committer <some.committer@chromium.org>
|
947
947
|
Date: Thu Apr 10 08:54:46 2014 +0000
|
948
948
|
|
949
949
|
This change is horribly broken.
|
950
950
|
|
951
951
|
# Now do the revert.
|
952
|
-
<span style="font-weight: bold; color: #ffffff">$ git revert
|
952
|
+
<span style="font-weight: bold; color: #ffffff">$ git revert 62b99a198636d608dd761b8f87714627154dbd34</span>
|
953
953
|
|
954
954
|
# That reverted the change and committed the revert.
|
955
955
|
<span style="font-weight: bold; color: #ffffff">$ git log -n 1</span>
|
956
|
-
<span style="color: #e7e71c">commit
|
956
|
+
<span style="color: #e7e71c">commit 5ae4e652a29fd78de0ef0a9560878e5ae95c6c82</span>
|
957
957
|
Author: you <you@chromium.org>
|
958
958
|
Date: Thu Apr 10 09:11:36 2014 +0000
|
959
959
|
|
960
960
|
Revert "This change is horribly broken."
|
961
961
|
|
962
|
-
This reverts commit
|
962
|
+
This reverts commit 62b99a198636d608dd761b8f87714627154dbd34.
|
963
963
|
|
964
964
|
# As with old drover, reverts are generally OK to commit without LGTM.
|
965
965
|
<span style="font-weight: bold; color: #ffffff">$ git cl upload -r some.committer@chromium.org --send-mail</span>
|
966
966
|
<span style="font-weight: bold; color: #ffffff">$ git cl land --bypass-hooks</span>
|
967
|
-
Using 50% similarity for rename/copy detection. Override with --similarity.
|
968
967
|
</code></pre></div></div><p><div class="paragraph"></p></div>
|
968
|
+
<div class="paragraph"><p>If your cherrypick onto a release branch gets reverted, do not create a new
|
969
|
+
cherrypick from master onto that release branch. Instead, use the "Reland"
|
970
|
+
button on the original cherrypick CL.</p></div>
|
969
971
|
</div>
|
970
972
|
<div class="sect3">
|
971
973
|
<h4 id="_manual_merge_example">Manual Merge Example</h4>
|
@@ -974,7 +976,7 @@ Using 50% similarity for rename/copy detection. Override with --similarity.
|
|
974
976
|
|
975
977
|
# Here's a commit (from some.committer) that we want to 'drover'.
|
976
978
|
<span style="font-weight: bold; color: #ffffff">$ git log -n 1 --pretty=fuller</span>
|
977
|
-
<span style="color: #e7e71c">commit
|
979
|
+
<span style="color: #e7e71c">commit 91ee663980fecd3bb7d6e8e166458e84b4e02d99</span>
|
978
980
|
Author: some.committer <some.committer@chromium.org>
|
979
981
|
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
|
980
982
|
Commit: some.committer <some.committer@chromium.org>
|
@@ -988,8 +990,8 @@ Branch drover_9999 set up to track remote ref refs/branch-heads/9999.
|
|
988
990
|
|
989
991
|
# Now do the 'drover'.
|
990
992
|
# IMPORTANT!!! Do Not leave off the '-x' flag
|
991
|
-
<span style="font-weight: bold; color: #ffffff">$ git cherry-pick -x
|
992
|
-
[drover_9999
|
993
|
+
<span style="font-weight: bold; color: #ffffff">$ git cherry-pick -x 91ee663980fecd3bb7d6e8e166458e84b4e02d99</span>
|
994
|
+
[drover_9999 73a5705] This change needs to go to branch 9999
|
993
995
|
Author: some.committer <some.committer@chromium.org>
|
994
996
|
Date: Thu Apr 10 08:54:46 2014 +0000
|
995
997
|
1 file changed, 1 insertion(+)
|
@@ -998,7 +1000,7 @@ Branch drover_9999 set up to track remote ref refs/branch-heads/9999.
|
|
998
1000
|
# That took the code authored by some.committer and committed it to
|
999
1001
|
# the branch by the person who drovered it (i.e. you).
|
1000
1002
|
<span style="font-weight: bold; color: #ffffff">$ git log -n 1 --pretty=fuller</span>
|
1001
|
-
<span style="color: #e7e71c">commit
|
1003
|
+
<span style="color: #e7e71c">commit 73a5705417e67c31f93d27fdee8240204082b5ef</span>
|
1002
1004
|
Author: some.committer <some.committer@chromium.org>
|
1003
1005
|
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
|
1004
1006
|
Commit: you <you@chromium.org>
|
@@ -1006,15 +1008,17 @@ CommitDate: Thu Apr 10 09:11:36 2014 +0000
|
|
1006
1008
|
|
1007
1009
|
This change needs to go to branch 9999
|
1008
1010
|
|
1009
|
-
(cherry picked from commit
|
1011
|
+
(cherry picked from commit 91ee663980fecd3bb7d6e8e166458e84b4e02d99)
|
1010
1012
|
|
1011
1013
|
# Looks good. Ship it!
|
1012
1014
|
<span style="font-weight: bold; color: #ffffff">$ git cl upload</span>
|
1013
1015
|
# Wait for LGTM or TBR it.
|
1014
1016
|
<span style="font-weight: bold; color: #ffffff">$ git cl land</span>
|
1015
|
-
Using 50% similarity for rename/copy detection. Override with --similarity.
|
1016
1017
|
# Or skip the LGTM/TBR and just 'git cl land --bypass-hooks'
|
1017
1018
|
</code></pre></div></div><p><div class="paragraph"></p></div>
|
1019
|
+
<div class="paragraph"><p>If <code>git cl upload</code> errors out, the branch you’re uploading to probably has a CL
|
1020
|
+
with the same Change-Id. Instead of cherry-picking manually, use the Reland
|
1021
|
+
button in the Gerrit UI to create a new CL, and patch that CL into your client.</p></div>
|
1018
1022
|
</div>
|
1019
1023
|
</div>
|
1020
1024
|
</div>
|
@@ -1037,7 +1041,7 @@ from <a href="https://chromium.googlesource.com/chromium/tools/depot_tools.git">
|
|
1037
1041
|
<div id="footnotes"><hr /></div>
|
1038
1042
|
<div id="footer">
|
1039
1043
|
<div id="footer-text">
|
1040
|
-
Last updated
|
1044
|
+
Last updated 2017-06-21 09:37:12 PDT
|
1041
1045
|
</div>
|
1042
1046
|
</div>
|
1043
1047
|
</body>
|
@@ -2,12 +2,12 @@
|
|
2
2
|
.\" Title: git-cl
|
3
3
|
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
4
4
|
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
5
|
-
.\" Date:
|
5
|
+
.\" Date: 06/21/2017
|
6
6
|
.\" Manual: Chromium depot_tools Manual
|
7
|
-
.\" Source: depot_tools
|
7
|
+
.\" Source: depot_tools 0867192e
|
8
8
|
.\" Language: English
|
9
9
|
.\"
|
10
|
-
.TH "GIT\-CL" "1" "
|
10
|
+
.TH "GIT\-CL" "1" "06/21/2017" "depot_tools 0867192e" "Chromium depot_tools Manual"
|
11
11
|
.\" -----------------------------------------------------------------
|
12
12
|
.\" * Define some portability stuff
|
13
13
|
.\" -----------------------------------------------------------------
|
@@ -132,6 +132,11 @@ set\-commit
|
|
132
132
|
sets the commit bit to trigger the Commit Queue
|
133
133
|
.RE
|
134
134
|
.PP
|
135
|
+
split
|
136
|
+
.RS 4
|
137
|
+
splits a branch into smaller branches and uploads CLs
|
138
|
+
.RE
|
139
|
+
.PP
|
135
140
|
status
|
136
141
|
.RS 4
|
137
142
|
show status of changelists
|
@@ -2,12 +2,12 @@
|
|
2
2
|
.\" Title: git-drover
|
3
3
|
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
4
4
|
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
5
|
-
.\" Date:
|
5
|
+
.\" Date: 06/21/2017
|
6
6
|
.\" Manual: Chromium depot_tools Manual
|
7
|
-
.\" Source: depot_tools
|
7
|
+
.\" Source: depot_tools 0867192e
|
8
8
|
.\" Language: English
|
9
9
|
.\"
|
10
|
-
.TH "GIT\-DROVER" "1" "
|
10
|
+
.TH "GIT\-DROVER" "1" "06/21/2017" "depot_tools 0867192e" "Chromium depot_tools Manual"
|
11
11
|
.\" -----------------------------------------------------------------
|
12
12
|
.\" * Define some portability stuff
|
13
13
|
.\" -----------------------------------------------------------------
|
@@ -101,7 +101,7 @@ Before working with branches, you must \fIgclient sync \-\-with_branch_heads\fR
|
|
101
101
|
.nf
|
102
102
|
# Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\&.
|
103
103
|
\fB$ git log \-n 1 \-\-pretty=fuller\fR
|
104
|
-
commit
|
104
|
+
commit 386bdd1dc15d367d7c33aa5d2ae5d10eb4b278bf
|
105
105
|
Author: some\&.committer <some\&.committer@chromium\&.org>
|
106
106
|
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
|
107
107
|
Commit: some\&.committer <some\&.committer@chromium\&.org>
|
@@ -110,10 +110,10 @@ CommitDate: Thu Apr 10 08:54:46 2014 +0000
|
|
110
110
|
This change needs to go to branch 9999
|
111
111
|
|
112
112
|
# Now do the \*(Aqdrover\*(Aq\&.
|
113
|
-
\fB$ git drover \-\-branch 9999 \-\-cherry\-pick
|
113
|
+
\fB$ git drover \-\-branch 9999 \-\-cherry\-pick 386bdd1dc15d367d7c33aa5d2ae5d10eb4b278bf\fR
|
114
114
|
Going to cherry\-pick
|
115
115
|
"""
|
116
|
-
commit
|
116
|
+
commit 386bdd1dc15d367d7c33aa5d2ae5d10eb4b278bf
|
117
117
|
Author: some\&.committer <some\&.committer@chromium\&.org>
|
118
118
|
Date: Thu Apr 10 08:54:46 2014 +0000
|
119
119
|
|
@@ -148,7 +148,7 @@ About to land on 9999\&. Continue (y/n)? y
|
|
148
148
|
.nf
|
149
149
|
# Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\&.
|
150
150
|
\fB$ git log \-n 1 \-\-pretty=fuller\fR
|
151
|
-
commit
|
151
|
+
commit 870faa8f7621b82b98e2e9a29056dff1fbf6b713
|
152
152
|
Author: some\&.committer <some\&.committer@chromium\&.org>
|
153
153
|
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
|
154
154
|
Commit: some\&.committer <some\&.committer@chromium\&.org>
|
@@ -157,10 +157,10 @@ CommitDate: Thu Apr 10 08:54:46 2014 +0000
|
|
157
157
|
This change needs to go to branch 9999
|
158
158
|
|
159
159
|
# Now do the \*(Aqdrover\*(Aq\&.
|
160
|
-
\fB$ git drover \-\-branch 9999 \-\-cherry\-pick
|
160
|
+
\fB$ git drover \-\-branch 9999 \-\-cherry\-pick 870faa8f7621b82b98e2e9a29056dff1fbf6b713\fR
|
161
161
|
Going to cherry\-pick
|
162
162
|
"""
|
163
|
-
commit
|
163
|
+
commit 870faa8f7621b82b98e2e9a29056dff1fbf6b713
|
164
164
|
Author: some\&.committer <some\&.committer@chromium\&.org>
|
165
165
|
Date: Thu Apr 10 08:54:46 2014 +0000
|
166
166
|
|
@@ -219,34 +219,35 @@ Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&.
|
|
219
219
|
|
220
220
|
# Here\*(Aqs the commit we want to revert\&.
|
221
221
|
\fB$ git log \-n 1\fR
|
222
|
-
commit
|
222
|
+
commit 7066f3820fe39e50400b9d406a394117f807538e
|
223
223
|
Author: some\&.committer <some\&.committer@chromium\&.org>
|
224
224
|
Date: Thu Apr 10 08:54:46 2014 +0000
|
225
225
|
|
226
226
|
This change is horribly broken\&.
|
227
227
|
|
228
228
|
# Now do the revert\&.
|
229
|
-
\fB$ git revert
|
229
|
+
\fB$ git revert 7066f3820fe39e50400b9d406a394117f807538e\fR
|
230
230
|
|
231
231
|
# That reverted the change and committed the revert\&.
|
232
232
|
\fB$ git log \-n 1\fR
|
233
|
-
commit
|
233
|
+
commit 13e37b2a88d8fcd4ca4a55a4db27c619345f8396
|
234
234
|
Author: you <you@chromium\&.org>
|
235
235
|
Date: Thu Apr 10 09:11:36 2014 +0000
|
236
236
|
|
237
237
|
Revert "This change is horribly broken\&."
|
238
238
|
|
239
|
-
This reverts commit
|
239
|
+
This reverts commit 7066f3820fe39e50400b9d406a394117f807538e\&.
|
240
240
|
|
241
241
|
# As with old drover, reverts are generally OK to commit without LGTM\&.
|
242
242
|
\fB$ git cl upload \-r some\&.committer@chromium\&.org \-\-send\-mail\fR
|
243
243
|
\fB$ git cl land \-\-bypass\-hooks\fR
|
244
|
-
Using 50% similarity for rename/copy detection\&. Override with \-\-similarity\&.
|
245
244
|
.fi
|
246
245
|
.if n \{\
|
247
246
|
.RE
|
248
247
|
.\}
|
249
248
|
.sp
|
249
|
+
.sp
|
250
|
+
If your cherrypick onto a release branch gets reverted, do not create a new cherrypick from master onto that release branch\&. Instead, use the "Reland" button on the original cherrypick CL\&.
|
250
251
|
.RE
|
251
252
|
.sp
|
252
253
|
.it 1 an-trap
|
@@ -268,7 +269,7 @@ Using 50% similarity for rename/copy detection\&. Override with \-\-similarity\&
|
|
268
269
|
|
269
270
|
# Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\&.
|
270
271
|
\fB$ git log \-n 1 \-\-pretty=fuller\fR
|
271
|
-
commit
|
272
|
+
commit 54631489ecf24a4ae3f5a12c393619a717cee85a
|
272
273
|
Author: some\&.committer <some\&.committer@chromium\&.org>
|
273
274
|
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
|
274
275
|
Commit: some\&.committer <some\&.committer@chromium\&.org>
|
@@ -282,8 +283,8 @@ Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&.
|
|
282
283
|
|
283
284
|
# Now do the \*(Aqdrover\*(Aq\&.
|
284
285
|
# IMPORTANT!!! Do Not leave off the \*(Aq\-x\*(Aq flag
|
285
|
-
\fB$ git cherry\-pick \-x
|
286
|
-
[drover_9999
|
286
|
+
\fB$ git cherry\-pick \-x 54631489ecf24a4ae3f5a12c393619a717cee85a\fR
|
287
|
+
[drover_9999 56188f1] This change needs to go to branch 9999
|
287
288
|
Author: some\&.committer <some\&.committer@chromium\&.org>
|
288
289
|
Date: Thu Apr 10 08:54:46 2014 +0000
|
289
290
|
1 file changed, 1 insertion(+)
|
@@ -292,7 +293,7 @@ Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&.
|
|
292
293
|
# That took the code authored by some\&.committer and committed it to
|
293
294
|
# the branch by the person who drovered it (i\&.e\&. you)\&.
|
294
295
|
\fB$ git log \-n 1 \-\-pretty=fuller\fR
|
295
|
-
commit
|
296
|
+
commit 56188f1e5b44b5ce95394d41912e980bccca8cc2
|
296
297
|
Author: some\&.committer <some\&.committer@chromium\&.org>
|
297
298
|
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
|
298
299
|
Commit: you <you@chromium\&.org>
|
@@ -300,19 +301,20 @@ CommitDate: Thu Apr 10 09:11:36 2014 +0000
|
|
300
301
|
|
301
302
|
This change needs to go to branch 9999
|
302
303
|
|
303
|
-
(cherry picked from commit
|
304
|
+
(cherry picked from commit 54631489ecf24a4ae3f5a12c393619a717cee85a)
|
304
305
|
|
305
306
|
# Looks good\&. Ship it!
|
306
307
|
\fB$ git cl upload\fR
|
307
308
|
# Wait for LGTM or TBR it\&.
|
308
309
|
\fB$ git cl land\fR
|
309
|
-
Using 50% similarity for rename/copy detection\&. Override with \-\-similarity\&.
|
310
310
|
# Or skip the LGTM/TBR and just \*(Aqgit cl land \-\-bypass\-hooks\*(Aq
|
311
311
|
.fi
|
312
312
|
.if n \{\
|
313
313
|
.RE
|
314
314
|
.\}
|
315
315
|
.sp
|
316
|
+
.sp
|
317
|
+
If git cl upload errors out, the branch you\(cqre uploading to probably has a CL with the same Change\-Id\&. Instead of cherry\-picking manually, use the Reland button in the Gerrit UI to create a new CL, and patch that CL into your client\&.
|
316
318
|
.RE
|
317
319
|
.SH "SEE ALSO"
|
318
320
|
.sp
|
@@ -81,10 +81,18 @@ Revert Example
|
|
81
81
|
^^^^^^^^^^^^^^
|
82
82
|
demo:2[]
|
83
83
|
|
84
|
+
If your cherrypick onto a release branch gets reverted, do not create a new
|
85
|
+
cherrypick from master onto that release branch. Instead, use the "Reland"
|
86
|
+
button on the original cherrypick CL.
|
87
|
+
|
84
88
|
Manual Merge Example
|
85
89
|
^^^^^^^^^^^^^^^^^^^^
|
86
90
|
demo:3[]
|
87
91
|
|
92
|
+
If `git cl upload` errors out, the branch you're uploading to probably has a CL
|
93
|
+
with the same Change-Id. Instead of cherry-picking manually, use the Reland
|
94
|
+
button in the Gerrit UI to create a new CL, and patch that CL into your client.
|
95
|
+
|
88
96
|
SEE ALSO
|
89
97
|
--------
|
90
98
|
linkgit:git-cherry-pick[1], linkgit:git-revert[1]
|
@@ -95,11 +95,11 @@ rietveld_instances = [
|
|
95
95
|
gerrit_instances = [
|
96
96
|
{
|
97
97
|
'url': 'chromium-review.googlesource.com',
|
98
|
-
'shorturl': '
|
98
|
+
'shorturl': 'crrev.com/c',
|
99
99
|
},
|
100
100
|
{
|
101
101
|
'url': 'chrome-internal-review.googlesource.com',
|
102
|
-
'shorturl': '
|
102
|
+
'shorturl': 'crrev.com/i',
|
103
103
|
},
|
104
104
|
{
|
105
105
|
'url': 'android-review.googlesource.com',
|
@@ -265,7 +265,10 @@ class MyActivity(object):
|
|
265
265
|
|
266
266
|
bugs = []
|
267
267
|
if description:
|
268
|
-
|
268
|
+
# Handle both "Bug: 99999" and "BUG=99999" bug notations
|
269
|
+
# Multiple bugs can be noted on a single line or in multiple ones.
|
270
|
+
matches = re.findall(r'BUG[=:]\s?(((\d+)(,\s?)?)+)', description,
|
271
|
+
flags=re.IGNORECASE)
|
269
272
|
if matches:
|
270
273
|
for match in matches:
|
271
274
|
bugs.extend(match[0].replace(' ', '').split(','))
|
@@ -342,8 +345,8 @@ class MyActivity(object):
|
|
342
345
|
|
343
346
|
@staticmethod
|
344
347
|
def gerrit_changes_over_rest(instance, filters):
|
345
|
-
# Convert the "key:value" filter to a
|
346
|
-
req =
|
348
|
+
# Convert the "key:value" filter to a list of (key, value) pairs.
|
349
|
+
req = list(f.split(':', 1) for f in filters)
|
347
350
|
try:
|
348
351
|
# Instantiate the generator to force all the requests now and catch the
|
349
352
|
# errors here.
|
@@ -68,6 +68,11 @@ EVERYONE = '*'
|
|
68
68
|
BASIC_EMAIL_REGEXP = r'^[\w\-\+\%\.]+\@[\w\-\+\%\.]+$'
|
69
69
|
|
70
70
|
|
71
|
+
# Key for global comments per email address. Should be unlikely to be a
|
72
|
+
# pathname.
|
73
|
+
GLOBAL_STATUS = '*'
|
74
|
+
|
75
|
+
|
71
76
|
def _assert_is_collection(obj):
|
72
77
|
assert not isinstance(obj, basestring)
|
73
78
|
# Module 'collections' has no 'Iterable' member
|
@@ -109,6 +114,11 @@ class Database(object):
|
|
109
114
|
# Pick a default email regexp to use; callers can override as desired.
|
110
115
|
self.email_regexp = re.compile(BASIC_EMAIL_REGEXP)
|
111
116
|
|
117
|
+
# Replacement contents for the given files. Maps the file name of an
|
118
|
+
# OWNERS file (relative to root) to an iterator returning the replacement
|
119
|
+
# file contents.
|
120
|
+
self.override_files = {}
|
121
|
+
|
112
122
|
# Mapping of owners to the paths or globs they own.
|
113
123
|
self._owners_to_paths = {EVERYONE: set()}
|
114
124
|
|
@@ -133,6 +143,9 @@ class Database(object):
|
|
133
143
|
# being included from another file.
|
134
144
|
self._included_files = {}
|
135
145
|
|
146
|
+
# File with global status lines for owners.
|
147
|
+
self._status_file = None
|
148
|
+
|
136
149
|
def reviewers_for(self, files, author):
|
137
150
|
"""Returns a suggested set of reviewers that will cover the files.
|
138
151
|
|
@@ -172,7 +185,7 @@ class Database(object):
|
|
172
185
|
|
173
186
|
def _check_reviewers(self, reviewers):
|
174
187
|
_assert_is_collection(reviewers)
|
175
|
-
assert all(self.email_regexp.match(r) for r in reviewers)
|
188
|
+
assert all(self.email_regexp.match(r) for r in reviewers), reviewers
|
176
189
|
|
177
190
|
def _is_obj_covered_by(self, objname, reviewers):
|
178
191
|
reviewers = list(reviewers) + [EVERYONE]
|
@@ -186,7 +199,7 @@ class Database(object):
|
|
186
199
|
objname = self.os_path.dirname(objname)
|
187
200
|
return False
|
188
201
|
|
189
|
-
def
|
202
|
+
def enclosing_dir_with_owners(self, objname):
|
190
203
|
"""Returns the innermost enclosing directory that has an OWNERS file."""
|
191
204
|
dirpath = objname
|
192
205
|
while not self._owners_for(dirpath):
|
@@ -196,6 +209,7 @@ class Database(object):
|
|
196
209
|
return dirpath
|
197
210
|
|
198
211
|
def load_data_needed_for(self, files):
|
212
|
+
self._read_global_comments()
|
199
213
|
for f in files:
|
200
214
|
dirpath = self.os_path.dirname(f)
|
201
215
|
while not self._owners_for(dirpath):
|
@@ -225,23 +239,44 @@ class Database(object):
|
|
225
239
|
|
226
240
|
self.read_files.add(owners_path)
|
227
241
|
|
242
|
+
is_toplevel = path == 'OWNERS'
|
243
|
+
|
228
244
|
comment = []
|
229
245
|
dirpath = self.os_path.dirname(path)
|
230
246
|
in_comment = False
|
247
|
+
# We treat the beginning of the file as an blank line.
|
248
|
+
previous_line_was_blank = True
|
249
|
+
reset_comment_after_use = False
|
231
250
|
lineno = 0
|
232
|
-
|
251
|
+
|
252
|
+
if path in self.override_files:
|
253
|
+
file_iter = self.override_files[path]
|
254
|
+
else:
|
255
|
+
file_iter = self.fopen(owners_path)
|
256
|
+
|
257
|
+
for line in file_iter:
|
233
258
|
lineno += 1
|
234
259
|
line = line.strip()
|
235
260
|
if line.startswith('#'):
|
261
|
+
if is_toplevel:
|
262
|
+
m = re.match('#\s*OWNERS_STATUS\s+=\s+(.+)$', line)
|
263
|
+
if m:
|
264
|
+
self._status_file = m.group(1).strip()
|
265
|
+
continue
|
236
266
|
if not in_comment:
|
237
267
|
comment = []
|
268
|
+
reset_comment_after_use = not previous_line_was_blank
|
238
269
|
comment.append(line[1:].strip())
|
239
270
|
in_comment = True
|
240
271
|
continue
|
272
|
+
in_comment = False
|
273
|
+
|
241
274
|
if line == '':
|
275
|
+
comment = []
|
276
|
+
previous_line_was_blank = True
|
242
277
|
continue
|
243
|
-
in_comment = False
|
244
278
|
|
279
|
+
previous_line_was_blank = False
|
245
280
|
if line == 'set noparent':
|
246
281
|
self._stop_looking.add(dirpath)
|
247
282
|
continue
|
@@ -258,6 +293,8 @@ class Database(object):
|
|
258
293
|
relative_glob_string = self.os_path.relpath(full_glob_string, self.root)
|
259
294
|
self._add_entry(relative_glob_string, directive, owners_path,
|
260
295
|
lineno, '\n'.join(comment))
|
296
|
+
if reset_comment_after_use:
|
297
|
+
comment = []
|
261
298
|
continue
|
262
299
|
|
263
300
|
if line.startswith('set '):
|
@@ -266,6 +303,49 @@ class Database(object):
|
|
266
303
|
|
267
304
|
self._add_entry(dirpath, line, owners_path, lineno,
|
268
305
|
' '.join(comment))
|
306
|
+
if reset_comment_after_use:
|
307
|
+
comment = []
|
308
|
+
|
309
|
+
def _read_global_comments(self):
|
310
|
+
if not self._status_file:
|
311
|
+
if not 'OWNERS' in self.read_files:
|
312
|
+
self._read_owners('OWNERS')
|
313
|
+
if not self._status_file:
|
314
|
+
return
|
315
|
+
|
316
|
+
owners_status_path = self.os_path.join(self.root, self._status_file)
|
317
|
+
if not self.os_path.exists(owners_status_path):
|
318
|
+
raise IOError('Could not find global status file "%s"' %
|
319
|
+
owners_status_path)
|
320
|
+
|
321
|
+
if owners_status_path in self.read_files:
|
322
|
+
return
|
323
|
+
|
324
|
+
self.read_files.add(owners_status_path)
|
325
|
+
|
326
|
+
lineno = 0
|
327
|
+
for line in self.fopen(owners_status_path):
|
328
|
+
lineno += 1
|
329
|
+
line = line.strip()
|
330
|
+
if line.startswith('#'):
|
331
|
+
continue
|
332
|
+
if line == '':
|
333
|
+
continue
|
334
|
+
|
335
|
+
m = re.match('(.+?):(.+)', line)
|
336
|
+
if m:
|
337
|
+
owner = m.group(1).strip()
|
338
|
+
comment = m.group(2).strip()
|
339
|
+
if not self.email_regexp.match(owner):
|
340
|
+
raise SyntaxErrorInOwnersFile(owners_status_path, lineno,
|
341
|
+
'invalid email address: "%s"' % owner)
|
342
|
+
|
343
|
+
self.comments.setdefault(owner, {})
|
344
|
+
self.comments[owner][GLOBAL_STATUS] = comment
|
345
|
+
continue
|
346
|
+
|
347
|
+
raise SyntaxErrorInOwnersFile(owners_status_path, lineno,
|
348
|
+
'cannot parse status entry: "%s"' % line.strip())
|
269
349
|
|
270
350
|
def _add_entry(self, owned_paths, directive, owners_path, lineno, comment):
|
271
351
|
if directive == 'set noparent':
|
@@ -281,8 +361,9 @@ class Database(object):
|
|
281
361
|
self._owners_to_paths.setdefault(owner, set()).add(owned_paths)
|
282
362
|
self._paths_to_owners.setdefault(owned_paths, set()).add(owner)
|
283
363
|
elif self.email_regexp.match(directive) or directive == EVERYONE:
|
284
|
-
|
285
|
-
|
364
|
+
if comment:
|
365
|
+
self.comments.setdefault(directive, {})
|
366
|
+
self.comments[directive][owned_paths] = comment
|
286
367
|
self._owners_to_paths.setdefault(directive, set()).add(owned_paths)
|
287
368
|
self._paths_to_owners.setdefault(owned_paths, set()).add(directive)
|
288
369
|
else:
|
@@ -334,20 +415,31 @@ class Database(object):
|
|
334
415
|
return owners
|
335
416
|
|
336
417
|
def _covering_set_of_owners_for(self, files, author):
|
337
|
-
dirs_remaining = set(self.
|
418
|
+
dirs_remaining = set(self.enclosing_dir_with_owners(f) for f in files)
|
338
419
|
all_possible_owners = self.all_possible_owners(dirs_remaining, author)
|
339
420
|
suggested_owners = set()
|
340
|
-
while dirs_remaining:
|
421
|
+
while dirs_remaining and all_possible_owners:
|
341
422
|
owner = self.lowest_cost_owner(all_possible_owners, dirs_remaining)
|
342
423
|
suggested_owners.add(owner)
|
343
424
|
dirs_to_remove = set(el[0] for el in all_possible_owners[owner])
|
344
425
|
dirs_remaining -= dirs_to_remove
|
426
|
+
# Now that we've used `owner` and covered all their dirs, remove them
|
427
|
+
# from consideration.
|
428
|
+
del all_possible_owners[owner]
|
429
|
+
for o, dirs in all_possible_owners.items():
|
430
|
+
new_dirs = [(d, dist) for (d, dist) in dirs if d not in dirs_to_remove]
|
431
|
+
if not new_dirs:
|
432
|
+
del all_possible_owners[o]
|
433
|
+
else:
|
434
|
+
all_possible_owners[o] = new_dirs
|
345
435
|
return suggested_owners
|
346
436
|
|
347
437
|
def all_possible_owners(self, dirs, author):
|
348
|
-
"""Returns a
|
349
|
-
|
350
|
-
|
438
|
+
"""Returns a dict of {potential owner: (dir, distance)} mappings.
|
439
|
+
|
440
|
+
A distance of 1 is the lowest/closest possible distance (which makes the
|
441
|
+
subsequent math easier).
|
442
|
+
"""
|
351
443
|
all_possible_owners = {}
|
352
444
|
for current_dir in dirs:
|
353
445
|
dirname = current_dir
|