libv8 5.3.332.38.5 → 5.6.326.50.0beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (352) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +0 -1
  3. data/CHANGELOG.md +2 -0
  4. data/ext/libv8/builder.rb +2 -2
  5. data/lib/libv8/version.rb +1 -1
  6. data/patches/0001-Build-a-standalone-static-library.patch +4 -4
  7. data/patches/0002-Don-t-compile-unnecessary-stuff.patch +16 -11
  8. data/patches/0003-Use-the-fPIC-flag-for-the-static-library.patch +4 -4
  9. data/patches/{0005-Do-not-embed-debug-symbols-in-macOS-libraries.patch → 0004-Do-not-embed-debug-symbols-in-macOS-libraries.patch} +4 -4
  10. data/vendor/depot_tools/.gitignore +4 -0
  11. data/vendor/depot_tools/OWNERS +0 -2
  12. data/vendor/depot_tools/PRESUBMIT.py +20 -23
  13. data/vendor/depot_tools/README.gclient.md +3 -3
  14. data/vendor/depot_tools/README.git-cl.md +13 -12
  15. data/vendor/depot_tools/README.md +2 -3
  16. data/vendor/depot_tools/WATCHLISTS +0 -1
  17. data/vendor/depot_tools/appengine_mapper.py +23 -0
  18. data/vendor/depot_tools/apply_issue.py +2 -8
  19. data/vendor/depot_tools/bootstrap/win/README.md +1 -8
  20. data/vendor/depot_tools/bootstrap/win/git_bootstrap.py +6 -16
  21. data/vendor/depot_tools/bootstrap/win/git_version.txt +1 -1
  22. data/vendor/depot_tools/bootstrap/win/git_version_bleeding_edge.txt +1 -1
  23. data/vendor/depot_tools/checkout.py +20 -433
  24. data/vendor/depot_tools/cipd +73 -0
  25. data/vendor/depot_tools/cipd.bat +12 -0
  26. data/vendor/depot_tools/cipd.ps1 +57 -0
  27. data/vendor/depot_tools/cipd_client_version +1 -0
  28. data/vendor/depot_tools/clang_format.py +9 -6
  29. data/vendor/depot_tools/clang_format_merge_driver +8 -0
  30. data/vendor/depot_tools/clang_format_merge_driver.bat +11 -0
  31. data/vendor/depot_tools/clang_format_merge_driver.py +67 -0
  32. data/vendor/depot_tools/codereview.settings +3 -2
  33. data/vendor/depot_tools/commit_queue.py +1 -1
  34. data/vendor/depot_tools/cpplint.py +2 -0
  35. data/vendor/depot_tools/fetch.py +1 -54
  36. data/vendor/depot_tools/fetch_configs/android.py +2 -2
  37. data/vendor/depot_tools/fetch_configs/breakpad.py +2 -3
  38. data/vendor/depot_tools/fetch_configs/chromium.py +2 -3
  39. data/vendor/depot_tools/fetch_configs/crashpad.py +2 -2
  40. data/vendor/depot_tools/fetch_configs/dart.py +2 -3
  41. data/vendor/depot_tools/fetch_configs/dartino.py +2 -3
  42. data/vendor/depot_tools/fetch_configs/dartium.py +2 -3
  43. data/vendor/depot_tools/fetch_configs/depot_tools.py +3 -6
  44. data/vendor/depot_tools/fetch_configs/gyp.py +2 -3
  45. data/vendor/depot_tools/fetch_configs/infra.py +2 -2
  46. data/vendor/depot_tools/fetch_configs/infra_internal.py +2 -2
  47. data/vendor/depot_tools/fetch_configs/ios.py +2 -2
  48. data/vendor/depot_tools/fetch_configs/ios_internal.py +2 -3
  49. data/vendor/depot_tools/fetch_configs/mojo.py +2 -3
  50. data/vendor/depot_tools/fetch_configs/nacl.py +2 -3
  51. data/vendor/depot_tools/fetch_configs/naclports.py +2 -3
  52. data/vendor/depot_tools/fetch_configs/pdfium.py +2 -2
  53. data/vendor/depot_tools/fetch_configs/skia.py +2 -2
  54. data/vendor/depot_tools/fetch_configs/skia_buildbot.py +2 -2
  55. data/vendor/depot_tools/fetch_configs/syzygy.py +2 -2
  56. data/vendor/depot_tools/fetch_configs/v8.py +2 -3
  57. data/vendor/depot_tools/fetch_configs/webrtc.py +5 -3
  58. data/vendor/depot_tools/fetch_configs/webrtc_android.py +2 -2
  59. data/vendor/depot_tools/fetch_configs/webrtc_ios.py +2 -2
  60. data/vendor/depot_tools/fix_encoding.py +6 -6
  61. data/vendor/depot_tools/gclient.py +136 -368
  62. data/vendor/depot_tools/gclient_scm.py +108 -647
  63. data/vendor/depot_tools/gclient_utils.py +22 -86
  64. data/vendor/depot_tools/gerrit_client.py +105 -0
  65. data/vendor/depot_tools/gerrit_util.py +174 -67
  66. data/vendor/depot_tools/git-crrev-parse +6 -7
  67. data/vendor/depot_tools/git-gs +1 -1
  68. data/vendor/depot_tools/git_cache.py +68 -18
  69. data/vendor/depot_tools/git_cherry_pick_upload.py +4 -4
  70. data/vendor/depot_tools/git_cl.py +1028 -961
  71. data/vendor/depot_tools/git_common.py +2 -3
  72. data/vendor/depot_tools/git_drover.py +0 -1
  73. data/vendor/depot_tools/git_footers.py +3 -43
  74. data/vendor/depot_tools/git_rebase_update.py +9 -1
  75. data/vendor/depot_tools/git_squash_branch.py +1 -1
  76. data/vendor/depot_tools/infra/config/cq.cfg +8 -1
  77. data/vendor/depot_tools/infra/config/recipes.cfg +1 -1
  78. data/vendor/depot_tools/man/html/depot_tools.html +3 -11
  79. data/vendor/depot_tools/man/html/depot_tools_tutorial.html +9 -9
  80. data/vendor/depot_tools/man/html/git-cherry-pick-upload.html +2 -2
  81. data/vendor/depot_tools/man/html/git-drover.html +17 -17
  82. data/vendor/depot_tools/man/html/git-footers.html +2 -2
  83. data/vendor/depot_tools/man/html/git-freeze.html +4 -4
  84. data/vendor/depot_tools/man/html/git-hyper-blame.html +2 -2
  85. data/vendor/depot_tools/man/html/git-map-branches.html +2 -2
  86. data/vendor/depot_tools/man/html/git-map.html +2 -2
  87. data/vendor/depot_tools/man/html/git-mark-merge-base.html +2 -2
  88. data/vendor/depot_tools/man/html/git-nav-downstream.html +2 -2
  89. data/vendor/depot_tools/man/html/git-nav-upstream.html +2 -2
  90. data/vendor/depot_tools/man/html/git-new-branch.html +2 -2
  91. data/vendor/depot_tools/man/html/git-rebase-update.html +2 -2
  92. data/vendor/depot_tools/man/html/git-rename-branch.html +2 -2
  93. data/vendor/depot_tools/man/html/git-reparent-branch.html +2 -2
  94. data/vendor/depot_tools/man/html/git-retry.html +3 -3
  95. data/vendor/depot_tools/man/html/git-squash-branch.html +3 -3
  96. data/vendor/depot_tools/man/html/git-thaw.html +2 -2
  97. data/vendor/depot_tools/man/html/git-upstream-diff.html +3 -3
  98. data/vendor/depot_tools/man/man1/git-cherry-pick-upload.1 +4 -4
  99. data/vendor/depot_tools/man/man1/git-drover.1 +19 -19
  100. data/vendor/depot_tools/man/man1/git-footers.1 +4 -4
  101. data/vendor/depot_tools/man/man1/git-freeze.1 +6 -6
  102. data/vendor/depot_tools/man/man1/git-hyper-blame.1 +4 -4
  103. data/vendor/depot_tools/man/man1/git-map-branches.1 +4 -4
  104. data/vendor/depot_tools/man/man1/git-map.1 +4 -4
  105. data/vendor/depot_tools/man/man1/git-mark-merge-base.1 +4 -4
  106. data/vendor/depot_tools/man/man1/git-nav-downstream.1 +4 -4
  107. data/vendor/depot_tools/man/man1/git-nav-upstream.1 +4 -4
  108. data/vendor/depot_tools/man/man1/git-new-branch.1 +4 -4
  109. data/vendor/depot_tools/man/man1/git-rebase-update.1 +4 -4
  110. data/vendor/depot_tools/man/man1/git-rename-branch.1 +4 -4
  111. data/vendor/depot_tools/man/man1/git-reparent-branch.1 +4 -4
  112. data/vendor/depot_tools/man/man1/git-retry.1 +5 -5
  113. data/vendor/depot_tools/man/man1/git-squash-branch.1 +5 -5
  114. data/vendor/depot_tools/man/man1/git-thaw.1 +4 -4
  115. data/vendor/depot_tools/man/man1/git-upstream-diff.1 +5 -5
  116. data/vendor/depot_tools/man/man7/depot_tools.7 +5 -10
  117. data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +4 -4
  118. data/vendor/depot_tools/man/src/depot_tools.txt +1 -1
  119. data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +7 -7
  120. data/vendor/depot_tools/man/src/filter_demo_output.py +2 -2
  121. data/vendor/depot_tools/man/src/git-footers.demo.1.sh +1 -1
  122. data/vendor/depot_tools/man/src/git-retry.txt +1 -1
  123. data/vendor/depot_tools/man/src/git-squash-branch.txt +2 -2
  124. data/vendor/depot_tools/man/src/git-upstream-diff.txt +1 -1
  125. data/vendor/depot_tools/my_activity.py +6 -3
  126. data/vendor/depot_tools/my_reviews.py +1 -1
  127. data/vendor/depot_tools/ninja +2 -2
  128. data/vendor/depot_tools/ninja-linux32 +0 -0
  129. data/vendor/depot_tools/ninja-linux64 +0 -0
  130. data/vendor/depot_tools/ninja-mac +0 -0
  131. data/vendor/depot_tools/ninja.exe +0 -0
  132. data/vendor/depot_tools/owners.py +14 -3
  133. data/vendor/depot_tools/presubmit_canned_checks.py +46 -67
  134. data/vendor/depot_tools/presubmit_support.py +109 -371
  135. data/vendor/depot_tools/pylintrc +83 -56
  136. data/vendor/depot_tools/recipe_modules/OWNERS +1 -0
  137. data/vendor/depot_tools/recipe_modules/bot_update/__init__.py +18 -9
  138. data/vendor/depot_tools/recipe_modules/bot_update/api.py +56 -55
  139. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic.json +3 -7
  140. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic_output_manifest.json +3 -7
  141. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json +3 -7
  142. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/buildbot.json +52 -0
  143. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/clobber.json +19 -10
  144. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/gerrit_no_rebase_patch_ref.json +19 -10
  145. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/gerrit_no_reset.json +19 -10
  146. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/no_shallow.json +19 -10
  147. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json +19 -10
  148. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange.json +3 -7
  149. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange_oauth2.json +2 -54
  150. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange_oauth2_buildbot.json +56 -0
  151. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/{forced.json → trychange_oauth2_json.json} +6 -9
  152. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange_oauth2_json_win.json +54 -0
  153. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob.json +9 -9
  154. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail.json +9 -9
  155. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json +9 -9
  156. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json +9 -9
  157. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json +20 -10
  158. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle_deprecated.json +59 -0
  159. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_v8.json +9 -9
  160. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json +20 -10
  161. data/vendor/depot_tools/recipe_modules/bot_update/example.py +45 -63
  162. data/vendor/depot_tools/recipe_modules/bot_update/resources/bot_update.py +210 -807
  163. data/vendor/depot_tools/recipe_modules/bot_update/test_api.py +34 -45
  164. data/vendor/depot_tools/recipe_modules/cipd/api.py +59 -84
  165. data/vendor/depot_tools/recipe_modules/cipd/example.expected/basic.json +71 -117
  166. data/vendor/depot_tools/recipe_modules/cipd/example.expected/describe-failed.json +14 -60
  167. data/vendor/depot_tools/recipe_modules/cipd/example.expected/describe-many-instances.json +71 -117
  168. data/vendor/depot_tools/recipe_modules/cipd/example.expected/mac64.json +71 -117
  169. data/vendor/depot_tools/recipe_modules/cipd/example.expected/win64.json +71 -117
  170. data/vendor/depot_tools/recipe_modules/cipd/example.py +2 -12
  171. data/vendor/depot_tools/recipe_modules/cipd/test_api.py +0 -9
  172. data/vendor/depot_tools/recipe_modules/depot_tools/api.py +6 -0
  173. data/vendor/depot_tools/recipe_modules/depot_tools/example.expected/basic.json +7 -0
  174. data/vendor/depot_tools/recipe_modules/depot_tools/example.expected/win.json +7 -0
  175. data/vendor/depot_tools/recipe_modules/depot_tools/example.py +3 -0
  176. data/vendor/depot_tools/recipe_modules/gclient/__init__.py +4 -0
  177. data/vendor/depot_tools/recipe_modules/gclient/api.py +9 -22
  178. data/vendor/depot_tools/recipe_modules/gclient/config.py +18 -5
  179. data/vendor/depot_tools/recipe_modules/gclient/example.expected/basic.json +14 -14
  180. data/vendor/depot_tools/recipe_modules/gclient/example.expected/buildbot.json +211 -0
  181. data/vendor/depot_tools/recipe_modules/gclient/example.expected/revision.json +16 -14
  182. data/vendor/depot_tools/recipe_modules/gclient/example.expected/tryserver.json +16 -14
  183. data/vendor/depot_tools/recipe_modules/gclient/example.py +13 -11
  184. data/vendor/depot_tools/recipe_modules/gerrit/__init__.py +6 -0
  185. data/vendor/depot_tools/recipe_modules/gerrit/api.py +63 -0
  186. data/vendor/depot_tools/recipe_modules/gerrit/example.expected/basic.json +64 -0
  187. data/vendor/depot_tools/recipe_modules/gerrit/example.py +35 -0
  188. data/vendor/depot_tools/recipe_modules/gerrit/test_api.py +24 -0
  189. data/vendor/depot_tools/recipe_modules/git/__init__.py +4 -0
  190. data/vendor/depot_tools/recipe_modules/git/api.py +155 -142
  191. data/vendor/depot_tools/recipe_modules/git/example.expected/basic.json +43 -17
  192. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_branch.json +43 -17
  193. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_file_name.json +43 -17
  194. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_hash.json +43 -17
  195. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_ref.json +43 -17
  196. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_submodule_update_force.json +43 -17
  197. data/vendor/depot_tools/recipe_modules/git/example.expected/can_fail_build.json +13 -13
  198. data/vendor/depot_tools/recipe_modules/git/example.expected/cannot_fail_build.json +43 -17
  199. data/vendor/depot_tools/recipe_modules/git/example.expected/cat-file_test.json +45 -19
  200. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_delta.json +45 -19
  201. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_failed.json +43 -17
  202. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_with_bad_output.json +43 -17
  203. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_with_bad_output_fails_build.json +8 -8
  204. data/vendor/depot_tools/recipe_modules/git/example.expected/curl_trace_file.json +44 -18
  205. data/vendor/depot_tools/recipe_modules/git/example.expected/git-cache-checkout.json +48 -22
  206. data/vendor/depot_tools/recipe_modules/git/example.expected/platform_win.json +43 -17
  207. data/vendor/depot_tools/recipe_modules/git/example.expected/rebase_failed.json +42 -16
  208. data/vendor/depot_tools/recipe_modules/git/example.expected/remote_not_origin.json +43 -17
  209. data/vendor/depot_tools/recipe_modules/git/example.expected/set_got_revision.json +43 -17
  210. data/vendor/depot_tools/recipe_modules/git/example.py +9 -3
  211. data/vendor/depot_tools/recipe_modules/git_cl/__init__.py +4 -0
  212. data/vendor/depot_tools/recipe_modules/git_cl/api.py +8 -8
  213. data/vendor/depot_tools/recipe_modules/git_cl/example.py +1 -1
  214. data/vendor/depot_tools/recipe_modules/gsutil/__init__.py +4 -0
  215. data/vendor/depot_tools/recipe_modules/gsutil/api.py +196 -0
  216. data/vendor/depot_tools/recipe_modules/gsutil/example.expected/basic.json +186 -0
  217. data/vendor/depot_tools/recipe_modules/gsutil/example.py +77 -0
  218. data/vendor/depot_tools/recipe_modules/gsutil/resources/gsutil_smart_retry.py +69 -0
  219. data/vendor/depot_tools/recipe_modules/infra_paths/__init__.py +3 -0
  220. data/vendor/depot_tools/recipe_modules/infra_paths/api.py +20 -3
  221. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/basic.json +3 -1
  222. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_linux.json +3 -1
  223. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_mac.json +3 -1
  224. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_win.json +3 -1
  225. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_linux.json +3 -1
  226. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_mac.json +3 -1
  227. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_win.json +3 -1
  228. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_swarmbucket_linux.json +3 -1
  229. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_swarmbucket_mac.json +3 -1
  230. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_swarmbucket_win.json +3 -1
  231. data/vendor/depot_tools/recipe_modules/infra_paths/example.py +6 -1
  232. data/vendor/depot_tools/recipe_modules/infra_paths/path_config.py +4 -6
  233. data/vendor/depot_tools/recipe_modules/rietveld/__init__.py +5 -0
  234. data/vendor/depot_tools/recipe_modules/rietveld/api.py +12 -9
  235. data/vendor/depot_tools/recipe_modules/rietveld/example.expected/basic.json +2 -24
  236. data/vendor/depot_tools/recipe_modules/rietveld/example.expected/buildbot.json +30 -0
  237. data/vendor/depot_tools/recipe_modules/rietveld/example.py +12 -6
  238. data/vendor/depot_tools/recipe_modules/tryserver/__init__.py +4 -0
  239. data/vendor/depot_tools/recipe_modules/tryserver/api.py +46 -70
  240. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/set_failure_hash_with_no_steps.json +8 -0
  241. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/{with_svn_patch.json → with_gerrit_patch.json} +1 -31
  242. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_gerrit_patch_deprecated.json +39 -0
  243. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_git_patch.json +2 -2
  244. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_git_patch_luci.json +8 -0
  245. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch.json +3 -3
  246. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch_new.json +3 -3
  247. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_wrong_patch.json +1 -1
  248. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_wrong_patch_new.json +1 -1
  249. data/vendor/depot_tools/recipe_modules/tryserver/example.py +35 -5
  250. data/vendor/depot_tools/recipes.py +52 -28
  251. data/vendor/depot_tools/repo +216 -69
  252. data/vendor/depot_tools/rietveld.py +20 -15
  253. data/vendor/depot_tools/roll_dep.py +1 -1
  254. data/vendor/depot_tools/scm.py +11 -826
  255. data/vendor/depot_tools/subprocess2.py +5 -5
  256. data/vendor/depot_tools/third_party/cq_client/README.depot_tools.md +2 -0
  257. data/vendor/depot_tools/third_party/cq_client/README.md +5 -1
  258. data/vendor/depot_tools/third_party/cq_client/cq.pb.go +183 -104
  259. data/vendor/depot_tools/third_party/cq_client/cq.proto +43 -27
  260. data/vendor/depot_tools/third_party/cq_client/cq_pb2.py +95 -29
  261. data/vendor/depot_tools/third_party/cq_client/testdata/cq_both.cfg +67 -0
  262. data/vendor/depot_tools/third_party/cq_client/testdata/cq_gerrit.cfg +1 -2
  263. data/vendor/depot_tools/third_party/cq_client/testdata/cq_rietveld.cfg +0 -3
  264. data/vendor/depot_tools/third_party/upload.py +44 -24
  265. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +0 -5
  266. metadata +38 -93
  267. data/patches/0004-Reinterpret-thread-hash-for-FreeBSD-too.patch +0 -25
  268. data/vendor/depot_tools/git-auto-svn +0 -6
  269. data/vendor/depot_tools/git_auto_svn.py +0 -122
  270. data/vendor/depot_tools/man/html/git-auto-svn.html +0 -837
  271. data/vendor/depot_tools/man/man1/git-auto-svn.1 +0 -113
  272. data/vendor/depot_tools/man/src/_git-auto-svn_desc.helper.txt +0 -1
  273. data/vendor/depot_tools/man/src/git-auto-svn.txt +0 -69
  274. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/off.json +0 -43
  275. data/vendor/depot_tools/recipe_modules/cipd/example.expected/install-failed.json +0 -31
  276. data/vendor/depot_tools/recipe_modules/cipd/resources/bootstrap.py +0 -218
  277. data/vendor/depot_tools/recipe_modules/tryserver/test_api.py +0 -7
  278. data/vendor/depot_tools/third_party/gsutil/CHECKSUM +0 -1
  279. data/vendor/depot_tools/third_party/gsutil/COPYING +0 -202
  280. data/vendor/depot_tools/third_party/gsutil/LICENSE.third_party +0 -295
  281. data/vendor/depot_tools/third_party/gsutil/MANIFEST.in +0 -5
  282. data/vendor/depot_tools/third_party/gsutil/README +0 -38
  283. data/vendor/depot_tools/third_party/gsutil/README.chromium +0 -25
  284. data/vendor/depot_tools/third_party/gsutil/README.pkg +0 -49
  285. data/vendor/depot_tools/third_party/gsutil/ReleaseNotes.txt +0 -825
  286. data/vendor/depot_tools/third_party/gsutil/VERSION +0 -1
  287. data/vendor/depot_tools/third_party/gsutil/gslib/README +0 -5
  288. data/vendor/depot_tools/third_party/gsutil/gslib/__init__.py +0 -22
  289. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/__init__.py +0 -15
  290. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/acls.py +0 -234
  291. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/anon.py +0 -57
  292. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/command_opts.py +0 -116
  293. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/dev.py +0 -139
  294. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/metadata.py +0 -186
  295. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/naming.py +0 -173
  296. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/prod.py +0 -160
  297. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/projects.py +0 -130
  298. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/subdirs.py +0 -110
  299. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/support.py +0 -86
  300. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/versioning.py +0 -242
  301. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/wildcards.py +0 -170
  302. data/vendor/depot_tools/third_party/gsutil/gslib/bucket_listing_ref.py +0 -175
  303. data/vendor/depot_tools/third_party/gsutil/gslib/command.py +0 -725
  304. data/vendor/depot_tools/third_party/gsutil/gslib/command_runner.py +0 -102
  305. data/vendor/depot_tools/third_party/gsutil/gslib/commands/__init__.py +0 -15
  306. data/vendor/depot_tools/third_party/gsutil/gslib/commands/cat.py +0 -131
  307. data/vendor/depot_tools/third_party/gsutil/gslib/commands/chacl.py +0 -523
  308. data/vendor/depot_tools/third_party/gsutil/gslib/commands/config.py +0 -662
  309. data/vendor/depot_tools/third_party/gsutil/gslib/commands/cp.py +0 -1819
  310. data/vendor/depot_tools/third_party/gsutil/gslib/commands/disablelogging.py +0 -101
  311. data/vendor/depot_tools/third_party/gsutil/gslib/commands/enablelogging.py +0 -149
  312. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getacl.py +0 -82
  313. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getcors.py +0 -121
  314. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getdefacl.py +0 -86
  315. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getlogging.py +0 -137
  316. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getversioning.py +0 -116
  317. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getwebcfg.py +0 -122
  318. data/vendor/depot_tools/third_party/gsutil/gslib/commands/help.py +0 -218
  319. data/vendor/depot_tools/third_party/gsutil/gslib/commands/ls.py +0 -578
  320. data/vendor/depot_tools/third_party/gsutil/gslib/commands/mb.py +0 -172
  321. data/vendor/depot_tools/third_party/gsutil/gslib/commands/mv.py +0 -159
  322. data/vendor/depot_tools/third_party/gsutil/gslib/commands/perfdiag.py +0 -903
  323. data/vendor/depot_tools/third_party/gsutil/gslib/commands/rb.py +0 -113
  324. data/vendor/depot_tools/third_party/gsutil/gslib/commands/rm.py +0 -237
  325. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setacl.py +0 -138
  326. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setcors.py +0 -145
  327. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setdefacl.py +0 -105
  328. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setmeta.py +0 -420
  329. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setversioning.py +0 -114
  330. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setwebcfg.py +0 -190
  331. data/vendor/depot_tools/third_party/gsutil/gslib/commands/update.py +0 -305
  332. data/vendor/depot_tools/third_party/gsutil/gslib/commands/version.py +0 -150
  333. data/vendor/depot_tools/third_party/gsutil/gslib/exception.py +0 -76
  334. data/vendor/depot_tools/third_party/gsutil/gslib/help_provider.py +0 -81
  335. data/vendor/depot_tools/third_party/gsutil/gslib/name_expansion.py +0 -550
  336. data/vendor/depot_tools/third_party/gsutil/gslib/no_op_auth_plugin.py +0 -30
  337. data/vendor/depot_tools/third_party/gsutil/gslib/plurality_checkable_iterator.py +0 -56
  338. data/vendor/depot_tools/third_party/gsutil/gslib/project_id.py +0 -67
  339. data/vendor/depot_tools/third_party/gsutil/gslib/storage_uri_builder.py +0 -56
  340. data/vendor/depot_tools/third_party/gsutil/gslib/thread_pool.py +0 -79
  341. data/vendor/depot_tools/third_party/gsutil/gslib/util.py +0 -167
  342. data/vendor/depot_tools/third_party/gsutil/gslib/wildcard_iterator.py +0 -498
  343. data/vendor/depot_tools/third_party/gsutil/gsutil +0 -384
  344. data/vendor/depot_tools/third_party/gsutil/gsutil.spec.in +0 -75
  345. data/vendor/depot_tools/third_party/gsutil/oauth2_plugin/__init__.py +0 -22
  346. data/vendor/depot_tools/third_party/gsutil/oauth2_plugin/oauth2_client.py +0 -630
  347. data/vendor/depot_tools/third_party/gsutil/oauth2_plugin/oauth2_client_test.py +0 -374
  348. data/vendor/depot_tools/third_party/gsutil/oauth2_plugin/oauth2_helper.py +0 -103
  349. data/vendor/depot_tools/third_party/gsutil/oauth2_plugin/oauth2_plugin.py +0 -24
  350. data/vendor/depot_tools/third_party/gsutil/pkg_util.py +0 -60
  351. data/vendor/depot_tools/third_party/gsutil/plugins/__init__.py +0 -0
  352. data/vendor/depot_tools/third_party/gsutil/plugins/sso_auth.py +0 -105
@@ -3,7 +3,7 @@
3
3
  # Use of this source code is governed by a BSD-style license that can be
4
4
  # found in the LICENSE file.
5
5
 
6
- """Meta checkout manager supporting both Subversion and GIT."""
6
+ """Meta checkout dependency manager for Git."""
7
7
  # Files
8
8
  # .gclient : Current client configuration, written by 'config' command.
9
9
  # Format is a Python script defining 'solutions', a list whose
@@ -173,29 +173,6 @@ class GClientKeywords(object):
173
173
  return 'From(%s, %s)' % (repr(self.module_name),
174
174
  repr(self.sub_target_name))
175
175
 
176
- class FileImpl(object):
177
- """Used to implement the File('') syntax which lets you sync a single file
178
- from a SVN repo."""
179
-
180
- def __init__(self, file_location):
181
- self.file_location = file_location
182
-
183
- def __str__(self):
184
- return 'File("%s")' % self.file_location
185
-
186
- def GetPath(self):
187
- return os.path.split(self.file_location)[0]
188
-
189
- def GetFilename(self):
190
- rev_tokens = self.file_location.split('@')
191
- return os.path.split(rev_tokens[0])[1]
192
-
193
- def GetRevision(self):
194
- rev_tokens = self.file_location.split('@')
195
- if len(rev_tokens) > 1:
196
- return rev_tokens[1]
197
- return None
198
-
199
176
  class VarImpl(object):
200
177
  def __init__(self, custom_vars, local_scope):
201
178
  self._custom_vars = custom_vars
@@ -213,13 +190,12 @@ class GClientKeywords(object):
213
190
  class DependencySettings(GClientKeywords):
214
191
  """Immutable configuration settings."""
215
192
  def __init__(
216
- self, parent, url, safesync_url, managed, custom_deps, custom_vars,
217
- custom_hooks, deps_file, should_process):
193
+ self, parent, url, managed, custom_deps, custom_vars,
194
+ custom_hooks, deps_file, should_process, relative):
218
195
  GClientKeywords.__init__(self)
219
196
 
220
197
  # These are not mutable:
221
198
  self._parent = parent
222
- self._safesync_url = safesync_url
223
199
  self._deps_file = deps_file
224
200
  self._url = url
225
201
  # 'managed' determines whether or not this dependency is synced/updated by
@@ -230,6 +206,11 @@ class DependencySettings(GClientKeywords):
230
206
  # recursion limit and controls gclient's behavior so it does not misbehave.
231
207
  self._managed = managed
232
208
  self._should_process = should_process
209
+ # If this is a recursed-upon sub-dependency, and the parent has
210
+ # use_relative_paths set, then this dependency should check out its own
211
+ # dependencies relative to that parent's path for this, rather than
212
+ # relative to the .gclient file.
213
+ self._relative = relative
233
214
  # This is a mutable value which has the list of 'target_os' OSes listed in
234
215
  # the current deps file.
235
216
  self.local_target_os = None
@@ -239,24 +220,15 @@ class DependencySettings(GClientKeywords):
239
220
  self._custom_deps = custom_deps or {}
240
221
  self._custom_hooks = custom_hooks or []
241
222
 
242
- # TODO(iannucci): Remove this when all masters are correctly substituting
243
- # the new blink url.
244
- if (self._custom_vars.get('webkit_trunk', '') ==
245
- 'svn://svn-mirror.golo.chromium.org/webkit-readonly/trunk'):
246
- new_url = 'svn://svn-mirror.golo.chromium.org/blink/trunk'
247
- print('Overwriting Var("webkit_trunk") with %s' % new_url)
248
- self._custom_vars['webkit_trunk'] = new_url
249
-
250
223
  # Post process the url to remove trailing slashes.
251
224
  if isinstance(self._url, basestring):
252
225
  # urls are sometime incorrectly written as proto://host/path/@rev. Replace
253
226
  # it to proto://host/path@rev.
254
227
  self._url = self._url.replace('/@', '@')
255
- elif not isinstance(self._url,
256
- (self.FromImpl, self.FileImpl, None.__class__)):
228
+ elif not isinstance(self._url, (self.FromImpl, None.__class__)):
257
229
  raise gclient_utils.Error(
258
230
  ('dependency url must be either a string, None, '
259
- 'File() or From() instead of %s') % self._url.__class__.__name__)
231
+ 'or From() instead of %s') % self._url.__class__.__name__)
260
232
  # Make any deps_file path platform-appropriate.
261
233
  for sep in ['/', '\\']:
262
234
  self._deps_file = self._deps_file.replace(sep, os.sep)
@@ -281,10 +253,6 @@ class DependencySettings(GClientKeywords):
281
253
  return self or GClient(None, None)
282
254
  return self.parent.root
283
255
 
284
- @property
285
- def safesync_url(self):
286
- return self._safesync_url
287
-
288
256
  @property
289
257
  def should_process(self):
290
258
  """True if this dependency should be processed, i.e. checked out."""
@@ -324,12 +292,13 @@ class DependencySettings(GClientKeywords):
324
292
  class Dependency(gclient_utils.WorkItem, DependencySettings):
325
293
  """Object that represents a dependency checkout."""
326
294
 
327
- def __init__(self, parent, name, url, safesync_url, managed, custom_deps,
328
- custom_vars, custom_hooks, deps_file, should_process):
295
+ def __init__(self, parent, name, url, managed, custom_deps,
296
+ custom_vars, custom_hooks, deps_file, should_process,
297
+ relative):
329
298
  gclient_utils.WorkItem.__init__(self, name)
330
299
  DependencySettings.__init__(
331
- self, parent, url, safesync_url, managed, custom_deps, custom_vars,
332
- custom_hooks, deps_file, should_process)
300
+ self, parent, url, managed, custom_deps, custom_vars,
301
+ custom_hooks, deps_file, should_process, relative)
333
302
 
334
303
  # This is in both .gclient and DEPS files:
335
304
  self._deps_hooks = []
@@ -528,8 +497,6 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
528
497
  'relative DEPS entry \'%s\' must begin with a slash' % url)
529
498
  # Create a scm just to query the full url.
530
499
  parent_url = self.parent.parsed_url
531
- if isinstance(parent_url, self.FileImpl):
532
- parent_url = parent_url.file_location
533
500
  scm = gclient_scm.CreateSCM(
534
501
  parent_url, self.root.root_dir, None, self.outbuf)
535
502
  parsed_url = scm.FullUrlForRelativeUrl(url)
@@ -540,12 +507,6 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
540
507
  (self.name, url, parsed_url))
541
508
  return parsed_url
542
509
 
543
- if isinstance(url, self.FileImpl):
544
- logging.info(
545
- 'Dependency(%s).LateOverride(%s) -> %s (File)' %
546
- (self.name, url, url))
547
- return url
548
-
549
510
  if url is None:
550
511
  logging.info(
551
512
  'Dependency(%s).LateOverride(%s) -> %s' % (self.name, url, url))
@@ -636,7 +597,6 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
636
597
  }
637
598
  else:
638
599
  global_scope = {
639
- 'File': self.FileImpl,
640
600
  'From': self.FromImpl,
641
601
  'Var': var.Lookup,
642
602
  'deps_os': {},
@@ -686,25 +646,36 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
686
646
  # the dictionary using paths relative to the directory containing
687
647
  # the DEPS file. Also update recursedeps if use_relative_paths is
688
648
  # enabled.
649
+ # If the deps file doesn't set use_relative_paths, but the parent did
650
+ # (and therefore set self.relative on this Dependency object), then we
651
+ # want to modify the deps and recursedeps by prepending the parent
652
+ # directory of this dependency.
689
653
  use_relative_paths = local_scope.get('use_relative_paths', False)
654
+ rel_prefix = None
690
655
  if use_relative_paths:
656
+ rel_prefix = self.name
657
+ elif self._relative:
658
+ rel_prefix = os.path.dirname(self.name)
659
+ if rel_prefix:
691
660
  logging.warning('use_relative_paths enabled.')
692
661
  rel_deps = {}
693
662
  for d, url in deps.items():
694
663
  # normpath is required to allow DEPS to use .. in their
695
664
  # dependency local path.
696
- rel_deps[os.path.normpath(os.path.join(self.name, d))] = url
697
- logging.warning('Updating deps by prepending %s.', self.name)
665
+ rel_deps[os.path.normpath(os.path.join(rel_prefix, d))] = url
666
+ logging.warning('Updating deps by prepending %s.', rel_prefix)
698
667
  deps = rel_deps
699
668
 
700
669
  # Update recursedeps if it's set.
701
670
  if self.recursedeps is not None:
702
- logging.warning('Updating recursedeps by prepending %s.', self.name)
671
+ logging.warning('Updating recursedeps by prepending %s.', rel_prefix)
703
672
  rel_deps = {}
704
673
  for depname, options in self.recursedeps.iteritems():
705
- rel_deps[os.path.normpath(os.path.join(self.name, depname))] = options
674
+ rel_deps[
675
+ os.path.normpath(os.path.join(rel_prefix, depname))] = options
706
676
  self.recursedeps = rel_deps
707
677
 
678
+
708
679
  if 'allowed_hosts' in local_scope:
709
680
  try:
710
681
  self._allowed_hosts = frozenset(local_scope.get('allowed_hosts'))
@@ -727,8 +698,8 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
727
698
  if ent is not None:
728
699
  deps_file = ent['deps_file']
729
700
  deps_to_add.append(Dependency(
730
- self, name, url, None, None, None, self.custom_vars, None,
731
- deps_file, should_process))
701
+ self, name, url, None, None, self.custom_vars, None,
702
+ deps_file, should_process, use_relative_paths))
732
703
  deps_to_add.sort(key=lambda x: x.name)
733
704
 
734
705
  # override named sets of hooks by the custom hooks
@@ -756,41 +727,6 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
756
727
  self.add_dependency(dep)
757
728
  self._mark_as_parsed(hooks)
758
729
 
759
- def maybeGetParentRevision(self, command, options, parsed_url, parent):
760
- """Uses revision/timestamp of parent if no explicit revision was specified.
761
-
762
- If we are performing an update and --transitive is set, use
763
- - the parent's revision if 'self.url' is in the same repository
764
- - the parent's timestamp otherwise
765
- to update 'self.url'. The used revision/timestamp will be set in
766
- 'options.revision'.
767
- If we have an explicit revision do nothing.
768
- """
769
- if command == 'update' and options.transitive and not options.revision:
770
- _, revision = gclient_utils.SplitUrlRevision(parsed_url)
771
- if not revision:
772
- options.revision = getattr(parent, '_used_revision', None)
773
- if (options.revision and
774
- not gclient_utils.IsDateRevision(options.revision)):
775
- assert self.parent and self.parent.used_scm
776
- # If this dependency is in the same repository as parent it's url will
777
- # start with a slash. If so we take the parent revision instead of
778
- # it's timestamp.
779
- # (The timestamps of commits in google code are broken -- which can
780
- # result in dependencies to be checked out at the wrong revision)
781
- if self.url.startswith('/'):
782
- if options.verbose:
783
- print('Using parent\'s revision %s since we are in the same '
784
- 'repository.' % options.revision)
785
- else:
786
- parent_revision_date = self.parent.used_scm.GetRevisionDate(
787
- options.revision)
788
- options.revision = gclient_utils.MakeDateRevision(
789
- parent_revision_date)
790
- if options.verbose:
791
- print('Using parent\'s revision date %s since we are in a '
792
- 'different repository.' % options.revision)
793
-
794
730
  def findDepsFromNotAllowedHosts(self):
795
731
  """Returns a list of depenecies from not allowed hosts.
796
732
 
@@ -810,7 +746,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
810
746
  return bad_deps
811
747
 
812
748
  # Arguments number differs from overridden method
813
- # pylint: disable=W0221
749
+ # pylint: disable=arguments-differ
814
750
  def run(self, revision_overrides, command, args, work_queue, options):
815
751
  """Runs |command| then parse the DEPS file."""
816
752
  logging.info('Dependency(%s).run()' % self.name)
@@ -825,31 +761,17 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
825
761
  file_list = [] if not options.nohooks else None
826
762
  revision_override = revision_overrides.pop(self.name, None)
827
763
  if run_scm and parsed_url:
828
- if isinstance(parsed_url, self.FileImpl):
829
- # Special support for single-file checkout.
830
- if not command in (None, 'cleanup', 'diff', 'pack', 'status'):
831
- # Sadly, pylint doesn't realize that parsed_url is of FileImpl.
832
- # pylint: disable=E1103
833
- options.revision = parsed_url.GetRevision()
834
- self._used_scm = gclient_scm.SVNWrapper(
835
- parsed_url.GetPath(), self.root.root_dir, self.name,
836
- out_cb=work_queue.out_cb)
837
- self._used_scm.RunCommand('updatesingle',
838
- options, args + [parsed_url.GetFilename()], file_list)
839
- else:
840
- # Create a shallow copy to mutate revision.
841
- options = copy.copy(options)
842
- options.revision = revision_override
843
- self.maybeGetParentRevision(
844
- command, options, parsed_url, self.parent)
845
- self._used_revision = options.revision
846
- self._used_scm = gclient_scm.CreateSCM(
847
- parsed_url, self.root.root_dir, self.name, self.outbuf,
848
- out_cb=work_queue.out_cb)
849
- self._got_revision = self._used_scm.RunCommand(command, options, args,
850
- file_list)
851
- if file_list:
852
- file_list = [os.path.join(self.name, f.strip()) for f in file_list]
764
+ # Create a shallow copy to mutate revision.
765
+ options = copy.copy(options)
766
+ options.revision = revision_override
767
+ self._used_revision = options.revision
768
+ self._used_scm = gclient_scm.CreateSCM(
769
+ parsed_url, self.root.root_dir, self.name, self.outbuf,
770
+ out_cb=work_queue.out_cb)
771
+ self._got_revision = self._used_scm.RunCommand(command, options, args,
772
+ file_list)
773
+ if file_list:
774
+ file_list = [os.path.join(self.name, f.strip()) for f in file_list]
853
775
 
854
776
  # TODO(phajdan.jr): We should know exactly when the paths are absolute.
855
777
  # Convert all absolute paths to relative.
@@ -876,61 +798,60 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
876
798
  work_queue.enqueue(s)
877
799
 
878
800
  if command == 'recurse':
879
- if not isinstance(parsed_url, self.FileImpl):
880
- # Skip file only checkout.
881
- scm = gclient_scm.GetScmName(parsed_url)
882
- if not options.scm or scm in options.scm:
883
- cwd = os.path.normpath(os.path.join(self.root.root_dir, self.name))
884
- # Pass in the SCM type as an env variable. Make sure we don't put
885
- # unicode strings in the environment.
886
- env = os.environ.copy()
887
- if scm:
888
- env['GCLIENT_SCM'] = str(scm)
889
- if parsed_url:
890
- env['GCLIENT_URL'] = str(parsed_url)
891
- env['GCLIENT_DEP_PATH'] = str(self.name)
892
- if options.prepend_dir and scm == 'git':
893
- print_stdout = False
894
- def filter_fn(line):
895
- """Git-specific path marshaling. It is optimized for git-grep."""
896
-
897
- def mod_path(git_pathspec):
898
- match = re.match('^(\\S+?:)?([^\0]+)$', git_pathspec)
899
- modified_path = os.path.join(self.name, match.group(2))
900
- branch = match.group(1) or ''
901
- return '%s%s' % (branch, modified_path)
902
-
903
- match = re.match('^Binary file ([^\0]+) matches$', line)
904
- if match:
905
- print('Binary file %s matches\n' % mod_path(match.group(1)))
906
- return
907
-
908
- items = line.split('\0')
909
- if len(items) == 2 and items[1]:
910
- print('%s : %s' % (mod_path(items[0]), items[1]))
911
- elif len(items) >= 2:
912
- # Multiple null bytes or a single trailing null byte indicate
913
- # git is likely displaying filenames only (such as with -l)
914
- print('\n'.join(mod_path(path) for path in items if path))
915
- else:
916
- print(line)
917
- else:
918
- print_stdout = True
919
- filter_fn = None
920
-
921
- if parsed_url is None:
922
- print('Skipped omitted dependency %s' % cwd, file=sys.stderr)
923
- elif os.path.isdir(cwd):
924
- try:
925
- gclient_utils.CheckCallAndFilter(
926
- args, cwd=cwd, env=env, print_stdout=print_stdout,
927
- filter_fn=filter_fn,
928
- )
929
- except subprocess2.CalledProcessError:
930
- if not options.ignore:
931
- raise
932
- else:
933
- print('Skipped missing %s' % cwd, file=sys.stderr)
801
+ # Skip file only checkout.
802
+ scm = gclient_scm.GetScmName(parsed_url)
803
+ if not options.scm or scm in options.scm:
804
+ cwd = os.path.normpath(os.path.join(self.root.root_dir, self.name))
805
+ # Pass in the SCM type as an env variable. Make sure we don't put
806
+ # unicode strings in the environment.
807
+ env = os.environ.copy()
808
+ if scm:
809
+ env['GCLIENT_SCM'] = str(scm)
810
+ if parsed_url:
811
+ env['GCLIENT_URL'] = str(parsed_url)
812
+ env['GCLIENT_DEP_PATH'] = str(self.name)
813
+ if options.prepend_dir and scm == 'git':
814
+ print_stdout = False
815
+ def filter_fn(line):
816
+ """Git-specific path marshaling. It is optimized for git-grep."""
817
+
818
+ def mod_path(git_pathspec):
819
+ match = re.match('^(\\S+?:)?([^\0]+)$', git_pathspec)
820
+ modified_path = os.path.join(self.name, match.group(2))
821
+ branch = match.group(1) or ''
822
+ return '%s%s' % (branch, modified_path)
823
+
824
+ match = re.match('^Binary file ([^\0]+) matches$', line)
825
+ if match:
826
+ print('Binary file %s matches\n' % mod_path(match.group(1)))
827
+ return
828
+
829
+ items = line.split('\0')
830
+ if len(items) == 2 and items[1]:
831
+ print('%s : %s' % (mod_path(items[0]), items[1]))
832
+ elif len(items) >= 2:
833
+ # Multiple null bytes or a single trailing null byte indicate
834
+ # git is likely displaying filenames only (such as with -l)
835
+ print('\n'.join(mod_path(path) for path in items if path))
836
+ else:
837
+ print(line)
838
+ else:
839
+ print_stdout = True
840
+ filter_fn = None
841
+
842
+ if parsed_url is None:
843
+ print('Skipped omitted dependency %s' % cwd, file=sys.stderr)
844
+ elif os.path.isdir(cwd):
845
+ try:
846
+ gclient_utils.CheckCallAndFilter(
847
+ args, cwd=cwd, env=env, print_stdout=print_stdout,
848
+ filter_fn=filter_fn,
849
+ )
850
+ except subprocess2.CalledProcessError:
851
+ if not options.ignore:
852
+ raise
853
+ else:
854
+ print('Skipped missing %s' % cwd, file=sys.stderr)
934
855
 
935
856
 
936
857
  @gclient_utils.lockedmethod
@@ -968,11 +889,10 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
968
889
  # If "--force" was specified, run all hooks regardless of what files have
969
890
  # changed.
970
891
  if self.deps_hooks:
971
- # TODO(maruel): If the user is using git or git-svn, then we don't know
892
+ # TODO(maruel): If the user is using git, then we don't know
972
893
  # what files have changed so we always run all hooks. It'd be nice to fix
973
894
  # that.
974
895
  if (options.force or
975
- isinstance(self.parsed_url, self.FileImpl) or
976
896
  gclient_scm.GetScmName(self.parsed_url) in ('git', None) or
977
897
  os.path.isdir(os.path.join(self.root.root_dir, self.name, '.git'))):
978
898
  for hook_dict in self.deps_hooks:
@@ -1134,7 +1054,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
1134
1054
 
1135
1055
  def __str__(self):
1136
1056
  out = []
1137
- for i in ('name', 'url', 'parsed_url', 'safesync_url', 'custom_deps',
1057
+ for i in ('name', 'url', 'parsed_url', 'custom_deps',
1138
1058
  'custom_vars', 'deps_hooks', 'file_list', 'should_process',
1139
1059
  'processed', 'hooks_ran', 'deps_parsed', 'requirements',
1140
1060
  'allowed_hosts'):
@@ -1189,7 +1109,6 @@ solutions = [
1189
1109
  "managed" : %(managed)s,
1190
1110
  "custom_deps" : {
1191
1111
  },
1192
- "safesync_url": "%(safesync_url)s",
1193
1112
  },
1194
1113
  ]
1195
1114
  cache_dir = %(cache_dir)r
@@ -1202,7 +1121,6 @@ cache_dir = %(cache_dir)r
1202
1121
  "managed" : %(managed)s,
1203
1122
  "custom_deps" : {
1204
1123
  %(solution_deps)s },
1205
- "safesync_url": "%(safesync_url)s",
1206
1124
  },
1207
1125
  """)
1208
1126
 
@@ -1216,8 +1134,8 @@ solutions = [
1216
1134
  # Do not change previous behavior. Only solution level and immediate DEPS
1217
1135
  # are processed.
1218
1136
  self._recursion_limit = 2
1219
- Dependency.__init__(self, None, None, None, None, True, None, None, None,
1220
- 'unused', True)
1137
+ Dependency.__init__(self, None, None, None, True, None, None, None,
1138
+ 'unused', True, None)
1221
1139
  self._options = options
1222
1140
  if options.deps_os:
1223
1141
  enforced_os = options.deps_os.split(',')
@@ -1256,9 +1174,7 @@ The local checkout in %(checkout_path)s reports:
1256
1174
  %(actual_url)s (%(actual_scm)s)
1257
1175
 
1258
1176
  You should ensure that the URL listed in .gclient is correct and either change
1259
- it or fix the checkout. If you're managing your own git checkout in
1260
- %(checkout_path)s but the URL in .gclient is for an svn repository, you probably
1261
- want to set 'managed': False in .gclient.
1177
+ it or fix the checkout.
1262
1178
  ''' % {'checkout_path': os.path.join(self.root_dir, dep.name),
1263
1179
  'expected_url': dep.url,
1264
1180
  'expected_scm': gclient_scm.GetScmName(dep.url),
@@ -1302,13 +1218,13 @@ want to set 'managed': False in .gclient.
1302
1218
  try:
1303
1219
  deps_to_add.append(Dependency(
1304
1220
  self, s['name'], s['url'],
1305
- s.get('safesync_url', None),
1306
1221
  s.get('managed', True),
1307
1222
  s.get('custom_deps', {}),
1308
1223
  s.get('custom_vars', {}),
1309
1224
  s.get('custom_hooks', []),
1310
1225
  s.get('deps_file', 'DEPS'),
1311
- True))
1226
+ True,
1227
+ None))
1312
1228
  except KeyError:
1313
1229
  raise gclient_utils.Error('Invalid .gclient file. Solution is '
1314
1230
  'incomplete: %s' % s)
@@ -1320,82 +1236,6 @@ want to set 'managed': False in .gclient.
1320
1236
  self._options.config_filename),
1321
1237
  self.config_content)
1322
1238
 
1323
- def MigrateConfigToGit(self, path, options):
1324
- svn_url_re = re.compile('^(https?://src\.chromium\.org/svn|'
1325
- 'svn://svn\.chromium\.org/chrome)/'
1326
- '(trunk|branches/[^/]+)/src')
1327
- old_git_re = re.compile('^(https?://git\.chromium\.org|'
1328
- 'ssh://([a-zA-Z_][a-zA-Z0-9_-]*@)?'
1329
- 'gerrit\.chromium\.org(:2941[89])?)/'
1330
- 'chromium/src\.git')
1331
- # Scan existing .gclient file for obsolete settings. It would be simpler
1332
- # to traverse self.dependencies, but working with the AST allows the code to
1333
- # dump an updated .gclient file that preserves the ordering of the original.
1334
- a = ast.parse(self.config_content, options.config_filename, 'exec')
1335
- modified = False
1336
- solutions = [elem for elem in a.body if 'solutions' in
1337
- [target.id for target in elem.targets]]
1338
- if not solutions:
1339
- return self
1340
- solutions = solutions[-1]
1341
- for solution in solutions.value.elts:
1342
- # Check for obsolete URL's
1343
- url_idx = ast_dict_index(solution, 'url')
1344
- if url_idx == -1:
1345
- continue
1346
- url_val = solution.values[url_idx]
1347
- if type(url_val) is not ast.Str:
1348
- continue
1349
- if (svn_url_re.match(url_val.s.strip())):
1350
- raise gclient_utils.Error(
1351
- """
1352
- The chromium code repository has migrated completely to git.
1353
- Your SVN-based checkout is now obsolete; you need to create a brand-new
1354
- git checkout by following these instructions:
1355
-
1356
- http://www.chromium.org/developers/how-tos/get-the-code
1357
- """)
1358
- if (old_git_re.match(url_val.s.strip())):
1359
- url_val.s = CHROMIUM_SRC_URL
1360
- modified = True
1361
-
1362
- # Ensure deps_file is set to .DEPS.git. We enforce this here to smooth
1363
- # over switching between pre-git-migration and post-git-migration
1364
- # revisions.
1365
- # - For pre-migration revisions, .DEPS.git must be explicitly set.
1366
- # - For post-migration revisions, .DEPS.git is not present, so gclient
1367
- # will correctly fall back to DEPS.
1368
- if url_val.s == CHROMIUM_SRC_URL:
1369
- deps_file_idx = ast_dict_index(solution, 'deps_file')
1370
- if deps_file_idx != -1:
1371
- continue
1372
- solution.keys.append(ast.Str('deps_file'))
1373
- solution.values.append(ast.Str('.DEPS.git'))
1374
- modified = True
1375
-
1376
- if not modified:
1377
- return self
1378
-
1379
- print(
1380
- """
1381
- WARNING: gclient detected an obsolete setting in your %s file. The file has
1382
- been automagically updated. The previous version is available at %s.old.
1383
- """ % (options.config_filename, options.config_filename))
1384
-
1385
- # Replace existing .gclient with the updated version.
1386
- # Return a new GClient instance based on the new content.
1387
- new_content = ast2str(a)
1388
- dot_gclient_fn = os.path.join(path, options.config_filename)
1389
- try:
1390
- os.rename(dot_gclient_fn, dot_gclient_fn + '.old')
1391
- except OSError:
1392
- pass
1393
- with open(dot_gclient_fn, 'w') as fh:
1394
- fh.write(new_content)
1395
- client = GClient(path, options)
1396
- client.SetConfig(new_content)
1397
- return client
1398
-
1399
1239
  @staticmethod
1400
1240
  def LoadCurrentConfig(options):
1401
1241
  """Searches for and loads a .gclient file relative to the current working
@@ -1413,7 +1253,6 @@ been automagically updated. The previous version is available at %s.old.
1413
1253
  client = GClient(path, options)
1414
1254
  client.SetConfig(gclient_utils.FileRead(
1415
1255
  os.path.join(path, options.config_filename)))
1416
- client = client.MigrateConfigToGit(path, options)
1417
1256
 
1418
1257
  if (options.revisions and
1419
1258
  len(client.dependencies) > 1 and
@@ -1429,12 +1268,11 @@ been automagically updated. The previous version is available at %s.old.
1429
1268
  return client
1430
1269
 
1431
1270
  def SetDefaultConfig(self, solution_name, deps_file, solution_url,
1432
- safesync_url, managed=True, cache_dir=None):
1271
+ managed=True, cache_dir=None):
1433
1272
  self.SetConfig(self.DEFAULT_CLIENT_FILE_TEXT % {
1434
1273
  'solution_name': solution_name,
1435
1274
  'solution_url': solution_url,
1436
1275
  'deps_file': deps_file,
1437
- 'safesync_url' : safesync_url,
1438
1276
  'managed': managed,
1439
1277
  'cache_dir': cache_dir,
1440
1278
  })
@@ -1448,10 +1286,8 @@ been automagically updated. The previous version is available at %s.old.
1448
1286
  # makes testing a bit too fun.
1449
1287
  result = 'entries = {\n'
1450
1288
  for entry in self.root.subtree(False):
1451
- # Skip over File() dependencies as we can't version them.
1452
- if not isinstance(entry.parsed_url, self.FileImpl):
1453
- result += ' %s: %s,\n' % (pprint.pformat(entry.name),
1454
- pprint.pformat(entry.parsed_url))
1289
+ result += ' %s: %s,\n' % (pprint.pformat(entry.name),
1290
+ pprint.pformat(entry.parsed_url))
1455
1291
  result += '}\n'
1456
1292
  file_path = os.path.join(self.root_dir, self._options.entries_filename)
1457
1293
  logging.debug(result)
@@ -1479,13 +1315,10 @@ been automagically updated. The previous version is available at %s.old.
1479
1315
  revision_overrides = {}
1480
1316
  if self._options.head:
1481
1317
  return revision_overrides
1482
- # Do not check safesync_url if one or more --revision flag is specified.
1483
1318
  if not self._options.revisions:
1484
1319
  for s in self.dependencies:
1485
1320
  if not s.managed:
1486
1321
  self._options.revisions.append('%s@unmanaged' % s.name)
1487
- elif s.safesync_url:
1488
- self._ApplySafeSyncRev(dep=s)
1489
1322
  if not self._options.revisions:
1490
1323
  return revision_overrides
1491
1324
  solutions_names = [s.name for s in self.dependencies]
@@ -1499,26 +1332,6 @@ been automagically updated. The previous version is available at %s.old.
1499
1332
  index += 1
1500
1333
  return revision_overrides
1501
1334
 
1502
- def _ApplySafeSyncRev(self, dep):
1503
- """Finds a valid revision from the content of the safesync_url and apply it
1504
- by appending revisions to the revision list. Throws if revision appears to
1505
- be invalid for the given |dep|."""
1506
- assert len(dep.safesync_url) > 0
1507
- handle = urllib.urlopen(dep.safesync_url)
1508
- rev = handle.read().strip()
1509
- handle.close()
1510
- if not rev:
1511
- raise gclient_utils.Error(
1512
- 'It appears your safesync_url (%s) is not working properly\n'
1513
- '(as it returned an empty response). Check your config.' %
1514
- dep.safesync_url)
1515
- scm = gclient_scm.CreateSCM(
1516
- dep.url, dep.root.root_dir, dep.name, self.outbuf)
1517
- safe_rev = scm.GetUsableRev(rev, self._options)
1518
- if self._options.verbose:
1519
- print('Using safesync_url revision: %s.\n' % safe_rev)
1520
- self._options.revisions.append('%s@%s' % (dep.name, safe_rev))
1521
-
1522
1335
  def RunOnDeps(self, command, args, ignore_requirements=False, progress=True):
1523
1336
  """Runs a command on each dependency in a client and its dependencies.
1524
1337
 
@@ -1581,17 +1394,12 @@ been automagically updated. The previous version is available at %s.old.
1581
1394
  prev_url, self.root_dir, entry_fixed, self.outbuf)
1582
1395
 
1583
1396
  # Check to see if this directory is now part of a higher-up checkout.
1584
- # The directory might be part of a git OR svn checkout.
1585
1397
  scm_root = None
1586
- scm_class = None
1587
- for scm_class in (gclient_scm.scm.GIT, gclient_scm.scm.SVN):
1588
- try:
1589
- scm_root = scm_class.GetCheckoutRoot(scm.checkout_path)
1590
- except subprocess2.CalledProcessError:
1591
- pass
1592
- if scm_root:
1593
- break
1594
- else:
1398
+ try:
1399
+ scm_root = gclient_scm.scm.GIT.GetCheckoutRoot(scm.checkout_path)
1400
+ except subprocess2.CalledProcessError:
1401
+ pass
1402
+ if not scm_root:
1595
1403
  logging.warning('Could not find checkout root for %s. Unable to '
1596
1404
  'determine whether it is part of a higher-level '
1597
1405
  'checkout, so not removing.' % entry)
@@ -1602,14 +1410,14 @@ been automagically updated. The previous version is available at %s.old.
1602
1410
  # If the subproject is a Git project, we need to remove its .git
1603
1411
  # folder. Otherwise git operations on that folder will have different
1604
1412
  # effects depending on the current working directory.
1605
- if scm_class == gclient_scm.scm.GIT and (
1606
- os.path.abspath(scm_root) == os.path.abspath(e_dir)):
1413
+ if os.path.abspath(scm_root) == os.path.abspath(e_dir):
1607
1414
  e_par_dir = os.path.join(e_dir, os.pardir)
1608
- if scm_class.IsInsideWorkTree(e_par_dir):
1609
- par_scm_root = scm_class.GetCheckoutRoot(e_par_dir)
1415
+ if gclient_scm.scm.GIT.IsInsideWorkTree(e_par_dir):
1416
+ par_scm_root = gclient_scm.scm.GIT.GetCheckoutRoot(e_par_dir)
1610
1417
  # rel_e_dir : relative path of entry w.r.t. its parent repo.
1611
1418
  rel_e_dir = os.path.relpath(e_dir, par_scm_root)
1612
- if scm_class.IsDirectoryVersioned(par_scm_root, rel_e_dir):
1419
+ if gclient_scm.scm.GIT.IsDirectoryVersioned(
1420
+ par_scm_root, rel_e_dir):
1613
1421
  save_dir = scm.GetGitBackupDirPath()
1614
1422
  # Remove any eventual stale backup dir for the same project.
1615
1423
  if os.path.exists(save_dir):
@@ -1622,7 +1430,7 @@ been automagically updated. The previous version is available at %s.old.
1622
1430
  # In such case we want to cleanup any eventual stale files
1623
1431
  # (coming from the old subproject) in order to end up with a
1624
1432
  # clean checkout.
1625
- scm_class.CleanupDir(par_scm_root, rel_e_dir)
1433
+ gclient_scm.scm.GIT.CleanupDir(par_scm_root, rel_e_dir)
1626
1434
  assert not os.path.exists(os.path.join(e_dir, '.git'))
1627
1435
  print(('\nWARNING: \'%s\' has been moved from DEPS to a higher '
1628
1436
  'level checkout. The git folder containing all the local'
@@ -1670,13 +1478,9 @@ been automagically updated. The previous version is available at %s.old.
1670
1478
  """Returns the revision-qualified SCM url for a Dependency."""
1671
1479
  if dep.parsed_url is None:
1672
1480
  return None
1673
- if isinstance(dep.parsed_url, self.FileImpl):
1674
- original_url = dep.parsed_url.file_location
1675
- else:
1676
- original_url = dep.parsed_url
1677
- url, _ = gclient_utils.SplitUrlRevision(original_url)
1481
+ url, _ = gclient_utils.SplitUrlRevision(dep.parsed_url)
1678
1482
  scm = gclient_scm.CreateSCM(
1679
- original_url, self.root_dir, dep.name, self.outbuf)
1483
+ dep.parsed_url, self.root_dir, dep.name, self.outbuf)
1680
1484
  if not os.path.isdir(scm.checkout_path):
1681
1485
  return None
1682
1486
  return '%s@%s' % (url, scm.revinfo(self._options, [], None))
@@ -1703,7 +1507,6 @@ been automagically updated. The previous version is available at %s.old.
1703
1507
  'solution_name': d.name,
1704
1508
  'solution_url': d.url,
1705
1509
  'deps_file': d.deps_file,
1706
- 'safesync_url' : d.safesync_url or '',
1707
1510
  'managed': d.managed,
1708
1511
  'solution_deps': ''.join(custom_deps),
1709
1512
  }
@@ -1759,24 +1562,6 @@ been automagically updated. The previous version is available at %s.old.
1759
1562
  #### gclient commands.
1760
1563
 
1761
1564
 
1762
- def CMDcleanup(parser, args):
1763
- """Cleans up all working copies.
1764
-
1765
- Mostly svn-specific. Simply runs 'svn cleanup' for each module.
1766
- """
1767
- parser.add_option('--deps', dest='deps_os', metavar='OS_LIST',
1768
- help='override deps for the specified (comma-separated) '
1769
- 'platform(s); \'all\' will process all deps_os '
1770
- 'references')
1771
- (options, args) = parser.parse_args(args)
1772
- client = GClient.LoadCurrentConfig(options)
1773
- if not client:
1774
- raise gclient_utils.Error('client not configured; see \'gclient config\'')
1775
- if options.verbose:
1776
- client.PrintLocationAndContents()
1777
- return client.RunOnDeps('cleanup', args)
1778
-
1779
-
1780
1565
  @subcommand.usage('[command] [args ...]')
1781
1566
  def CMDrecurse(parser, args):
1782
1567
  """Operates [command args ...] on all the dependencies.
@@ -1869,7 +1654,7 @@ def CMDroot(parser, args):
1869
1654
  print(os.path.abspath('.'))
1870
1655
 
1871
1656
 
1872
- @subcommand.usage('[url] [safesync url]')
1657
+ @subcommand.usage('[url]')
1873
1658
  def CMDconfig(parser, args):
1874
1659
  """Creates a .gclient file in the current directory.
1875
1660
 
@@ -1928,10 +1713,7 @@ def CMDconfig(parser, args):
1928
1713
  parser.error('Do not include relative path components in --name.')
1929
1714
 
1930
1715
  deps_file = options.deps_file
1931
- safesync_url = ''
1932
- if len(args) > 1:
1933
- safesync_url = args[1]
1934
- client.SetDefaultConfig(name, deps_file, base_url, safesync_url,
1716
+ client.SetDefaultConfig(name, deps_file, base_url,
1935
1717
  managed=not options.unmanaged,
1936
1718
  cache_dir=options.cache_dir)
1937
1719
  client.SaveConfig()
@@ -1945,7 +1727,7 @@ def CMDconfig(parser, args):
1945
1727
  def CMDpack(parser, args):
1946
1728
  """Generates a patch which can be applied at the root of the tree.
1947
1729
 
1948
- Internally, runs 'svn diff'/'git diff' on each checked out module and
1730
+ Internally, runs 'git diff' on each checked out module and
1949
1731
  dependencies, and performs minimal postprocessing of the output. The
1950
1732
  resulting patch is printed to stdout and can be applied to a freshly
1951
1733
  checked out tree via 'patch -p0 < patchfile'.
@@ -2000,8 +1782,8 @@ os_deps, etc.)
2000
1782
  {
2001
1783
  "solutions" : {
2002
1784
  "<name>": { # <name> is the posix-normalized path to the solution.
2003
- "revision": [<svn rev int>|<git id hex string>|null],
2004
- "scm": ["svn"|"git"|null],
1785
+ "revision": [<git id hex string>|null],
1786
+ "scm": ["git"|null],
2005
1787
  }
2006
1788
  }
2007
1789
  }
@@ -2020,22 +1802,15 @@ def CMDsync(parser, args):
2020
1802
  'format src@rev. The src@ part is optional and can be '
2021
1803
  'skipped. -r can be used multiple times when .gclient '
2022
1804
  'has multiple solutions configured and will work even '
2023
- 'if the src@ part is skipped. Note that specifying '
2024
- '--revision means your safesync_url gets ignored.')
1805
+ 'if the src@ part is skipped.')
2025
1806
  parser.add_option('--with_branch_heads', action='store_true',
2026
1807
  help='Clone git "branch_heads" refspecs in addition to '
2027
1808
  'the default refspecs. This adds about 1/2GB to a '
2028
1809
  'full checkout. (git only)')
2029
1810
  parser.add_option('--with_tags', action='store_true',
2030
1811
  help='Clone git tags in addition to the default refspecs.')
2031
- parser.add_option('-t', '--transitive', action='store_true',
2032
- help='When a revision is specified (in the DEPS file or '
2033
- 'with the command-line flag), transitively update '
2034
- 'the dependencies to the date of the given revision. '
2035
- 'Only supported for SVN repositories.')
2036
1812
  parser.add_option('-H', '--head', action='store_true',
2037
- help='skips any safesync_urls specified in '
2038
- 'configured solutions and sync to head instead')
1813
+ help='DEPRECATED: only made sense with safesync urls.')
2039
1814
  parser.add_option('-D', '--delete_unversioned_trees', action='store_true',
2040
1815
  help='Deletes from the working copy any dependencies that '
2041
1816
  'have been removed since the last sync, as long as '
@@ -2057,9 +1832,6 @@ def CMDsync(parser, args):
2057
1832
  help='override deps for the specified (comma-separated) '
2058
1833
  'platform(s); \'all\' will process all deps_os '
2059
1834
  'references')
2060
- parser.add_option('-m', '--manually_grab_svn_rev', action='store_true',
2061
- help='Skip svn up whenever possible by requesting '
2062
- 'actual HEAD revision from the repository')
2063
1835
  parser.add_option('--upstream', action='store_true',
2064
1836
  help='Make repo state match upstream branch.')
2065
1837
  parser.add_option('--output-json',
@@ -2084,6 +1856,11 @@ def CMDsync(parser, args):
2084
1856
  parser.add_option('--lock_timeout', type='int', default=5000,
2085
1857
  help='GIT ONLY - Deadline (in seconds) to wait for git '
2086
1858
  'cache lock to become available. Default is %default.')
1859
+ # TODO(agable): Remove these when the oldest CrOS release milestone is M56.
1860
+ parser.add_option('-t', '--transitive', action='store_true',
1861
+ help='DEPRECATED: This is a no-op.')
1862
+ parser.add_option('-m', '--manually_grab_svn_rev', action='store_true',
1863
+ help='DEPRECATED: This is a no-op.')
2087
1864
  (options, args) = parser.parse_args(args)
2088
1865
  client = GClient.LoadCurrentConfig(options)
2089
1866
 
@@ -2133,7 +1910,7 @@ def CMDrevert(parser, args):
2133
1910
  """Reverts all modifications in every dependencies.
2134
1911
 
2135
1912
  That's the nuclear option to get back to a 'clean' state. It removes anything
2136
- that shows up in svn status."""
1913
+ that shows up in git status."""
2137
1914
  parser.add_option('--deps', dest='deps_os', metavar='OS_LIST',
2138
1915
  help='override deps for the specified (comma-separated) '
2139
1916
  'platform(s); \'all\' will process all deps_os '
@@ -2185,9 +1962,8 @@ def CMDrevinfo(parser, args):
2185
1962
 
2186
1963
  This allows the capture of an overall 'revision' for the source tree that
2187
1964
  can be used to reproduce the same tree in the future. It is only useful for
2188
- 'unpinned dependencies', i.e. DEPS/deps references without a svn revision
2189
- number or a git hash. A git branch name isn't 'pinned' since the actual
2190
- commit can change.
1965
+ 'unpinned dependencies', i.e. DEPS/deps references without a git hash.
1966
+ A git branch name isn't 'pinned' since the actual commit can change.
2191
1967
  """
2192
1968
  parser.add_option('--deps', dest='deps_os', metavar='OS_LIST',
2193
1969
  help='override deps for the specified (comma-separated) '
@@ -2253,12 +2029,6 @@ class OptionParser(optparse.OptionParser):
2253
2029
  jobs = 1
2254
2030
  else:
2255
2031
  jobs = max(8, gclient_utils.NumLocalCpus())
2256
- # cmp: 2013/06/19
2257
- # Temporary workaround to lower bot-load on SVN server.
2258
- # Bypassed if a bot_update flag is detected.
2259
- if (os.environ.get('CHROME_HEADLESS') == '1' and
2260
- not os.path.exists('update.flag')):
2261
- jobs = 1
2262
2032
 
2263
2033
  self.add_option(
2264
2034
  '-j', '--jobs', default=jobs, type='int',
@@ -2309,8 +2079,6 @@ class OptionParser(optparse.OptionParser):
2309
2079
  options.noprehooks = True
2310
2080
  if not hasattr(options, 'deps_os'):
2311
2081
  options.deps_os = None
2312
- if not hasattr(options, 'manually_grab_svn_rev'):
2313
- options.manually_grab_svn_rev = None
2314
2082
  if not hasattr(options, 'force'):
2315
2083
  options.force = None
2316
2084
  return (options, args)