eac_tools 0.123.1 → 0.124.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +29 -39
  3. data/eac_tools.gemspec +2 -2
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm-eac_redmine_base0/.gitrepo +7 -0
  6. data/sub/avm-eac_redmine_base0/.rubocop.yml +2 -0
  7. data/sub/{avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec → avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec} +9 -7
  8. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +10 -0
  9. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +27 -0
  10. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +18 -0
  11. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +52 -0
  12. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +43 -0
  13. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +21 -0
  14. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +17 -0
  15. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +63 -0
  16. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +16 -0
  17. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +110 -0
  18. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +27 -0
  19. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +30 -0
  20. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +17 -0
  21. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +67 -0
  22. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +16 -0
  23. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +15 -0
  24. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +25 -0
  25. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +68 -0
  26. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +26 -0
  27. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +22 -0
  28. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +53 -0
  29. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/default_settings.rb +45 -0
  30. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/update.rb +16 -0
  31. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +34 -0
  32. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +125 -0
  33. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +61 -0
  34. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +16 -0
  35. data/sub/{avm-git/lib/avm/git → avm-eac_redmine_base0/lib/avm/eac_redmine_base0}/version.rb +2 -2
  36. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb → avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb} +4 -3
  37. data/sub/avm-eac_redmine_base0/locale/en.yml +6 -0
  38. data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +6 -0
  39. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +19 -0
  40. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +11 -0
  41. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +24 -0
  42. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +10 -0
  43. data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem → avm-eac_redmine_base0}/spec/spec_helper.rb +2 -1
  44. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +46 -0
  45. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +8 -0
  46. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +37 -0
  47. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +8 -0
  48. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +10 -0
  49. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +16 -0
  50. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +5 -0
  51. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +53 -0
  52. metadata +55 -559
  53. data/sub/avm-eac_ruby_base1/.gitignore +0 -2
  54. data/sub/avm-eac_ruby_base1/.gitrepo +0 -7
  55. data/sub/avm-eac_ruby_base1/.rubocop.yml +0 -3
  56. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +0 -54
  57. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +0 -17
  58. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +0 -32
  59. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +0 -22
  60. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +0 -41
  61. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +0 -14
  62. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +0 -73
  63. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +0 -26
  64. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +0 -17
  65. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/ruby_requirement.rb +0 -13
  66. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +0 -23
  67. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +0 -21
  68. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb +0 -44
  69. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb +0 -20
  70. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/instances/mixin.rb +0 -24
  71. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb +0 -120
  72. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/specification.rb +0 -61
  73. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/local_project_mixin.rb +0 -24
  74. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/internal_check.rb +0 -71
  75. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/local_gem.rb +0 -31
  76. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/remote_gem.rb +0 -45
  77. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +0 -33
  78. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb +0 -32
  79. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/preferred_version_requirements.rb +0 -40
  80. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/setup.rb +0 -13
  81. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +0 -20
  82. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/command/build.rb +0 -41
  83. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/command.rb +0 -80
  84. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/offense_set/file.rb +0 -51
  85. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/offense_set/line_processor.rb +0 -54
  86. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/offense_set/offense.rb +0 -34
  87. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/offense_set.rb +0 -28
  88. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/runner/configured.rb +0 -31
  89. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/runner/envvar.rb +0 -17
  90. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/runner/gemfile.rb +0 -41
  91. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/runner.rb +0 -56
  92. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gem_search_parser.rb +0 -34
  93. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb +0 -69
  94. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb +0 -28
  95. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec.rb +0 -57
  96. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base/command_result_to_push_result.rb +0 -39
  97. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base.rb +0 -59
  98. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/nexus.rb +0 -29
  99. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/rubygems_org.rb +0 -42
  100. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/remote.rb +0 -31
  101. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/version_file.rb +0 -43
  102. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/lib_rename.rb +0 -74
  103. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/rubocop.rb +0 -27
  104. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base.rb +0 -14
  105. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners.rb +0 -8
  106. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +0 -59
  107. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +0 -23
  108. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemspec.rb +0 -81
  109. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +0 -32
  110. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/root_module.rb +0 -46
  111. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +0 -58
  112. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +0 -48
  113. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +0 -35
  114. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +0 -62
  115. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/gem_provider.rb +0 -46
  116. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb +0 -39
  117. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop.rb +0 -34
  118. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb +0 -51
  119. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubygems.rb +0 -50
  120. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +0 -31
  121. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version.rb +0 -30
  122. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +0 -16
  123. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +0 -55
  124. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/bundle_update.rb +0 -21
  125. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb +0 -51
  126. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local.rb +0 -65
  127. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/namespace_replacer.rb +0 -66
  128. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundle.rb +0 -26
  129. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb +0 -55
  130. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb +0 -58
  131. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb +0 -88
  132. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +0 -73
  133. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +0 -16
  134. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/base.rb +0 -57
  135. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/minitest.rb +0 -27
  136. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb +0 -50
  137. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb +0 -29
  138. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple.rb +0 -85
  139. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/rspec.rb +0 -23
  140. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/dependencies_requirements.rb +0 -57
  141. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/gemfile_lock.rb +0 -28
  142. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/rubocop_format.rb +0 -31
  143. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +0 -57
  144. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +0 -7
  145. data/sub/avm-eac_ruby_base1/locale/en.yml +0 -21
  146. data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +0 -21
  147. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +0 -5
  148. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +0 -192
  149. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +0 -300
  150. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +0 -245
  151. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +0 -355
  152. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.source.out +0 -0
  153. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.target.yaml +0 -305
  154. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec.rb +0 -13
  155. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.source +0 -6
  156. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.target +0 -3
  157. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.source +0 -6
  158. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.target +0 -5
  159. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/build_spec.rb +0 -43
  160. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/specification_spec.rb +0 -57
  161. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish_spec.rb +0 -25
  162. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base_spec.rb +0 -21
  163. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/preferred_version_requirements_spec.rb +0 -21
  164. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec.rb +0 -5
  165. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.source +0 -1
  166. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.target.yaml +0 -1
  167. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.source +0 -1
  168. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.target.yaml +0 -123
  169. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec.rb +0 -35
  170. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.source.yaml +0 -5
  171. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.target.txt +0 -15
  172. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/the_gem.gemspec +0 -15
  173. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec.rb +0 -13
  174. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec_files/a_version_file.rb +0 -7
  175. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec.rb +0 -33
  176. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/.avm.yml +0 -4
  177. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile +0 -7
  178. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile.lock +0 -31
  179. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir2/empty.rb +0 -1
  180. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/.avm.yml +0 -4
  181. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/false_command.rb +0 -4
  182. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +0 -16
  183. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/.rspec +0 -1
  184. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/.rubocop.yml +0 -3
  185. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile +0 -8
  186. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +0 -1
  187. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +0 -2
  188. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +0 -20
  189. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +0 -7
  190. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb +0 -4
  191. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/.rspec +0 -1
  192. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/.rubocop.yml +0 -3
  193. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile +0 -8
  194. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +0 -1
  195. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +0 -2
  196. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem/version.rb +0 -5
  197. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb +0 -4
  198. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec +0 -20
  199. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/spec_helper.rb +0 -5
  200. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec.rb +0 -28
  201. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile +0 -5
  202. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile.lock +0 -19
  203. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Rakefile +0 -14
  204. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/exe/myrunner +0 -5
  205. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem/version.rb +0 -5
  206. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem.rb +0 -7
  207. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/mygem.gemspec +0 -17
  208. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +0 -13
  209. data/sub/avm-eac_ruby_base1/spec/spec_helper.rb +0 -5
  210. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/gemspec.template +0 -19
  211. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template +0 -4
  212. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/.gitignore +0 -2
  213. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/.rspec +0 -1
  214. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/.rubocop.yml +0 -3
  215. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/Gemfile +0 -8
  216. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb.template +0 -5
  217. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/version.template +0 -5
  218. data/sub/avm-git/.gitrepo +0 -7
  219. data/sub/avm-git/.rspec +0 -1
  220. data/sub/avm-git/.rubocop.yml +0 -6
  221. data/sub/avm-git/Gemfile +0 -8
  222. data/sub/avm-git/avm-git.gemspec +0 -25
  223. data/sub/avm-git/lib/avm/git/application_scms/base/assert_main_at.rb +0 -44
  224. data/sub/avm-git/lib/avm/git/application_scms/base.rb +0 -18
  225. data/sub/avm-git/lib/avm/git/commit/class_methods.rb +0 -29
  226. data/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +0 -32
  227. data/sub/avm-git/lib/avm/git/commit/file.rb +0 -42
  228. data/sub/avm-git/lib/avm/git/commit.rb +0 -57
  229. data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +0 -40
  230. data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +0 -20
  231. data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +0 -59
  232. data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +0 -37
  233. data/sub/avm-git/lib/avm/git/issue/complete/push.rb +0 -60
  234. data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +0 -33
  235. data/sub/avm-git/lib/avm/git/issue/complete/test.rb +0 -34
  236. data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +0 -21
  237. data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +0 -36
  238. data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +0 -54
  239. data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +0 -19
  240. data/sub/avm-git/lib/avm/git/issue/complete.rb +0 -66
  241. data/sub/avm-git/lib/avm/git/launcher/base/class_methods.rb +0 -28
  242. data/sub/avm-git/lib/avm/git/launcher/base/dirty_files.rb +0 -21
  243. data/sub/avm-git/lib/avm/git/launcher/base/remotes.rb +0 -37
  244. data/sub/avm-git/lib/avm/git/launcher/base/subrepo.rb +0 -42
  245. data/sub/avm-git/lib/avm/git/launcher/base/underlying.rb +0 -54
  246. data/sub/avm-git/lib/avm/git/launcher/base.rb +0 -80
  247. data/sub/avm-git/lib/avm/git/launcher/error.rb +0 -13
  248. data/sub/avm-git/lib/avm/git/launcher/mirror_update.rb +0 -36
  249. data/sub/avm-git/lib/avm/git/launcher/publish_base.rb +0 -128
  250. data/sub/avm-git/lib/avm/git/launcher/remote.rb +0 -53
  251. data/sub/avm-git/lib/avm/git/launcher/sub_warp_base.rb +0 -36
  252. data/sub/avm-git/lib/avm/git/launcher/warp_base.rb +0 -63
  253. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/local_project_mixin.rb +0 -16
  254. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/publish.rb +0 -13
  255. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/warp.rb +0 -25
  256. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git.rb +0 -21
  257. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/publish.rb +0 -29
  258. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/warp.rb +0 -82
  259. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo.rb +0 -31
  260. data/sub/avm-git/lib/avm/git/launcher_stereotypes/provider.rb +0 -16
  261. data/sub/avm-git/lib/avm/git/organize/reference_update.rb +0 -32
  262. data/sub/avm-git/lib/avm/git/organize/repository.rb +0 -74
  263. data/sub/avm-git/lib/avm/git/revision_test.rb +0 -102
  264. data/sub/avm-git/lib/avm/git/runners/base/commit.rb +0 -98
  265. data/sub/avm-git/lib/avm/git/runners/base/deploy.rb +0 -108
  266. data/sub/avm-git/lib/avm/git/runners/base/dirty_files.rb +0 -42
  267. data/sub/avm-git/lib/avm/git/runners/base/organize.rb +0 -72
  268. data/sub/avm-git/lib/avm/git/runners/base/revisions_test.rb +0 -63
  269. data/sub/avm-git/lib/avm/git/runners/base/subrepo/check.rb +0 -45
  270. data/sub/avm-git/lib/avm/git/runners/base/subrepo/clone.rb +0 -80
  271. data/sub/avm-git/lib/avm/git/runners/base/subrepo/fix.rb +0 -69
  272. data/sub/avm-git/lib/avm/git/runners/base/subrepo.rb +0 -16
  273. data/sub/avm-git/lib/avm/git/runners/base.rb +0 -39
  274. data/sub/avm-git/lib/avm/git/scms/git/branch.rb +0 -28
  275. data/sub/avm-git/lib/avm/git/scms/git/branches.rb +0 -17
  276. data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +0 -34
  277. data/sub/avm-git/lib/avm/git/scms/git/changed_file.rb +0 -25
  278. data/sub/avm-git/lib/avm/git/scms/git/changed_files.rb +0 -21
  279. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy.rb +0 -38
  280. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy_methods.rb +0 -24
  281. data/sub/avm-git/lib/avm/git/scms/git/commit.rb +0 -64
  282. data/sub/avm-git/lib/avm/git/scms/git/commit_dirty.rb +0 -32
  283. data/sub/avm-git/lib/avm/git/scms/git/commits.rb +0 -44
  284. data/sub/avm-git/lib/avm/git/scms/git/interval.rb +0 -28
  285. data/sub/avm-git/lib/avm/git/scms/git/milestones.rb +0 -18
  286. data/sub/avm-git/lib/avm/git/scms/git/remote.rb +0 -18
  287. data/sub/avm-git/lib/avm/git/scms/git/remotes.rb +0 -29
  288. data/sub/avm-git/lib/avm/git/scms/git/run_commit.rb +0 -54
  289. data/sub/avm-git/lib/avm/git/scms/git.rb +0 -46
  290. data/sub/avm-git/lib/avm/git/scms/git_sub_base/changed_file.rb +0 -19
  291. data/sub/avm-git/lib/avm/git/scms/git_sub_base/commit.rb +0 -23
  292. data/sub/avm-git/lib/avm/git/scms/git_sub_base/interval.rb +0 -23
  293. data/sub/avm-git/lib/avm/git/scms/git_sub_base.rb +0 -28
  294. data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +0 -28
  295. data/sub/avm-git/lib/avm/git/scms/git_subtree.rb +0 -29
  296. data/sub/avm-git/lib/avm/git/scms/provider.rb +0 -16
  297. data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +0 -48
  298. data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +0 -86
  299. data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +0 -30
  300. data/sub/avm-git/lib/avm/git/subrepo_check.rb +0 -36
  301. data/sub/avm-git/lib/avm/git/subrepo_checks.rb +0 -57
  302. data/sub/avm-git/lib/avm/git/vendor/github.rb +0 -20
  303. data/sub/avm-git/lib/avm/git.rb +0 -15
  304. data/sub/avm-git/locale/en.yml +0 -6
  305. data/sub/avm-git/locale/pt-BR.yml +0 -6
  306. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +0 -11
  307. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +0 -1
  308. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
  309. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +0 -1
  310. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
  311. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +0 -1
  312. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
  313. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +0 -2
  314. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
  315. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
  316. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
  317. data/sub/avm-git/spec/lib/avm/git/commit_spec.rb +0 -54
  318. data/sub/avm-git/spec/lib/avm/git/launcher/base_spec.rb +0 -43
  319. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec.rb +0 -82
  320. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_files/config.yml +0 -5
  321. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_settings.yml +0 -6
  322. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec.rb +0 -53
  323. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_files/config.yml +0 -3
  324. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_settings.yml +0 -6
  325. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec.rb +0 -124
  326. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append1/stub3.txt.template +0 -1
  327. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append2/stub4.txt +0 -1
  328. data/sub/avm-git/spec/lib/avm/git/scms/git/commit/deploy_spec.rb +0 -89
  329. data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +0 -5
  330. data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +0 -5
  331. data/sub/avm-git/spec/lib/avm/git/vendor/github_spec.rb +0 -21
  332. data/sub/avm-git/spec/meta/rubocop_spec.rb +0 -3
  333. data/sub/avm-git/spec/spec_helper.rb +0 -5
  334. data/sub/eac_git/.gitignore +0 -2
  335. data/sub/eac_git/.gitrepo +0 -7
  336. data/sub/eac_git/.rspec +0 -1
  337. data/sub/eac_git/.rubocop.yml +0 -3
  338. data/sub/eac_git/Gemfile +0 -8
  339. data/sub/eac_git/eac_git.gemspec +0 -21
  340. data/sub/eac_git/lib/eac_git/executables.rb +0 -45
  341. data/sub/eac_git/lib/eac_git/local/branch.rb +0 -45
  342. data/sub/eac_git/lib/eac_git/local/changed_file.rb +0 -53
  343. data/sub/eac_git/lib/eac_git/local/commit/archive.rb +0 -17
  344. data/sub/eac_git/lib/eac_git/local/commit/changed_file.rb +0 -43
  345. data/sub/eac_git/lib/eac_git/local/commit/diff_tree_line.rb +0 -32
  346. data/sub/eac_git/lib/eac_git/local/commit.rb +0 -71
  347. data/sub/eac_git/lib/eac_git/local/dirty_files.rb +0 -26
  348. data/sub/eac_git/lib/eac_git/local/log.rb +0 -14
  349. data/sub/eac_git/lib/eac_git/local/remote/push.rb +0 -33
  350. data/sub/eac_git/lib/eac_git/local/remote.rb +0 -71
  351. data/sub/eac_git/lib/eac_git/local/remotes.rb +0 -17
  352. data/sub/eac_git/lib/eac_git/local/subrepo.rb +0 -46
  353. data/sub/eac_git/lib/eac_git/local.rb +0 -124
  354. data/sub/eac_git/lib/eac_git/remote.rb +0 -20
  355. data/sub/eac_git/lib/eac_git/remote_like/ls_result.rb +0 -19
  356. data/sub/eac_git/lib/eac_git/remote_like.rb +0 -29
  357. data/sub/eac_git/lib/eac_git/rspec/setup.rb +0 -20
  358. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/directory.rb +0 -35
  359. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/file.rb +0 -21
  360. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/fs_object.rb +0 -25
  361. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/repository.rb +0 -30
  362. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb +0 -26
  363. data/sub/eac_git/lib/eac_git/rspec.rb +0 -6
  364. data/sub/eac_git/lib/eac_git/subrepo/configuration.rb +0 -40
  365. data/sub/eac_git/lib/eac_git/version.rb +0 -5
  366. data/sub/eac_git/lib/eac_git.rb +0 -7
  367. data/sub/eac_git/spec/lib/eac_git/executables_spec.rb +0 -11
  368. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec.rb +0 -11
  369. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.source.out +0 -1
  370. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
  371. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.source.out +0 -1
  372. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
  373. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.source.out +0 -1
  374. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
  375. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.source.out +0 -2
  376. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
  377. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
  378. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
  379. data/sub/eac_git/spec/lib/eac_git/local/commit_spec.rb +0 -56
  380. data/sub/eac_git/spec/lib/eac_git/local/dirty_files_spec.rb +0 -18
  381. data/sub/eac_git/spec/rubocop_spec.rb +0 -3
  382. data/sub/eac_git/spec/spec_helper.rb +0 -5
  383. data/sub/eac_git/vendor/git-subrepo/.fish.rc +0 -20
  384. data/sub/eac_git/vendor/git-subrepo/.gitattributes +0 -1
  385. data/sub/eac_git/vendor/git-subrepo/.github/workflows/test.yml +0 -29
  386. data/sub/eac_git/vendor/git-subrepo/.gitignore +0 -1
  387. data/sub/eac_git/vendor/git-subrepo/.gitrepo +0 -7
  388. data/sub/eac_git/vendor/git-subrepo/.rc +0 -32
  389. data/sub/eac_git/vendor/git-subrepo/Changes +0 -176
  390. data/sub/eac_git/vendor/git-subrepo/Intro.pod +0 -506
  391. data/sub/eac_git/vendor/git-subrepo/License +0 -21
  392. data/sub/eac_git/vendor/git-subrepo/Makefile +0 -122
  393. data/sub/eac_git/vendor/git-subrepo/Meta +0 -28
  394. data/sub/eac_git/vendor/git-subrepo/ReadMe.pod +0 -693
  395. data/sub/eac_git/vendor/git-subrepo/doc/comparison.swim +0 -35
  396. data/sub/eac_git/vendor/git-subrepo/doc/git-subrepo.swim +0 -612
  397. data/sub/eac_git/vendor/git-subrepo/doc/intro-to-subrepo.swim +0 -385
  398. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/.gitrepo +0 -12
  399. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/.travis.yml +0 -6
  400. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Changes +0 -34
  401. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/License +0 -21
  402. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Makefile +0 -70
  403. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Meta +0 -28
  404. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/ReadMe.pod +0 -77
  405. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/bin/bash+ +0 -44
  406. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +0 -61
  407. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +0 -139
  408. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +0 -134
  409. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +0 -134
  410. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/base.t +0 -11
  411. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/die.t +0 -16
  412. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/fcopy.t +0 -21
  413. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash +0 -3
  414. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash +0 -3
  415. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/setup +0 -80
  416. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/shellcheck.t +0 -37
  417. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +0 -17
  418. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +0 -22
  419. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/use.t +0 -22
  420. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/version-check.t +0 -23
  421. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/.gitrepo +0 -12
  422. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/.travis.yml +0 -6
  423. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Changes +0 -26
  424. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/License +0 -21
  425. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Makefile +0 -45
  426. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Meta +0 -30
  427. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +0 -121
  428. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +0 -94
  429. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/.gitrepo +0 -12
  430. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/.travis.yml +0 -6
  431. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +0 -26
  432. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +0 -21
  433. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +0 -70
  434. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +0 -28
  435. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +0 -77
  436. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +0 -44
  437. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +0 -61
  438. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +0 -139
  439. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +0 -134
  440. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +0 -134
  441. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +0 -12
  442. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/die.t +0 -17
  443. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +0 -22
  444. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +0 -3
  445. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +0 -3
  446. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/setup +0 -79
  447. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/shellcheck.t +0 -38
  448. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +0 -18
  449. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +0 -23
  450. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +0 -23
  451. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/.gitrepo +0 -12
  452. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/.travis.yml +0 -5
  453. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +0 -26
  454. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +0 -21
  455. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +0 -67
  456. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +0 -28
  457. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +0 -66
  458. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +0 -48
  459. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +0 -157
  460. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +0 -119
  461. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +0 -13
  462. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t +0 -10
  463. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +0 -20
  464. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +0 -15
  465. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +0 -9
  466. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t +0 -9
  467. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t +0 -10
  468. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/shellcheck.t +0 -42
  469. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +0 -20
  470. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +0 -19
  471. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +0 -14
  472. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +0 -7
  473. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +0 -12
  474. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +0 -8
  475. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +0 -9
  476. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +0 -115
  477. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +0 -179
  478. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/fail.t +0 -34
  479. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/more.t +0 -28
  480. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/pass.t +0 -9
  481. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/setup +0 -8
  482. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/shellcheck.t +0 -35
  483. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/skip_all.t +0 -11
  484. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +0 -25
  485. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t +0 -10
  486. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo +0 -2018
  487. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +0 -1
  488. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +0 -338
  489. data/sub/eac_git/vendor/git-subrepo/man/man1/git-subrepo.1 +0 -727
  490. data/sub/eac_git/vendor/git-subrepo/note/0.4.0 +0 -12
  491. data/sub/eac_git/vendor/git-subrepo/note/AllGitCmds +0 -148
  492. data/sub/eac_git/vendor/git-subrepo/note/Cases +0 -32
  493. data/sub/eac_git/vendor/git-subrepo/note/Commands +0 -33
  494. data/sub/eac_git/vendor/git-subrepo/note/Dags +0 -199
  495. data/sub/eac_git/vendor/git-subrepo/note/Gists +0 -7
  496. data/sub/eac_git/vendor/git-subrepo/note/Links +0 -25
  497. data/sub/eac_git/vendor/git-subrepo/note/Plugins +0 -10
  498. data/sub/eac_git/vendor/git-subrepo/note/Spec +0 -39
  499. data/sub/eac_git/vendor/git-subrepo/note/Story1 +0 -57
  500. data/sub/eac_git/vendor/git-subrepo/note/ToDo +0 -55
  501. data/sub/eac_git/vendor/git-subrepo/note/design.swim +0 -137
  502. data/sub/eac_git/vendor/git-subrepo/note/design2.swim +0 -85
  503. data/sub/eac_git/vendor/git-subrepo/note/init-test +0 -38
  504. data/sub/eac_git/vendor/git-subrepo/note/pull-dance.txt +0 -18
  505. data/sub/eac_git/vendor/git-subrepo/note/recreate-rebase-conflict.sh +0 -56
  506. data/sub/eac_git/vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash +0 -29
  507. data/sub/eac_git/vendor/git-subrepo/note/test-subrepo-push.sh +0 -69
  508. data/sub/eac_git/vendor/git-subrepo/note/test.sh +0 -58
  509. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-completion.pl +0 -203
  510. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +0 -87
  511. data/sub/eac_git/vendor/git-subrepo/share/completion.bash +0 -40
  512. data/sub/eac_git/vendor/git-subrepo/share/enable-completion.sh +0 -50
  513. data/sub/eac_git/vendor/git-subrepo/share/git-completion.bash +0 -2738
  514. data/sub/eac_git/vendor/git-subrepo/share/zsh-completion/_git-subrepo +0 -76
  515. data/sub/eac_git/vendor/git-subrepo/test/Dockerfile +0 -112
  516. data/sub/eac_git/vendor/git-subrepo/test/branch-all.t +0 -41
  517. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list-one-path.t +0 -42
  518. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list.t +0 -46
  519. data/sub/eac_git/vendor/git-subrepo/test/branch.t +0 -52
  520. data/sub/eac_git/vendor/git-subrepo/test/clean.t +0 -43
  521. data/sub/eac_git/vendor/git-subrepo/test/clone-annotated-tag.t +0 -45
  522. data/sub/eac_git/vendor/git-subrepo/test/clone.t +0 -102
  523. data/sub/eac_git/vendor/git-subrepo/test/compile.t +0 -19
  524. data/sub/eac_git/vendor/git-subrepo/test/config.t +0 -59
  525. data/sub/eac_git/vendor/git-subrepo/test/encode.t +0 -91
  526. data/sub/eac_git/vendor/git-subrepo/test/error.t +0 -171
  527. data/sub/eac_git/vendor/git-subrepo/test/fetch.t +0 -43
  528. data/sub/eac_git/vendor/git-subrepo/test/gitignore.t +0 -61
  529. data/sub/eac_git/vendor/git-subrepo/test/init.t +0 -63
  530. data/sub/eac_git/vendor/git-subrepo/test/issue29.t +0 -98
  531. data/sub/eac_git/vendor/git-subrepo/test/issue95.t +0 -98
  532. data/sub/eac_git/vendor/git-subrepo/test/issue96.t +0 -96
  533. data/sub/eac_git/vendor/git-subrepo/test/pull-all.t +0 -38
  534. data/sub/eac_git/vendor/git-subrepo/test/pull-merge.t +0 -114
  535. data/sub/eac_git/vendor/git-subrepo/test/pull-message.t +0 -88
  536. data/sub/eac_git/vendor/git-subrepo/test/pull-new-branch.t +0 -59
  537. data/sub/eac_git/vendor/git-subrepo/test/pull-ours.t +0 -90
  538. data/sub/eac_git/vendor/git-subrepo/test/pull-theirs.t +0 -82
  539. data/sub/eac_git/vendor/git-subrepo/test/pull-twice.t +0 -44
  540. data/sub/eac_git/vendor/git-subrepo/test/pull-worktree.t +0 -40
  541. data/sub/eac_git/vendor/git-subrepo/test/pull.t +0 -99
  542. data/sub/eac_git/vendor/git-subrepo/test/push-after-init.t +0 -52
  543. data/sub/eac_git/vendor/git-subrepo/test/push-after-push-no-changes.t +0 -27
  544. data/sub/eac_git/vendor/git-subrepo/test/push-force.t +0 -57
  545. data/sub/eac_git/vendor/git-subrepo/test/push-new-branch.t +0 -61
  546. data/sub/eac_git/vendor/git-subrepo/test/push-no-changes.t +0 -29
  547. data/sub/eac_git/vendor/git-subrepo/test/push-squash.t +0 -56
  548. data/sub/eac_git/vendor/git-subrepo/test/push.t +0 -177
  549. data/sub/eac_git/vendor/git-subrepo/test/rebase.t +0 -63
  550. data/sub/eac_git/vendor/git-subrepo/test/reclone.t +0 -52
  551. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/HEAD +0 -1
  552. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/config +0 -4
  553. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
  554. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
  555. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
  556. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
  557. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  558. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
  559. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/heads/master +0 -1
  560. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/tags/A +0 -1
  561. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/HEAD +0 -1
  562. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/config +0 -4
  563. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
  564. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
  565. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  566. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/refs/heads/master +0 -1
  567. data/sub/eac_git/vendor/git-subrepo/test/repo/init/HEAD +0 -1
  568. data/sub/eac_git/vendor/git-subrepo/test/repo/init/config +0 -5
  569. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
  570. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
  571. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +0 -2
  572. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
  573. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
  574. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
  575. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
  576. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
  577. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +0 -1
  578. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
  579. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
  580. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +0 -1
  581. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
  582. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
  583. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +0 -3
  584. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +0 -2
  585. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +0 -2
  586. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +0 -1
  587. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
  588. data/sub/eac_git/vendor/git-subrepo/test/repo/init/refs/heads/master +0 -1
  589. data/sub/eac_git/vendor/git-subrepo/test/setup +0 -212
  590. data/sub/eac_git/vendor/git-subrepo/test/shellcheck.t +0 -37
  591. data/sub/eac_git/vendor/git-subrepo/test/status.t +0 -88
  592. data/sub/eac_git/vendor/git-subrepo/test/submodule.t +0 -45
  593. data/sub/eac_git/vendor/git-subrepo/test/zsh.t +0 -27
  594. /data/sub/{avm-git → avm-eac_redmine_base0}/.gitignore +0 -0
  595. /data/sub/{avm-eac_ruby_base1 → avm-eac_redmine_base0}/.rspec +0 -0
  596. /data/sub/{avm-eac_ruby_base1 → avm-eac_redmine_base0}/Gemfile +0 -0
@@ -1,506 +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<https://web.archive.org/web/20171101202911/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.
311
-
312
- =back
313
-
314
- Bad:
315
-
316
- =over
317
-
318
- =item * --Subrepo is very new.-- (no longer true)
319
-
320
- =item * --Not well tested in the wild.-- (no longer true)
321
-
322
- =back
323
-
324
- This review may seem somewhat slanted, but I honestly am not aware of any
325
- "bad" points that I'm not disclosing. That said, I am sure time will reveal
326
- bugs and shortcomings. Those can usually be fixed. Hopefully the B<model> is
327
- correct, because that's harder to fix down the road.
328
-
329
- OK. So how does it all work?
330
-
331
- There are 3 main commands: cloneI<pull>push. Let's start with the clone
332
- command. This is the easiest part. You give it a remote url, possibly a new
333
- subdir to put it, and possibly a remote branch to use. I say possibly, because
334
- the command can guess the subdir name (just like the git-clone command does),
335
- and the branch can be the upstream default branch.
336
-
337
- Given this we do the following steps internally:
338
-
339
- =over
340
-
341
- =item * Fetch the remote content (for a specific refspec)
342
-
343
- =item * Read the remote head tree into the index
344
-
345
- =item * Checkout the index into the new subdir
346
-
347
- =item * Create a new subrepo commit object for the subdir content
348
-
349
- =item * Add a state file called .gitrepo to the new subrepo/subdir
350
-
351
- =item * Amend the merge commit with this new file
352
-
353
- =back
354
-
355
- This process adds something like this to the top of your history:
356
-
357
- * 9b6ddc9 git subrepo clone git@github.com:you/foo.git foo/
358
- * 37c61a5 Previous head commit of your repo
359
-
360
- The entire history has been squashed down into one commit, and placed on
361
- top of your history. This is important as it keeps your history as clean
362
- as possible. You don't need to have the subrepo history in your main
363
- project, since it is immutably available elsewhere, and you have a pointer
364
- to that place.
365
-
366
- The new foo/.gitrepo file looks like this:
367
-
368
- [subrepo]
369
- remote = git@github.com:you/foo.git
370
- branch = master
371
- commit = 14c96c6931b41257b2d42b2edc67ddc659325823
372
- parent = 37c61a5a234f5dd6f5c2aec037509f50d3a79b8f
373
- cmdver = 0.1.0
374
-
375
- It contains all the info needed now and later. Note that the repo url is the
376
- generally pushable form, rather than the publically readable (L<https://…)>
377
- form. This is the best practice. Users of your repo don't need access to this
378
- url, because the content is already in your repo. Only you and your
379
- collaborators need this url to pull/push in the future.
380
-
381
- The next command is the pull command. Normally you just give it the subrepo's
382
- subdir path (although you can change the branch with -b), and it will get the
383
- other info from the subdir/.gitrepo file.
384
-
385
- The pull command does these steps:
386
-
387
- =over
388
-
389
- =item * Fetch the upstream content
390
-
391
- =item * Check if anything needs pulling
392
-
393
- =item * Create a branch of local subrepo commits since last pull
394
-
395
- =item * Rebase this branch onto the upstream commits
396
-
397
- =item * Commit the HEAD of the rebased content
398
-
399
- =item * Update/amend the .gitrepo file
400
-
401
- =back
402
-
403
- =head3 Clean History
404
-
405
- I've talked a bit about clean history but let me show you a comparison between
406
- subrepo and subtree. Let's run this command sequence using both methods. Note
407
- the differences between I<both> the command syntax required, and the branch
408
- history produced.
409
-
410
- Subrepo first:
411
-
412
- $ git subrepo clone git@github.com:user/abc
413
- $ git subrepo clone git@github.com:user/def xyz
414
- $ git subrepo pull abc
415
- $ git subrepo pull xyz
416
-
417
- The resulting history is:
418
-
419
- * b1f60cc subrepo pull xyz
420
- * 4fb0276 subrepo pull abc
421
- * bcef2a0 subrepo clone git@github.com:user/def xyz
422
- * bebf0db subrepo clone git@github.com:user/abc
423
- * 64eeaa6 (origin/master, origin/HEAD) O HAI FREND
424
-
425
- Compare that to B<subtree>. This:
426
-
427
- $ git subtree add abc git@github.com:user/abc master
428
- $ git subtree add xyz git@github.com:user/def master
429
- $ git subtree pull abc git@github.com:user/abc master
430
- $ git subtree pull xyz git@github.com:user/def master
431
-
432
- Produces this:
433
-
434
- * 739e45a (HEAD, master) Merge commit '5f563469d886d53e19cb908b3a64e4229f88a2d1'
435
- |\
436
- | * 5f56346 Squashed 'xyz/' changes from 08c7421..365409f
437
- * | 641f5e5 Merge commit '8d88e90ce5f653ed2e7608a71b8693a2174ea62a'
438
- |\ \
439
- | * | 8d88e90 Squashed 'abc/' changes from 08c7421..365409f
440
- * | | 1703ed2 Merge commit '0e091b672c4bbbbf6bc4f6694c475d127ffa21eb' as 'xyz'
441
- |\ \ \
442
- | | |/
443
- | |/|
444
- | * | 0e091b6 Squashed 'xyz/' content from commit 08c7421
445
- | /
446
- * | 07b77e7 Merge commit 'cd2b30a0229d931979ed4436b995875ec563faea' as 'abc'
447
- |\ \
448
- | |/
449
- | * cd2b30a Squashed 'abc/' content from commit 08c7421
450
- * 64eeaa6 (origin/master, origin/HEAD) O HAI FREND
451
-
452
- This was from a minimal case. Subtree history (when viewed this way at least)
453
- gets unreasonably ugly fast. Subrepo history, by contrast, always looks as
454
- clean as shown.
455
-
456
- The final command, push, bascially just does the pull/rebase dance above
457
- described, and pushes the resulting history back. It does not squash the
458
- commits made locally, because it assumed that when you changed the local
459
- subrepo, you made messages that were intended to eventually be published
460
- back upstream.
461
-
462
- =head2 Conflict Resolution
463
-
464
- The commands described above can also be done "by hand". If something fails
465
- during a pull or push (generally in the rebasing) then the command will tell
466
- you what to do to finish up.
467
-
468
- You might choose to do everything by hand, and do your own merging strategies.
469
- This is perfectly reasonable. The C<subrepo> command offers a few other helper
470
- commands to help you get the job done:
471
-
472
- =over
473
-
474
- =item * C<fetch> - Fetch the upstream and create a C<< subrepo/remote/<subdir> >> ref.
475
-
476
- =item * C<branch> - Create a branch of local subdir commits since the last pull, called C<< subrepo/<subdir> >>.
477
-
478
- =item * C<commit> - Commit a merged branch's HEAD back into your repo.
479
-
480
- =item * C<status> - Show lots of useful info about the current state of the subrepos.
481
-
482
- =item * C<clean> - Remove branches, ref and remotes created by subrepo commands.
483
-
484
- =item * C<help> - Read the complete documentation!
485
-
486
- =back
487
-
488
- =head2 Conclusion
489
-
490
- Hopefully by now, you see that submodules are a painful choice with a dubious
491
- future, and that subtree, while a solid idea has many usage issues.
492
-
493
- Give C<subrepo> a try. It's painless, easily revertable and just might be what
494
- the doctor ordered.
495
-
496
- =head2 Reference Links
497
-
498
- =over
499
-
500
- =item * L<http://longair.net/blog/2010/06/02/git-submodules-explained/>
501
-
502
- =item * L<http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/>
503
-
504
- =back
505
-
506
- =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.
@@ -1,122 +0,0 @@
1
- SHELL := bash
2
-
3
- # Make sure we have git:
4
- ifeq ($(shell which git),)
5
- $(error 'git' is not installed on this system)
6
- endif
7
-
8
- # Set variables:
9
- NAME := git-subrepo
10
- LIB := lib/$(NAME)
11
- DOC := doc/$(NAME).swim
12
- MAN1 := man/man1
13
- EXT := $(LIB).d
14
- EXTS := $(shell find $(EXT) -type f) \
15
- $(shell find $(EXT) -type l)
16
- SHARE = share
17
-
18
- # Install variables:
19
- PREFIX ?= /usr/local
20
- INSTALL_LIB ?= $(DESTDIR)$(shell git --exec-path)
21
- INSTALL_EXT ?= $(INSTALL_LIB)/$(NAME).d
22
- INSTALL_MAN1 ?= $(DESTDIR)$(PREFIX)/share/man/man1
23
-
24
- # Docker variables:
25
- DOCKER_TAG ?= 0.0.6
26
- DOCKER_IMAGE := ingy/bash-testing:$(DOCKER_TAG)
27
- BASH_VERSIONS ?= 5.1 5.0 4.4 4.3 4.2 4.1 4.0
28
- DOCKER_TESTS := $(BASH_VERSIONS:%=docker-test-%)
29
- GIT_VERSIONS := 2.45 2.40 2.30 2.29 2.25 2.17 2.7
30
-
31
- prove ?=
32
- test ?= test/
33
- bash ?= 5.1
34
- git ?= 2.45
35
-
36
- # Basic targets:
37
- default: help
38
-
39
- help:
40
- @echo 'Makefile rules:'
41
- @echo ''
42
- @echo 'test Run all tests'
43
- @echo 'install Install $(NAME)'
44
- @echo 'uninstall Uninstall $(NAME)'
45
- @echo 'env Show environment variables to set'
46
-
47
- .PHONY: test
48
- test:
49
- prove $(prove) $(test)
50
-
51
- test-all: test docker-tests
52
-
53
- docker-test:
54
- $(call docker-make-test,$(bash),$(git))
55
-
56
- docker-tests: $(DOCKER_TESTS)
57
-
58
- $(DOCKER_TESTS):
59
- $(call docker-make-test,$(@:docker-test-%=%),$(git))
60
-
61
- # Install support:
62
- install:
63
- install -d -m 0755 $(INSTALL_LIB)/
64
- install -C -m 0755 $(LIB) $(INSTALL_LIB)/
65
- install -d -m 0755 $(INSTALL_EXT)/
66
- install -C -m 0644 $(EXTS) $(INSTALL_EXT)/
67
- install -d -m 0755 $(INSTALL_MAN1)/
68
- install -C -m 0644 $(MAN1)/$(NAME).1 $(INSTALL_MAN1)/
69
-
70
- # Uninstall support:
71
- uninstall:
72
- rm -f $(INSTALL_LIB)/$(NAME)
73
- rm -fr $(INSTALL_EXT)
74
- rm -f $(INSTALL_MAN1)/$(NAME).1
75
-
76
- env:
77
- @echo "export PATH=\"$$PWD/lib:\$$PATH\""
78
- @echo "export MANPATH=\"$$PWD/man:\$$MANPATH\""
79
-
80
- # Doc rules:
81
- .PHONY: doc
82
- update: doc compgen
83
-
84
- force:
85
-
86
- doc: ReadMe.pod Intro.pod $(MAN1)/$(NAME).1
87
- perl pkg/bin/generate-help-functions.pl $(DOC) > \
88
- $(EXT)/help-functions.bash
89
-
90
- ReadMe.pod: $(DOC) force
91
- swim --to=pod --wrap --complete $< > $@
92
-
93
- Intro.pod: doc/intro-to-subrepo.swim force
94
- swim --to=pod --wrap --complete $< > $@
95
-
96
- $(MAN1)/%.1: doc/%.swim Makefile force
97
- swim --to=man --wrap $< > $@
98
-
99
- compgen: force
100
- perl pkg/bin/generate-completion.pl bash $(DOC) $(LIB) > \
101
- $(SHARE)/completion.bash
102
- perl pkg/bin/generate-completion.pl zsh $(DOC) $(LIB) > \
103
- $(SHARE)/zsh-completion/_git-subrepo
104
-
105
- clean:
106
- rm -fr tmp test/tmp
107
-
108
- define docker-make-test
109
- docker run --rm \
110
- -v $(PWD):/git-subrepo \
111
- -w /git-subrepo \
112
- $(DOCKER_IMAGE) \
113
- /bin/bash -c ' \
114
- set -x && \
115
- [[ -d /bash-$(1) ]] && \
116
- [[ -d /git-$(2) ]] && \
117
- export PATH=/bash-$(1)/bin:/git-$(2)/bin:$$PATH && \
118
- bash --version && \
119
- git --version && \
120
- make test prove=$(prove) test=$(test) \
121
- '
122
- endef
@@ -1,28 +0,0 @@
1
- =meta: 0.0.2
2
-
3
- name: git-subrepo
4
- version: 0.4.9
5
- abstract: Git Submodule Alternative
6
- homepage: https://github.com/ingydotnet/git-subrepo#readme
7
- license: MIT
8
- copyright: 2013-2024
9
-
10
- author:
11
- name: Ingy döt Net
12
- email: ingy@ingy.net
13
- github: ingydotnet
14
- twitter: ingydotnet
15
- freenode: ingy
16
- homepage: http://ingy.net
17
-
18
- requires:
19
- bash: 4.0.0
20
- git: 2.7.0
21
- test:
22
- cmd: make test
23
- install: make install
24
-
25
- devel:
26
- git: git@github.org:ingydotnet/git-subrepo.git
27
- irc: irc.freenode.net/gitcommands
28
- bug: https://github.com/ingydotnet/git-subrepo/issues/