eac_tools 0.15.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (447) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +19 -8
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/lib/avm/registry/source_generators.rb +3 -2
  5. data/sub/avm/lib/avm/source_generators/base.rb +16 -1
  6. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  7. data/sub/avm/lib/avm/source_generators/option_list.rb +32 -0
  8. data/sub/avm/lib/avm/source_generators/runner.rb +52 -0
  9. data/sub/avm/lib/avm/sources/runner.rb +38 -0
  10. data/sub/avm/lib/avm/version.rb +1 -1
  11. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +9 -0
  12. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -2
  13. data/sub/{avm-tools/lib/avm/ruby/gems/generator.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb} +27 -16
  14. data/sub/{avm-tools/lib/avm/ruby/gems.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators.rb} +2 -2
  15. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  16. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec.rb → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb} +8 -6
  17. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/Gemfile +0 -0
  18. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/dashed-mygem.gemspec +0 -0
  19. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/lib/dashed/mygem/version.rb +0 -0
  20. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/lib/dashed/mygem.rb +0 -0
  21. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/spec/rubocop_spec.rb +0 -0
  22. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/spec/spec_helper.rb +0 -0
  23. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/Gemfile +0 -0
  24. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/lib/mygem/version.rb +0 -0
  25. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/lib/mygem.rb +0 -0
  26. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/mygem.gemspec +0 -0
  27. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/spec/rubocop_spec.rb +0 -0
  28. data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/spec/spec_helper.rb +0 -0
  29. data/sub/{avm-tools/template/avm/ruby/gems/generator → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base}/gemspec.template +0 -0
  30. data/sub/{avm-tools/template/avm/ruby/gems/generator → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base}/root_lib.template +0 -0
  31. data/sub/{avm-tools/sub/avm-eac_postgresql_base0 → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static}/Gemfile +0 -0
  32. data/sub/{avm-tools/sub/avm-eac_postgresql_base0 → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static}/spec/rubocop_spec.rb +0 -0
  33. data/sub/{avm-tools/sub/avm-eac_postgresql_base0 → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static}/spec/spec_helper.rb +0 -0
  34. data/sub/{avm-tools/template/avm/ruby/gems/generator → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base}/version.template +0 -0
  35. data/sub/avm-eac_wordpress_base0/Gemfile +8 -0
  36. data/sub/avm-eac_wordpress_base0/avm-eac_wordpress_base0.gemspec +19 -0
  37. data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/instances/apache_host.rb +27 -0
  38. data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/instances/base.rb +26 -0
  39. data/sub/{avm-tools/lib/avm/eac_wordpress_base0 → avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/instances}/deploy.rb +3 -1
  40. data/sub/{avm-tools/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0 → avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0}/instances.rb +1 -1
  41. data/sub/{avm-tools/lib/avm/tools/runner/eac_wordpress_base0.rb → avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/runners/base.rb} +3 -4
  42. data/sub/{avm-tools/sub/avm-git/lib/avm/git/organize.rb → avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/runners.rb} +2 -2
  43. data/sub/{avm-tools/sub/avm-git/lib/avm/git → avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0}/version.rb +2 -2
  44. data/sub/{avm-tools → avm-eac_wordpress_base0}/lib/avm/eac_wordpress_base0.rb +0 -0
  45. data/sub/{avm-tools/spec/lib/avm/eac_wordpress_base0 → avm-eac_wordpress_base0/spec/lib/avm/eac_wordpress_base0/instances}/apache_host_spec.rb +4 -4
  46. data/sub/{avm-tools/spec/lib/avm/eac_wordpress_base0 → avm-eac_wordpress_base0/spec/lib/avm/eac_wordpress_base0/instances}/apache_host_spec_no_ssl_content.conf +0 -0
  47. data/sub/{avm-tools/sub/avm-eac_ubuntu_base0 → avm-eac_wordpress_base0}/spec/rubocop_spec.rb +0 -0
  48. data/sub/{avm-tools/sub/avm-eac_ubuntu_base0 → avm-eac_wordpress_base0}/spec/spec_helper.rb +1 -0
  49. data/sub/{avm-tools → avm-eac_wordpress_base0}/template/avm/eac_wordpress_base0/deploy/wp-config.php.template +10 -10
  50. data/sub/avm-tools/Gemfile +0 -7
  51. data/sub/avm-tools/avm-tools.gemspec +3 -1
  52. data/sub/avm-tools/lib/avm/tools/runner/app_src.rb +4 -14
  53. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +2 -35
  54. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  55. metadata +61 -430
  56. data/sub/avm-tools/lib/avm/eac_wordpress_base0/apache_host.rb +0 -25
  57. data/sub/avm-tools/lib/avm/eac_wordpress_base0/instance.rb +0 -24
  58. data/sub/avm-tools/lib/avm/rails.rb +0 -9
  59. data/sub/avm-tools/lib/avm/ruby/bundler.rb +0 -11
  60. data/sub/avm-tools/lib/avm/ruby.rb +0 -9
  61. data/sub/avm-tools/lib/avm/tools/runner/ruby/gems/generate.rb +0 -39
  62. data/sub/avm-tools/lib/avm/tools/runner/ruby/gems.rb +0 -19
  63. data/sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/dashed-mygem/Gemfile.lock +0 -1
  64. data/sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/mygem/Gemfile.lock +0 -1
  65. data/sub/avm-tools/sub/avm-eac_postgresql_base0/avm-eac_postgresql_base0.gemspec +0 -19
  66. data/sub/avm-tools/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance/assert.rb +0 -77
  67. data/sub/avm-tools/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance/data_unit.rb +0 -39
  68. data/sub/avm-tools/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance.rb +0 -74
  69. data/sub/avm-tools/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance_with.rb +0 -18
  70. data/sub/avm-tools/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/version.rb +0 -7
  71. data/sub/avm-tools/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0.rb +0 -9
  72. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/Gemfile +0 -5
  73. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +0 -20
  74. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache/resource.rb +0 -59
  75. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache.rb +0 -26
  76. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/docker_image.rb +0 -29
  77. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +0 -22
  78. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base/docker.rb +0 -19
  79. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base.rb +0 -28
  80. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/version.rb +0 -7
  81. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0.rb +0 -9
  82. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/docker_image_spec.rb +0 -16
  83. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base/docker_spec.rb +0 -14
  84. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base_spec.rb +0 -7
  85. data/sub/avm-tools/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/docker_image/Dockerfile.template +0 -24
  86. data/sub/avm-tools/sub/avm-files/Gemfile +0 -5
  87. data/sub/avm-tools/sub/avm-files/avm-files.gemspec +0 -21
  88. data/sub/avm-tools/sub/avm-files/lib/avm/files/appendable/file_content.rb +0 -24
  89. data/sub/avm-tools/sub/avm-files/lib/avm/files/appendable/plain_directory.rb +0 -25
  90. data/sub/avm-tools/sub/avm-files/lib/avm/files/appendable/resource_base.rb +0 -13
  91. data/sub/avm-tools/sub/avm-files/lib/avm/files/appendable/tar_output_command.rb +0 -26
  92. data/sub/avm-tools/sub/avm-files/lib/avm/files/appendable/templatized_directory.rb +0 -29
  93. data/sub/avm-tools/sub/avm-files/lib/avm/files/appendable.rb +0 -55
  94. data/sub/avm-tools/sub/avm-files/lib/avm/files/appender.rb +0 -11
  95. data/sub/avm-tools/sub/avm-files/lib/avm/files/deploy.rb +0 -71
  96. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/formats/base.rb +0 -62
  97. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/formats/generic_plain.rb +0 -34
  98. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/formats/html.rb +0 -45
  99. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/formats/javascript.rb +0 -24
  100. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/formats/json.rb +0 -27
  101. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/formats/php.rb +0 -22
  102. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/formats/python.rb +0 -22
  103. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/formats/ruby.rb +0 -22
  104. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/formats/xml.rb +0 -28
  105. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/formats.rb +0 -13
  106. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter/utf8_assert.rb +0 -74
  107. data/sub/avm-tools/sub/avm-files/lib/avm/files/formatter.rb +0 -90
  108. data/sub/avm-tools/sub/avm-files/lib/avm/files/version.rb +0 -7
  109. data/sub/avm-tools/sub/avm-files/lib/avm/files.rb +0 -9
  110. data/sub/avm-tools/sub/avm-files/spec/rubocop_spec.rb +0 -3
  111. data/sub/avm-tools/sub/avm-files/spec/spec_helper.rb +0 -4
  112. data/sub/avm-tools/sub/avm-git/Gemfile +0 -5
  113. data/sub/avm-tools/sub/avm-git/avm-git.gemspec +0 -21
  114. data/sub/avm-tools/sub/avm-git/lib/avm/git/auto_commit/commit_info.rb +0 -23
  115. data/sub/avm-tools/sub/avm-git/lib/avm/git/auto_commit/rules/base.rb +0 -39
  116. data/sub/avm-tools/sub/avm-git/lib/avm/git/auto_commit/rules/last.rb +0 -19
  117. data/sub/avm-tools/sub/avm-git/lib/avm/git/auto_commit/rules/manual.rb +0 -45
  118. data/sub/avm-tools/sub/avm-git/lib/avm/git/auto_commit/rules/new.rb +0 -24
  119. data/sub/avm-tools/sub/avm-git/lib/avm/git/auto_commit/rules/nth.rb +0 -31
  120. data/sub/avm-tools/sub/avm-git/lib/avm/git/auto_commit/rules/unique.rb +0 -21
  121. data/sub/avm-tools/sub/avm-git/lib/avm/git/auto_commit/rules.rb +0 -31
  122. data/sub/avm-tools/sub/avm-git/lib/avm/git/auto_commit_path/ruby.rb +0 -20
  123. data/sub/avm-tools/sub/avm-git/lib/avm/git/auto_commit_path.rb +0 -28
  124. data/sub/avm-tools/sub/avm-git/lib/avm/git/commit/class_methods.rb +0 -31
  125. data/sub/avm-tools/sub/avm-git/lib/avm/git/commit/deploy.rb +0 -38
  126. data/sub/avm-tools/sub/avm-git/lib/avm/git/commit/deploy_methods.rb +0 -19
  127. data/sub/avm-tools/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +0 -32
  128. data/sub/avm-tools/sub/avm-git/lib/avm/git/commit/file.rb +0 -46
  129. data/sub/avm-tools/sub/avm-git/lib/avm/git/commit.rb +0 -59
  130. data/sub/avm-tools/sub/avm-git/lib/avm/git/file_auto_fixup.rb +0 -83
  131. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/commits.rb +0 -42
  132. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +0 -23
  133. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +0 -61
  134. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +0 -39
  135. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/push.rb +0 -60
  136. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/remote.rb +0 -33
  137. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/test.rb +0 -40
  138. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +0 -28
  139. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/validation.rb +0 -39
  140. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/validations.rb +0 -53
  141. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +0 -19
  142. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/complete.rb +0 -66
  143. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue/deliver.rb +0 -56
  144. data/sub/avm-tools/sub/avm-git/lib/avm/git/issue.rb +0 -11
  145. data/sub/avm-tools/sub/avm-git/lib/avm/git/organize/reference_update.rb +0 -34
  146. data/sub/avm-tools/sub/avm-git/lib/avm/git/organize/repository.rb +0 -76
  147. data/sub/avm-tools/sub/avm-git/lib/avm/git/revision_test.rb +0 -105
  148. data/sub/avm-tools/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +0 -35
  149. data/sub/avm-tools/sub/avm-git/lib/avm/git/scms/git/commit.rb +0 -55
  150. data/sub/avm-tools/sub/avm-git/lib/avm/git/scms/git.rb +0 -73
  151. data/sub/avm-tools/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +0 -39
  152. data/sub/avm-tools/sub/avm-git/lib/avm/git/scms/provider.rb +0 -19
  153. data/sub/avm-tools/sub/avm-git/lib/avm/git/scms.rb +0 -11
  154. data/sub/avm-tools/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +0 -51
  155. data/sub/avm-tools/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +0 -89
  156. data/sub/avm-tools/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +0 -32
  157. data/sub/avm-tools/sub/avm-git/lib/avm/git/subrepo_check.rb +0 -38
  158. data/sub/avm-tools/sub/avm-git/lib/avm/git/subrepo_checks.rb +0 -59
  159. data/sub/avm-tools/sub/avm-git/lib/avm/git.rb +0 -11
  160. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/auto_commit_path_spec.rb +0 -21
  161. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/deploy_spec.rb +0 -93
  162. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +0 -13
  163. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +0 -1
  164. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
  165. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +0 -1
  166. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
  167. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +0 -1
  168. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
  169. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +0 -2
  170. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
  171. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
  172. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
  173. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/commit_spec.rb +0 -56
  174. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +0 -8
  175. data/sub/avm-tools/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +0 -8
  176. data/sub/avm-tools/sub/avm-git/spec/rubocop_spec.rb +0 -3
  177. data/sub/avm-tools/sub/avm-git/spec/spec_helper.rb +0 -4
  178. data/sub/avm-tools/sub/eac_git/Gemfile +0 -5
  179. data/sub/avm-tools/sub/eac_git/eac_git.gemspec +0 -20
  180. data/sub/avm-tools/sub/eac_git/lib/eac_git/executables.rb +0 -48
  181. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/branch.rb +0 -27
  182. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/commit/archive.rb +0 -19
  183. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/commit/changed_file.rb +0 -46
  184. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/commit/diff_tree_line.rb +0 -32
  185. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/commit.rb +0 -73
  186. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/dirty_files.rb +0 -37
  187. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/log.rb +0 -17
  188. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/remote.rb +0 -27
  189. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/remotes.rb +0 -20
  190. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/subrepo/config.rb +0 -43
  191. data/sub/avm-tools/sub/eac_git/lib/eac_git/local/subrepo.rb +0 -49
  192. data/sub/avm-tools/sub/eac_git/lib/eac_git/local.rb +0 -126
  193. data/sub/avm-tools/sub/eac_git/lib/eac_git/remote/ls_result.rb +0 -20
  194. data/sub/avm-tools/sub/eac_git/lib/eac_git/remote.rb +0 -19
  195. data/sub/avm-tools/sub/eac_git/lib/eac_git/rspec/setup.rb +0 -23
  196. data/sub/avm-tools/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb +0 -71
  197. data/sub/avm-tools/sub/eac_git/lib/eac_git/rspec.rb +0 -9
  198. data/sub/avm-tools/sub/eac_git/lib/eac_git/version.rb +0 -5
  199. data/sub/avm-tools/sub/eac_git/lib/eac_git.rb +0 -7
  200. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/executables_spec.rb +0 -13
  201. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec.rb +0 -13
  202. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.source.out +0 -1
  203. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
  204. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.source.out +0 -1
  205. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
  206. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.source.out +0 -1
  207. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
  208. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.source.out +0 -2
  209. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
  210. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
  211. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
  212. data/sub/avm-tools/sub/eac_git/spec/lib/eac_git/local/commit_spec.rb +0 -58
  213. data/sub/avm-tools/sub/eac_git/spec/rubocop_spec.rb +0 -3
  214. data/sub/avm-tools/sub/eac_git/spec/spec_helper.rb +0 -4
  215. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/Changes +0 -110
  216. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/Intro.pod +0 -509
  217. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/License +0 -21
  218. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/Makefile +0 -82
  219. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/Meta +0 -28
  220. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ReadMe.pod +0 -698
  221. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/doc/comparison.swim +0 -35
  222. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/doc/git-subrepo.swim +0 -608
  223. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/doc/intro-to-subrepo.swim +0 -387
  224. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/Changes +0 -15
  225. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/License +0 -21
  226. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/Makefile +0 -45
  227. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/Meta +0 -28
  228. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/ReadMe.pod +0 -77
  229. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/bin/bash+ +0 -43
  230. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +0 -61
  231. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +0 -92
  232. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +0 -134
  233. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +0 -134
  234. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/base.t +0 -12
  235. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/fcopy.t +0 -22
  236. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash +0 -3
  237. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash +0 -3
  238. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +0 -18
  239. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +0 -23
  240. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/test.bash +0 -70
  241. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/use.t +0 -19
  242. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Changes +0 -15
  243. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/License +0 -21
  244. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Makefile +0 -20
  245. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Meta +0 -30
  246. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +0 -115
  247. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +0 -89
  248. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +0 -15
  249. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +0 -21
  250. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +0 -45
  251. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +0 -28
  252. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +0 -77
  253. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +0 -43
  254. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +0 -61
  255. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +0 -92
  256. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +0 -134
  257. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +0 -134
  258. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +0 -12
  259. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +0 -22
  260. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +0 -3
  261. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +0 -3
  262. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +0 -18
  263. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +0 -23
  264. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/test.bash +0 -70
  265. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +0 -19
  266. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +0 -15
  267. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +0 -21
  268. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +0 -37
  269. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +0 -28
  270. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +0 -66
  271. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +0 -48
  272. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +0 -153
  273. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +0 -119
  274. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +0 -13
  275. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t +0 -10
  276. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +0 -20
  277. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +0 -15
  278. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +0 -9
  279. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t +0 -9
  280. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t +0 -10
  281. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +0 -20
  282. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +0 -13
  283. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +0 -14
  284. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +0 -7
  285. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +0 -12
  286. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +0 -8
  287. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +0 -9
  288. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +0 -95
  289. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +0 -173
  290. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/fail.t +0 -20
  291. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/more.t +0 -20
  292. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/pass.t +0 -9
  293. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/setup +0 -8
  294. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/skip_all.t +0 -11
  295. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +0 -12
  296. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t +0 -10
  297. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/lib/git-subrepo +0 -1903
  298. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +0 -1
  299. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +0 -339
  300. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/man/man1/git-subrepo.1 +0 -743
  301. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/0.4.0 +0 -12
  302. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/AllGitCmds +0 -148
  303. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/Cases +0 -32
  304. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/Commands +0 -33
  305. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/Dags +0 -199
  306. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/Gists +0 -7
  307. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/Links +0 -25
  308. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/Plugins +0 -10
  309. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/Spec +0 -39
  310. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/Story1 +0 -57
  311. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/ToDo +0 -55
  312. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/design.swim +0 -137
  313. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/design2.swim +0 -85
  314. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/init-test +0 -38
  315. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/pull-dance.txt +0 -18
  316. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/recreate-rebase-conflict.sh +0 -56
  317. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash +0 -29
  318. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/test-subrepo-push.sh +0 -69
  319. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/note/test.sh +0 -58
  320. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-completion.pl +0 -210
  321. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +0 -89
  322. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/share/completion.bash +0 -42
  323. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/share/enable-completion.sh +0 -50
  324. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/share/git-completion.bash +0 -2738
  325. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/share/zsh-completion/_git-subrepo +0 -81
  326. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/branch-all.t +0 -41
  327. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/branch-rev-list-one-path.t +0 -43
  328. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/branch-rev-list.t +0 -47
  329. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/branch.t +0 -52
  330. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/clean.t +0 -43
  331. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/clone-annotated-tag.t +0 -45
  332. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/clone.t +0 -107
  333. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/compile.t +0 -19
  334. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/config.t +0 -58
  335. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/encode.t +0 -91
  336. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/error.t +0 -171
  337. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/fetch.t +0 -43
  338. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/gitignore.t +0 -61
  339. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/init.t +0 -64
  340. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/issue29.t +0 -98
  341. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/issue95.t +0 -98
  342. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/issue96.t +0 -96
  343. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/pull-all.t +0 -38
  344. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/pull-merge.t +0 -113
  345. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/pull-message.t +0 -88
  346. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/pull-new-branch.t +0 -58
  347. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/pull-ours.t +0 -90
  348. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/pull-theirs.t +0 -82
  349. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/pull-twice.t +0 -44
  350. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/pull-worktree.t +0 -40
  351. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/pull.t +0 -99
  352. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/push-after-init.t +0 -51
  353. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/push-force.t +0 -56
  354. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/push-new-branch.t +0 -61
  355. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/push-no-changes.t +0 -29
  356. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/push-squash.t +0 -56
  357. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/push.t +0 -176
  358. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/reclone.t +0 -45
  359. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/bar/HEAD +0 -1
  360. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/bar/config +0 -4
  361. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
  362. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
  363. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
  364. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
  365. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  366. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
  367. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/heads/master +0 -1
  368. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/tags/A +0 -1
  369. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/foo/HEAD +0 -1
  370. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/foo/config +0 -4
  371. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
  372. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
  373. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  374. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/foo/refs/heads/master +0 -1
  375. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/HEAD +0 -1
  376. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/config +0 -5
  377. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
  378. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
  379. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +0 -2
  380. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
  381. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
  382. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
  383. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
  384. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
  385. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +0 -1
  386. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
  387. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
  388. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +0 -1
  389. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
  390. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
  391. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +0 -3
  392. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +0 -2
  393. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +0 -2
  394. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +0 -1
  395. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
  396. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/repo/init/refs/heads/master +0 -1
  397. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/setup +0 -205
  398. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/status.t +0 -68
  399. data/sub/avm-tools/sub/eac_git/vendor/git-subrepo/test/submodule.t +0 -45
  400. data/sub/avm-tools/sub/eac_rest/Gemfile +0 -5
  401. data/sub/avm-tools/sub/eac_rest/eac_rest.gemspec +0 -18
  402. data/sub/avm-tools/sub/eac_rest/lib/eac_rest/api.rb +0 -50
  403. data/sub/avm-tools/sub/eac_rest/lib/eac_rest/entity.rb +0 -16
  404. data/sub/avm-tools/sub/eac_rest/lib/eac_rest/request.rb +0 -95
  405. data/sub/avm-tools/sub/eac_rest/lib/eac_rest/response.rb +0 -112
  406. data/sub/avm-tools/sub/eac_rest/lib/eac_rest/version.rb +0 -5
  407. data/sub/avm-tools/sub/eac_rest/lib/eac_rest.rb +0 -7
  408. data/sub/avm-tools/sub/eac_rest/spec/rubocop_spec.rb +0 -3
  409. data/sub/avm-tools/sub/eac_rest/spec/spec_helper.rb +0 -4
  410. data/sub/avm-tools/sub/eac_templates/Gemfile +0 -5
  411. data/sub/avm-tools/sub/eac_templates/eac_templates.gemspec +0 -19
  412. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/core_ext.rb +0 -4
  413. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/directory.rb +0 -108
  414. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/file.rb +0 -48
  415. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/from_all_gems.rb +0 -4
  416. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/from_gem.rb +0 -35
  417. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/patches/module/erb_template.rb +0 -9
  418. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/patches/module/template.rb +0 -10
  419. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/patches/module.rb +0 -4
  420. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/patches/object/erb_template.rb +0 -9
  421. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/patches/object/template.rb +0 -9
  422. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/patches/object.rb +0 -4
  423. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/patches.rb +0 -4
  424. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/searcher.rb +0 -53
  425. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/variable_not_found_error.rb +0 -5
  426. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/variable_providers/base.rb +0 -21
  427. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/variable_providers/config_reader.rb +0 -27
  428. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/variable_providers/entries_reader.rb +0 -23
  429. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/variable_providers/generic.rb +0 -23
  430. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/variable_providers/hash.rb +0 -27
  431. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/variable_providers.rb +0 -23
  432. data/sub/avm-tools/sub/eac_templates/lib/eac_templates/version.rb +0 -5
  433. data/sub/avm-tools/sub/eac_templates/lib/eac_templates.rb +0 -7
  434. data/sub/avm-tools/sub/eac_templates/spec/lib/eac_templates/file_spec.rb +0 -35
  435. data/sub/avm-tools/sub/eac_templates/spec/lib/eac_templates/file_spec_files/expected_content +0 -2
  436. data/sub/avm-tools/sub/eac_templates/spec/lib/eac_templates/file_spec_files/source.template +0 -2
  437. data/sub/avm-tools/sub/eac_templates/spec/lib/eac_templates/searcher_spec.rb +0 -30
  438. data/sub/avm-tools/sub/eac_templates/spec/lib/eac_templates/searcher_spec_files/path1/subdir1/file1.template +0 -1
  439. data/sub/avm-tools/sub/eac_templates/spec/lib/eac_templates/searcher_spec_files/path1/subdir1/file2 +0 -1
  440. data/sub/avm-tools/sub/eac_templates/spec/lib/eac_templates/searcher_spec_files/path2/subdir1/file3.template +0 -1
  441. data/sub/avm-tools/sub/eac_templates/spec/lib/object/template_spec.rb +0 -23
  442. data/sub/avm-tools/sub/eac_templates/spec/lib/object/template_spec_files/path/my_stub_with_template +0 -1
  443. data/sub/avm-tools/sub/eac_templates/spec/rubocop_spec.rb +0 -3
  444. data/sub/avm-tools/sub/eac_templates/spec/spec_helper.rb +0 -4
  445. data/sub/avm-tools/template/avm/ruby/gems/generator/static/Gemfile +0 -5
  446. data/sub/avm-tools/template/avm/ruby/gems/generator/static/spec/rubocop_spec.rb +0 -3
  447. data/sub/avm-tools/template/avm/ruby/gems/generator/static/spec/spec_helper.rb +0 -4
@@ -1,110 +0,0 @@
1
- ---
2
- version: 0.4.1
3
- date: Thu Jan 9 17:11:21 CST 2020
4
- - Fix Bash version error messages and add to .rc
5
- - Nicer YAML formatting in .travis.yml
6
- - Wrap a long line
7
- - Update the docs
8
- - Force `make update` to always update docs
9
- - Don't use XXX in perl stuff
10
- - Add testing on MacOS
11
- - Remove conflicting -C from install -d commands.
12
- - Update version requirement documentation
13
- - Correct error message in branch
14
- - Use topo-order in subrepo branch
15
- - Make “git subrepo clean -f ...” delete refs correctly
16
- - Fix #410 Push empty repositories with recent git versions
17
- - Make subrepo work when run in a worktree
18
- - Simplify finding subrepos
19
- - Ask git to find the .gitrepo files
20
- - Doc: fix sentence repetition
21
- - Fix typos
22
- - Fixed typo
23
- - Travis CI not checking out a branch.
24
- ---
25
- version: 0.4.0
26
- date: Thu Nov 8 12:26:38 CET 2018
27
- changes:
28
- - Fix #325 Do not squash main repo commits
29
- - Improve error message for worktree handling
30
- - Make version checking portable. #307
31
- - #307, improve version check
32
- - #307, update version requirement
33
- - Fix part #308, Add stderr output if commands fail
34
- - Fix #306: Add check to prevent following commits with no .gitrepo
35
- - Remove dry-run flag as it's not implemented. Make sure branch --force delete worktree
36
- - Fix #296, Replace --first-parent with --ancestry-path
37
- - Fix #291, specify Trusty host to get new 2.x git
38
- - Fix #258, add --no-tags to git fetch
39
- - Test that no remotes are created during clone
40
- - #257 Remove remote creation to avoid problems with fetch --all
41
- - (origin/issue/150_to_0.4.0) Fix remove-worktree, remove unused parameters
42
- - Regenerate completion files
43
- - filter-branch operation should not be done on HEAD
44
- - Cleanup push and add hint to push directly after pull
45
- - Simplify cleanup and add worktree to status
46
- - Add --method option to init/clone, add a 'config' command
47
- - Updated unit tests to support the new logic
48
- - Use 'git worktree' for merge/rebase
49
- - Update docs to reflect how things should work
50
- - Make it possible to specify commit messages
51
- - Redesign, trash the tree hash approach and use merges instead
52
- - Add release branches to travis-ci
53
- - Add --method option to init/clone, add a 'config' command
54
- - Detect multiple pulls, use -u flag to decide
55
- - Don't reuse previous commit message when using --all
56
- - Update the docs for pull and push
57
- - Update error messages when failing merge/rebase
58
- - Fix env var bug in test/push.t
59
- - Do not overwrite author information
60
- ---
61
- version: 0.3.1
62
- date: Tue Jan 3 23:08:56 PST 2017
63
- changes:
64
- - Updated release for homebrew
65
- - Fix #192
66
- ---
67
- version: 0.3.0
68
- date: Wed Dec 2 19:19:43 PST 2015
69
- changes:
70
- - Fix issue #98 and host of others (89, 91, 95, 96)
71
- - Adds support for the merge-base command
72
- - Adds stability to many commands
73
- - Command completion updates
74
- - Rename `init` to `.rc`
75
- - @grimmySwe++ @dzzh++ @jrosdahl++ @perlpunk++
76
- ---
77
- version: 0.2.3
78
- date: Sun Aug 9 13:44:22 PDT 2015
79
- changes:
80
- - Fix issues #75 and #76
81
- ---
82
- version: 0.2.2
83
- date: Wed Jul 22 09:45:13 PDT 2015
84
- changes:
85
- - Added the `init` subcommand
86
- - Applied doc fixes
87
- ---
88
- version: 0.2.1
89
- date: Sat Mar 28 07:52:22 PDT 2015
90
- changes:
91
- - Allows subrepo clone to clone to an empty branch; fixes #26.
92
- - Refs in status
93
- - Empty parent set to 'none' in .gitrepo file.
94
- - Bug fixes
95
- ---
96
- version: 0.2.0
97
- date: Sat Jan 24 06:22:05 PST 2015
98
- changes:
99
- - Massive overhaul
100
- - .gitrepo files remain the same so backwards compatible
101
- - Introduce the branch and commit subcommands
102
- - The checkout subcommand goes away
103
- - Operations work much smoother like normal Git flow
104
- - Much more testing
105
- - Better doc
106
- ---
107
- version: 0.1.0
108
- date: Fri Feb 21 12:25:53 2014 -0800
109
- changes:
110
- - First version
@@ -1,509 +0,0 @@
1
- =pod
2
-
3
- =for comment
4
- DO NOT EDIT. This Pod was generated by Swim v0.1.48.
5
- See http://github.com/ingydotnet/swim-pm#readme
6
-
7
- =encoding utf8
8
-
9
- =head1 Introducing Git Subrepos
10
-
11
- There is a new git command called C<subrepo> that is meant to be a solid
12
- alternative to the C<submodule> and C<subtree> commands. All 3 of these
13
- commands allow you to include external repositories (pinned to specific
14
- commits) in your main repository. This is an often needed feature for project
15
- development under a source control system like Git. Unfortunately, the
16
- C<submodule> command is severely lacking, and the C<subtree> command (an
17
- attempt to make things better) is also very flawed. Fortunately, the
18
- C<subrepo> command is here to save the day.
19
-
20
- This article will discuss how the previous commands work, and where they go
21
- wrong, while explaining how the new C<subrepo> command fixes the issues.
22
-
23
- It should be noted that there are 3 distinct roles (ways people use repos)
24
- involved in discussing this topic:
25
-
26
- =over
27
-
28
- =item * B<owner> — The primary author and repo owner
29
-
30
- =item * B<collaborators> — Other developers who contribute to the repo
31
-
32
- =item * B<users> — People who simply use the repo software
33
-
34
- =back
35
-
36
- =head2 Introducing C<subrepo>
37
-
38
- While the main point is to show how subrepo addresses the shortcomings
39
- of submodule and subtree, I'll start by giving a quick intro to the
40
- subrepo command.
41
-
42
- Let's say that you have a project repo called 'freebird' and you want to have
43
- it include 2 other external repos, 'lynyrd' and 'skynyrd'. You would do the
44
- following:
45
-
46
- git clone git@github.com/you/freebird
47
- cd freebird
48
- git subrepo clone git@github.com/you/lynyrd ext/lynyrd
49
- git subrepo clone git@github.com/you/skynyrd ext/skynyrd --branch=1975
50
-
51
- What these commands do (at a high level) should be obvious. They "clone" (add)
52
- the repos content into the subdirectories you told them to. The details of
53
- what is happening to your repo will be discussed later, but adding new
54
- subrepos is easy. If you need to update the subrepos later:
55
-
56
- git subrepo pull ext/lynyrd
57
- git subrepo pull ext/skynyrd --branch=1976
58
-
59
- The lynyrd repo is tracking the upstream master branch, and you've changed the
60
- skynyrd subrepo to the 1976 branch. Since these subrepos are owned by 'you',
61
- you might want to change them in the context of your freebird repo. When
62
- things are working, you can push the subrepo changes back:
63
-
64
- git subrepo push ext/lynyrd
65
- git subrepo push ext/skynyrd
66
-
67
- Looks simple right? It's supposed to be. The intent of C<subrepo> is to do the
68
- right things, and to not cause problems.
69
-
70
- Of course there's more to it under the hood, and that's what the rest of this
71
- article is about.
72
-
73
- =head2 Git Submodules
74
-
75
- Submodules tend to receive a lot of bad press. Here's some of it:
76
-
77
- =over
78
-
79
- =item * L<http://ayende.com/blog/4746/the-problem-with-git-submodules>
80
-
81
- =item * L<http://somethingsinistral.net/blog/git-submodules-are-probably-not-the-answer/>
82
-
83
- =item * L<http://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/>
84
-
85
- =back
86
-
87
- A quick recap of some of the good and bad things about submodules:
88
-
89
- Good:
90
-
91
- =over
92
-
93
- =item * Use an external repo in a dedicated subdir of your project.
94
-
95
- =item * Pin the external repo to a specific commit.
96
-
97
- =item * The C<git-submodule> command is a core part of the Git project.
98
-
99
- =back
100
-
101
- Bad:
102
-
103
- =over
104
-
105
- =item * Users have to know a repo has submodules.
106
-
107
- =item * Users have to get the subrepos manually.
108
-
109
- =item * Pulling a repo with submodules won't pull in the new submodule changes.
110
-
111
- =item * A submodule will break if the referenced repo goes away.
112
-
113
- =item * A submodule will break if a forced push removes the referenced commit.
114
-
115
- =item * Can't use different submodules/commits per main project branch.
116
-
117
- =item * Can't "try out" a submodule on alternate branch.
118
-
119
- =item * Main repo can be pushed upstream pointing to unpushed submod commits.
120
-
121
- =item * Command capability differs across Git versions.
122
-
123
- =item * Often need to change remote url, to push submodule changes upstream.
124
-
125
- =item * Removing or renaming a submodule requires many steps.
126
-
127
- =back
128
-
129
- Internally, submodules are a real mess. They give the strong impression of
130
- being bolted on, well after Git was designed. Some commands are aware of the
131
- existence of submodules (although usually half-heartedly), and many commands
132
- are oblivious. For instance the git-clone command has a C<--recursive> option
133
- to clone all subrepos, but it's not a default, so you still need to be aware
134
- of the need. The git-checkout command does nothing with the submodules, even
135
- if they are intended to differ across branches.
136
-
137
- Let's talk a bit about how submodules are implemented in Git. Information
138
- about them is stored in 3 different places (in the top level repo directory):
139
-
140
- =over
141
-
142
- =item * C<.gitmodules>
143
-
144
- =item * C<.git/config>
145
-
146
- =item * C<.git/modules> — The submodule repo's meta data (refs/objects)
147
-
148
- =back
149
-
150
- So some of the information lives in the repo history (.gitmodules), but other
151
- info (.git/) is only known to the local repo.
152
-
153
- In addition, the submodule introduces a new low level concept, to the
154
- commitI<tree>blob graph. Normally a git tree object points to blob (file)
155
- objects and more tree (directory) objects. Submodules have tree objects point
156
- to B<commit> objects. While this seems clever and somewhat reasonable, it also
157
- means that every other git command (which was built on the super clean Git
158
- data model) has to be aware of this new possibility (and deal with it
159
- appropriately).
160
-
161
- The point is that, while submodules are a real need, and a lot of work has
162
- gone into making them work decently, they are essentially a kludge to the Git
163
- model, and it is quite understandable why they haven't worked out as well as
164
- people would expect.
165
-
166
- NOTE: Submodules I<are> getting better with each release of Git, but it's
167
- still an endless catch up game.
168
-
169
- =head2 Git Subtrees
170
-
171
- One day, someone decided to think different. Instead of pointing to external
172
- repos, why not just include them into the main repo (but also allow them to be
173
- pulled and pushed separately as needed)?
174
-
175
- At first this may feel like a wasteful approach. Why keep other repos
176
- physically inside your main one? But if you think about it abstractly, what's
177
- the difference? You want your users and collaborators to have all this code
178
- because your project needs it. So why worry about how it happens? In the end,
179
- the choice is yours, but I've grown very comfortable with this concept and
180
- I'll try to justify it well. I should note that the first paragraph of the
181
- C<submodule> doc suggests considering this alternative.
182
-
183
- The big win here is that you can do this using the existing git model. Nothing
184
- new is added. You are just adding commits to a history. You can do it
185
- different on every branch. You can merge branches sensibly.
186
-
187
- The git-subtree command seems to have been inspired by Git's subtree merge
188
- strategy, which it uses internally, and possibly got its name from. A subtree
189
- merge allows you to take a completely separate Git history and make it be a
190
- subdirectory of your repo.
191
-
192
- Adding a subtree was the easy part. All that needed to be done after that was
193
- to figure out a way to pull upstream changes and push local ones back
194
- upstream. And that's what the C<git-subtree> command does.
195
-
196
- So what's the problem with git-subtree then?
197
-
198
- Well unfortunately, it drops a few balls. The main problems come down to an
199
- overly complicated commandline UX, poor collaborator awareness, and a fragile
200
- and messy implementation.
201
-
202
- Good:
203
-
204
- =over
205
-
206
- =item * Use an external repo in a dedicated subdir of your project.
207
-
208
- =item * Pin the external repo to a specific commit.
209
-
210
- =item * Users get everything with a normal clone command.
211
-
212
- =item * Users don't need to know that subtrees are involved.
213
-
214
- =item * Can use different submodules/commits per main project branch.
215
-
216
- =item * Users don't need the subtree command. Only owners and collaborators.
217
-
218
- =back
219
-
220
- Bad:
221
-
222
- =over
223
-
224
- =item * The remote url and branch info is not saved (except in the history).
225
-
226
- =item * Owners and collaborators have to enter the remote for every command.
227
-
228
- =item * Collaborators aren't made aware that subtrees are involved.
229
-
230
- =item * Pulled history is not squashed by default.
231
-
232
- =item * Creates a messy historical view. (See below)
233
-
234
- =item * Bash code is complicated.
235
-
236
- =item * Only one test file. Currently is failing.
237
-
238
- =back
239
-
240
- As you can see, subtree makes quite a few things better, but after trying it
241
- for a while, the experience was more annoying than submodules. For example,
242
- consider this usage:
243
-
244
- $ git subtree add --squash --prefix=foo git@github.com:my/thing mybranch
245
- # weeks go by…
246
- $ git subtree pull --squash --prefix=foo git@github.com:my/thing mybranch
247
- # time to push local subtree changes back upstream
248
- $ git subtree push --prefix=foo git@github.com:my/thing mybranch
249
-
250
- The first thing you notice is the overly verbose syntax. It's justified in the
251
- first command, but in the other 2 commands I really don't want to have to
252
- remember what the remote and branch are that I'm using.
253
-
254
- Moreover, my collaborators have no idea that subtrees are involved, let alone
255
- where they came from.
256
-
257
- Consider the equivalent subrepo commands:
258
-
259
- $ git subrepo clone git@github.com:my/thing foo -b mybranch
260
- $ git subrepo pull foo
261
- $ git subrepo push foo
262
-
263
- Collaborators see a file called 'foo/.gitrepo', and know that the subdir is a
264
- subrepo. The file contains all the information needed by future commands
265
- applied to that subrepo.
266
-
267
- =head2 Git Subrepos
268
-
269
- Now is a good time to dive into the techinical aspects of the C<subrepo>
270
- command, but first let me explain how it came about.
271
-
272
- As you may have surmised by now, I am the author of git-subrepo. I'd used
273
- submodules on and off for years, and when I became aware of subtree I gave it
274
- a try, but I quickly realized its problems. I decided maybe it could be
275
- improved. I decided to write down my expected commandline usage and my ideals
276
- of what it would and would not do. Then I set off to implement it. It's been a
277
- long road, but what I ended up with was even better than what I wanted from
278
- the start.
279
-
280
- Let's review the Goods and Bads:
281
-
282
- Good:
283
-
284
- =over
285
-
286
- =item * Use an external repo in a dedicated subdir of your project.
287
-
288
- =item * Pin the external repo to a specific commit.
289
-
290
- =item * Users get everything with a normal clone command.
291
-
292
- =item * Users don't need to know that subrepos are involved.
293
-
294
- =item * Can use different submodules/commits per main project branch.
295
-
296
- =item * Meta info is kept in an obvious place.
297
-
298
- =item * Everyone knows when a subdir is a subrepo.
299
-
300
- =item * Commandline UX is minimal and intuitive.
301
-
302
- =item * Pulled history is always squashed out locally.
303
-
304
- =item * Pushed history is kept intact.
305
-
306
- =item * Creates a clean historical view. (See below)
307
-
308
- =item * Bash code is very simple and easy to follow.
309
-
310
- =item * Comprehensive test suite. Currently passing on travis:
311
-
312
- =back
313
-
314
- =for html
315
- <a href="https://travis-ci.org/ingydotnet/git-subrepo"><img src="https://travis-ci.org/ingydotnet/git-subrepo.png" alt="git-subrepo"></a>
316
-
317
- Bad:
318
-
319
- =over
320
-
321
- =item * --Subrepo is very new.-- (no longer true)
322
-
323
- =item * --Not well tested in the wild.-- (no longer true)
324
-
325
- =back
326
-
327
- This review may seem somewhat slanted, but I honestly am not aware of any
328
- "bad" points that I'm not disclosing. That said, I am sure time will reveal
329
- bugs and shortcomings. Those can usually be fixed. Hopefully the B<model> is
330
- correct, because that's harder to fix down the road.
331
-
332
- OK. So how does it all work?
333
-
334
- There are 3 main commands: cloneI<pull>push. Let's start with the clone
335
- command. This is the easiest part. You give it a remote url, possibly a new
336
- subdir to put it, and possibly a remote branch to use. I say possibly, because
337
- the command can guess the subdir name (just like the git-clone command does),
338
- and the branch can be the upstream default branch.
339
-
340
- Given this we do the following steps internally:
341
-
342
- =over
343
-
344
- =item * Fetch the remote content (for a specific refspec)
345
-
346
- =item * Read the remote head tree into the index
347
-
348
- =item * Checkout the index into the new subdir
349
-
350
- =item * Create a new subrepo commit object for the subdir content
351
-
352
- =item * Add a state file called .gitrepo to the new subrepo/subdir
353
-
354
- =item * Amend the merge commit with this new file
355
-
356
- =back
357
-
358
- This process adds something like this to the top of your history:
359
-
360
- * 9b6ddc9 git subrepo clone git@github.com:you/foo.git foo/
361
- * 37c61a5 Previous head commit of your repo
362
-
363
- The entire history has been squashed down into one commit, and placed on
364
- top of your history. This is important as it keeps your history as clean
365
- as possible. You don't need to have the subrepo history in your main
366
- project, since it is immutably available elsewhere, and you have a pointer
367
- to that place.
368
-
369
- The new foo/.gitrepo file looks like this:
370
-
371
- [subrepo]
372
- remote = git@github.com:you/foo.git
373
- branch = master
374
- commit = 14c96c6931b41257b2d42b2edc67ddc659325823
375
- parent = 37c61a5a234f5dd6f5c2aec037509f50d3a79b8f
376
- cmdver = 0.1.0
377
-
378
- It contains all the info needed now and later. Note that the repo url is the
379
- generally pushable form, rather than the publically readable (L<https://…)>
380
- form. This is the best practice. Users of your repo don't need access to this
381
- url, because the content is already in your repo. Only you and your
382
- collaborators need this url to pull/push in the future.
383
-
384
- The next command is the pull command. Normally you just give it the subrepo's
385
- subdir path (although you can change the branch with -b), and it will get the
386
- other info from the subdir/.gitrepo file.
387
-
388
- The pull command does these steps:
389
-
390
- =over
391
-
392
- =item * Fetch the upstream content
393
-
394
- =item * Check if anything needs pulling
395
-
396
- =item * Create a branch of local subrepo commits since last pull
397
-
398
- =item * Rebase this branch onto the upstream commits
399
-
400
- =item * Commit the HEAD of the rebased content
401
-
402
- =item * Update/amend the .gitrepo file
403
-
404
- =back
405
-
406
- =head3 Clean History
407
-
408
- I've talked a bit about clean history but let me show you a comparison between
409
- subrepo and subtree. Let's run this command sequence using both methods. Note
410
- the differences between I<both> the command syntax required, and the branch
411
- history produced.
412
-
413
- Subrepo first:
414
-
415
- $ git subrepo clone git@github.com:user/abc
416
- $ git subrepo clone git@github.com:user/def xyz
417
- $ git subrepo pull abc
418
- $ git subrepo pull xyz
419
-
420
- The resulting history is:
421
-
422
- * b1f60cc subrepo pull xyz
423
- * 4fb0276 subrepo pull abc
424
- * bcef2a0 subrepo clone git@github.com:user/def xyz
425
- * bebf0db subrepo clone git@github.com:user/abc
426
- * 64eeaa6 (origin/master, origin/HEAD) O HAI FREND
427
-
428
- Compare that to B<subtree>. This:
429
-
430
- $ git subtree add abc git@github.com:user/abc master
431
- $ git subtree add xyz git@github.com:user/def master
432
- $ git subtree pull abc git@github.com:user/abc master
433
- $ git subtree pull xyz git@github.com:user/def master
434
-
435
- Produces this:
436
-
437
- * 739e45a (HEAD, master) Merge commit '5f563469d886d53e19cb908b3a64e4229f88a2d1'
438
- |\
439
- | * 5f56346 Squashed 'xyz/' changes from 08c7421..365409f
440
- * | 641f5e5 Merge commit '8d88e90ce5f653ed2e7608a71b8693a2174ea62a'
441
- |\ \
442
- | * | 8d88e90 Squashed 'abc/' changes from 08c7421..365409f
443
- * | | 1703ed2 Merge commit '0e091b672c4bbbbf6bc4f6694c475d127ffa21eb' as 'xyz'
444
- |\ \ \
445
- | | |/
446
- | |/|
447
- | * | 0e091b6 Squashed 'xyz/' content from commit 08c7421
448
- | /
449
- * | 07b77e7 Merge commit 'cd2b30a0229d931979ed4436b995875ec563faea' as 'abc'
450
- |\ \
451
- | |/
452
- | * cd2b30a Squashed 'abc/' content from commit 08c7421
453
- * 64eeaa6 (origin/master, origin/HEAD) O HAI FREND
454
-
455
- This was from a minimal case. Subtree history (when viewed this way at least)
456
- gets unreasonably ugly fast. Subrepo history, by contrast, always looks as
457
- clean as shown.
458
-
459
- The final command, push, bascially just does the pull/rebase dance above
460
- described, and pushes the resulting history back. It does not squash the
461
- commits made locally, because it assumed that when you changed the local
462
- subrepo, you made messages that were intended to eventually be published
463
- back upstream.
464
-
465
- =head2 Conflict Resolution
466
-
467
- The commands described above can also be done "by hand". If something fails
468
- during a pull or push (generally in the rebasing) then the command will tell
469
- you what to do to finish up.
470
-
471
- You might choose to do everything by hand, and do your own merging strategies.
472
- This is perfectly reasonable. The C<subrepo> command offers a few other helper
473
- commands to help you get the job done:
474
-
475
- =over
476
-
477
- =item * C<fetch> - Fetch the upstream and create a C<< subrepo/remote/<subdir> >> ref.
478
-
479
- =item * C<branch> - Create a branch of local subdir commits since the last pull, called C<< subrepo/<subdir> >>.
480
-
481
- =item * C<commit> - Commit a merged branch's HEAD back into your repo.
482
-
483
- =item * C<status> - Show lots of useful info about the current state of the subrepos.
484
-
485
- =item * C<clean> - Remove branches, ref and remotes created by subrepo commands.
486
-
487
- =item * C<help> - Read the complete documentation!
488
-
489
- =back
490
-
491
- =head2 Conclusion
492
-
493
- Hopefully by now, you see that submodules are a painful choice with a dubious
494
- future, and that subtree, while a solid idea has many usage issues.
495
-
496
- Give C<subrepo> a try. It's painless, easily revertable and just might be what
497
- the doctor ordered.
498
-
499
- =head2 Reference Links
500
-
501
- =over
502
-
503
- =item * L<http://longair.net/blog/2010/06/02/git-submodules-explained/>
504
-
505
- =item * L<http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/>
506
-
507
- =back
508
-
509
- =cut
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2013-2020 Ingy döt Net
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.