avm-tools 0.128.0 → 0.130.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (413) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -7
  3. data/lib/avm/tools/runner/app_src.rb +4 -14
  4. data/lib/avm/tools/runner/source_generate.rb +2 -35
  5. data/lib/avm/tools/version.rb +1 -1
  6. metadata +44 -411
  7. data/lib/avm/eac_wordpress_base0/apache_host.rb +0 -25
  8. data/lib/avm/eac_wordpress_base0/deploy.rb +0 -10
  9. data/lib/avm/eac_wordpress_base0/instance.rb +0 -24
  10. data/lib/avm/eac_wordpress_base0.rb +0 -9
  11. data/lib/avm/rails.rb +0 -9
  12. data/lib/avm/ruby/bundler.rb +0 -11
  13. data/lib/avm/ruby/gems/generator.rb +0 -165
  14. data/lib/avm/ruby/gems.rb +0 -11
  15. data/lib/avm/ruby.rb +0 -9
  16. data/lib/avm/tools/runner/eac_wordpress_base0.rb +0 -15
  17. data/lib/avm/tools/runner/ruby/gems/generate.rb +0 -39
  18. data/lib/avm/tools/runner/ruby/gems.rb +0 -19
  19. data/sub/avm-eac_postgresql_base0/Gemfile +0 -5
  20. data/sub/avm-eac_postgresql_base0/avm-eac_postgresql_base0.gemspec +0 -19
  21. data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance/assert.rb +0 -77
  22. data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance/data_unit.rb +0 -39
  23. data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance.rb +0 -74
  24. data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance_with.rb +0 -18
  25. data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/version.rb +0 -7
  26. data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0.rb +0 -9
  27. data/sub/avm-eac_postgresql_base0/spec/rubocop_spec.rb +0 -3
  28. data/sub/avm-eac_postgresql_base0/spec/spec_helper.rb +0 -4
  29. data/sub/avm-eac_ubuntu_base0/Gemfile +0 -5
  30. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +0 -20
  31. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache/resource.rb +0 -59
  32. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache.rb +0 -26
  33. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/docker_image.rb +0 -29
  34. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +0 -22
  35. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances.rb +0 -11
  36. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base/docker.rb +0 -19
  37. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base.rb +0 -28
  38. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/version.rb +0 -7
  39. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0.rb +0 -9
  40. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/docker_image_spec.rb +0 -16
  41. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base/docker_spec.rb +0 -14
  42. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base_spec.rb +0 -7
  43. data/sub/avm-eac_ubuntu_base0/spec/rubocop_spec.rb +0 -3
  44. data/sub/avm-eac_ubuntu_base0/spec/spec_helper.rb +0 -4
  45. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/docker_image/Dockerfile.template +0 -24
  46. data/sub/avm-files/Gemfile +0 -5
  47. data/sub/avm-files/avm-files.gemspec +0 -21
  48. data/sub/avm-files/lib/avm/files/appendable/file_content.rb +0 -24
  49. data/sub/avm-files/lib/avm/files/appendable/plain_directory.rb +0 -25
  50. data/sub/avm-files/lib/avm/files/appendable/resource_base.rb +0 -13
  51. data/sub/avm-files/lib/avm/files/appendable/tar_output_command.rb +0 -26
  52. data/sub/avm-files/lib/avm/files/appendable/templatized_directory.rb +0 -29
  53. data/sub/avm-files/lib/avm/files/appendable.rb +0 -55
  54. data/sub/avm-files/lib/avm/files/appender.rb +0 -11
  55. data/sub/avm-files/lib/avm/files/deploy.rb +0 -71
  56. data/sub/avm-files/lib/avm/files/formatter/formats/base.rb +0 -62
  57. data/sub/avm-files/lib/avm/files/formatter/formats/generic_plain.rb +0 -34
  58. data/sub/avm-files/lib/avm/files/formatter/formats/html.rb +0 -45
  59. data/sub/avm-files/lib/avm/files/formatter/formats/javascript.rb +0 -24
  60. data/sub/avm-files/lib/avm/files/formatter/formats/json.rb +0 -27
  61. data/sub/avm-files/lib/avm/files/formatter/formats/php.rb +0 -22
  62. data/sub/avm-files/lib/avm/files/formatter/formats/python.rb +0 -22
  63. data/sub/avm-files/lib/avm/files/formatter/formats/ruby.rb +0 -22
  64. data/sub/avm-files/lib/avm/files/formatter/formats/xml.rb +0 -28
  65. data/sub/avm-files/lib/avm/files/formatter/formats.rb +0 -13
  66. data/sub/avm-files/lib/avm/files/formatter/utf8_assert.rb +0 -74
  67. data/sub/avm-files/lib/avm/files/formatter.rb +0 -90
  68. data/sub/avm-files/lib/avm/files/version.rb +0 -7
  69. data/sub/avm-files/lib/avm/files.rb +0 -9
  70. data/sub/avm-files/spec/rubocop_spec.rb +0 -3
  71. data/sub/avm-files/spec/spec_helper.rb +0 -4
  72. data/sub/avm-git/Gemfile +0 -5
  73. data/sub/avm-git/avm-git.gemspec +0 -21
  74. data/sub/avm-git/lib/avm/git/auto_commit/commit_info.rb +0 -23
  75. data/sub/avm-git/lib/avm/git/auto_commit/rules/base.rb +0 -39
  76. data/sub/avm-git/lib/avm/git/auto_commit/rules/last.rb +0 -19
  77. data/sub/avm-git/lib/avm/git/auto_commit/rules/manual.rb +0 -45
  78. data/sub/avm-git/lib/avm/git/auto_commit/rules/new.rb +0 -24
  79. data/sub/avm-git/lib/avm/git/auto_commit/rules/nth.rb +0 -31
  80. data/sub/avm-git/lib/avm/git/auto_commit/rules/unique.rb +0 -21
  81. data/sub/avm-git/lib/avm/git/auto_commit/rules.rb +0 -31
  82. data/sub/avm-git/lib/avm/git/auto_commit_path/ruby.rb +0 -20
  83. data/sub/avm-git/lib/avm/git/auto_commit_path.rb +0 -28
  84. data/sub/avm-git/lib/avm/git/commit/class_methods.rb +0 -31
  85. data/sub/avm-git/lib/avm/git/commit/deploy.rb +0 -38
  86. data/sub/avm-git/lib/avm/git/commit/deploy_methods.rb +0 -19
  87. data/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +0 -32
  88. data/sub/avm-git/lib/avm/git/commit/file.rb +0 -46
  89. data/sub/avm-git/lib/avm/git/commit.rb +0 -59
  90. data/sub/avm-git/lib/avm/git/file_auto_fixup.rb +0 -83
  91. data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +0 -42
  92. data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +0 -23
  93. data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +0 -61
  94. data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +0 -39
  95. data/sub/avm-git/lib/avm/git/issue/complete/push.rb +0 -60
  96. data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +0 -33
  97. data/sub/avm-git/lib/avm/git/issue/complete/test.rb +0 -40
  98. data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +0 -28
  99. data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +0 -39
  100. data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +0 -53
  101. data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +0 -19
  102. data/sub/avm-git/lib/avm/git/issue/complete.rb +0 -66
  103. data/sub/avm-git/lib/avm/git/issue/deliver.rb +0 -56
  104. data/sub/avm-git/lib/avm/git/issue.rb +0 -11
  105. data/sub/avm-git/lib/avm/git/organize/reference_update.rb +0 -34
  106. data/sub/avm-git/lib/avm/git/organize/repository.rb +0 -76
  107. data/sub/avm-git/lib/avm/git/organize.rb +0 -11
  108. data/sub/avm-git/lib/avm/git/revision_test.rb +0 -105
  109. data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +0 -35
  110. data/sub/avm-git/lib/avm/git/scms/git/commit.rb +0 -55
  111. data/sub/avm-git/lib/avm/git/scms/git.rb +0 -73
  112. data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +0 -39
  113. data/sub/avm-git/lib/avm/git/scms/provider.rb +0 -19
  114. data/sub/avm-git/lib/avm/git/scms.rb +0 -11
  115. data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +0 -51
  116. data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +0 -89
  117. data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +0 -32
  118. data/sub/avm-git/lib/avm/git/subrepo_check.rb +0 -38
  119. data/sub/avm-git/lib/avm/git/subrepo_checks.rb +0 -59
  120. data/sub/avm-git/lib/avm/git/version.rb +0 -7
  121. data/sub/avm-git/lib/avm/git.rb +0 -11
  122. data/sub/avm-git/spec/lib/avm/git/auto_commit_path_spec.rb +0 -21
  123. data/sub/avm-git/spec/lib/avm/git/commit/deploy_spec.rb +0 -93
  124. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +0 -13
  125. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +0 -1
  126. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
  127. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +0 -1
  128. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
  129. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +0 -1
  130. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
  131. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +0 -2
  132. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
  133. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
  134. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
  135. data/sub/avm-git/spec/lib/avm/git/commit_spec.rb +0 -56
  136. data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +0 -8
  137. data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +0 -8
  138. data/sub/avm-git/spec/rubocop_spec.rb +0 -3
  139. data/sub/avm-git/spec/spec_helper.rb +0 -4
  140. data/sub/eac_git/Gemfile +0 -5
  141. data/sub/eac_git/eac_git.gemspec +0 -20
  142. data/sub/eac_git/lib/eac_git/executables.rb +0 -48
  143. data/sub/eac_git/lib/eac_git/local/branch.rb +0 -27
  144. data/sub/eac_git/lib/eac_git/local/commit/archive.rb +0 -19
  145. data/sub/eac_git/lib/eac_git/local/commit/changed_file.rb +0 -46
  146. data/sub/eac_git/lib/eac_git/local/commit/diff_tree_line.rb +0 -32
  147. data/sub/eac_git/lib/eac_git/local/commit.rb +0 -73
  148. data/sub/eac_git/lib/eac_git/local/dirty_files.rb +0 -37
  149. data/sub/eac_git/lib/eac_git/local/log.rb +0 -17
  150. data/sub/eac_git/lib/eac_git/local/remote.rb +0 -27
  151. data/sub/eac_git/lib/eac_git/local/remotes.rb +0 -20
  152. data/sub/eac_git/lib/eac_git/local/subrepo/config.rb +0 -43
  153. data/sub/eac_git/lib/eac_git/local/subrepo.rb +0 -49
  154. data/sub/eac_git/lib/eac_git/local.rb +0 -126
  155. data/sub/eac_git/lib/eac_git/remote/ls_result.rb +0 -20
  156. data/sub/eac_git/lib/eac_git/remote.rb +0 -19
  157. data/sub/eac_git/lib/eac_git/rspec/setup.rb +0 -23
  158. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb +0 -71
  159. data/sub/eac_git/lib/eac_git/rspec.rb +0 -9
  160. data/sub/eac_git/lib/eac_git/version.rb +0 -5
  161. data/sub/eac_git/lib/eac_git.rb +0 -7
  162. data/sub/eac_git/spec/lib/eac_git/executables_spec.rb +0 -13
  163. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec.rb +0 -13
  164. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.source.out +0 -1
  165. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
  166. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.source.out +0 -1
  167. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
  168. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.source.out +0 -1
  169. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
  170. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.source.out +0 -2
  171. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
  172. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
  173. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
  174. data/sub/eac_git/spec/lib/eac_git/local/commit_spec.rb +0 -58
  175. data/sub/eac_git/spec/rubocop_spec.rb +0 -3
  176. data/sub/eac_git/spec/spec_helper.rb +0 -4
  177. data/sub/eac_git/vendor/git-subrepo/Changes +0 -110
  178. data/sub/eac_git/vendor/git-subrepo/Intro.pod +0 -509
  179. data/sub/eac_git/vendor/git-subrepo/License +0 -21
  180. data/sub/eac_git/vendor/git-subrepo/Makefile +0 -82
  181. data/sub/eac_git/vendor/git-subrepo/Meta +0 -28
  182. data/sub/eac_git/vendor/git-subrepo/ReadMe.pod +0 -698
  183. data/sub/eac_git/vendor/git-subrepo/doc/comparison.swim +0 -35
  184. data/sub/eac_git/vendor/git-subrepo/doc/git-subrepo.swim +0 -608
  185. data/sub/eac_git/vendor/git-subrepo/doc/intro-to-subrepo.swim +0 -387
  186. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Changes +0 -15
  187. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/License +0 -21
  188. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Makefile +0 -45
  189. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Meta +0 -28
  190. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/ReadMe.pod +0 -77
  191. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/bin/bash+ +0 -43
  192. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +0 -61
  193. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +0 -92
  194. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +0 -134
  195. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +0 -134
  196. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/base.t +0 -12
  197. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/fcopy.t +0 -22
  198. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash +0 -3
  199. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash +0 -3
  200. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +0 -18
  201. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +0 -23
  202. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/test.bash +0 -70
  203. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/use.t +0 -19
  204. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Changes +0 -15
  205. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/License +0 -21
  206. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Makefile +0 -20
  207. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Meta +0 -30
  208. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +0 -115
  209. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +0 -89
  210. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +0 -15
  211. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +0 -21
  212. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +0 -45
  213. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +0 -28
  214. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +0 -77
  215. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +0 -43
  216. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +0 -61
  217. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +0 -92
  218. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +0 -134
  219. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +0 -134
  220. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +0 -12
  221. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +0 -22
  222. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +0 -3
  223. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +0 -3
  224. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +0 -18
  225. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +0 -23
  226. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/test.bash +0 -70
  227. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +0 -19
  228. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +0 -15
  229. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +0 -21
  230. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +0 -37
  231. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +0 -28
  232. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +0 -66
  233. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +0 -48
  234. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +0 -153
  235. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +0 -119
  236. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +0 -13
  237. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t +0 -10
  238. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +0 -20
  239. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +0 -15
  240. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +0 -9
  241. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t +0 -9
  242. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t +0 -10
  243. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +0 -20
  244. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +0 -13
  245. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +0 -14
  246. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +0 -7
  247. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +0 -12
  248. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +0 -8
  249. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +0 -9
  250. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +0 -95
  251. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +0 -173
  252. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/fail.t +0 -20
  253. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/more.t +0 -20
  254. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/pass.t +0 -9
  255. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/setup +0 -8
  256. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/skip_all.t +0 -11
  257. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +0 -12
  258. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t +0 -10
  259. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo +0 -1903
  260. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +0 -1
  261. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +0 -339
  262. data/sub/eac_git/vendor/git-subrepo/man/man1/git-subrepo.1 +0 -743
  263. data/sub/eac_git/vendor/git-subrepo/note/0.4.0 +0 -12
  264. data/sub/eac_git/vendor/git-subrepo/note/AllGitCmds +0 -148
  265. data/sub/eac_git/vendor/git-subrepo/note/Cases +0 -32
  266. data/sub/eac_git/vendor/git-subrepo/note/Commands +0 -33
  267. data/sub/eac_git/vendor/git-subrepo/note/Dags +0 -199
  268. data/sub/eac_git/vendor/git-subrepo/note/Gists +0 -7
  269. data/sub/eac_git/vendor/git-subrepo/note/Links +0 -25
  270. data/sub/eac_git/vendor/git-subrepo/note/Plugins +0 -10
  271. data/sub/eac_git/vendor/git-subrepo/note/Spec +0 -39
  272. data/sub/eac_git/vendor/git-subrepo/note/Story1 +0 -57
  273. data/sub/eac_git/vendor/git-subrepo/note/ToDo +0 -55
  274. data/sub/eac_git/vendor/git-subrepo/note/design.swim +0 -137
  275. data/sub/eac_git/vendor/git-subrepo/note/design2.swim +0 -85
  276. data/sub/eac_git/vendor/git-subrepo/note/init-test +0 -38
  277. data/sub/eac_git/vendor/git-subrepo/note/pull-dance.txt +0 -18
  278. data/sub/eac_git/vendor/git-subrepo/note/recreate-rebase-conflict.sh +0 -56
  279. data/sub/eac_git/vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash +0 -29
  280. data/sub/eac_git/vendor/git-subrepo/note/test-subrepo-push.sh +0 -69
  281. data/sub/eac_git/vendor/git-subrepo/note/test.sh +0 -58
  282. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-completion.pl +0 -210
  283. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +0 -89
  284. data/sub/eac_git/vendor/git-subrepo/share/completion.bash +0 -42
  285. data/sub/eac_git/vendor/git-subrepo/share/enable-completion.sh +0 -50
  286. data/sub/eac_git/vendor/git-subrepo/share/git-completion.bash +0 -2738
  287. data/sub/eac_git/vendor/git-subrepo/share/zsh-completion/_git-subrepo +0 -81
  288. data/sub/eac_git/vendor/git-subrepo/test/branch-all.t +0 -41
  289. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list-one-path.t +0 -43
  290. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list.t +0 -47
  291. data/sub/eac_git/vendor/git-subrepo/test/branch.t +0 -52
  292. data/sub/eac_git/vendor/git-subrepo/test/clean.t +0 -43
  293. data/sub/eac_git/vendor/git-subrepo/test/clone-annotated-tag.t +0 -45
  294. data/sub/eac_git/vendor/git-subrepo/test/clone.t +0 -107
  295. data/sub/eac_git/vendor/git-subrepo/test/compile.t +0 -19
  296. data/sub/eac_git/vendor/git-subrepo/test/config.t +0 -58
  297. data/sub/eac_git/vendor/git-subrepo/test/encode.t +0 -91
  298. data/sub/eac_git/vendor/git-subrepo/test/error.t +0 -171
  299. data/sub/eac_git/vendor/git-subrepo/test/fetch.t +0 -43
  300. data/sub/eac_git/vendor/git-subrepo/test/gitignore.t +0 -61
  301. data/sub/eac_git/vendor/git-subrepo/test/init.t +0 -64
  302. data/sub/eac_git/vendor/git-subrepo/test/issue29.t +0 -98
  303. data/sub/eac_git/vendor/git-subrepo/test/issue95.t +0 -98
  304. data/sub/eac_git/vendor/git-subrepo/test/issue96.t +0 -96
  305. data/sub/eac_git/vendor/git-subrepo/test/pull-all.t +0 -38
  306. data/sub/eac_git/vendor/git-subrepo/test/pull-merge.t +0 -113
  307. data/sub/eac_git/vendor/git-subrepo/test/pull-message.t +0 -88
  308. data/sub/eac_git/vendor/git-subrepo/test/pull-new-branch.t +0 -58
  309. data/sub/eac_git/vendor/git-subrepo/test/pull-ours.t +0 -90
  310. data/sub/eac_git/vendor/git-subrepo/test/pull-theirs.t +0 -82
  311. data/sub/eac_git/vendor/git-subrepo/test/pull-twice.t +0 -44
  312. data/sub/eac_git/vendor/git-subrepo/test/pull-worktree.t +0 -40
  313. data/sub/eac_git/vendor/git-subrepo/test/pull.t +0 -99
  314. data/sub/eac_git/vendor/git-subrepo/test/push-after-init.t +0 -51
  315. data/sub/eac_git/vendor/git-subrepo/test/push-force.t +0 -56
  316. data/sub/eac_git/vendor/git-subrepo/test/push-new-branch.t +0 -61
  317. data/sub/eac_git/vendor/git-subrepo/test/push-no-changes.t +0 -29
  318. data/sub/eac_git/vendor/git-subrepo/test/push-squash.t +0 -56
  319. data/sub/eac_git/vendor/git-subrepo/test/push.t +0 -176
  320. data/sub/eac_git/vendor/git-subrepo/test/reclone.t +0 -45
  321. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/HEAD +0 -1
  322. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/config +0 -4
  323. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
  324. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
  325. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
  326. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
  327. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  328. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
  329. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/heads/master +0 -1
  330. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/tags/A +0 -1
  331. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/HEAD +0 -1
  332. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/config +0 -4
  333. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
  334. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
  335. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  336. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/refs/heads/master +0 -1
  337. data/sub/eac_git/vendor/git-subrepo/test/repo/init/HEAD +0 -1
  338. data/sub/eac_git/vendor/git-subrepo/test/repo/init/config +0 -5
  339. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
  340. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
  341. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +0 -2
  342. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
  343. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
  344. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
  345. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
  346. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
  347. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +0 -1
  348. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
  349. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
  350. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +0 -1
  351. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
  352. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
  353. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +0 -3
  354. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +0 -2
  355. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +0 -2
  356. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +0 -1
  357. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
  358. data/sub/eac_git/vendor/git-subrepo/test/repo/init/refs/heads/master +0 -1
  359. data/sub/eac_git/vendor/git-subrepo/test/setup +0 -205
  360. data/sub/eac_git/vendor/git-subrepo/test/status.t +0 -68
  361. data/sub/eac_git/vendor/git-subrepo/test/submodule.t +0 -45
  362. data/sub/eac_rest/Gemfile +0 -5
  363. data/sub/eac_rest/eac_rest.gemspec +0 -18
  364. data/sub/eac_rest/lib/eac_rest/api.rb +0 -50
  365. data/sub/eac_rest/lib/eac_rest/entity.rb +0 -16
  366. data/sub/eac_rest/lib/eac_rest/request.rb +0 -95
  367. data/sub/eac_rest/lib/eac_rest/response.rb +0 -112
  368. data/sub/eac_rest/lib/eac_rest/version.rb +0 -5
  369. data/sub/eac_rest/lib/eac_rest.rb +0 -7
  370. data/sub/eac_rest/spec/rubocop_spec.rb +0 -3
  371. data/sub/eac_rest/spec/spec_helper.rb +0 -4
  372. data/sub/eac_templates/Gemfile +0 -5
  373. data/sub/eac_templates/eac_templates.gemspec +0 -19
  374. data/sub/eac_templates/lib/eac_templates/core_ext.rb +0 -4
  375. data/sub/eac_templates/lib/eac_templates/directory.rb +0 -108
  376. data/sub/eac_templates/lib/eac_templates/file.rb +0 -48
  377. data/sub/eac_templates/lib/eac_templates/from_all_gems.rb +0 -4
  378. data/sub/eac_templates/lib/eac_templates/from_gem.rb +0 -35
  379. data/sub/eac_templates/lib/eac_templates/patches/module/erb_template.rb +0 -9
  380. data/sub/eac_templates/lib/eac_templates/patches/module/template.rb +0 -10
  381. data/sub/eac_templates/lib/eac_templates/patches/module.rb +0 -4
  382. data/sub/eac_templates/lib/eac_templates/patches/object/erb_template.rb +0 -9
  383. data/sub/eac_templates/lib/eac_templates/patches/object/template.rb +0 -9
  384. data/sub/eac_templates/lib/eac_templates/patches/object.rb +0 -4
  385. data/sub/eac_templates/lib/eac_templates/patches.rb +0 -4
  386. data/sub/eac_templates/lib/eac_templates/searcher.rb +0 -53
  387. data/sub/eac_templates/lib/eac_templates/variable_not_found_error.rb +0 -5
  388. data/sub/eac_templates/lib/eac_templates/variable_providers/base.rb +0 -21
  389. data/sub/eac_templates/lib/eac_templates/variable_providers/config_reader.rb +0 -27
  390. data/sub/eac_templates/lib/eac_templates/variable_providers/entries_reader.rb +0 -23
  391. data/sub/eac_templates/lib/eac_templates/variable_providers/generic.rb +0 -23
  392. data/sub/eac_templates/lib/eac_templates/variable_providers/hash.rb +0 -27
  393. data/sub/eac_templates/lib/eac_templates/variable_providers.rb +0 -23
  394. data/sub/eac_templates/lib/eac_templates/version.rb +0 -5
  395. data/sub/eac_templates/lib/eac_templates.rb +0 -7
  396. data/sub/eac_templates/spec/lib/eac_templates/file_spec.rb +0 -35
  397. data/sub/eac_templates/spec/lib/eac_templates/file_spec_files/expected_content +0 -2
  398. data/sub/eac_templates/spec/lib/eac_templates/file_spec_files/source.template +0 -2
  399. data/sub/eac_templates/spec/lib/eac_templates/searcher_spec.rb +0 -30
  400. data/sub/eac_templates/spec/lib/eac_templates/searcher_spec_files/path1/subdir1/file1.template +0 -1
  401. data/sub/eac_templates/spec/lib/eac_templates/searcher_spec_files/path1/subdir1/file2 +0 -1
  402. data/sub/eac_templates/spec/lib/eac_templates/searcher_spec_files/path2/subdir1/file3.template +0 -1
  403. data/sub/eac_templates/spec/lib/object/template_spec.rb +0 -23
  404. data/sub/eac_templates/spec/lib/object/template_spec_files/path/my_stub_with_template +0 -1
  405. data/sub/eac_templates/spec/rubocop_spec.rb +0 -3
  406. data/sub/eac_templates/spec/spec_helper.rb +0 -4
  407. data/template/avm/eac_wordpress_base0/deploy/wp-config.php.template +0 -90
  408. data/template/avm/ruby/gems/generator/gemspec.template +0 -18
  409. data/template/avm/ruby/gems/generator/root_lib.template +0 -7
  410. data/template/avm/ruby/gems/generator/static/Gemfile +0 -5
  411. data/template/avm/ruby/gems/generator/static/spec/rubocop_spec.rb +0 -3
  412. data/template/avm/ruby/gems/generator/static/spec/spec_helper.rb +0 -4
  413. data/template/avm/ruby/gems/generator/version.template +0 -5
@@ -1,2738 +0,0 @@
1
- # bash/zsh completion support for core Git.
2
- #
3
- # Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org>
4
- # Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/).
5
- # Distributed under the GNU General Public License, version 2.0.
6
- #
7
- # The contained completion routines provide support for completing:
8
- #
9
- # *) local and remote branch names
10
- # *) local and remote tag names
11
- # *) .git/remotes file names
12
- # *) git 'subcommands'
13
- # *) tree paths within 'ref:path/to/file' expressions
14
- # *) file paths within current working directory and index
15
- # *) common --long-options
16
- #
17
- # To use these routines:
18
- #
19
- # 1) Copy this file to somewhere (e.g. ~/.git-completion.sh).
20
- # 2) Add the following line to your .bashrc/.zshrc:
21
- # source ~/.git-completion.sh
22
- # 3) Consider changing your PS1 to also show the current branch,
23
- # see git-prompt.sh for details.
24
- #
25
- # If you use complex aliases of form '!f() { ... }; f', you can use the null
26
- # command ':' as the first command in the function body to declare the desired
27
- # completion style. For example '!f() { : git commit ; ... }; f' will
28
- # tell the completion to use commit completion. This also works with aliases
29
- # of form "!sh -c '...'". For example, "!sh -c ': git commit ; ... '".
30
-
31
- case "$COMP_WORDBREAKS" in
32
- *:*) : great ;;
33
- *) COMP_WORDBREAKS="$COMP_WORDBREAKS:"
34
- esac
35
-
36
- # __gitdir accepts 0 or 1 arguments (i.e., location)
37
- # returns location of .git repo
38
- __gitdir ()
39
- {
40
- if [ -z "${1-}" ]; then
41
- if [ -n "${__git_dir-}" ]; then
42
- echo "$__git_dir"
43
- elif [ -n "${GIT_DIR-}" ]; then
44
- test -d "${GIT_DIR-}" || return 1
45
- echo "$GIT_DIR"
46
- elif [ -d .git ]; then
47
- echo .git
48
- else
49
- git rev-parse --git-dir 2>/dev/null
50
- fi
51
- elif [ -d "$1/.git" ]; then
52
- echo "$1/.git"
53
- else
54
- echo "$1"
55
- fi
56
- }
57
-
58
- # The following function is based on code from:
59
- #
60
- # bash_completion - programmable completion functions for bash 3.2+
61
- #
62
- # Copyright © 2006-2008, Ian Macdonald <ian@caliban.org>
63
- # © 2009-2010, Bash Completion Maintainers
64
- # <bash-completion-devel@lists.alioth.debian.org>
65
- #
66
- # This program is free software; you can redistribute it and/or modify
67
- # it under the terms of the GNU General Public License as published by
68
- # the Free Software Foundation; either version 2, or (at your option)
69
- # any later version.
70
- #
71
- # This program is distributed in the hope that it will be useful,
72
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
73
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
74
- # GNU General Public License for more details.
75
- #
76
- # You should have received a copy of the GNU General Public License
77
- # along with this program; if not, write to the Free Software Foundation,
78
- # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
79
- #
80
- # The latest version of this software can be obtained here:
81
- #
82
- # http://bash-completion.alioth.debian.org/
83
- #
84
- # RELEASE: 2.x
85
-
86
- # This function can be used to access a tokenized list of words
87
- # on the command line:
88
- #
89
- # __git_reassemble_comp_words_by_ref '=:'
90
- # if test "${words_[cword_-1]}" = -w
91
- # then
92
- # ...
93
- # fi
94
- #
95
- # The argument should be a collection of characters from the list of
96
- # word completion separators (COMP_WORDBREAKS) to treat as ordinary
97
- # characters.
98
- #
99
- # This is roughly equivalent to going back in time and setting
100
- # COMP_WORDBREAKS to exclude those characters. The intent is to
101
- # make option types like --date=<type> and <rev>:<path> easy to
102
- # recognize by treating each shell word as a single token.
103
- #
104
- # It is best not to set COMP_WORDBREAKS directly because the value is
105
- # shared with other completion scripts. By the time the completion
106
- # function gets called, COMP_WORDS has already been populated so local
107
- # changes to COMP_WORDBREAKS have no effect.
108
- #
109
- # Output: words_, cword_, cur_.
110
-
111
- __git_reassemble_comp_words_by_ref()
112
- {
113
- local exclude i j first
114
- # Which word separators to exclude?
115
- exclude="${1//[^$COMP_WORDBREAKS]}"
116
- cword_=$COMP_CWORD
117
- if [ -z "$exclude" ]; then
118
- words_=("${COMP_WORDS[@]}")
119
- return
120
- fi
121
- # List of word completion separators has shrunk;
122
- # re-assemble words to complete.
123
- for ((i=0, j=0; i < ${#COMP_WORDS[@]}; i++, j++)); do
124
- # Append each nonempty word consisting of just
125
- # word separator characters to the current word.
126
- first=t
127
- while
128
- [ $i -gt 0 ] &&
129
- [ -n "${COMP_WORDS[$i]}" ] &&
130
- # word consists of excluded word separators
131
- [ "${COMP_WORDS[$i]//[^$exclude]}" = "${COMP_WORDS[$i]}" ]
132
- do
133
- # Attach to the previous token,
134
- # unless the previous token is the command name.
135
- if [ $j -ge 2 ] && [ -n "$first" ]; then
136
- ((j--))
137
- fi
138
- first=
139
- words_[$j]=${words_[j]}${COMP_WORDS[i]}
140
- if [ $i = $COMP_CWORD ]; then
141
- cword_=$j
142
- fi
143
- if (($i < ${#COMP_WORDS[@]} - 1)); then
144
- ((i++))
145
- else
146
- # Done.
147
- return
148
- fi
149
- done
150
- words_[$j]=${words_[j]}${COMP_WORDS[i]}
151
- if [ $i = $COMP_CWORD ]; then
152
- cword_=$j
153
- fi
154
- done
155
- }
156
-
157
- if ! type _get_comp_words_by_ref >/dev/null 2>&1; then
158
- _get_comp_words_by_ref ()
159
- {
160
- local exclude cur_ words_ cword_
161
- if [ "$1" = "-n" ]; then
162
- exclude=$2
163
- shift 2
164
- fi
165
- __git_reassemble_comp_words_by_ref "$exclude"
166
- cur_=${words_[cword_]}
167
- while [ $# -gt 0 ]; do
168
- case "$1" in
169
- cur)
170
- cur=$cur_
171
- ;;
172
- prev)
173
- prev=${words_[$cword_-1]}
174
- ;;
175
- words)
176
- words=("${words_[@]}")
177
- ;;
178
- cword)
179
- cword=$cword_
180
- ;;
181
- esac
182
- shift
183
- done
184
- }
185
- fi
186
-
187
- __gitcompappend ()
188
- {
189
- local i=${#COMPREPLY[@]}
190
- for x in $1; do
191
- if [[ "$x" == "$3"* ]]; then
192
- COMPREPLY[i++]="$2$x$4"
193
- fi
194
- done
195
- }
196
-
197
- __gitcompadd ()
198
- {
199
- COMPREPLY=()
200
- __gitcompappend "$@"
201
- }
202
-
203
- # Generates completion reply, appending a space to possible completion words,
204
- # if necessary.
205
- # It accepts 1 to 4 arguments:
206
- # 1: List of possible completion words.
207
- # 2: A prefix to be added to each possible completion word (optional).
208
- # 3: Generate possible completion matches for this word (optional).
209
- # 4: A suffix to be appended to each possible completion word (optional).
210
- __gitcomp ()
211
- {
212
- local cur_="${3-$cur}"
213
-
214
- case "$cur_" in
215
- --*=)
216
- ;;
217
- *)
218
- local c i=0 IFS=$' \t\n'
219
- for c in $1; do
220
- c="$c${4-}"
221
- if [[ $c == "$cur_"* ]]; then
222
- case $c in
223
- --*=*|*.) ;;
224
- *) c="$c " ;;
225
- esac
226
- COMPREPLY[i++]="${2-}$c"
227
- fi
228
- done
229
- ;;
230
- esac
231
- }
232
-
233
- # Variation of __gitcomp_nl () that appends to the existing list of
234
- # completion candidates, COMPREPLY.
235
- __gitcomp_nl_append ()
236
- {
237
- local IFS=$'\n'
238
- __gitcompappend "$1" "${2-}" "${3-$cur}" "${4- }"
239
- }
240
-
241
- # Generates completion reply from newline-separated possible completion words
242
- # by appending a space to all of them.
243
- # It accepts 1 to 4 arguments:
244
- # 1: List of possible completion words, separated by a single newline.
245
- # 2: A prefix to be added to each possible completion word (optional).
246
- # 3: Generate possible completion matches for this word (optional).
247
- # 4: A suffix to be appended to each possible completion word instead of
248
- # the default space (optional). If specified but empty, nothing is
249
- # appended.
250
- __gitcomp_nl ()
251
- {
252
- COMPREPLY=()
253
- __gitcomp_nl_append "$@"
254
- }
255
-
256
- # Generates completion reply with compgen from newline-separated possible
257
- # completion filenames.
258
- # It accepts 1 to 3 arguments:
259
- # 1: List of possible completion filenames, separated by a single newline.
260
- # 2: A directory prefix to be added to each possible completion filename
261
- # (optional).
262
- # 3: Generate possible completion matches for this word (optional).
263
- __gitcomp_file ()
264
- {
265
- local IFS=$'\n'
266
-
267
- # XXX does not work when the directory prefix contains a tilde,
268
- # since tilde expansion is not applied.
269
- # This means that COMPREPLY will be empty and Bash default
270
- # completion will be used.
271
- __gitcompadd "$1" "${2-}" "${3-$cur}" ""
272
-
273
- # use a hack to enable file mode in bash < 4
274
- compopt -o filenames +o nospace 2>/dev/null ||
275
- compgen -f /non-existing-dir/ > /dev/null
276
- }
277
-
278
- # Execute 'git ls-files', unless the --committable option is specified, in
279
- # which case it runs 'git diff-index' to find out the files that can be
280
- # committed. It return paths relative to the directory specified in the first
281
- # argument, and using the options specified in the second argument.
282
- __git_ls_files_helper ()
283
- {
284
- (
285
- test -n "${CDPATH+set}" && unset CDPATH
286
- cd "$1"
287
- if [ "$2" == "--committable" ]; then
288
- git diff-index --name-only --relative HEAD
289
- else
290
- # NOTE: $2 is not quoted in order to support multiple options
291
- git ls-files --exclude-standard $2
292
- fi
293
- ) 2>/dev/null
294
- }
295
-
296
-
297
- # __git_index_files accepts 1 or 2 arguments:
298
- # 1: Options to pass to ls-files (required).
299
- # 2: A directory path (optional).
300
- # If provided, only files within the specified directory are listed.
301
- # Sub directories are never recursed. Path must have a trailing
302
- # slash.
303
- __git_index_files ()
304
- {
305
- local dir="$(__gitdir)" root="${2-.}" file
306
-
307
- if [ -d "$dir" ]; then
308
- __git_ls_files_helper "$root" "$1" |
309
- while read -r file; do
310
- case "$file" in
311
- ?*/*) echo "${file%%/*}" ;;
312
- *) echo "$file" ;;
313
- esac
314
- done | sort | uniq
315
- fi
316
- }
317
-
318
- __git_heads ()
319
- {
320
- local dir="$(__gitdir)"
321
- if [ -d "$dir" ]; then
322
- git --git-dir="$dir" for-each-ref --format='%(refname:short)' \
323
- refs/heads
324
- return
325
- fi
326
- }
327
-
328
- __git_tags ()
329
- {
330
- local dir="$(__gitdir)"
331
- if [ -d "$dir" ]; then
332
- git --git-dir="$dir" for-each-ref --format='%(refname:short)' \
333
- refs/tags
334
- return
335
- fi
336
- }
337
-
338
- # __git_refs accepts 0, 1 (to pass to __gitdir), or 2 arguments
339
- # presence of 2nd argument means use the guess heuristic employed
340
- # by checkout for tracking branches
341
- __git_refs ()
342
- {
343
- local i hash dir="$(__gitdir "${1-}")" track="${2-}"
344
- local format refs
345
- if [ -d "$dir" ]; then
346
- case "$cur" in
347
- refs|refs/*)
348
- format="refname"
349
- refs="${cur%/*}"
350
- track=""
351
- ;;
352
- *)
353
- for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do
354
- if [ -e "$dir/$i" ]; then echo $i; fi
355
- done
356
- format="refname:short"
357
- refs="refs/tags refs/heads refs/remotes"
358
- ;;
359
- esac
360
- git --git-dir="$dir" for-each-ref --format="%($format)" \
361
- $refs
362
- if [ -n "$track" ]; then
363
- # employ the heuristic used by git checkout
364
- # Try to find a remote branch that matches the completion word
365
- # but only output if the branch name is unique
366
- local ref entry
367
- git --git-dir="$dir" for-each-ref --shell --format="ref=%(refname:short)" \
368
- "refs/remotes/" | \
369
- while read -r entry; do
370
- eval "$entry"
371
- ref="${ref#*/}"
372
- if [[ "$ref" == "$cur"* ]]; then
373
- echo "$ref"
374
- fi
375
- done | sort | uniq -u
376
- fi
377
- return
378
- fi
379
- case "$cur" in
380
- refs|refs/*)
381
- git ls-remote "$dir" "$cur*" 2>/dev/null | \
382
- while read -r hash i; do
383
- case "$i" in
384
- *^{}) ;;
385
- *) echo "$i" ;;
386
- esac
387
- done
388
- ;;
389
- *)
390
- echo "HEAD"
391
- git for-each-ref --format="%(refname:short)" -- "refs/remotes/$dir/" | sed -e "s#^$dir/##"
392
- ;;
393
- esac
394
- }
395
-
396
- # __git_refs2 requires 1 argument (to pass to __git_refs)
397
- __git_refs2 ()
398
- {
399
- local i
400
- for i in $(__git_refs "$1"); do
401
- echo "$i:$i"
402
- done
403
- }
404
-
405
- # __git_refs_remotes requires 1 argument (to pass to ls-remote)
406
- __git_refs_remotes ()
407
- {
408
- local i hash
409
- git ls-remote "$1" 'refs/heads/*' 2>/dev/null | \
410
- while read -r hash i; do
411
- echo "$i:refs/remotes/$1/${i#refs/heads/}"
412
- done
413
- }
414
-
415
- __git_remotes ()
416
- {
417
- local i IFS=$'\n' d="$(__gitdir)"
418
- test -d "$d/remotes" && ls -1 "$d/remotes"
419
- for i in $(git --git-dir="$d" config --get-regexp 'remote\..*\.url' 2>/dev/null); do
420
- i="${i#remote.}"
421
- echo "${i/.url*/}"
422
- done
423
- }
424
-
425
- __git_list_merge_strategies ()
426
- {
427
- git merge -s help 2>&1 |
428
- sed -n -e '/[Aa]vailable strategies are: /,/^$/{
429
- s/\.$//
430
- s/.*://
431
- s/^[ ]*//
432
- s/[ ]*$//
433
- p
434
- }'
435
- }
436
-
437
- __git_merge_strategies=
438
- # 'git merge -s help' (and thus detection of the merge strategy
439
- # list) fails, unfortunately, if run outside of any git working
440
- # tree. __git_merge_strategies is set to the empty string in
441
- # that case, and the detection will be repeated the next time it
442
- # is needed.
443
- __git_compute_merge_strategies ()
444
- {
445
- test -n "$__git_merge_strategies" ||
446
- __git_merge_strategies=$(__git_list_merge_strategies)
447
- }
448
-
449
- __git_complete_revlist_file ()
450
- {
451
- local pfx ls ref cur_="$cur"
452
- case "$cur_" in
453
- *..?*:*)
454
- return
455
- ;;
456
- ?*:*)
457
- ref="${cur_%%:*}"
458
- cur_="${cur_#*:}"
459
- case "$cur_" in
460
- ?*/*)
461
- pfx="${cur_%/*}"
462
- cur_="${cur_##*/}"
463
- ls="$ref:$pfx"
464
- pfx="$pfx/"
465
- ;;
466
- *)
467
- ls="$ref"
468
- ;;
469
- esac
470
-
471
- case "$COMP_WORDBREAKS" in
472
- *:*) : great ;;
473
- *) pfx="$ref:$pfx" ;;
474
- esac
475
-
476
- __gitcomp_nl "$(git --git-dir="$(__gitdir)" ls-tree "$ls" 2>/dev/null \
477
- | sed '/^100... blob /{
478
- s,^.* ,,
479
- s,$, ,
480
- }
481
- /^120000 blob /{
482
- s,^.* ,,
483
- s,$, ,
484
- }
485
- /^040000 tree /{
486
- s,^.* ,,
487
- s,$,/,
488
- }
489
- s/^.* //')" \
490
- "$pfx" "$cur_" ""
491
- ;;
492
- *...*)
493
- pfx="${cur_%...*}..."
494
- cur_="${cur_#*...}"
495
- __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
496
- ;;
497
- *..*)
498
- pfx="${cur_%..*}.."
499
- cur_="${cur_#*..}"
500
- __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
501
- ;;
502
- *)
503
- __gitcomp_nl "$(__git_refs)"
504
- ;;
505
- esac
506
- }
507
-
508
-
509
- # __git_complete_index_file requires 1 argument:
510
- # 1: the options to pass to ls-file
511
- #
512
- # The exception is --committable, which finds the files appropriate commit.
513
- __git_complete_index_file ()
514
- {
515
- local pfx="" cur_="$cur"
516
-
517
- case "$cur_" in
518
- ?*/*)
519
- pfx="${cur_%/*}"
520
- cur_="${cur_##*/}"
521
- pfx="${pfx}/"
522
- ;;
523
- esac
524
-
525
- __gitcomp_file "$(__git_index_files "$1" "$pfx")" "$pfx" "$cur_"
526
- }
527
-
528
- __git_complete_file ()
529
- {
530
- __git_complete_revlist_file
531
- }
532
-
533
- __git_complete_revlist ()
534
- {
535
- __git_complete_revlist_file
536
- }
537
-
538
- __git_complete_remote_or_refspec ()
539
- {
540
- local cur_="$cur" cmd="${words[1]}"
541
- local i c=2 remote="" pfx="" lhs=1 no_complete_refspec=0
542
- if [ "$cmd" = "remote" ]; then
543
- ((c++))
544
- fi
545
- while [ $c -lt $cword ]; do
546
- i="${words[c]}"
547
- case "$i" in
548
- --mirror) [ "$cmd" = "push" ] && no_complete_refspec=1 ;;
549
- --all)
550
- case "$cmd" in
551
- push) no_complete_refspec=1 ;;
552
- fetch)
553
- return
554
- ;;
555
- *) ;;
556
- esac
557
- ;;
558
- -*) ;;
559
- *) remote="$i"; break ;;
560
- esac
561
- ((c++))
562
- done
563
- if [ -z "$remote" ]; then
564
- __gitcomp_nl "$(__git_remotes)"
565
- return
566
- fi
567
- if [ $no_complete_refspec = 1 ]; then
568
- return
569
- fi
570
- [ "$remote" = "." ] && remote=
571
- case "$cur_" in
572
- *:*)
573
- case "$COMP_WORDBREAKS" in
574
- *:*) : great ;;
575
- *) pfx="${cur_%%:*}:" ;;
576
- esac
577
- cur_="${cur_#*:}"
578
- lhs=0
579
- ;;
580
- +*)
581
- pfx="+"
582
- cur_="${cur_#+}"
583
- ;;
584
- esac
585
- case "$cmd" in
586
- fetch)
587
- if [ $lhs = 1 ]; then
588
- __gitcomp_nl "$(__git_refs2 "$remote")" "$pfx" "$cur_"
589
- else
590
- __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
591
- fi
592
- ;;
593
- pull|remote)
594
- if [ $lhs = 1 ]; then
595
- __gitcomp_nl "$(__git_refs "$remote")" "$pfx" "$cur_"
596
- else
597
- __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
598
- fi
599
- ;;
600
- push)
601
- if [ $lhs = 1 ]; then
602
- __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
603
- else
604
- __gitcomp_nl "$(__git_refs "$remote")" "$pfx" "$cur_"
605
- fi
606
- ;;
607
- esac
608
- }
609
-
610
- __git_complete_strategy ()
611
- {
612
- __git_compute_merge_strategies
613
- case "$prev" in
614
- -s|--strategy)
615
- __gitcomp "$__git_merge_strategies"
616
- return 0
617
- esac
618
- case "$cur" in
619
- --strategy=*)
620
- __gitcomp "$__git_merge_strategies" "" "${cur##--strategy=}"
621
- return 0
622
- ;;
623
- esac
624
- return 1
625
- }
626
-
627
- __git_commands () {
628
- if test -n "${GIT_TESTING_COMMAND_COMPLETION:-}"
629
- then
630
- printf "%s" "${GIT_TESTING_COMMAND_COMPLETION}"
631
- else
632
- git help -a|egrep '^ [a-zA-Z0-9]'
633
- fi
634
- }
635
-
636
- __git_list_all_commands ()
637
- {
638
- local i IFS=" "$'\n'
639
- for i in $(__git_commands)
640
- do
641
- case $i in
642
- *--*) : helper pattern;;
643
- *) echo $i;;
644
- esac
645
- done
646
- }
647
-
648
- __git_all_commands=
649
- __git_compute_all_commands ()
650
- {
651
- test -n "$__git_all_commands" ||
652
- __git_all_commands=$(__git_list_all_commands)
653
- }
654
-
655
- __git_list_porcelain_commands ()
656
- {
657
- local i IFS=" "$'\n'
658
- __git_compute_all_commands
659
- for i in $__git_all_commands
660
- do
661
- case $i in
662
- *--*) : helper pattern;;
663
- applymbox) : ask gittus;;
664
- applypatch) : ask gittus;;
665
- archimport) : import;;
666
- cat-file) : plumbing;;
667
- check-attr) : plumbing;;
668
- check-ignore) : plumbing;;
669
- check-mailmap) : plumbing;;
670
- check-ref-format) : plumbing;;
671
- checkout-index) : plumbing;;
672
- commit-tree) : plumbing;;
673
- count-objects) : infrequent;;
674
- credential-cache) : credentials helper;;
675
- credential-store) : credentials helper;;
676
- cvsexportcommit) : export;;
677
- cvsimport) : import;;
678
- cvsserver) : daemon;;
679
- daemon) : daemon;;
680
- diff-files) : plumbing;;
681
- diff-index) : plumbing;;
682
- diff-tree) : plumbing;;
683
- fast-import) : import;;
684
- fast-export) : export;;
685
- fsck-objects) : plumbing;;
686
- fetch-pack) : plumbing;;
687
- fmt-merge-msg) : plumbing;;
688
- for-each-ref) : plumbing;;
689
- hash-object) : plumbing;;
690
- http-*) : transport;;
691
- index-pack) : plumbing;;
692
- init-db) : deprecated;;
693
- local-fetch) : plumbing;;
694
- ls-files) : plumbing;;
695
- ls-remote) : plumbing;;
696
- ls-tree) : plumbing;;
697
- mailinfo) : plumbing;;
698
- mailsplit) : plumbing;;
699
- merge-*) : plumbing;;
700
- mktree) : plumbing;;
701
- mktag) : plumbing;;
702
- pack-objects) : plumbing;;
703
- pack-redundant) : plumbing;;
704
- pack-refs) : plumbing;;
705
- parse-remote) : plumbing;;
706
- patch-id) : plumbing;;
707
- prune) : plumbing;;
708
- prune-packed) : plumbing;;
709
- quiltimport) : import;;
710
- read-tree) : plumbing;;
711
- receive-pack) : plumbing;;
712
- remote-*) : transport;;
713
- rerere) : plumbing;;
714
- rev-list) : plumbing;;
715
- rev-parse) : plumbing;;
716
- runstatus) : plumbing;;
717
- sh-setup) : internal;;
718
- shell) : daemon;;
719
- show-ref) : plumbing;;
720
- send-pack) : plumbing;;
721
- show-index) : plumbing;;
722
- ssh-*) : transport;;
723
- stripspace) : plumbing;;
724
- symbolic-ref) : plumbing;;
725
- unpack-file) : plumbing;;
726
- unpack-objects) : plumbing;;
727
- update-index) : plumbing;;
728
- update-ref) : plumbing;;
729
- update-server-info) : daemon;;
730
- upload-archive) : plumbing;;
731
- upload-pack) : plumbing;;
732
- write-tree) : plumbing;;
733
- var) : infrequent;;
734
- verify-pack) : infrequent;;
735
- verify-tag) : plumbing;;
736
- *) echo $i;;
737
- esac
738
- done
739
- }
740
-
741
- __git_porcelain_commands=
742
- __git_compute_porcelain_commands ()
743
- {
744
- __git_compute_all_commands
745
- test -n "$__git_porcelain_commands" ||
746
- __git_porcelain_commands=$(__git_list_porcelain_commands)
747
- }
748
-
749
- __git_pretty_aliases ()
750
- {
751
- local i IFS=$'\n'
752
- for i in $(git --git-dir="$(__gitdir)" config --get-regexp "pretty\..*" 2>/dev/null); do
753
- case "$i" in
754
- pretty.*)
755
- i="${i#pretty.}"
756
- echo "${i/ */}"
757
- ;;
758
- esac
759
- done
760
- }
761
-
762
- __git_aliases ()
763
- {
764
- local i IFS=$'\n'
765
- for i in $(git --git-dir="$(__gitdir)" config --get-regexp "alias\..*" 2>/dev/null); do
766
- case "$i" in
767
- alias.*)
768
- i="${i#alias.}"
769
- echo "${i/ */}"
770
- ;;
771
- esac
772
- done
773
- }
774
-
775
- # __git_aliased_command requires 1 argument
776
- __git_aliased_command ()
777
- {
778
- local word cmdline=$(git --git-dir="$(__gitdir)" \
779
- config --get "alias.$1")
780
- for word in $cmdline; do
781
- case "$word" in
782
- \!gitk|gitk)
783
- echo "gitk"
784
- return
785
- ;;
786
- \!*) : shell command alias ;;
787
- -*) : option ;;
788
- *=*) : setting env ;;
789
- git) : git itself ;;
790
- \(\)) : skip parens of shell function definition ;;
791
- {) : skip start of shell helper function ;;
792
- :) : skip null command ;;
793
- \'*) : skip opening quote after sh -c ;;
794
- *)
795
- echo "$word"
796
- return
797
- esac
798
- done
799
- }
800
-
801
- # __git_find_on_cmdline requires 1 argument
802
- __git_find_on_cmdline ()
803
- {
804
- local word subcommand c=1
805
- while [ $c -lt $cword ]; do
806
- word="${words[c]}"
807
- for subcommand in $1; do
808
- if [ "$subcommand" = "$word" ]; then
809
- echo "$subcommand"
810
- return
811
- fi
812
- done
813
- ((c++))
814
- done
815
- }
816
-
817
- __git_has_doubledash ()
818
- {
819
- local c=1
820
- while [ $c -lt $cword ]; do
821
- if [ "--" = "${words[c]}" ]; then
822
- return 0
823
- fi
824
- ((c++))
825
- done
826
- return 1
827
- }
828
-
829
- # Try to count non option arguments passed on the command line for the
830
- # specified git command.
831
- # When options are used, it is necessary to use the special -- option to
832
- # tell the implementation were non option arguments begin.
833
- # XXX this can not be improved, since options can appear everywhere, as
834
- # an example:
835
- # git mv x -n y
836
- #
837
- # __git_count_arguments requires 1 argument: the git command executed.
838
- __git_count_arguments ()
839
- {
840
- local word i c=0
841
-
842
- # Skip "git" (first argument)
843
- for ((i=1; i < ${#words[@]}; i++)); do
844
- word="${words[i]}"
845
-
846
- case "$word" in
847
- --)
848
- # Good; we can assume that the following are only non
849
- # option arguments.
850
- ((c = 0))
851
- ;;
852
- "$1")
853
- # Skip the specified git command and discard git
854
- # main options
855
- ((c = 0))
856
- ;;
857
- ?*)
858
- ((c++))
859
- ;;
860
- esac
861
- done
862
-
863
- printf "%d" $c
864
- }
865
-
866
- __git_whitespacelist="nowarn warn error error-all fix"
867
-
868
- _git_am ()
869
- {
870
- local dir="$(__gitdir)"
871
- if [ -d "$dir"/rebase-apply ]; then
872
- __gitcomp "--skip --continue --resolved --abort"
873
- return
874
- fi
875
- case "$cur" in
876
- --whitespace=*)
877
- __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}"
878
- return
879
- ;;
880
- --*)
881
- __gitcomp "
882
- --3way --committer-date-is-author-date --ignore-date
883
- --ignore-whitespace --ignore-space-change
884
- --interactive --keep --no-utf8 --signoff --utf8
885
- --whitespace= --scissors
886
- "
887
- return
888
- esac
889
- }
890
-
891
- _git_apply ()
892
- {
893
- case "$cur" in
894
- --whitespace=*)
895
- __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}"
896
- return
897
- ;;
898
- --*)
899
- __gitcomp "
900
- --stat --numstat --summary --check --index
901
- --cached --index-info --reverse --reject --unidiff-zero
902
- --apply --no-add --exclude=
903
- --ignore-whitespace --ignore-space-change
904
- --whitespace= --inaccurate-eof --verbose
905
- "
906
- return
907
- esac
908
- }
909
-
910
- _git_add ()
911
- {
912
- case "$cur" in
913
- --*)
914
- __gitcomp "
915
- --interactive --refresh --patch --update --dry-run
916
- --ignore-errors --intent-to-add
917
- "
918
- return
919
- esac
920
-
921
- # XXX should we check for --update and --all options ?
922
- __git_complete_index_file "--others --modified --directory --no-empty-directory"
923
- }
924
-
925
- _git_archive ()
926
- {
927
- case "$cur" in
928
- --format=*)
929
- __gitcomp "$(git archive --list)" "" "${cur##--format=}"
930
- return
931
- ;;
932
- --remote=*)
933
- __gitcomp_nl "$(__git_remotes)" "" "${cur##--remote=}"
934
- return
935
- ;;
936
- --*)
937
- __gitcomp "
938
- --format= --list --verbose
939
- --prefix= --remote= --exec=
940
- "
941
- return
942
- ;;
943
- esac
944
- __git_complete_file
945
- }
946
-
947
- _git_bisect ()
948
- {
949
- __git_has_doubledash && return
950
-
951
- local subcommands="start bad good skip reset visualize replay log run"
952
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
953
- if [ -z "$subcommand" ]; then
954
- if [ -f "$(__gitdir)"/BISECT_START ]; then
955
- __gitcomp "$subcommands"
956
- else
957
- __gitcomp "replay start"
958
- fi
959
- return
960
- fi
961
-
962
- case "$subcommand" in
963
- bad|good|reset|skip|start)
964
- __gitcomp_nl "$(__git_refs)"
965
- ;;
966
- *)
967
- ;;
968
- esac
969
- }
970
-
971
- _git_branch ()
972
- {
973
- local i c=1 only_local_ref="n" has_r="n"
974
-
975
- while [ $c -lt $cword ]; do
976
- i="${words[c]}"
977
- case "$i" in
978
- -d|-m) only_local_ref="y" ;;
979
- -r) has_r="y" ;;
980
- esac
981
- ((c++))
982
- done
983
-
984
- case "$cur" in
985
- --set-upstream-to=*)
986
- __gitcomp "$(__git_refs)" "" "${cur##--set-upstream-to=}"
987
- ;;
988
- --*)
989
- __gitcomp "
990
- --color --no-color --verbose --abbrev= --no-abbrev
991
- --track --no-track --contains --merged --no-merged
992
- --set-upstream-to= --edit-description --list
993
- --unset-upstream
994
- "
995
- ;;
996
- *)
997
- if [ $only_local_ref = "y" -a $has_r = "n" ]; then
998
- __gitcomp_nl "$(__git_heads)"
999
- else
1000
- __gitcomp_nl "$(__git_refs)"
1001
- fi
1002
- ;;
1003
- esac
1004
- }
1005
-
1006
- _git_bundle ()
1007
- {
1008
- local cmd="${words[2]}"
1009
- case "$cword" in
1010
- 2)
1011
- __gitcomp "create list-heads verify unbundle"
1012
- ;;
1013
- 3)
1014
- # looking for a file
1015
- ;;
1016
- *)
1017
- case "$cmd" in
1018
- create)
1019
- __git_complete_revlist
1020
- ;;
1021
- esac
1022
- ;;
1023
- esac
1024
- }
1025
-
1026
- _git_checkout ()
1027
- {
1028
- __git_has_doubledash && return
1029
-
1030
- case "$cur" in
1031
- --conflict=*)
1032
- __gitcomp "diff3 merge" "" "${cur##--conflict=}"
1033
- ;;
1034
- --*)
1035
- __gitcomp "
1036
- --quiet --ours --theirs --track --no-track --merge
1037
- --conflict= --orphan --patch
1038
- "
1039
- ;;
1040
- *)
1041
- # check if --track, --no-track, or --no-guess was specified
1042
- # if so, disable DWIM mode
1043
- local flags="--track --no-track --no-guess" track=1
1044
- if [ -n "$(__git_find_on_cmdline "$flags")" ]; then
1045
- track=''
1046
- fi
1047
- __gitcomp_nl "$(__git_refs '' $track)"
1048
- ;;
1049
- esac
1050
- }
1051
-
1052
- _git_cherry ()
1053
- {
1054
- __gitcomp "$(__git_refs)"
1055
- }
1056
-
1057
- _git_cherry_pick ()
1058
- {
1059
- local dir="$(__gitdir)"
1060
- if [ -f "$dir"/CHERRY_PICK_HEAD ]; then
1061
- __gitcomp "--continue --quit --abort"
1062
- return
1063
- fi
1064
- case "$cur" in
1065
- --*)
1066
- __gitcomp "--edit --no-commit --signoff --strategy= --mainline"
1067
- ;;
1068
- *)
1069
- __gitcomp_nl "$(__git_refs)"
1070
- ;;
1071
- esac
1072
- }
1073
-
1074
- _git_clean ()
1075
- {
1076
- case "$cur" in
1077
- --*)
1078
- __gitcomp "--dry-run --quiet"
1079
- return
1080
- ;;
1081
- esac
1082
-
1083
- # XXX should we check for -x option ?
1084
- __git_complete_index_file "--others --directory"
1085
- }
1086
-
1087
- _git_clone ()
1088
- {
1089
- case "$cur" in
1090
- --*)
1091
- __gitcomp "
1092
- --local
1093
- --no-hardlinks
1094
- --shared
1095
- --reference
1096
- --quiet
1097
- --no-checkout
1098
- --bare
1099
- --mirror
1100
- --origin
1101
- --upload-pack
1102
- --template=
1103
- --depth
1104
- --single-branch
1105
- --branch
1106
- "
1107
- return
1108
- ;;
1109
- esac
1110
- }
1111
-
1112
- _git_commit ()
1113
- {
1114
- case "$prev" in
1115
- -c|-C)
1116
- __gitcomp_nl "$(__git_refs)" "" "${cur}"
1117
- return
1118
- ;;
1119
- esac
1120
-
1121
- case "$cur" in
1122
- --cleanup=*)
1123
- __gitcomp "default strip verbatim whitespace
1124
- " "" "${cur##--cleanup=}"
1125
- return
1126
- ;;
1127
- --reuse-message=*|--reedit-message=*|\
1128
- --fixup=*|--squash=*)
1129
- __gitcomp_nl "$(__git_refs)" "" "${cur#*=}"
1130
- return
1131
- ;;
1132
- --untracked-files=*)
1133
- __gitcomp "all no normal" "" "${cur##--untracked-files=}"
1134
- return
1135
- ;;
1136
- --*)
1137
- __gitcomp "
1138
- --all --author= --signoff --verify --no-verify
1139
- --edit --no-edit
1140
- --amend --include --only --interactive
1141
- --dry-run --reuse-message= --reedit-message=
1142
- --reset-author --file= --message= --template=
1143
- --cleanup= --untracked-files --untracked-files=
1144
- --verbose --quiet --fixup= --squash=
1145
- "
1146
- return
1147
- esac
1148
-
1149
- if git rev-parse --verify --quiet HEAD >/dev/null; then
1150
- __git_complete_index_file "--committable"
1151
- else
1152
- # This is the first commit
1153
- __git_complete_index_file "--cached"
1154
- fi
1155
- }
1156
-
1157
- _git_describe ()
1158
- {
1159
- case "$cur" in
1160
- --*)
1161
- __gitcomp "
1162
- --all --tags --contains --abbrev= --candidates=
1163
- --exact-match --debug --long --match --always
1164
- "
1165
- return
1166
- esac
1167
- __gitcomp_nl "$(__git_refs)"
1168
- }
1169
-
1170
- __git_diff_algorithms="myers minimal patience histogram"
1171
-
1172
- __git_diff_common_options="--stat --numstat --shortstat --summary
1173
- --patch-with-stat --name-only --name-status --color
1174
- --no-color --color-words --no-renames --check
1175
- --full-index --binary --abbrev --diff-filter=
1176
- --find-copies-harder
1177
- --text --ignore-space-at-eol --ignore-space-change
1178
- --ignore-all-space --exit-code --quiet --ext-diff
1179
- --no-ext-diff
1180
- --no-prefix --src-prefix= --dst-prefix=
1181
- --inter-hunk-context=
1182
- --patience --histogram --minimal
1183
- --raw --word-diff
1184
- --dirstat --dirstat= --dirstat-by-file
1185
- --dirstat-by-file= --cumulative
1186
- --diff-algorithm=
1187
- "
1188
-
1189
- _git_diff ()
1190
- {
1191
- __git_has_doubledash && return
1192
-
1193
- case "$cur" in
1194
- --diff-algorithm=*)
1195
- __gitcomp "$__git_diff_algorithms" "" "${cur##--diff-algorithm=}"
1196
- return
1197
- ;;
1198
- --*)
1199
- __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex
1200
- --base --ours --theirs --no-index
1201
- $__git_diff_common_options
1202
- "
1203
- return
1204
- ;;
1205
- esac
1206
- __git_complete_revlist_file
1207
- }
1208
-
1209
- __git_mergetools_common="diffuse diffmerge ecmerge emerge kdiff3 meld opendiff
1210
- tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3 codecompare
1211
- "
1212
-
1213
- _git_difftool ()
1214
- {
1215
- __git_has_doubledash && return
1216
-
1217
- case "$cur" in
1218
- --tool=*)
1219
- __gitcomp "$__git_mergetools_common kompare" "" "${cur##--tool=}"
1220
- return
1221
- ;;
1222
- --*)
1223
- __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex
1224
- --base --ours --theirs
1225
- --no-renames --diff-filter= --find-copies-harder
1226
- --relative --ignore-submodules
1227
- --tool="
1228
- return
1229
- ;;
1230
- esac
1231
- __git_complete_revlist_file
1232
- }
1233
-
1234
- __git_fetch_recurse_submodules="yes on-demand no"
1235
-
1236
- __git_fetch_options="
1237
- --quiet --verbose --append --upload-pack --force --keep --depth=
1238
- --tags --no-tags --all --prune --dry-run --recurse-submodules=
1239
- "
1240
-
1241
- _git_fetch ()
1242
- {
1243
- case "$cur" in
1244
- --recurse-submodules=*)
1245
- __gitcomp "$__git_fetch_recurse_submodules" "" "${cur##--recurse-submodules=}"
1246
- return
1247
- ;;
1248
- --*)
1249
- __gitcomp "$__git_fetch_options"
1250
- return
1251
- ;;
1252
- esac
1253
- __git_complete_remote_or_refspec
1254
- }
1255
-
1256
- __git_format_patch_options="
1257
- --stdout --attach --no-attach --thread --thread= --no-thread
1258
- --numbered --start-number --numbered-files --keep-subject --signoff
1259
- --signature --no-signature --in-reply-to= --cc= --full-index --binary
1260
- --not --all --cover-letter --no-prefix --src-prefix= --dst-prefix=
1261
- --inline --suffix= --ignore-if-in-upstream --subject-prefix=
1262
- --output-directory --reroll-count --to= --quiet --notes
1263
- "
1264
-
1265
- _git_format_patch ()
1266
- {
1267
- case "$cur" in
1268
- --thread=*)
1269
- __gitcomp "
1270
- deep shallow
1271
- " "" "${cur##--thread=}"
1272
- return
1273
- ;;
1274
- --*)
1275
- __gitcomp "$__git_format_patch_options"
1276
- return
1277
- ;;
1278
- esac
1279
- __git_complete_revlist
1280
- }
1281
-
1282
- _git_fsck ()
1283
- {
1284
- case "$cur" in
1285
- --*)
1286
- __gitcomp "
1287
- --tags --root --unreachable --cache --no-reflogs --full
1288
- --strict --verbose --lost-found
1289
- "
1290
- return
1291
- ;;
1292
- esac
1293
- }
1294
-
1295
- _git_gc ()
1296
- {
1297
- case "$cur" in
1298
- --*)
1299
- __gitcomp "--prune --aggressive"
1300
- return
1301
- ;;
1302
- esac
1303
- }
1304
-
1305
- _git_gitk ()
1306
- {
1307
- _gitk
1308
- }
1309
-
1310
- __git_match_ctag() {
1311
- awk "/^${1////\\/}/ { print \$1 }" "$2"
1312
- }
1313
-
1314
- _git_grep ()
1315
- {
1316
- __git_has_doubledash && return
1317
-
1318
- case "$cur" in
1319
- --*)
1320
- __gitcomp "
1321
- --cached
1322
- --text --ignore-case --word-regexp --invert-match
1323
- --full-name --line-number
1324
- --extended-regexp --basic-regexp --fixed-strings
1325
- --perl-regexp
1326
- --files-with-matches --name-only
1327
- --files-without-match
1328
- --max-depth
1329
- --count
1330
- --and --or --not --all-match
1331
- "
1332
- return
1333
- ;;
1334
- esac
1335
-
1336
- case "$cword,$prev" in
1337
- 2,*|*,-*)
1338
- if test -r tags; then
1339
- __gitcomp_nl "$(__git_match_ctag "$cur" tags)"
1340
- return
1341
- fi
1342
- ;;
1343
- esac
1344
-
1345
- __gitcomp_nl "$(__git_refs)"
1346
- }
1347
-
1348
- _git_help ()
1349
- {
1350
- case "$cur" in
1351
- --*)
1352
- __gitcomp "--all --info --man --web"
1353
- return
1354
- ;;
1355
- esac
1356
- __git_compute_all_commands
1357
- __gitcomp "$__git_all_commands $(__git_aliases)
1358
- attributes cli core-tutorial cvs-migration
1359
- diffcore gitk glossary hooks ignore modules
1360
- namespaces repository-layout tutorial tutorial-2
1361
- workflows
1362
- "
1363
- }
1364
-
1365
- _git_init ()
1366
- {
1367
- case "$cur" in
1368
- --shared=*)
1369
- __gitcomp "
1370
- false true umask group all world everybody
1371
- " "" "${cur##--shared=}"
1372
- return
1373
- ;;
1374
- --*)
1375
- __gitcomp "--quiet --bare --template= --shared --shared="
1376
- return
1377
- ;;
1378
- esac
1379
- }
1380
-
1381
- _git_ls_files ()
1382
- {
1383
- case "$cur" in
1384
- --*)
1385
- __gitcomp "--cached --deleted --modified --others --ignored
1386
- --stage --directory --no-empty-directory --unmerged
1387
- --killed --exclude= --exclude-from=
1388
- --exclude-per-directory= --exclude-standard
1389
- --error-unmatch --with-tree= --full-name
1390
- --abbrev --ignored --exclude-per-directory
1391
- "
1392
- return
1393
- ;;
1394
- esac
1395
-
1396
- # XXX ignore options like --modified and always suggest all cached
1397
- # files.
1398
- __git_complete_index_file "--cached"
1399
- }
1400
-
1401
- _git_ls_remote ()
1402
- {
1403
- __gitcomp_nl "$(__git_remotes)"
1404
- }
1405
-
1406
- _git_ls_tree ()
1407
- {
1408
- __git_complete_file
1409
- }
1410
-
1411
- # Options that go well for log, shortlog and gitk
1412
- __git_log_common_options="
1413
- --not --all
1414
- --branches --tags --remotes
1415
- --first-parent --merges --no-merges
1416
- --max-count=
1417
- --max-age= --since= --after=
1418
- --min-age= --until= --before=
1419
- --min-parents= --max-parents=
1420
- --no-min-parents --no-max-parents
1421
- "
1422
- # Options that go well for log and gitk (not shortlog)
1423
- __git_log_gitk_options="
1424
- --dense --sparse --full-history
1425
- --simplify-merges --simplify-by-decoration
1426
- --left-right --notes --no-notes
1427
- "
1428
- # Options that go well for log and shortlog (not gitk)
1429
- __git_log_shortlog_options="
1430
- --author= --committer= --grep=
1431
- --all-match
1432
- "
1433
-
1434
- __git_log_pretty_formats="oneline short medium full fuller email raw format:"
1435
- __git_log_date_formats="relative iso8601 rfc2822 short local default raw"
1436
-
1437
- _git_log ()
1438
- {
1439
- __git_has_doubledash && return
1440
-
1441
- local g="$(git rev-parse --git-dir 2>/dev/null)"
1442
- local merge=""
1443
- if [ -f "$g/MERGE_HEAD" ]; then
1444
- merge="--merge"
1445
- fi
1446
- case "$cur" in
1447
- --pretty=*|--format=*)
1448
- __gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases)
1449
- " "" "${cur#*=}"
1450
- return
1451
- ;;
1452
- --date=*)
1453
- __gitcomp "$__git_log_date_formats" "" "${cur##--date=}"
1454
- return
1455
- ;;
1456
- --decorate=*)
1457
- __gitcomp "long short" "" "${cur##--decorate=}"
1458
- return
1459
- ;;
1460
- --*)
1461
- __gitcomp "
1462
- $__git_log_common_options
1463
- $__git_log_shortlog_options
1464
- $__git_log_gitk_options
1465
- --root --topo-order --date-order --reverse
1466
- --follow --full-diff
1467
- --abbrev-commit --abbrev=
1468
- --relative-date --date=
1469
- --pretty= --format= --oneline
1470
- --cherry-pick
1471
- --graph
1472
- --decorate --decorate=
1473
- --walk-reflogs
1474
- --parents --children
1475
- $merge
1476
- $__git_diff_common_options
1477
- --pickaxe-all --pickaxe-regex
1478
- "
1479
- return
1480
- ;;
1481
- esac
1482
- __git_complete_revlist
1483
- }
1484
-
1485
- # Common merge options shared by git-merge(1) and git-pull(1).
1486
- __git_merge_options="
1487
- --no-commit --no-stat --log --no-log --squash --strategy
1488
- --commit --stat --no-squash --ff --no-ff --ff-only --edit --no-edit
1489
- --verify-signatures --no-verify-signatures --gpg-sign
1490
- --quiet --verbose --progress --no-progress
1491
- "
1492
-
1493
- _git_merge ()
1494
- {
1495
- __git_complete_strategy && return
1496
-
1497
- case "$cur" in
1498
- --*)
1499
- __gitcomp "$__git_merge_options
1500
- --rerere-autoupdate --no-rerere-autoupdate --abort"
1501
- return
1502
- esac
1503
- __gitcomp_nl "$(__git_refs)"
1504
- }
1505
-
1506
- _git_mergetool ()
1507
- {
1508
- case "$cur" in
1509
- --tool=*)
1510
- __gitcomp "$__git_mergetools_common tortoisemerge" "" "${cur##--tool=}"
1511
- return
1512
- ;;
1513
- --*)
1514
- __gitcomp "--tool="
1515
- return
1516
- ;;
1517
- esac
1518
- }
1519
-
1520
- _git_merge_base ()
1521
- {
1522
- case "$cur" in
1523
- --*)
1524
- __gitcomp "--octopus --independent --is-ancestor --fork-point"
1525
- return
1526
- ;;
1527
- esac
1528
- __gitcomp_nl "$(__git_refs)"
1529
- }
1530
-
1531
- _git_mv ()
1532
- {
1533
- case "$cur" in
1534
- --*)
1535
- __gitcomp "--dry-run"
1536
- return
1537
- ;;
1538
- esac
1539
-
1540
- if [ $(__git_count_arguments "mv") -gt 0 ]; then
1541
- # We need to show both cached and untracked files (including
1542
- # empty directories) since this may not be the last argument.
1543
- __git_complete_index_file "--cached --others --directory"
1544
- else
1545
- __git_complete_index_file "--cached"
1546
- fi
1547
- }
1548
-
1549
- _git_name_rev ()
1550
- {
1551
- __gitcomp "--tags --all --stdin"
1552
- }
1553
-
1554
- _git_notes ()
1555
- {
1556
- local subcommands='add append copy edit list prune remove show'
1557
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
1558
-
1559
- case "$subcommand,$cur" in
1560
- ,--*)
1561
- __gitcomp '--ref'
1562
- ;;
1563
- ,*)
1564
- case "$prev" in
1565
- --ref)
1566
- __gitcomp_nl "$(__git_refs)"
1567
- ;;
1568
- *)
1569
- __gitcomp "$subcommands --ref"
1570
- ;;
1571
- esac
1572
- ;;
1573
- add,--reuse-message=*|append,--reuse-message=*|\
1574
- add,--reedit-message=*|append,--reedit-message=*)
1575
- __gitcomp_nl "$(__git_refs)" "" "${cur#*=}"
1576
- ;;
1577
- add,--*|append,--*)
1578
- __gitcomp '--file= --message= --reedit-message=
1579
- --reuse-message='
1580
- ;;
1581
- copy,--*)
1582
- __gitcomp '--stdin'
1583
- ;;
1584
- prune,--*)
1585
- __gitcomp '--dry-run --verbose'
1586
- ;;
1587
- prune,*)
1588
- ;;
1589
- *)
1590
- case "$prev" in
1591
- -m|-F)
1592
- ;;
1593
- *)
1594
- __gitcomp_nl "$(__git_refs)"
1595
- ;;
1596
- esac
1597
- ;;
1598
- esac
1599
- }
1600
-
1601
- _git_pull ()
1602
- {
1603
- __git_complete_strategy && return
1604
-
1605
- case "$cur" in
1606
- --recurse-submodules=*)
1607
- __gitcomp "$__git_fetch_recurse_submodules" "" "${cur##--recurse-submodules=}"
1608
- return
1609
- ;;
1610
- --*)
1611
- __gitcomp "
1612
- --rebase --no-rebase
1613
- $__git_merge_options
1614
- $__git_fetch_options
1615
- "
1616
- return
1617
- ;;
1618
- esac
1619
- __git_complete_remote_or_refspec
1620
- }
1621
-
1622
- __git_push_recurse_submodules="check on-demand"
1623
-
1624
- __git_complete_force_with_lease ()
1625
- {
1626
- local cur_=$1
1627
-
1628
- case "$cur_" in
1629
- --*=)
1630
- ;;
1631
- *:*)
1632
- __gitcomp_nl "$(__git_refs)" "" "${cur_#*:}"
1633
- ;;
1634
- *)
1635
- __gitcomp_nl "$(__git_refs)" "" "$cur_"
1636
- ;;
1637
- esac
1638
- }
1639
-
1640
- _git_push ()
1641
- {
1642
- case "$prev" in
1643
- --repo)
1644
- __gitcomp_nl "$(__git_remotes)"
1645
- return
1646
- ;;
1647
- --recurse-submodules)
1648
- __gitcomp "$__git_push_recurse_submodules"
1649
- return
1650
- ;;
1651
- esac
1652
- case "$cur" in
1653
- --repo=*)
1654
- __gitcomp_nl "$(__git_remotes)" "" "${cur##--repo=}"
1655
- return
1656
- ;;
1657
- --recurse-submodules=*)
1658
- __gitcomp "$__git_push_recurse_submodules" "" "${cur##--recurse-submodules=}"
1659
- return
1660
- ;;
1661
- --force-with-lease=*)
1662
- __git_complete_force_with_lease "${cur##--force-with-lease=}"
1663
- return
1664
- ;;
1665
- --*)
1666
- __gitcomp "
1667
- --all --mirror --tags --dry-run --force --verbose
1668
- --quiet --prune --delete --follow-tags
1669
- --receive-pack= --repo= --set-upstream
1670
- --force-with-lease --force-with-lease= --recurse-submodules=
1671
- "
1672
- return
1673
- ;;
1674
- esac
1675
- __git_complete_remote_or_refspec
1676
- }
1677
-
1678
- _git_rebase ()
1679
- {
1680
- local dir="$(__gitdir)"
1681
- if [ -d "$dir"/rebase-apply ] || [ -d "$dir"/rebase-merge ]; then
1682
- __gitcomp "--continue --skip --abort"
1683
- return
1684
- fi
1685
- __git_complete_strategy && return
1686
- case "$cur" in
1687
- --whitespace=*)
1688
- __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}"
1689
- return
1690
- ;;
1691
- --*)
1692
- __gitcomp "
1693
- --onto --merge --strategy --interactive
1694
- --preserve-merges --stat --no-stat
1695
- --committer-date-is-author-date --ignore-date
1696
- --ignore-whitespace --whitespace=
1697
- --autosquash --fork-point --no-fork-point
1698
- "
1699
-
1700
- return
1701
- esac
1702
- __gitcomp_nl "$(__git_refs)"
1703
- }
1704
-
1705
- _git_reflog ()
1706
- {
1707
- local subcommands="show delete expire"
1708
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
1709
-
1710
- if [ -z "$subcommand" ]; then
1711
- __gitcomp "$subcommands"
1712
- else
1713
- __gitcomp_nl "$(__git_refs)"
1714
- fi
1715
- }
1716
-
1717
- __git_send_email_confirm_options="always never auto cc compose"
1718
- __git_send_email_suppresscc_options="author self cc bodycc sob cccmd body all"
1719
-
1720
- _git_send_email ()
1721
- {
1722
- case "$cur" in
1723
- --confirm=*)
1724
- __gitcomp "
1725
- $__git_send_email_confirm_options
1726
- " "" "${cur##--confirm=}"
1727
- return
1728
- ;;
1729
- --suppress-cc=*)
1730
- __gitcomp "
1731
- $__git_send_email_suppresscc_options
1732
- " "" "${cur##--suppress-cc=}"
1733
-
1734
- return
1735
- ;;
1736
- --smtp-encryption=*)
1737
- __gitcomp "ssl tls" "" "${cur##--smtp-encryption=}"
1738
- return
1739
- ;;
1740
- --thread=*)
1741
- __gitcomp "
1742
- deep shallow
1743
- " "" "${cur##--thread=}"
1744
- return
1745
- ;;
1746
- --*)
1747
- __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to
1748
- --compose --confirm= --dry-run --envelope-sender
1749
- --from --identity
1750
- --in-reply-to --no-chain-reply-to --no-signed-off-by-cc
1751
- --no-suppress-from --no-thread --quiet
1752
- --signed-off-by-cc --smtp-pass --smtp-server
1753
- --smtp-server-port --smtp-encryption= --smtp-user
1754
- --subject --suppress-cc= --suppress-from --thread --to
1755
- --validate --no-validate
1756
- $__git_format_patch_options"
1757
- return
1758
- ;;
1759
- esac
1760
- __git_complete_revlist
1761
- }
1762
-
1763
- _git_stage ()
1764
- {
1765
- _git_add
1766
- }
1767
-
1768
- __git_config_get_set_variables ()
1769
- {
1770
- local prevword word config_file= c=$cword
1771
- while [ $c -gt 1 ]; do
1772
- word="${words[c]}"
1773
- case "$word" in
1774
- --system|--global|--local|--file=*)
1775
- config_file="$word"
1776
- break
1777
- ;;
1778
- -f|--file)
1779
- config_file="$word $prevword"
1780
- break
1781
- ;;
1782
- esac
1783
- prevword=$word
1784
- c=$((--c))
1785
- done
1786
-
1787
- git --git-dir="$(__gitdir)" config $config_file --list 2>/dev/null |
1788
- while read -r line
1789
- do
1790
- case "$line" in
1791
- *.*=*)
1792
- echo "${line/=*/}"
1793
- ;;
1794
- esac
1795
- done
1796
- }
1797
-
1798
- _git_config ()
1799
- {
1800
- case "$prev" in
1801
- branch.*.remote|branch.*.pushremote)
1802
- __gitcomp_nl "$(__git_remotes)"
1803
- return
1804
- ;;
1805
- branch.*.merge)
1806
- __gitcomp_nl "$(__git_refs)"
1807
- return
1808
- ;;
1809
- branch.*.rebase)
1810
- __gitcomp "false true"
1811
- return
1812
- ;;
1813
- remote.pushdefault)
1814
- __gitcomp_nl "$(__git_remotes)"
1815
- return
1816
- ;;
1817
- remote.*.fetch)
1818
- local remote="${prev#remote.}"
1819
- remote="${remote%.fetch}"
1820
- if [ -z "$cur" ]; then
1821
- __gitcomp_nl "refs/heads/" "" "" ""
1822
- return
1823
- fi
1824
- __gitcomp_nl "$(__git_refs_remotes "$remote")"
1825
- return
1826
- ;;
1827
- remote.*.push)
1828
- local remote="${prev#remote.}"
1829
- remote="${remote%.push}"
1830
- __gitcomp_nl "$(git --git-dir="$(__gitdir)" \
1831
- for-each-ref --format='%(refname):%(refname)' \
1832
- refs/heads)"
1833
- return
1834
- ;;
1835
- pull.twohead|pull.octopus)
1836
- __git_compute_merge_strategies
1837
- __gitcomp "$__git_merge_strategies"
1838
- return
1839
- ;;
1840
- color.branch|color.diff|color.interactive|\
1841
- color.showbranch|color.status|color.ui)
1842
- __gitcomp "always never auto"
1843
- return
1844
- ;;
1845
- color.pager)
1846
- __gitcomp "false true"
1847
- return
1848
- ;;
1849
- color.*.*)
1850
- __gitcomp "
1851
- normal black red green yellow blue magenta cyan white
1852
- bold dim ul blink reverse
1853
- "
1854
- return
1855
- ;;
1856
- diff.submodule)
1857
- __gitcomp "log short"
1858
- return
1859
- ;;
1860
- help.format)
1861
- __gitcomp "man info web html"
1862
- return
1863
- ;;
1864
- log.date)
1865
- __gitcomp "$__git_log_date_formats"
1866
- return
1867
- ;;
1868
- sendemail.aliasesfiletype)
1869
- __gitcomp "mutt mailrc pine elm gnus"
1870
- return
1871
- ;;
1872
- sendemail.confirm)
1873
- __gitcomp "$__git_send_email_confirm_options"
1874
- return
1875
- ;;
1876
- sendemail.suppresscc)
1877
- __gitcomp "$__git_send_email_suppresscc_options"
1878
- return
1879
- ;;
1880
- --get|--get-all|--unset|--unset-all)
1881
- __gitcomp_nl "$(__git_config_get_set_variables)"
1882
- return
1883
- ;;
1884
- *.*)
1885
- return
1886
- ;;
1887
- esac
1888
- case "$cur" in
1889
- --*)
1890
- __gitcomp "
1891
- --system --global --local --file=
1892
- --list --replace-all
1893
- --get --get-all --get-regexp
1894
- --add --unset --unset-all
1895
- --remove-section --rename-section
1896
- "
1897
- return
1898
- ;;
1899
- branch.*.*)
1900
- local pfx="${cur%.*}." cur_="${cur##*.}"
1901
- __gitcomp "remote pushremote merge mergeoptions rebase" "$pfx" "$cur_"
1902
- return
1903
- ;;
1904
- branch.*)
1905
- local pfx="${cur%.*}." cur_="${cur#*.}"
1906
- __gitcomp_nl "$(__git_heads)" "$pfx" "$cur_" "."
1907
- __gitcomp_nl_append $'autosetupmerge\nautosetuprebase\n' "$pfx" "$cur_"
1908
- return
1909
- ;;
1910
- guitool.*.*)
1911
- local pfx="${cur%.*}." cur_="${cur##*.}"
1912
- __gitcomp "
1913
- argprompt cmd confirm needsfile noconsole norescan
1914
- prompt revprompt revunmerged title
1915
- " "$pfx" "$cur_"
1916
- return
1917
- ;;
1918
- difftool.*.*)
1919
- local pfx="${cur%.*}." cur_="${cur##*.}"
1920
- __gitcomp "cmd path" "$pfx" "$cur_"
1921
- return
1922
- ;;
1923
- man.*.*)
1924
- local pfx="${cur%.*}." cur_="${cur##*.}"
1925
- __gitcomp "cmd path" "$pfx" "$cur_"
1926
- return
1927
- ;;
1928
- mergetool.*.*)
1929
- local pfx="${cur%.*}." cur_="${cur##*.}"
1930
- __gitcomp "cmd path trustExitCode" "$pfx" "$cur_"
1931
- return
1932
- ;;
1933
- pager.*)
1934
- local pfx="${cur%.*}." cur_="${cur#*.}"
1935
- __git_compute_all_commands
1936
- __gitcomp_nl "$__git_all_commands" "$pfx" "$cur_"
1937
- return
1938
- ;;
1939
- remote.*.*)
1940
- local pfx="${cur%.*}." cur_="${cur##*.}"
1941
- __gitcomp "
1942
- url proxy fetch push mirror skipDefaultUpdate
1943
- receivepack uploadpack tagopt pushurl
1944
- " "$pfx" "$cur_"
1945
- return
1946
- ;;
1947
- remote.*)
1948
- local pfx="${cur%.*}." cur_="${cur#*.}"
1949
- __gitcomp_nl "$(__git_remotes)" "$pfx" "$cur_" "."
1950
- __gitcomp_nl_append "pushdefault" "$pfx" "$cur_"
1951
- return
1952
- ;;
1953
- url.*.*)
1954
- local pfx="${cur%.*}." cur_="${cur##*.}"
1955
- __gitcomp "insteadOf pushInsteadOf" "$pfx" "$cur_"
1956
- return
1957
- ;;
1958
- esac
1959
- __gitcomp "
1960
- add.ignoreErrors
1961
- advice.commitBeforeMerge
1962
- advice.detachedHead
1963
- advice.implicitIdentity
1964
- advice.pushNonFastForward
1965
- advice.resolveConflict
1966
- advice.statusHints
1967
- alias.
1968
- am.keepcr
1969
- apply.ignorewhitespace
1970
- apply.whitespace
1971
- branch.autosetupmerge
1972
- branch.autosetuprebase
1973
- browser.
1974
- clean.requireForce
1975
- color.branch
1976
- color.branch.current
1977
- color.branch.local
1978
- color.branch.plain
1979
- color.branch.remote
1980
- color.decorate.HEAD
1981
- color.decorate.branch
1982
- color.decorate.remoteBranch
1983
- color.decorate.stash
1984
- color.decorate.tag
1985
- color.diff
1986
- color.diff.commit
1987
- color.diff.frag
1988
- color.diff.func
1989
- color.diff.meta
1990
- color.diff.new
1991
- color.diff.old
1992
- color.diff.plain
1993
- color.diff.whitespace
1994
- color.grep
1995
- color.grep.context
1996
- color.grep.filename
1997
- color.grep.function
1998
- color.grep.linenumber
1999
- color.grep.match
2000
- color.grep.selected
2001
- color.grep.separator
2002
- color.interactive
2003
- color.interactive.error
2004
- color.interactive.header
2005
- color.interactive.help
2006
- color.interactive.prompt
2007
- color.pager
2008
- color.showbranch
2009
- color.status
2010
- color.status.added
2011
- color.status.changed
2012
- color.status.header
2013
- color.status.nobranch
2014
- color.status.untracked
2015
- color.status.updated
2016
- color.ui
2017
- commit.status
2018
- commit.template
2019
- core.abbrev
2020
- core.askpass
2021
- core.attributesfile
2022
- core.autocrlf
2023
- core.bare
2024
- core.bigFileThreshold
2025
- core.compression
2026
- core.createObject
2027
- core.deltaBaseCacheLimit
2028
- core.editor
2029
- core.eol
2030
- core.excludesfile
2031
- core.fileMode
2032
- core.fsyncobjectfiles
2033
- core.gitProxy
2034
- core.ignoreStat
2035
- core.ignorecase
2036
- core.logAllRefUpdates
2037
- core.loosecompression
2038
- core.notesRef
2039
- core.packedGitLimit
2040
- core.packedGitWindowSize
2041
- core.pager
2042
- core.preferSymlinkRefs
2043
- core.preloadindex
2044
- core.quotepath
2045
- core.repositoryFormatVersion
2046
- core.safecrlf
2047
- core.sharedRepository
2048
- core.sparseCheckout
2049
- core.symlinks
2050
- core.trustctime
2051
- core.warnAmbiguousRefs
2052
- core.whitespace
2053
- core.worktree
2054
- diff.autorefreshindex
2055
- diff.external
2056
- diff.ignoreSubmodules
2057
- diff.mnemonicprefix
2058
- diff.noprefix
2059
- diff.renameLimit
2060
- diff.renames
2061
- diff.statGraphWidth
2062
- diff.submodule
2063
- diff.suppressBlankEmpty
2064
- diff.tool
2065
- diff.wordRegex
2066
- diff.algorithm
2067
- difftool.
2068
- difftool.prompt
2069
- fetch.recurseSubmodules
2070
- fetch.unpackLimit
2071
- format.attach
2072
- format.cc
2073
- format.coverLetter
2074
- format.headers
2075
- format.numbered
2076
- format.pretty
2077
- format.signature
2078
- format.signoff
2079
- format.subjectprefix
2080
- format.suffix
2081
- format.thread
2082
- format.to
2083
- gc.
2084
- gc.aggressiveWindow
2085
- gc.auto
2086
- gc.autopacklimit
2087
- gc.packrefs
2088
- gc.pruneexpire
2089
- gc.reflogexpire
2090
- gc.reflogexpireunreachable
2091
- gc.rerereresolved
2092
- gc.rerereunresolved
2093
- gitcvs.allbinary
2094
- gitcvs.commitmsgannotation
2095
- gitcvs.dbTableNamePrefix
2096
- gitcvs.dbdriver
2097
- gitcvs.dbname
2098
- gitcvs.dbpass
2099
- gitcvs.dbuser
2100
- gitcvs.enabled
2101
- gitcvs.logfile
2102
- gitcvs.usecrlfattr
2103
- guitool.
2104
- gui.blamehistoryctx
2105
- gui.commitmsgwidth
2106
- gui.copyblamethreshold
2107
- gui.diffcontext
2108
- gui.encoding
2109
- gui.fastcopyblame
2110
- gui.matchtrackingbranch
2111
- gui.newbranchtemplate
2112
- gui.pruneduringfetch
2113
- gui.spellingdictionary
2114
- gui.trustmtime
2115
- help.autocorrect
2116
- help.browser
2117
- help.format
2118
- http.lowSpeedLimit
2119
- http.lowSpeedTime
2120
- http.maxRequests
2121
- http.minSessions
2122
- http.noEPSV
2123
- http.postBuffer
2124
- http.proxy
2125
- http.sslCAInfo
2126
- http.sslCAPath
2127
- http.sslCert
2128
- http.sslCertPasswordProtected
2129
- http.sslKey
2130
- http.sslVerify
2131
- http.useragent
2132
- i18n.commitEncoding
2133
- i18n.logOutputEncoding
2134
- imap.authMethod
2135
- imap.folder
2136
- imap.host
2137
- imap.pass
2138
- imap.port
2139
- imap.preformattedHTML
2140
- imap.sslverify
2141
- imap.tunnel
2142
- imap.user
2143
- init.templatedir
2144
- instaweb.browser
2145
- instaweb.httpd
2146
- instaweb.local
2147
- instaweb.modulepath
2148
- instaweb.port
2149
- interactive.singlekey
2150
- log.date
2151
- log.decorate
2152
- log.showroot
2153
- mailmap.file
2154
- man.
2155
- man.viewer
2156
- merge.
2157
- merge.conflictstyle
2158
- merge.log
2159
- merge.renameLimit
2160
- merge.renormalize
2161
- merge.stat
2162
- merge.tool
2163
- merge.verbosity
2164
- mergetool.
2165
- mergetool.keepBackup
2166
- mergetool.keepTemporaries
2167
- mergetool.prompt
2168
- notes.displayRef
2169
- notes.rewrite.
2170
- notes.rewrite.amend
2171
- notes.rewrite.rebase
2172
- notes.rewriteMode
2173
- notes.rewriteRef
2174
- pack.compression
2175
- pack.deltaCacheLimit
2176
- pack.deltaCacheSize
2177
- pack.depth
2178
- pack.indexVersion
2179
- pack.packSizeLimit
2180
- pack.threads
2181
- pack.window
2182
- pack.windowMemory
2183
- pager.
2184
- pretty.
2185
- pull.octopus
2186
- pull.twohead
2187
- push.default
2188
- rebase.autosquash
2189
- rebase.stat
2190
- receive.autogc
2191
- receive.denyCurrentBranch
2192
- receive.denyDeleteCurrent
2193
- receive.denyDeletes
2194
- receive.denyNonFastForwards
2195
- receive.fsckObjects
2196
- receive.unpackLimit
2197
- receive.updateserverinfo
2198
- remote.pushdefault
2199
- remotes.
2200
- repack.usedeltabaseoffset
2201
- rerere.autoupdate
2202
- rerere.enabled
2203
- sendemail.
2204
- sendemail.aliasesfile
2205
- sendemail.aliasfiletype
2206
- sendemail.bcc
2207
- sendemail.cc
2208
- sendemail.cccmd
2209
- sendemail.chainreplyto
2210
- sendemail.confirm
2211
- sendemail.envelopesender
2212
- sendemail.from
2213
- sendemail.identity
2214
- sendemail.multiedit
2215
- sendemail.signedoffbycc
2216
- sendemail.smtpdomain
2217
- sendemail.smtpencryption
2218
- sendemail.smtppass
2219
- sendemail.smtpserver
2220
- sendemail.smtpserveroption
2221
- sendemail.smtpserverport
2222
- sendemail.smtpuser
2223
- sendemail.suppresscc
2224
- sendemail.suppressfrom
2225
- sendemail.thread
2226
- sendemail.to
2227
- sendemail.validate
2228
- showbranch.default
2229
- status.relativePaths
2230
- status.showUntrackedFiles
2231
- status.submodulesummary
2232
- submodule.
2233
- tar.umask
2234
- transfer.unpackLimit
2235
- url.
2236
- user.email
2237
- user.name
2238
- user.signingkey
2239
- web.browser
2240
- branch. remote.
2241
- "
2242
- }
2243
-
2244
- _git_remote ()
2245
- {
2246
- local subcommands="add rename remove set-head set-branches set-url show prune update"
2247
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
2248
- if [ -z "$subcommand" ]; then
2249
- __gitcomp "$subcommands"
2250
- return
2251
- fi
2252
-
2253
- case "$subcommand" in
2254
- rename|remove|set-url|show|prune)
2255
- __gitcomp_nl "$(__git_remotes)"
2256
- ;;
2257
- set-head|set-branches)
2258
- __git_complete_remote_or_refspec
2259
- ;;
2260
- update)
2261
- local i c='' IFS=$'\n'
2262
- for i in $(git --git-dir="$(__gitdir)" config --get-regexp "remotes\..*" 2>/dev/null); do
2263
- i="${i#remotes.}"
2264
- c="$c ${i/ */}"
2265
- done
2266
- __gitcomp "$c"
2267
- ;;
2268
- *)
2269
- ;;
2270
- esac
2271
- }
2272
-
2273
- _git_replace ()
2274
- {
2275
- __gitcomp_nl "$(__git_refs)"
2276
- }
2277
-
2278
- _git_reset ()
2279
- {
2280
- __git_has_doubledash && return
2281
-
2282
- case "$cur" in
2283
- --*)
2284
- __gitcomp "--merge --mixed --hard --soft --patch"
2285
- return
2286
- ;;
2287
- esac
2288
- __gitcomp_nl "$(__git_refs)"
2289
- }
2290
-
2291
- _git_revert ()
2292
- {
2293
- case "$cur" in
2294
- --*)
2295
- __gitcomp "--edit --mainline --no-edit --no-commit --signoff"
2296
- return
2297
- ;;
2298
- esac
2299
- __gitcomp_nl "$(__git_refs)"
2300
- }
2301
-
2302
- _git_rm ()
2303
- {
2304
- case "$cur" in
2305
- --*)
2306
- __gitcomp "--cached --dry-run --ignore-unmatch --quiet"
2307
- return
2308
- ;;
2309
- esac
2310
-
2311
- __git_complete_index_file "--cached"
2312
- }
2313
-
2314
- _git_shortlog ()
2315
- {
2316
- __git_has_doubledash && return
2317
-
2318
- case "$cur" in
2319
- --*)
2320
- __gitcomp "
2321
- $__git_log_common_options
2322
- $__git_log_shortlog_options
2323
- --numbered --summary
2324
- "
2325
- return
2326
- ;;
2327
- esac
2328
- __git_complete_revlist
2329
- }
2330
-
2331
- _git_show ()
2332
- {
2333
- __git_has_doubledash && return
2334
-
2335
- case "$cur" in
2336
- --pretty=*|--format=*)
2337
- __gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases)
2338
- " "" "${cur#*=}"
2339
- return
2340
- ;;
2341
- --diff-algorithm=*)
2342
- __gitcomp "$__git_diff_algorithms" "" "${cur##--diff-algorithm=}"
2343
- return
2344
- ;;
2345
- --*)
2346
- __gitcomp "--pretty= --format= --abbrev-commit --oneline
2347
- $__git_diff_common_options
2348
- "
2349
- return
2350
- ;;
2351
- esac
2352
- __git_complete_revlist_file
2353
- }
2354
-
2355
- _git_show_branch ()
2356
- {
2357
- case "$cur" in
2358
- --*)
2359
- __gitcomp "
2360
- --all --remotes --topo-order --current --more=
2361
- --list --independent --merge-base --no-name
2362
- --color --no-color
2363
- --sha1-name --sparse --topics --reflog
2364
- "
2365
- return
2366
- ;;
2367
- esac
2368
- __git_complete_revlist
2369
- }
2370
-
2371
- _git_stash ()
2372
- {
2373
- local save_opts='--keep-index --no-keep-index --quiet --patch'
2374
- local subcommands='save list show apply clear drop pop create branch'
2375
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
2376
- if [ -z "$subcommand" ]; then
2377
- case "$cur" in
2378
- --*)
2379
- __gitcomp "$save_opts"
2380
- ;;
2381
- *)
2382
- if [ -z "$(__git_find_on_cmdline "$save_opts")" ]; then
2383
- __gitcomp "$subcommands"
2384
- fi
2385
- ;;
2386
- esac
2387
- else
2388
- case "$subcommand,$cur" in
2389
- save,--*)
2390
- __gitcomp "$save_opts"
2391
- ;;
2392
- apply,--*|pop,--*)
2393
- __gitcomp "--index --quiet"
2394
- ;;
2395
- show,--*|drop,--*|branch,--*)
2396
- ;;
2397
- show,*|apply,*|drop,*|pop,*|branch,*)
2398
- __gitcomp_nl "$(git --git-dir="$(__gitdir)" stash list \
2399
- | sed -n -e 's/:.*//p')"
2400
- ;;
2401
- *)
2402
- ;;
2403
- esac
2404
- fi
2405
- }
2406
-
2407
- _git_submodule ()
2408
- {
2409
- __git_has_doubledash && return
2410
-
2411
- local subcommands="add status init deinit update summary foreach sync"
2412
- if [ -z "$(__git_find_on_cmdline "$subcommands")" ]; then
2413
- case "$cur" in
2414
- --*)
2415
- __gitcomp "--quiet --cached"
2416
- ;;
2417
- *)
2418
- __gitcomp "$subcommands"
2419
- ;;
2420
- esac
2421
- return
2422
- fi
2423
- }
2424
-
2425
- _git_svn ()
2426
- {
2427
- local subcommands="
2428
- init fetch clone rebase dcommit log find-rev
2429
- set-tree commit-diff info create-ignore propget
2430
- proplist show-ignore show-externals branch tag blame
2431
- migrate mkdirs reset gc
2432
- "
2433
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
2434
- if [ -z "$subcommand" ]; then
2435
- __gitcomp "$subcommands"
2436
- else
2437
- local remote_opts="--username= --config-dir= --no-auth-cache"
2438
- local fc_opts="
2439
- --follow-parent --authors-file= --repack=
2440
- --no-metadata --use-svm-props --use-svnsync-props
2441
- --log-window-size= --no-checkout --quiet
2442
- --repack-flags --use-log-author --localtime
2443
- --ignore-paths= --include-paths= $remote_opts
2444
- "
2445
- local init_opts="
2446
- --template= --shared= --trunk= --tags=
2447
- --branches= --stdlayout --minimize-url
2448
- --no-metadata --use-svm-props --use-svnsync-props
2449
- --rewrite-root= --prefix= --use-log-author
2450
- --add-author-from $remote_opts
2451
- "
2452
- local cmt_opts="
2453
- --edit --rmdir --find-copies-harder --copy-similarity=
2454
- "
2455
-
2456
- case "$subcommand,$cur" in
2457
- fetch,--*)
2458
- __gitcomp "--revision= --fetch-all $fc_opts"
2459
- ;;
2460
- clone,--*)
2461
- __gitcomp "--revision= $fc_opts $init_opts"
2462
- ;;
2463
- init,--*)
2464
- __gitcomp "$init_opts"
2465
- ;;
2466
- dcommit,--*)
2467
- __gitcomp "
2468
- --merge --strategy= --verbose --dry-run
2469
- --fetch-all --no-rebase --commit-url
2470
- --revision --interactive $cmt_opts $fc_opts
2471
- "
2472
- ;;
2473
- set-tree,--*)
2474
- __gitcomp "--stdin $cmt_opts $fc_opts"
2475
- ;;
2476
- create-ignore,--*|propget,--*|proplist,--*|show-ignore,--*|\
2477
- show-externals,--*|mkdirs,--*)
2478
- __gitcomp "--revision="
2479
- ;;
2480
- log,--*)
2481
- __gitcomp "
2482
- --limit= --revision= --verbose --incremental
2483
- --oneline --show-commit --non-recursive
2484
- --authors-file= --color
2485
- "
2486
- ;;
2487
- rebase,--*)
2488
- __gitcomp "
2489
- --merge --verbose --strategy= --local
2490
- --fetch-all --dry-run $fc_opts
2491
- "
2492
- ;;
2493
- commit-diff,--*)
2494
- __gitcomp "--message= --file= --revision= $cmt_opts"
2495
- ;;
2496
- info,--*)
2497
- __gitcomp "--url"
2498
- ;;
2499
- branch,--*)
2500
- __gitcomp "--dry-run --message --tag"
2501
- ;;
2502
- tag,--*)
2503
- __gitcomp "--dry-run --message"
2504
- ;;
2505
- blame,--*)
2506
- __gitcomp "--git-format"
2507
- ;;
2508
- migrate,--*)
2509
- __gitcomp "
2510
- --config-dir= --ignore-paths= --minimize
2511
- --no-auth-cache --username=
2512
- "
2513
- ;;
2514
- reset,--*)
2515
- __gitcomp "--revision= --parent"
2516
- ;;
2517
- *)
2518
- ;;
2519
- esac
2520
- fi
2521
- }
2522
-
2523
- _git_tag ()
2524
- {
2525
- local i c=1 f=0
2526
- while [ $c -lt $cword ]; do
2527
- i="${words[c]}"
2528
- case "$i" in
2529
- -d|-v)
2530
- __gitcomp_nl "$(__git_tags)"
2531
- return
2532
- ;;
2533
- -f)
2534
- f=1
2535
- ;;
2536
- esac
2537
- ((c++))
2538
- done
2539
-
2540
- case "$prev" in
2541
- -m|-F)
2542
- ;;
2543
- -*|tag)
2544
- if [ $f = 1 ]; then
2545
- __gitcomp_nl "$(__git_tags)"
2546
- fi
2547
- ;;
2548
- *)
2549
- __gitcomp_nl "$(__git_refs)"
2550
- ;;
2551
- esac
2552
- }
2553
-
2554
- _git_whatchanged ()
2555
- {
2556
- _git_log
2557
- }
2558
-
2559
- __git_main ()
2560
- {
2561
- local i c=1 command __git_dir
2562
-
2563
- while [ $c -lt $cword ]; do
2564
- i="${words[c]}"
2565
- case "$i" in
2566
- --git-dir=*) __git_dir="${i#--git-dir=}" ;;
2567
- --git-dir) ((c++)) ; __git_dir="${words[c]}" ;;
2568
- --bare) __git_dir="." ;;
2569
- --help) command="help"; break ;;
2570
- -c|--work-tree|--namespace) ((c++)) ;;
2571
- -*) ;;
2572
- *) command="$i"; break ;;
2573
- esac
2574
- ((c++))
2575
- done
2576
-
2577
- if [ -z "$command" ]; then
2578
- case "$cur" in
2579
- --*) __gitcomp "
2580
- --paginate
2581
- --no-pager
2582
- --git-dir=
2583
- --bare
2584
- --version
2585
- --exec-path
2586
- --exec-path=
2587
- --html-path
2588
- --man-path
2589
- --info-path
2590
- --work-tree=
2591
- --namespace=
2592
- --no-replace-objects
2593
- --help
2594
- "
2595
- ;;
2596
- *) __git_compute_porcelain_commands
2597
- __gitcomp "$__git_porcelain_commands $(__git_aliases)" ;;
2598
- esac
2599
- return
2600
- fi
2601
-
2602
- local completion_func="_git_${command//-/_}"
2603
- declare -f $completion_func >/dev/null && $completion_func && return
2604
-
2605
- local expansion=$(__git_aliased_command "$command")
2606
- if [ -n "$expansion" ]; then
2607
- words[1]=$expansion
2608
- completion_func="_git_${expansion//-/_}"
2609
- declare -f $completion_func >/dev/null && $completion_func
2610
- fi
2611
- }
2612
-
2613
- __gitk_main ()
2614
- {
2615
- __git_has_doubledash && return
2616
-
2617
- local g="$(__gitdir)"
2618
- local merge=""
2619
- if [ -f "$g/MERGE_HEAD" ]; then
2620
- merge="--merge"
2621
- fi
2622
- case "$cur" in
2623
- --*)
2624
- __gitcomp "
2625
- $__git_log_common_options
2626
- $__git_log_gitk_options
2627
- $merge
2628
- "
2629
- return
2630
- ;;
2631
- esac
2632
- __git_complete_revlist
2633
- }
2634
-
2635
- if [[ -n ${ZSH_VERSION-} ]]; then
2636
- echo "WARNING: this script is deprecated, please see git-completion.zsh" 1>&2
2637
-
2638
- autoload -U +X compinit && compinit
2639
-
2640
- __gitcomp ()
2641
- {
2642
- emulate -L zsh
2643
-
2644
- local cur_="${3-$cur}"
2645
-
2646
- case "$cur_" in
2647
- --*=)
2648
- ;;
2649
- *)
2650
- local c IFS=$' \t\n'
2651
- local -a array
2652
- for c in ${=1}; do
2653
- c="$c${4-}"
2654
- case $c in
2655
- --*=*|*.) ;;
2656
- *) c="$c " ;;
2657
- esac
2658
- array[${#array[@]}+1]="$c"
2659
- done
2660
- compset -P '*[=:]'
2661
- compadd -Q -S '' -p "${2-}" -a -- array && _ret=0
2662
- ;;
2663
- esac
2664
- }
2665
-
2666
- __gitcomp_nl ()
2667
- {
2668
- emulate -L zsh
2669
-
2670
- local IFS=$'\n'
2671
- compset -P '*[=:]'
2672
- compadd -Q -S "${4- }" -p "${2-}" -- ${=1} && _ret=0
2673
- }
2674
-
2675
- __gitcomp_file ()
2676
- {
2677
- emulate -L zsh
2678
-
2679
- local IFS=$'\n'
2680
- compset -P '*[=:]'
2681
- compadd -Q -p "${2-}" -f -- ${=1} && _ret=0
2682
- }
2683
-
2684
- _git ()
2685
- {
2686
- local _ret=1 cur cword prev
2687
- cur=${words[CURRENT]}
2688
- prev=${words[CURRENT-1]}
2689
- let cword=CURRENT-1
2690
- emulate ksh -c __${service}_main
2691
- let _ret && _default && _ret=0
2692
- return _ret
2693
- }
2694
-
2695
- compdef _git git gitk
2696
- return
2697
- fi
2698
-
2699
- __git_func_wrap ()
2700
- {
2701
- local cur words cword prev
2702
- _get_comp_words_by_ref -n =: cur words cword prev
2703
- $1
2704
- }
2705
-
2706
- # Setup completion for certain functions defined above by setting common
2707
- # variables and workarounds.
2708
- # This is NOT a public function; use at your own risk.
2709
- __git_complete ()
2710
- {
2711
- local wrapper="__git_wrap${2}"
2712
- eval "$wrapper () { __git_func_wrap $2 ; }"
2713
- complete -o bashdefault -o default -o nospace -F $wrapper $1 2>/dev/null \
2714
- || complete -o default -o nospace -F $wrapper $1
2715
- }
2716
-
2717
- # wrapper for backwards compatibility
2718
- _git ()
2719
- {
2720
- __git_wrap__git_main
2721
- }
2722
-
2723
- # wrapper for backwards compatibility
2724
- _gitk ()
2725
- {
2726
- __git_wrap__gitk_main
2727
- }
2728
-
2729
- __git_complete git __git_main
2730
- __git_complete gitk __gitk_main
2731
-
2732
- # The following are necessary only for Cygwin, and only are needed
2733
- # when the user has tab-completed the executable name and consequently
2734
- # included the '.exe' suffix.
2735
- #
2736
- if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
2737
- __git_complete git.exe __git_main
2738
- fi