eac_tools 0.86.5 → 0.86.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (686) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +30 -50
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-eac_redmine_plugin_base0/Gemfile +2 -2
  5. data/sub/avm-eac_redmine_plugin_base0/avm-eac_redmine_plugin_base0.gemspec +4 -3
  6. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/init_file.rb +2 -2
  7. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/version.rb +1 -1
  8. data/sub/avm-eac_redmine_plugin_base0/spec/lib/avm/eac_redmine_plugin_base0/sources/init_file_spec.rb +3 -3
  9. data/sub/avm-eac_redmine_plugin_base0/spec/rubocop_spec.rb +1 -1
  10. data/sub/avm-eac_redmine_plugin_base0/spec/spec_helper.rb +1 -1
  11. metadata +7 -676
  12. data/sub/avm/Gemfile +0 -8
  13. data/sub/avm/avm.gemspec +0 -31
  14. data/sub/avm/lib/avm/application_scms/base.rb +0 -39
  15. data/sub/avm/lib/avm/application_scms.rb +0 -9
  16. data/sub/avm/lib/avm/application_stereotypes/base.rb +0 -31
  17. data/sub/avm/lib/avm/application_stereotypes.rb +0 -9
  18. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +0 -24
  19. data/sub/avm/lib/avm/applications/base/local_instance.rb +0 -31
  20. data/sub/avm/lib/avm/applications/base/local_source.rb +0 -30
  21. data/sub/avm/lib/avm/applications/base/naming.rb +0 -28
  22. data/sub/avm/lib/avm/applications/base/organization.rb +0 -29
  23. data/sub/avm/lib/avm/applications/base/publishing.rb +0 -43
  24. data/sub/avm/lib/avm/applications/base/scm.rb +0 -27
  25. data/sub/avm/lib/avm/applications/base/stereotype.rb +0 -31
  26. data/sub/avm/lib/avm/applications/base.rb +0 -37
  27. data/sub/avm/lib/avm/applications.rb +0 -9
  28. data/sub/avm/lib/avm/data/callbacks.rb +0 -37
  29. data/sub/avm/lib/avm/data/clearer.rb +0 -20
  30. data/sub/avm/lib/avm/data/dumper.rb +0 -142
  31. data/sub/avm/lib/avm/data/loader.rb +0 -28
  32. data/sub/avm/lib/avm/data/package/base_performer.rb +0 -38
  33. data/sub/avm/lib/avm/data/package/build_directory.rb +0 -28
  34. data/sub/avm/lib/avm/data/package/clear.rb +0 -22
  35. data/sub/avm/lib/avm/data/package/dump.rb +0 -45
  36. data/sub/avm/lib/avm/data/package/load.rb +0 -36
  37. data/sub/avm/lib/avm/data/package.rb +0 -67
  38. data/sub/avm/lib/avm/data/performer.rb +0 -49
  39. data/sub/avm/lib/avm/data/rotate.rb +0 -107
  40. data/sub/avm/lib/avm/data/unit.rb +0 -49
  41. data/sub/avm/lib/avm/data/unit_with_commands.rb +0 -52
  42. data/sub/avm/lib/avm/docker/container.rb +0 -50
  43. data/sub/avm/lib/avm/docker/image.rb +0 -76
  44. data/sub/avm/lib/avm/docker/runner.rb +0 -121
  45. data/sub/avm/lib/avm/docker.rb +0 -9
  46. data/sub/avm/lib/avm/entries/auto_values/entry.rb +0 -39
  47. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +0 -24
  48. data/sub/avm/lib/avm/entries/auto_values.rb +0 -11
  49. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +0 -46
  50. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +0 -28
  51. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +0 -39
  52. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +0 -31
  53. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +0 -44
  54. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +0 -42
  55. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +0 -63
  56. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +0 -19
  57. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +0 -28
  58. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +0 -25
  59. data/sub/avm/lib/avm/entries/base.rb +0 -46
  60. data/sub/avm/lib/avm/entries/entry.rb +0 -65
  61. data/sub/avm/lib/avm/entries/jobs/base.rb +0 -62
  62. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +0 -50
  63. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +0 -15
  64. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +0 -15
  65. data/sub/avm/lib/avm/entries/jobs.rb +0 -11
  66. data/sub/avm/lib/avm/entries/keys_constants_set.rb +0 -43
  67. data/sub/avm/lib/avm/entries/uri_builder.rb +0 -91
  68. data/sub/avm/lib/avm/entries.rb +0 -9
  69. data/sub/avm/lib/avm/executables.rb +0 -24
  70. data/sub/avm/lib/avm/file_formats/base.rb +0 -35
  71. data/sub/avm/lib/avm/file_formats/file_result.rb +0 -13
  72. data/sub/avm/lib/avm/file_formats/search_formatter.rb +0 -87
  73. data/sub/avm/lib/avm/file_formats/unknown.rb +0 -18
  74. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +0 -72
  75. data/sub/avm/lib/avm/file_formats.rb +0 -9
  76. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +0 -25
  77. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +0 -62
  78. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +0 -35
  79. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +0 -15
  80. data/sub/avm/lib/avm/instances/base/auto_values.rb +0 -14
  81. data/sub/avm/lib/avm/instances/base/dockerizable.rb +0 -45
  82. data/sub/avm/lib/avm/instances/base/entry_keys.rb +0 -27
  83. data/sub/avm/lib/avm/instances/base/install.rb +0 -24
  84. data/sub/avm/lib/avm/instances/base/processes.rb +0 -27
  85. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +0 -25
  86. data/sub/avm/lib/avm/instances/base/web.rb +0 -16
  87. data/sub/avm/lib/avm/instances/base.rb +0 -71
  88. data/sub/avm/lib/avm/instances/data/files_unit.rb +0 -59
  89. data/sub/avm/lib/avm/instances/data/package.rb +0 -27
  90. data/sub/avm/lib/avm/instances/data/unit.rb +0 -30
  91. data/sub/avm/lib/avm/instances/data.rb +0 -11
  92. data/sub/avm/lib/avm/instances/docker_image.rb +0 -15
  93. data/sub/avm/lib/avm/instances/entry_keys.rb +0 -43
  94. data/sub/avm/lib/avm/instances/ids.rb +0 -30
  95. data/sub/avm/lib/avm/instances/process.rb +0 -31
  96. data/sub/avm/lib/avm/instances/runner.rb +0 -37
  97. data/sub/avm/lib/avm/instances.rb +0 -9
  98. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +0 -46
  99. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +0 -56
  100. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +0 -37
  101. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +0 -35
  102. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +0 -77
  103. data/sub/avm/lib/avm/launcher/context/settings.rb +0 -53
  104. data/sub/avm/lib/avm/launcher/context.rb +0 -100
  105. data/sub/avm/lib/avm/launcher/errors/base.rb +0 -10
  106. data/sub/avm/lib/avm/launcher/errors/non_project.rb +0 -15
  107. data/sub/avm/lib/avm/launcher/errors.rb +0 -11
  108. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +0 -43
  109. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +0 -53
  110. data/sub/avm/lib/avm/launcher/instances/base.rb +0 -78
  111. data/sub/avm/lib/avm/launcher/instances/error.rb +0 -10
  112. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +0 -47
  113. data/sub/avm/lib/avm/launcher/instances/settings.rb +0 -26
  114. data/sub/avm/lib/avm/launcher/instances.rb +0 -11
  115. data/sub/avm/lib/avm/launcher/paths/logical.rb +0 -80
  116. data/sub/avm/lib/avm/launcher/paths/real.rb +0 -44
  117. data/sub/avm/lib/avm/launcher/paths.rb +0 -11
  118. data/sub/avm/lib/avm/launcher/project.rb +0 -17
  119. data/sub/avm/lib/avm/launcher/publish/base.rb +0 -47
  120. data/sub/avm/lib/avm/launcher/publish/check_result.rb +0 -65
  121. data/sub/avm/lib/avm/launcher/publish.rb +0 -11
  122. data/sub/avm/lib/avm/launcher/stereotype.rb +0 -63
  123. data/sub/avm/lib/avm/launcher.rb +0 -9
  124. data/sub/avm/lib/avm/launcher_stereotypes.rb +0 -9
  125. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +0 -46
  126. data/sub/avm/lib/avm/path_string.rb +0 -27
  127. data/sub/avm/lib/avm/registry/application_scms.rb +0 -15
  128. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +0 -49
  129. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +0 -33
  130. data/sub/avm/lib/avm/registry/application_stereotypes.rb +0 -52
  131. data/sub/avm/lib/avm/registry/applications.rb +0 -38
  132. data/sub/avm/lib/avm/registry/config_objects.rb +0 -18
  133. data/sub/avm/lib/avm/registry/file_formats.rb +0 -20
  134. data/sub/avm/lib/avm/registry/from_gems.rb +0 -80
  135. data/sub/avm/lib/avm/registry/instances.rb +0 -16
  136. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +0 -11
  137. data/sub/avm/lib/avm/registry/runners.rb +0 -10
  138. data/sub/avm/lib/avm/registry/scms.rb +0 -10
  139. data/sub/avm/lib/avm/registry/source_generators.rb +0 -17
  140. data/sub/avm/lib/avm/registry/sources.rb +0 -31
  141. data/sub/avm/lib/avm/registry/with_path/cache.rb +0 -31
  142. data/sub/avm/lib/avm/registry/with_path.rb +0 -49
  143. data/sub/avm/lib/avm/registry.rb +0 -35
  144. data/sub/avm/lib/avm/result.rb +0 -82
  145. data/sub/avm/lib/avm/rspec/setup/launcher.rb +0 -20
  146. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +0 -22
  147. data/sub/avm/lib/avm/rspec/setup.rb +0 -35
  148. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +0 -15
  149. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +0 -31
  150. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +0 -23
  151. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +0 -23
  152. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +0 -11
  153. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +0 -14
  154. data/sub/avm/lib/avm/rspec.rb +0 -9
  155. data/sub/avm/lib/avm/runners/base.rb +0 -27
  156. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +0 -39
  157. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +0 -82
  158. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +0 -40
  159. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +0 -19
  160. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +0 -40
  161. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +0 -24
  162. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +0 -31
  163. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +0 -21
  164. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +0 -36
  165. data/sub/avm/lib/avm/scms/auto_commit.rb +0 -11
  166. data/sub/avm/lib/avm/scms/base/branches.rb +0 -22
  167. data/sub/avm/lib/avm/scms/base/commits.rb +0 -34
  168. data/sub/avm/lib/avm/scms/base/milestones.rb +0 -21
  169. data/sub/avm/lib/avm/scms/base/remotes.rb +0 -22
  170. data/sub/avm/lib/avm/scms/base.rb +0 -61
  171. data/sub/avm/lib/avm/scms/branch.rb +0 -26
  172. data/sub/avm/lib/avm/scms/changed_file.rb +0 -26
  173. data/sub/avm/lib/avm/scms/commit.rb +0 -66
  174. data/sub/avm/lib/avm/scms/commit_info.rb +0 -39
  175. data/sub/avm/lib/avm/scms/inflector.rb +0 -22
  176. data/sub/avm/lib/avm/scms/interval.rb +0 -18
  177. data/sub/avm/lib/avm/scms/null/commit.rb +0 -15
  178. data/sub/avm/lib/avm/scms/null.rb +0 -21
  179. data/sub/avm/lib/avm/scms/remote.rb +0 -11
  180. data/sub/avm/lib/avm/scms.rb +0 -9
  181. data/sub/avm/lib/avm/self/docker_image.rb +0 -14
  182. data/sub/avm/lib/avm/self/instance/entry_keys.rb +0 -12
  183. data/sub/avm/lib/avm/self/instance.rb +0 -31
  184. data/sub/avm/lib/avm/source_generators/base.rb +0 -45
  185. data/sub/avm/lib/avm/source_generators/option.rb +0 -11
  186. data/sub/avm/lib/avm/source_generators/option_list.rb +0 -32
  187. data/sub/avm/lib/avm/source_generators/runner.rb +0 -58
  188. data/sub/avm/lib/avm/source_generators.rb +0 -9
  189. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +0 -31
  190. data/sub/avm/lib/avm/sources/auto_commit.rb +0 -11
  191. data/sub/avm/lib/avm/sources/base/application.rb +0 -34
  192. data/sub/avm/lib/avm/sources/base/configuration.rb +0 -92
  193. data/sub/avm/lib/avm/sources/base/instance.rb +0 -16
  194. data/sub/avm/lib/avm/sources/base/locale.rb +0 -33
  195. data/sub/avm/lib/avm/sources/base/organizational.rb +0 -32
  196. data/sub/avm/lib/avm/sources/base/parent.rb +0 -28
  197. data/sub/avm/lib/avm/sources/base/stereotype.rb +0 -18
  198. data/sub/avm/lib/avm/sources/base/sub/remove.rb +0 -38
  199. data/sub/avm/lib/avm/sources/base/sub.rb +0 -26
  200. data/sub/avm/lib/avm/sources/base/subs.rb +0 -67
  201. data/sub/avm/lib/avm/sources/base/subs_paths.rb +0 -32
  202. data/sub/avm/lib/avm/sources/base/testing.rb +0 -70
  203. data/sub/avm/lib/avm/sources/base/update.rb +0 -39
  204. data/sub/avm/lib/avm/sources/base/update_sub.rb +0 -57
  205. data/sub/avm/lib/avm/sources/base/update_subs.rb +0 -19
  206. data/sub/avm/lib/avm/sources/base/version_bump.rb +0 -29
  207. data/sub/avm/lib/avm/sources/base.rb +0 -56
  208. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +0 -26
  209. data/sub/avm/lib/avm/sources/configuration.rb +0 -59
  210. data/sub/avm/lib/avm/sources/issues/deliver.rb +0 -52
  211. data/sub/avm/lib/avm/sources/issues.rb +0 -11
  212. data/sub/avm/lib/avm/sources/runner.rb +0 -40
  213. data/sub/avm/lib/avm/sources/tests/builder.rb +0 -96
  214. data/sub/avm/lib/avm/sources/tests/performer.rb +0 -35
  215. data/sub/avm/lib/avm/sources/tests/result.rb +0 -15
  216. data/sub/avm/lib/avm/sources/tests/single.rb +0 -75
  217. data/sub/avm/lib/avm/sources/tests.rb +0 -11
  218. data/sub/avm/lib/avm/sources/update_error.rb +0 -8
  219. data/sub/avm/lib/avm/sources.rb +0 -9
  220. data/sub/avm/lib/avm/sync.rb +0 -94
  221. data/sub/avm/lib/avm/version.rb +0 -5
  222. data/sub/avm/lib/avm/version_number.rb +0 -45
  223. data/sub/avm/lib/avm/with/application_stereotype.rb +0 -33
  224. data/sub/avm/lib/avm/with/extra_subcommands.rb +0 -44
  225. data/sub/avm/lib/avm.rb +0 -7
  226. data/sub/avm/locale/en.yml +0 -6
  227. data/sub/avm/locale/pt-BR.yml +0 -6
  228. data/sub/avm/spec/dummy/avm-tools_stub/avm-tools.gemspec +0 -29
  229. data/sub/avm/spec/dummy/avm-tools_stub/lib/avm/tools/version.rb +0 -7
  230. data/sub/avm/spec/dummy/avm-tools_stub/lib/avm/tools.rb +0 -6
  231. data/sub/avm/spec/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +0 -5
  232. data/sub/avm/spec/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +0 -3
  233. data/sub/avm/spec/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +0 -16
  234. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +0 -31
  235. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +0 -12
  236. data/sub/avm/spec/lib/avm/applications/base_spec.rb +0 -23
  237. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +0 -3
  238. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +0 -11
  239. data/sub/avm/spec/lib/avm/instances/base_spec.rb +0 -107
  240. data/sub/avm/spec/lib/avm/instances/base_spec_files/config.yml +0 -50
  241. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +0 -128
  242. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +0 -5
  243. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +0 -43
  244. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/avm-tools.gemspec +0 -29
  245. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools/version.rb +0 -7
  246. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools.rb +0 -6
  247. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub/version.rb +0 -5
  248. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub.rb +0 -3
  249. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/ruby_gem_stub.gemspec +0 -16
  250. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +0 -5
  251. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +0 -28
  252. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +0 -21
  253. data/sub/avm/spec/lib/avm/scms/base_spec.rb +0 -7
  254. data/sub/avm/spec/lib/avm/sources/base_spec.rb +0 -7
  255. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +0 -9
  256. data/sub/avm/spec/rubocop_spec.rb +0 -3
  257. data/sub/avm/spec/spec_helper/eac_launcher/settings.yml +0 -6
  258. data/sub/avm/spec/spec_helper/eac_launcher.rb +0 -52
  259. data/sub/avm/spec/spec_helper.rb +0 -5
  260. data/sub/avm/template/avm/self/docker_image/Dockerfile +0 -17
  261. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +0 -12
  262. data/sub/avm-git/Gemfile +0 -8
  263. data/sub/avm-git/avm-git.gemspec +0 -25
  264. data/sub/avm-git/lib/avm/git/application_scms/base/assert_main_at.rb +0 -49
  265. data/sub/avm-git/lib/avm/git/application_scms/base.rb +0 -21
  266. data/sub/avm-git/lib/avm/git/application_scms.rb +0 -11
  267. data/sub/avm-git/lib/avm/git/commit/class_methods.rb +0 -31
  268. data/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +0 -32
  269. data/sub/avm-git/lib/avm/git/commit/file.rb +0 -46
  270. data/sub/avm-git/lib/avm/git/commit.rb +0 -59
  271. data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +0 -42
  272. data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +0 -23
  273. data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +0 -61
  274. data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +0 -39
  275. data/sub/avm-git/lib/avm/git/issue/complete/push.rb +0 -60
  276. data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +0 -33
  277. data/sub/avm-git/lib/avm/git/issue/complete/test.rb +0 -40
  278. data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +0 -21
  279. data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +0 -39
  280. data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +0 -53
  281. data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +0 -19
  282. data/sub/avm-git/lib/avm/git/issue/complete.rb +0 -69
  283. data/sub/avm-git/lib/avm/git/issue.rb +0 -11
  284. data/sub/avm-git/lib/avm/git/launcher/base/class_methods.rb +0 -28
  285. data/sub/avm-git/lib/avm/git/launcher/base/dirty_files.rb +0 -23
  286. data/sub/avm-git/lib/avm/git/launcher/base/remotes.rb +0 -40
  287. data/sub/avm-git/lib/avm/git/launcher/base/subrepo.rb +0 -44
  288. data/sub/avm-git/lib/avm/git/launcher/base/underlying.rb +0 -59
  289. data/sub/avm-git/lib/avm/git/launcher/base.rb +0 -87
  290. data/sub/avm-git/lib/avm/git/launcher/error.rb +0 -15
  291. data/sub/avm-git/lib/avm/git/launcher/mirror_update.rb +0 -38
  292. data/sub/avm-git/lib/avm/git/launcher/publish_base.rb +0 -131
  293. data/sub/avm-git/lib/avm/git/launcher/remote.rb +0 -55
  294. data/sub/avm-git/lib/avm/git/launcher/sub_warp_base.rb +0 -33
  295. data/sub/avm-git/lib/avm/git/launcher/warp_base.rb +0 -68
  296. data/sub/avm-git/lib/avm/git/launcher.rb +0 -7
  297. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/local_project_mixin.rb +0 -19
  298. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/publish.rb +0 -15
  299. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/warp.rb +0 -27
  300. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git.rb +0 -25
  301. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/publish.rb +0 -31
  302. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/warp.rb +0 -88
  303. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo.rb +0 -36
  304. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/publish.rb +0 -14
  305. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/warp.rb +0 -32
  306. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree.rb +0 -51
  307. data/sub/avm-git/lib/avm/git/launcher_stereotypes/provider.rb +0 -22
  308. data/sub/avm-git/lib/avm/git/launcher_stereotypes.rb +0 -11
  309. data/sub/avm-git/lib/avm/git/organize/reference_update.rb +0 -34
  310. data/sub/avm-git/lib/avm/git/organize/repository.rb +0 -77
  311. data/sub/avm-git/lib/avm/git/organize.rb +0 -11
  312. data/sub/avm-git/lib/avm/git/revision_test.rb +0 -105
  313. data/sub/avm-git/lib/avm/git/runners/base/commit.rb +0 -102
  314. data/sub/avm-git/lib/avm/git/runners/base/deploy.rb +0 -111
  315. data/sub/avm-git/lib/avm/git/runners/base/dirty_files.rb +0 -44
  316. data/sub/avm-git/lib/avm/git/runners/base/organize.rb +0 -75
  317. data/sub/avm-git/lib/avm/git/runners/base/revisions_test.rb +0 -66
  318. data/sub/avm-git/lib/avm/git/runners/base/subrepo/check.rb +0 -48
  319. data/sub/avm-git/lib/avm/git/runners/base/subrepo/clone.rb +0 -83
  320. data/sub/avm-git/lib/avm/git/runners/base/subrepo/fix.rb +0 -76
  321. data/sub/avm-git/lib/avm/git/runners/base/subrepo.rb +0 -19
  322. data/sub/avm-git/lib/avm/git/runners/base.rb +0 -43
  323. data/sub/avm-git/lib/avm/git/runners.rb +0 -11
  324. data/sub/avm-git/lib/avm/git/scms/git/branch.rb +0 -31
  325. data/sub/avm-git/lib/avm/git/scms/git/branches.rb +0 -20
  326. data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +0 -36
  327. data/sub/avm-git/lib/avm/git/scms/git/changed_file.rb +0 -16
  328. data/sub/avm-git/lib/avm/git/scms/git/changed_files.rb +0 -24
  329. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy.rb +0 -43
  330. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy_methods.rb +0 -30
  331. data/sub/avm-git/lib/avm/git/scms/git/commit.rb +0 -67
  332. data/sub/avm-git/lib/avm/git/scms/git/commit_dirty.rb +0 -36
  333. data/sub/avm-git/lib/avm/git/scms/git/commits.rb +0 -47
  334. data/sub/avm-git/lib/avm/git/scms/git/interval.rb +0 -31
  335. data/sub/avm-git/lib/avm/git/scms/git/milestones.rb +0 -21
  336. data/sub/avm-git/lib/avm/git/scms/git/remote.rb +0 -21
  337. data/sub/avm-git/lib/avm/git/scms/git/remotes.rb +0 -32
  338. data/sub/avm-git/lib/avm/git/scms/git/run_commit.rb +0 -57
  339. data/sub/avm-git/lib/avm/git/scms/git.rb +0 -51
  340. data/sub/avm-git/lib/avm/git/scms/git_sub_base/changed_file.rb +0 -21
  341. data/sub/avm-git/lib/avm/git/scms/git_sub_base/commit.rb +0 -27
  342. data/sub/avm-git/lib/avm/git/scms/git_sub_base/interval.rb +0 -28
  343. data/sub/avm-git/lib/avm/git/scms/git_sub_base.rb +0 -33
  344. data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +0 -37
  345. data/sub/avm-git/lib/avm/git/scms/git_subtree.rb +0 -26
  346. data/sub/avm-git/lib/avm/git/scms/provider.rb +0 -21
  347. data/sub/avm-git/lib/avm/git/scms.rb +0 -11
  348. data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +0 -51
  349. data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +0 -89
  350. data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +0 -32
  351. data/sub/avm-git/lib/avm/git/subrepo_check.rb +0 -38
  352. data/sub/avm-git/lib/avm/git/subrepo_checks.rb +0 -60
  353. data/sub/avm-git/lib/avm/git/vendor/github.rb +0 -20
  354. data/sub/avm-git/lib/avm/git/vendor.rb +0 -11
  355. data/sub/avm-git/lib/avm/git/version.rb +0 -7
  356. data/sub/avm-git/lib/avm/git.rb +0 -9
  357. data/sub/avm-git/locale/en.yml +0 -6
  358. data/sub/avm-git/locale/pt-BR.yml +0 -6
  359. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +0 -13
  360. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +0 -1
  361. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
  362. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +0 -1
  363. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
  364. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +0 -1
  365. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
  366. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +0 -2
  367. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
  368. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
  369. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
  370. data/sub/avm-git/spec/lib/avm/git/commit_spec.rb +0 -56
  371. data/sub/avm-git/spec/lib/avm/git/launcher/base_spec.rb +0 -45
  372. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec.rb +0 -83
  373. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_settings.yml +0 -6
  374. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec.rb +0 -49
  375. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_settings.yml +0 -6
  376. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec.rb +0 -126
  377. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append1/stub3.txt.template +0 -1
  378. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append2/stub4.txt +0 -1
  379. data/sub/avm-git/spec/lib/avm/git/scms/git/commit/deploy_spec.rb +0 -92
  380. data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +0 -8
  381. data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +0 -8
  382. data/sub/avm-git/spec/lib/avm/git/vendor/github_spec.rb +0 -23
  383. data/sub/avm-git/spec/rubocop_spec.rb +0 -3
  384. data/sub/avm-git/spec/spec_helper/eac_launcher/settings.yml +0 -6
  385. data/sub/avm-git/spec/spec_helper/eac_launcher.rb +0 -50
  386. data/sub/avm-git/spec/spec_helper.rb +0 -5
  387. data/sub/avm-tools/Gemfile +0 -8
  388. data/sub/avm-tools/README.textile +0 -28
  389. data/sub/avm-tools/avm-tools.gemspec +0 -25
  390. data/sub/avm-tools/exe/avm +0 -6
  391. data/sub/avm-tools/lib/avm/tools/core_ext.rb +0 -3
  392. data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +0 -20
  393. data/sub/avm-tools/lib/avm/tools/rspec/helpers.rb +0 -13
  394. data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +0 -24
  395. data/sub/avm-tools/lib/avm/tools/rspec.rb +0 -11
  396. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +0 -36
  397. data/sub/avm-tools/lib/avm/tools/runner/application.rb +0 -26
  398. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +0 -31
  399. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +0 -16
  400. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +0 -31
  401. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +0 -16
  402. data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +0 -52
  403. data/sub/avm-tools/lib/avm/tools/runner/config.rb +0 -17
  404. data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +0 -50
  405. data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +0 -31
  406. data/sub/avm-tools/lib/avm/tools/runner/files.rb +0 -17
  407. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +0 -18
  408. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +0 -20
  409. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +0 -25
  410. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +0 -20
  411. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +0 -20
  412. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +0 -25
  413. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +0 -44
  414. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +0 -27
  415. data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +0 -43
  416. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +0 -39
  417. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +0 -65
  418. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +0 -16
  419. data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +0 -36
  420. data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +0 -40
  421. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +0 -53
  422. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +0 -17
  423. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +0 -41
  424. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +0 -16
  425. data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +0 -14
  426. data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +0 -25
  427. data/sub/avm-tools/lib/avm/tools/runner/self.rb +0 -22
  428. data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +0 -72
  429. data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +0 -55
  430. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +0 -86
  431. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +0 -35
  432. data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +0 -19
  433. data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +0 -22
  434. data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +0 -29
  435. data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +0 -72
  436. data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +0 -93
  437. data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +0 -22
  438. data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +0 -81
  439. data/sub/avm-tools/lib/avm/tools/runner/source.rb +0 -18
  440. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +0 -12
  441. data/sub/avm-tools/lib/avm/tools/runner.rb +0 -27
  442. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +0 -23
  443. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +0 -23
  444. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +0 -59
  445. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +0 -69
  446. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +0 -40
  447. data/sub/avm-tools/lib/avm/tools/runner_with.rb +0 -11
  448. data/sub/avm-tools/lib/avm/tools/self.rb +0 -23
  449. data/sub/avm-tools/lib/avm/tools/version.rb +0 -7
  450. data/sub/avm-tools/lib/avm/tools.rb +0 -9
  451. data/sub/avm-tools/lib/avm.rb +0 -7
  452. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +0 -72
  453. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +0 -17
  454. data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +0 -49
  455. data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +0 -15
  456. data/sub/avm-tools/spec/rubocop_spec.rb +0 -3
  457. data/sub/avm-tools/spec/spec_helper.rb +0 -4
  458. data/sub/eac_git/Gemfile +0 -8
  459. data/sub/eac_git/eac_git.gemspec +0 -20
  460. data/sub/eac_git/lib/eac_git/executables.rb +0 -48
  461. data/sub/eac_git/lib/eac_git/local/branch.rb +0 -47
  462. data/sub/eac_git/lib/eac_git/local/commit/archive.rb +0 -19
  463. data/sub/eac_git/lib/eac_git/local/commit/changed_file.rb +0 -46
  464. data/sub/eac_git/lib/eac_git/local/commit/diff_tree_line.rb +0 -32
  465. data/sub/eac_git/lib/eac_git/local/commit.rb +0 -73
  466. data/sub/eac_git/lib/eac_git/local/dirty_files.rb +0 -48
  467. data/sub/eac_git/lib/eac_git/local/log.rb +0 -17
  468. data/sub/eac_git/lib/eac_git/local/remote/push.rb +0 -35
  469. data/sub/eac_git/lib/eac_git/local/remote.rb +0 -50
  470. data/sub/eac_git/lib/eac_git/local/remotes.rb +0 -20
  471. data/sub/eac_git/lib/eac_git/local/subrepo/config.rb +0 -43
  472. data/sub/eac_git/lib/eac_git/local/subrepo.rb +0 -49
  473. data/sub/eac_git/lib/eac_git/local.rb +0 -127
  474. data/sub/eac_git/lib/eac_git/remote.rb +0 -24
  475. data/sub/eac_git/lib/eac_git/remote_like/ls_result.rb +0 -20
  476. data/sub/eac_git/lib/eac_git/remote_like.rb +0 -32
  477. data/sub/eac_git/lib/eac_git/rspec/setup.rb +0 -23
  478. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/directory.rb +0 -36
  479. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/file.rb +0 -22
  480. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/fs_object.rb +0 -27
  481. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/repository.rb +0 -34
  482. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb +0 -29
  483. data/sub/eac_git/lib/eac_git/rspec.rb +0 -9
  484. data/sub/eac_git/lib/eac_git/version.rb +0 -5
  485. data/sub/eac_git/lib/eac_git.rb +0 -7
  486. data/sub/eac_git/spec/lib/eac_git/executables_spec.rb +0 -13
  487. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec.rb +0 -13
  488. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.source.out +0 -1
  489. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
  490. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.source.out +0 -1
  491. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
  492. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.source.out +0 -1
  493. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
  494. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.source.out +0 -2
  495. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
  496. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
  497. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
  498. data/sub/eac_git/spec/lib/eac_git/local/commit_spec.rb +0 -58
  499. data/sub/eac_git/spec/lib/eac_git/local/dirty_files_spec.rb +0 -20
  500. data/sub/eac_git/spec/rubocop_spec.rb +0 -3
  501. data/sub/eac_git/spec/spec_helper.rb +0 -4
  502. data/sub/eac_git/vendor/git-subrepo/Changes +0 -110
  503. data/sub/eac_git/vendor/git-subrepo/Intro.pod +0 -509
  504. data/sub/eac_git/vendor/git-subrepo/License +0 -21
  505. data/sub/eac_git/vendor/git-subrepo/Makefile +0 -82
  506. data/sub/eac_git/vendor/git-subrepo/Meta +0 -28
  507. data/sub/eac_git/vendor/git-subrepo/ReadMe.pod +0 -698
  508. data/sub/eac_git/vendor/git-subrepo/doc/comparison.swim +0 -35
  509. data/sub/eac_git/vendor/git-subrepo/doc/git-subrepo.swim +0 -608
  510. data/sub/eac_git/vendor/git-subrepo/doc/intro-to-subrepo.swim +0 -387
  511. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Changes +0 -15
  512. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/License +0 -21
  513. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Makefile +0 -45
  514. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Meta +0 -28
  515. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/ReadMe.pod +0 -77
  516. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/bin/bash+ +0 -43
  517. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +0 -61
  518. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +0 -92
  519. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +0 -134
  520. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +0 -134
  521. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/base.t +0 -12
  522. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/fcopy.t +0 -22
  523. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash +0 -3
  524. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash +0 -3
  525. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +0 -18
  526. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +0 -23
  527. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/test.bash +0 -70
  528. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/use.t +0 -19
  529. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Changes +0 -15
  530. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/License +0 -21
  531. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Makefile +0 -20
  532. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Meta +0 -30
  533. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +0 -115
  534. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +0 -89
  535. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +0 -15
  536. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +0 -21
  537. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +0 -45
  538. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +0 -28
  539. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +0 -77
  540. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +0 -43
  541. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +0 -61
  542. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +0 -92
  543. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +0 -134
  544. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +0 -134
  545. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +0 -12
  546. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +0 -22
  547. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +0 -3
  548. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +0 -3
  549. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +0 -18
  550. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +0 -23
  551. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/test.bash +0 -70
  552. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +0 -19
  553. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +0 -15
  554. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +0 -21
  555. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +0 -37
  556. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +0 -28
  557. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +0 -66
  558. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +0 -48
  559. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +0 -153
  560. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +0 -119
  561. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +0 -13
  562. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t +0 -10
  563. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +0 -20
  564. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +0 -15
  565. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +0 -9
  566. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t +0 -9
  567. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t +0 -10
  568. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +0 -20
  569. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +0 -13
  570. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +0 -14
  571. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +0 -7
  572. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +0 -12
  573. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +0 -8
  574. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +0 -9
  575. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +0 -95
  576. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +0 -173
  577. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/fail.t +0 -20
  578. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/more.t +0 -20
  579. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/pass.t +0 -9
  580. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/setup +0 -8
  581. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/skip_all.t +0 -11
  582. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +0 -12
  583. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t +0 -10
  584. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo +0 -1903
  585. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +0 -1
  586. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +0 -339
  587. data/sub/eac_git/vendor/git-subrepo/man/man1/git-subrepo.1 +0 -743
  588. data/sub/eac_git/vendor/git-subrepo/note/0.4.0 +0 -12
  589. data/sub/eac_git/vendor/git-subrepo/note/AllGitCmds +0 -148
  590. data/sub/eac_git/vendor/git-subrepo/note/Cases +0 -32
  591. data/sub/eac_git/vendor/git-subrepo/note/Commands +0 -33
  592. data/sub/eac_git/vendor/git-subrepo/note/Dags +0 -199
  593. data/sub/eac_git/vendor/git-subrepo/note/Gists +0 -7
  594. data/sub/eac_git/vendor/git-subrepo/note/Links +0 -25
  595. data/sub/eac_git/vendor/git-subrepo/note/Plugins +0 -10
  596. data/sub/eac_git/vendor/git-subrepo/note/Spec +0 -39
  597. data/sub/eac_git/vendor/git-subrepo/note/Story1 +0 -57
  598. data/sub/eac_git/vendor/git-subrepo/note/ToDo +0 -55
  599. data/sub/eac_git/vendor/git-subrepo/note/design.swim +0 -137
  600. data/sub/eac_git/vendor/git-subrepo/note/design2.swim +0 -85
  601. data/sub/eac_git/vendor/git-subrepo/note/init-test +0 -38
  602. data/sub/eac_git/vendor/git-subrepo/note/pull-dance.txt +0 -18
  603. data/sub/eac_git/vendor/git-subrepo/note/recreate-rebase-conflict.sh +0 -56
  604. data/sub/eac_git/vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash +0 -29
  605. data/sub/eac_git/vendor/git-subrepo/note/test-subrepo-push.sh +0 -69
  606. data/sub/eac_git/vendor/git-subrepo/note/test.sh +0 -58
  607. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-completion.pl +0 -210
  608. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +0 -89
  609. data/sub/eac_git/vendor/git-subrepo/share/completion.bash +0 -42
  610. data/sub/eac_git/vendor/git-subrepo/share/enable-completion.sh +0 -50
  611. data/sub/eac_git/vendor/git-subrepo/share/git-completion.bash +0 -2738
  612. data/sub/eac_git/vendor/git-subrepo/share/zsh-completion/_git-subrepo +0 -81
  613. data/sub/eac_git/vendor/git-subrepo/test/branch-all.t +0 -41
  614. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list-one-path.t +0 -43
  615. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list.t +0 -47
  616. data/sub/eac_git/vendor/git-subrepo/test/branch.t +0 -52
  617. data/sub/eac_git/vendor/git-subrepo/test/clean.t +0 -43
  618. data/sub/eac_git/vendor/git-subrepo/test/clone-annotated-tag.t +0 -45
  619. data/sub/eac_git/vendor/git-subrepo/test/clone.t +0 -107
  620. data/sub/eac_git/vendor/git-subrepo/test/compile.t +0 -19
  621. data/sub/eac_git/vendor/git-subrepo/test/config.t +0 -58
  622. data/sub/eac_git/vendor/git-subrepo/test/encode.t +0 -91
  623. data/sub/eac_git/vendor/git-subrepo/test/error.t +0 -171
  624. data/sub/eac_git/vendor/git-subrepo/test/fetch.t +0 -43
  625. data/sub/eac_git/vendor/git-subrepo/test/gitignore.t +0 -61
  626. data/sub/eac_git/vendor/git-subrepo/test/init.t +0 -64
  627. data/sub/eac_git/vendor/git-subrepo/test/issue29.t +0 -98
  628. data/sub/eac_git/vendor/git-subrepo/test/issue95.t +0 -98
  629. data/sub/eac_git/vendor/git-subrepo/test/issue96.t +0 -96
  630. data/sub/eac_git/vendor/git-subrepo/test/pull-all.t +0 -38
  631. data/sub/eac_git/vendor/git-subrepo/test/pull-merge.t +0 -113
  632. data/sub/eac_git/vendor/git-subrepo/test/pull-message.t +0 -88
  633. data/sub/eac_git/vendor/git-subrepo/test/pull-new-branch.t +0 -58
  634. data/sub/eac_git/vendor/git-subrepo/test/pull-ours.t +0 -90
  635. data/sub/eac_git/vendor/git-subrepo/test/pull-theirs.t +0 -82
  636. data/sub/eac_git/vendor/git-subrepo/test/pull-twice.t +0 -44
  637. data/sub/eac_git/vendor/git-subrepo/test/pull-worktree.t +0 -40
  638. data/sub/eac_git/vendor/git-subrepo/test/pull.t +0 -99
  639. data/sub/eac_git/vendor/git-subrepo/test/push-after-init.t +0 -51
  640. data/sub/eac_git/vendor/git-subrepo/test/push-force.t +0 -56
  641. data/sub/eac_git/vendor/git-subrepo/test/push-new-branch.t +0 -61
  642. data/sub/eac_git/vendor/git-subrepo/test/push-no-changes.t +0 -29
  643. data/sub/eac_git/vendor/git-subrepo/test/push-squash.t +0 -56
  644. data/sub/eac_git/vendor/git-subrepo/test/push.t +0 -176
  645. data/sub/eac_git/vendor/git-subrepo/test/reclone.t +0 -45
  646. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/HEAD +0 -1
  647. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/config +0 -4
  648. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
  649. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
  650. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
  651. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
  652. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  653. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
  654. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/heads/master +0 -1
  655. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/tags/A +0 -1
  656. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/HEAD +0 -1
  657. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/config +0 -4
  658. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
  659. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
  660. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  661. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/refs/heads/master +0 -1
  662. data/sub/eac_git/vendor/git-subrepo/test/repo/init/HEAD +0 -1
  663. data/sub/eac_git/vendor/git-subrepo/test/repo/init/config +0 -5
  664. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
  665. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
  666. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +0 -2
  667. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
  668. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
  669. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
  670. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
  671. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
  672. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +0 -1
  673. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
  674. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
  675. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +0 -1
  676. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
  677. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
  678. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +0 -3
  679. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +0 -2
  680. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +0 -2
  681. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +0 -1
  682. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
  683. data/sub/eac_git/vendor/git-subrepo/test/repo/init/refs/heads/master +0 -1
  684. data/sub/eac_git/vendor/git-subrepo/test/setup +0 -205
  685. data/sub/eac_git/vendor/git-subrepo/test/status.t +0 -68
  686. data/sub/eac_git/vendor/git-subrepo/test/submodule.t +0 -45
@@ -1,387 +0,0 @@
1
- = Introducing Git Subrepos
2
-
3
- There is a new git command called `subrepo` that is meant to be a solid
4
- alternative to the `submodule` and `subtree` commands. All 3 of these commands
5
- allow you to include external repositories (pinned to specific commits) in
6
- your main repository. This is an often needed feature for project development
7
- under a source control system like Git. Unfortunately, the `submodule` command
8
- is severely lacking, and the `subtree` command (an attempt to make things
9
- better) is also very flawed. Fortunately, the `subrepo` command is here to
10
- save the day.
11
-
12
- This article will discuss how the previous commands work, and where they go
13
- wrong, while explaining how the new `subrepo` command fixes the issues.
14
-
15
- It should be noted that there are 3 distinct roles (ways people use repos)
16
- involved in discussing this topic:
17
-
18
- * *owner* — The primary author and repo owner
19
- * *collaborators* — Other developers who contribute to the repo
20
- * *users* — People who simply use the repo software
21
-
22
- == Introducing `subrepo`
23
-
24
- While the main point is to show how subrepo addresses the shortcomings of
25
- submodule and subtree, I'll start by giving a quick intro to the subrepo
26
- command.
27
-
28
- Let's say that you have a project repo called 'freebird' and you want to have
29
- it include 2 other external repos, 'lynyrd' and 'skynyrd'. You would do the
30
- following:
31
-
32
- git clone git@github.com/you/freebird
33
- cd freebird
34
- git subrepo clone git@github.com/you/lynyrd ext/lynyrd
35
- git subrepo clone git@github.com/you/skynyrd ext/skynyrd --branch=1975
36
-
37
- What these commands do (at a high level) should be obvious. They "clone"
38
- (add) the repos content into the subdirectories you told them to. The details
39
- of what is happening to your repo will be discussed later, but adding new
40
- subrepos is easy. If you need to update the subrepos later:
41
-
42
- git subrepo pull ext/lynyrd
43
- git subrepo pull ext/skynyrd --branch=1976
44
-
45
- The lynyrd repo is tracking the upstream master branch, and you've changed the
46
- skynyrd subrepo to the 1976 branch. Since these subrepos are owned by 'you',
47
- you might want to change them in the context of your freebird repo. When
48
- things are working, you can push the subrepo changes back:
49
-
50
- git subrepo push ext/lynyrd
51
- git subrepo push ext/skynyrd
52
-
53
- Looks simple right? It's supposed to be. The intent of `subrepo` is to do the
54
- right things, and to not cause problems.
55
-
56
- Of course there's more to it under the hood, and that's what the rest of this
57
- article is about.
58
-
59
- == Git Submodules
60
-
61
- Submodules tend to receive a lot of bad press. Here's some of it:
62
-
63
- * http://ayende.com/blog/4746/the-problem-with-git-submodules
64
- * http://somethingsinistral.net/blog/git-submodules-are-probably-not-the-answer/
65
- * http://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/
66
-
67
- A quick recap of some of the good and bad things about submodules:
68
-
69
- Good:
70
-
71
- * Use an external repo in a dedicated subdir of your project.
72
- * Pin the external repo to a specific commit.
73
- * The `git-submodule` command is a core part of the Git project.
74
-
75
- Bad:
76
-
77
- * Users have to know a repo has submodules.
78
- * Users have to get the subrepos manually.
79
- * Pulling a repo with submodules won't pull in the new submodule changes.
80
- * A submodule will break if the referenced repo goes away.
81
- * A submodule will break if a forced push removes the referenced commit.
82
- * Can't use different submodules/commits per main project branch.
83
- * Can't "try out" a submodule on alternate branch.
84
- * Main repo can be pushed upstream pointing to unpushed submod commits.
85
- * Command capability differs across Git versions.
86
- * Often need to change remote url, to push submodule changes upstream.
87
- * Removing or renaming a submodule requires many steps.
88
-
89
- Internally, submodules are a real mess. They give the strong impression of
90
- being bolted on, well after Git was designed. Some commands are aware of the
91
- existence of submodules (although usually half-heartedly), and many commands
92
- are oblivious. For instance the git-clone command has a `--recursive` option
93
- to clone all subrepos, but it's not a default, so you still need to be aware
94
- of the need. The git-checkout command does nothing with the submodules, even
95
- if they are intended to differ across branches.
96
-
97
- Let's talk a bit about how submodules are implemented in Git. Information
98
- about them is stored in 3 different places (in the top level repo directory):
99
-
100
- * `.gitmodules`
101
- * `.git/config`
102
- * `.git/modules` — The submodule repo's meta data (refs/objects)
103
-
104
- So some of the information lives in the repo history (.gitmodules), but other
105
- info (.git/) is only known to the local repo.
106
-
107
- In addition, the submodule introduces a new low level concept, to the
108
- commit/tree/blob graph. Normally a git tree object points to blob (file)
109
- objects and more tree (directory) objects. Submodules have tree objects point
110
- to *commit* objects. While this seems clever and somewhat reasonable, it also
111
- means that every other git command (which was built on the super clean Git
112
- data model) has to be aware of this new possibility (and deal with it
113
- appropriately).
114
-
115
- The point is that, while submodules are a real need, and a lot of work has
116
- gone into making them work decently, they are essentially a kludge to the Git
117
- model, and it is quite understandable why they haven't worked out as well as
118
- people would expect.
119
-
120
- NOTE: Submodules /are/ getting better with each release of Git, but it's still
121
- an endless catch up game.
122
-
123
- == Git Subtrees
124
-
125
- One day, someone decided to think different. Instead of pointing to external
126
- repos, why not just include them into the main repo (but also allow them to be
127
- pulled and pushed separately as needed)?
128
-
129
- At first this may feel like a wasteful approach. Why keep other repos
130
- physically inside your main one? But if you think about it abstractly, what's
131
- the difference? You want your users and collaborators to have all this code
132
- because your project needs it. So why worry about how it happens? In the end,
133
- the choice is yours, but I've grown very comfortable with this concept and
134
- I'll try to justify it well. I should note that the first paragraph of the
135
- `submodule` doc suggests considering this alternative.
136
-
137
- The big win here is that you can do this using the existing git model.
138
- Nothing new is added. You are just adding commits to a history. You can do it
139
- different on every branch. You can merge branches sensibly.
140
-
141
- The git-subtree command seems to have been inspired by Git's subtree merge
142
- strategy, which it uses internally, and possibly got its name from. A subtree
143
- merge allows you to take a completely separate Git history and make it be a
144
- subdirectory of your repo.
145
-
146
- Adding a subtree was the easy part. All that needed to be done after that was
147
- to figure out a way to pull upstream changes and push local ones back
148
- upstream. And that's what the `git-subtree` command does.
149
-
150
- So what's the problem with git-subtree then?
151
-
152
- Well unfortunately, it drops a few balls. The main problems come down to an
153
- overly complicated commandline UX, poor collaborator awareness, and a fragile
154
- and messy implementation.
155
-
156
- Good:
157
-
158
- * Use an external repo in a dedicated subdir of your project.
159
- * Pin the external repo to a specific commit.
160
- * Users get everything with a normal clone command.
161
- * Users don't need to know that subtrees are involved.
162
- * Can use different submodules/commits per main project branch.
163
- * Users don't need the subtree command. Only owners and collaborators.
164
-
165
- Bad:
166
- * The remote url and branch info is not saved (except in the history).
167
- * Owners and collaborators have to enter the remote for every command.
168
- * Collaborators aren't made aware that subtrees are involved.
169
- * Pulled history is not squashed by default.
170
- * Creates a messy historical view. (See below)
171
- * Bash code is complicated.
172
- * Only one test file. Currently is failing.
173
-
174
- As you can see, subtree makes quite a few things better, but after trying it
175
- for a while, the experience was more annoying than submodules. For example,
176
- consider this usage:
177
-
178
- $ git subtree add --squash --prefix=foo git@github.com:my/thing mybranch
179
- # weeks go by…
180
- $ git subtree pull --squash --prefix=foo git@github.com:my/thing mybranch
181
- # time to push local subtree changes back upstream
182
- $ git subtree push --prefix=foo git@github.com:my/thing mybranch
183
-
184
- The first thing you notice is the overly verbose syntax. It's justified in the
185
- first command, but in the other 2 commands I really don't want to have to
186
- remember what the remote and branch are that I'm using.
187
-
188
- Moreover, my collaborators have no idea that subtrees are involved, let alone
189
- where they came from.
190
-
191
- Consider the equivalent subrepo commands:
192
-
193
- $ git subrepo clone git@github.com:my/thing foo -b mybranch
194
- $ git subrepo pull foo
195
- $ git subrepo push foo
196
-
197
- Collaborators see a file called 'foo/.gitrepo', and know that the subdir is a
198
- subrepo. The file contains all the information needed by future commands
199
- applied to that subrepo.
200
-
201
- == Git Subrepos
202
-
203
- Now is a good time to dive into the techinical aspects of the `subrepo`
204
- command, but first let me explain how it came about.
205
-
206
- As you may have surmised by now, I am the author of git-subrepo. I'd used
207
- submodules on and off for years, and when I became aware of subtree I gave it
208
- a try, but I quickly realized its problems. I decided maybe it could be
209
- improved. I decided to write down my expected commandline usage and my ideals
210
- of what it would and would not do. Then I set off to implement it. It's been a
211
- long road, but what I ended up with was even better than what I wanted from
212
- the start.
213
-
214
- Let's review the Goods and Bads:
215
-
216
- Good:
217
-
218
- * Use an external repo in a dedicated subdir of your project.
219
- * Pin the external repo to a specific commit.
220
- * Users get everything with a normal clone command.
221
- * Users don't need to know that subrepos are involved.
222
- * Can use different submodules/commits per main project branch.
223
- * Meta info is kept in an obvious place.
224
- * Everyone knows when a subdir is a subrepo.
225
- * Commandline UX is minimal and intuitive.
226
- * Pulled history is always squashed out locally.
227
- * Pushed history is kept intact.
228
- * Creates a clean historical view. (See below)
229
- * Bash code is very simple and easy to follow.
230
- * Comprehensive test suite. Currently passing on travis:
231
-
232
- <badge travis ingydotnet/git-subrepo>
233
-
234
- Bad:
235
-
236
- * --Subrepo is very new.-- (no longer true)
237
- * --Not well tested in the wild.-- (no longer true)
238
-
239
- This review may seem somewhat slanted, but I honestly am not aware of any
240
- "bad" points that I'm not disclosing. That said, I am sure time will reveal
241
- bugs and shortcomings. Those can usually be fixed. Hopefully the *model* is
242
- correct, because that's harder to fix down the road.
243
-
244
- OK. So how does it all work?
245
-
246
- There are 3 main commands: clone/pull/push. Let's start with the clone
247
- command. This is the easiest part. You give it a remote url, possibly a new
248
- subdir to put it, and possibly a remote branch to use. I say possibly, because
249
- the command can guess the subdir name (just like the git-clone command does),
250
- and the branch can be the upstream default branch.
251
-
252
- Given this we do the following steps internally:
253
-
254
- * Fetch the remote content (for a specific refspec)
255
- * Read the remote head tree into the index
256
- * Checkout the index into the new subdir
257
- * Create a new subrepo commit object for the subdir content
258
- * Add a state file called .gitrepo to the new subrepo/subdir
259
- * Amend the merge commit with this new file
260
-
261
- This process adds something like this to the top of your history:
262
-
263
- * 9b6ddc9 git subrepo clone git@github.com:you/foo.git foo/
264
- * 37c61a5 Previous head commit of your repo
265
-
266
- The entire history has been squashed down into one commit, and placed on top of
267
- your history. This is important as it keeps your history as clean as possible.
268
- You don't need to have the subrepo history in your main project, since it is
269
- immutably available elsewhere, and you have a pointer to that place.
270
-
271
- The new foo/.gitrepo file looks like this:
272
-
273
- [subrepo]
274
- remote = git@github.com:you/foo.git
275
- branch = master
276
- commit = 14c96c6931b41257b2d42b2edc67ddc659325823
277
- parent = 37c61a5a234f5dd6f5c2aec037509f50d3a79b8f
278
- cmdver = 0.1.0
279
-
280
- It contains all the info needed now and later. Note that the repo url is the
281
- generally pushable form, rather than the publically readable (https://…) form.
282
- This is the best practice. Users of your repo don't need access to this url,
283
- because the content is already in your repo. Only you and your collaborators
284
- need this url to pull/push in the future.
285
-
286
- The next command is the pull command. Normally you just give it the subrepo's
287
- subdir path (although you can change the branch with -b), and it will get the
288
- other info from the subdir/.gitrepo file.
289
-
290
- The pull command does these steps:
291
-
292
- * Fetch the upstream content
293
- * Check if anything needs pulling
294
- * Create a branch of local subrepo commits since last pull
295
- * Rebase this branch onto the upstream commits
296
- * Commit the HEAD of the rebased content
297
- * Update/amend the .gitrepo file
298
-
299
- === Clean History
300
-
301
- I've talked a bit about clean history but let me show you a comparison between
302
- subrepo and subtree. Let's run this command sequence using both methods. Note
303
- the differences between /both/ the command syntax required, and the branch
304
- history produced.
305
-
306
- Subrepo first:
307
-
308
- $ git subrepo clone git@github.com:user/abc
309
- $ git subrepo clone git@github.com:user/def xyz
310
- $ git subrepo pull abc
311
- $ git subrepo pull xyz
312
-
313
- The resulting history is:
314
-
315
- * b1f60cc subrepo pull xyz
316
- * 4fb0276 subrepo pull abc
317
- * bcef2a0 subrepo clone git@github.com:user/def xyz
318
- * bebf0db subrepo clone git@github.com:user/abc
319
- * 64eeaa6 (origin/master, origin/HEAD) O HAI FREND
320
-
321
- Compare that to *subtree*. This:
322
-
323
- $ git subtree add abc git@github.com:user/abc master
324
- $ git subtree add xyz git@github.com:user/def master
325
- $ git subtree pull abc git@github.com:user/abc master
326
- $ git subtree pull xyz git@github.com:user/def master
327
-
328
- Produces this:
329
-
330
- * 739e45a (HEAD, master) Merge commit '5f563469d886d53e19cb908b3a64e4229f88a2d1'
331
- |\
332
- | * 5f56346 Squashed 'xyz/' changes from 08c7421..365409f
333
- * | 641f5e5 Merge commit '8d88e90ce5f653ed2e7608a71b8693a2174ea62a'
334
- |\ \
335
- | * | 8d88e90 Squashed 'abc/' changes from 08c7421..365409f
336
- * | | 1703ed2 Merge commit '0e091b672c4bbbbf6bc4f6694c475d127ffa21eb' as 'xyz'
337
- |\ \ \
338
- | | |/
339
- | |/|
340
- | * | 0e091b6 Squashed 'xyz/' content from commit 08c7421
341
- | /
342
- * | 07b77e7 Merge commit 'cd2b30a0229d931979ed4436b995875ec563faea' as 'abc'
343
- |\ \
344
- | |/
345
- | * cd2b30a Squashed 'abc/' content from commit 08c7421
346
- * 64eeaa6 (origin/master, origin/HEAD) O HAI FREND
347
-
348
- This was from a minimal case. Subtree history (when viewed this way at least)
349
- gets unreasonably ugly fast. Subrepo history, by contrast, always looks as
350
- clean as shown.
351
-
352
- The final command, push, bascially just does the pull/rebase dance above
353
- described, and pushes the resulting history back. It does not squash the
354
- commits made locally, because it assumed that when you changed the local
355
- subrepo, you made messages that were intended to eventually be published back
356
- upstream.
357
-
358
- == Conflict Resolution
359
-
360
- The commands described above can also be done "by hand". If something fails
361
- during a pull or push (generally in the rebasing) then the command will tell
362
- you what to do to finish up.
363
-
364
- You might choose to do everything by hand, and do your own merging strategies.
365
- This is perfectly reasonable. The `subrepo` command offers a few other helper
366
- commands to help you get the job done:
367
-
368
- * `fetch` - Fetch the upstream and create a `subrepo/remote/<subdir>` ref.
369
- * `branch` - Create a branch of local subdir commits since the last pull,
370
- called `subrepo/<subdir>`.
371
- * `commit` - Commit a merged branch's HEAD back into your repo.
372
- * `status` - Show lots of useful info about the current state of the subrepos.
373
- * `clean` - Remove branches, ref and remotes created by subrepo commands.
374
- * `help` - Read the complete documentation!
375
-
376
- == Conclusion
377
-
378
- Hopefully by now, you see that submodules are a painful choice with a dubious
379
- future, and that subtree, while a solid idea has many usage issues.
380
-
381
- Give `subrepo` a try. It's painless, easily revertable and just might be what
382
- the doctor ordered.
383
-
384
- == Reference Links
385
-
386
- * http://longair.net/blog/2010/06/02/git-submodules-explained/
387
- * http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/
@@ -1,15 +0,0 @@
1
- ---
2
- version: 0.0.7
3
- date: Sat Jan 23 16:28:59 PST 2016
4
- changes:
5
- - Update tooling, and copyright
6
- ---
7
- version: 0.0.6
8
- date: Fri Jan 23 21:05:15 PST 2015
9
- changes:
10
- - Update tooling, and copyright
11
- ---
12
- version: 0.0.1
13
- date: Sun Oct 27 19:07:51 PDT 2013
14
- changes:
15
- - First release.
@@ -1,21 +0,0 @@
1
- (The MIT License)
2
-
3
- Copyright © 2013-2016 Ingy döt Net
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy of
6
- this software and associated documentation files (the ‘Software’), to deal in
7
- the Software without restriction, including without limitation the rights to
8
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
9
- of the Software, and to permit persons to whom the Software is furnished to do
10
- so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- 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 NON-INFRINGEMENT. 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 THE
21
- SOFTWARE.
@@ -1,45 +0,0 @@
1
- ifeq ($(MAKECMDGOALS),install)
2
- ifeq "$(shell bpan version 2>/dev/null)" ""
3
- $(error 'BPAN not installed. See http://bpan.org')
4
- endif
5
- endif
6
-
7
- NAME := bash+
8
- LIB := lib/$(NAME).bash
9
- DOC := doc/$(NAME).swim
10
- MAN1 := man/man1
11
- MAN3 := man/man3
12
-
13
- INSTALL_LIB ?= $(shell bpan env BPAN_LIB)
14
- INSTALL_DIR ?= test
15
- INSTALL_MAN1 ?= $(shell bpan env BPAN_MAN1)
16
- INSTALL_MAN3 ?= $(shell bpan env BPAN_MAN3)
17
-
18
- default: help
19
-
20
- help:
21
- @echo 'Rules: test, install, doc'
22
-
23
- .PHONY: test
24
- test:
25
- prove $(PROVEOPT:%=% )test/
26
-
27
- install:
28
- install -C -d -m 0755 $(INSTALL_LIB)/$(INSTALL_DIR)/
29
- install -C -m 0755 $(LIB) $(INSTALL_LIB)/$(INSTALL_DIR)/
30
- install -C -d -m 0755 $(INSTALL_MAN1)/
31
- install -C -d -m 0755 $(INSTALL_MAN3)/
32
- install -C -m 0644 $(MAN1)/$(NAME).1 $(INSTALL_MAN1)/
33
- install -C -m 0644 $(MAN3)/$(NAME).3 $(INSTALL_MAN3)/
34
-
35
- .PHONY: doc
36
- doc: ReadMe.pod $(MAN1)/$(NAME).1 $(MAN3)/$(NAME).3
37
-
38
- ReadMe.pod: $(DOC)
39
- swim --to=pod --complete --wrap $< > $@
40
-
41
- $(MAN1)/%.1: doc/%.swim
42
- swim --to=man $< > $@
43
-
44
- $(MAN3)/%.3: doc/%.swim
45
- swim --to=man $< > $@
@@ -1,28 +0,0 @@
1
- =meta: 0.0.2
2
-
3
- name: bashplus
4
- version: 0.0.7
5
- abstract: Modern Bash Programming
6
- homepage: http://bpan.org/package/bashplus/
7
-
8
- license: MIT
9
- copyright: 2013-2016
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: 3.2.0
20
- test:
21
- cmd: make test
22
- install:
23
- cmd: make install
24
-
25
- devel:
26
- git: git@github.org/ingydotnet/bashplus
27
- irc: irc.freenode.net/bpan
28
- bug: https://github.com/ingydotnet/bashplus/issues/
@@ -1,77 +0,0 @@
1
- =pod
2
-
3
- =for comment
4
- DO NOT EDIT. This Pod was generated by Swim v0.1.41.
5
- See http://github.com/ingydotnet/swim-pm#readme
6
-
7
- =encoding utf8
8
-
9
- =head1 Name
10
-
11
- Bash+(1) - Modern Bash Programming
12
-
13
- =for html
14
- <a href="https://travis-ci.org/ingydotnet/bashplus"><img src="https://travis-ci.org/ingydotnet/bashplus.png" alt="bashplus"></a>
15
-
16
- =head1 Synopsis
17
-
18
- source bash+ :std :array
19
-
20
- use Foo::Bar this that
21
-
22
- Array.new args "$@"
23
-
24
- if args.empty?; then
25
- die "I need args!"
26
- fi
27
-
28
- Foo::Bar.new foo args
29
-
30
- this is awesome # <= this is a real command! (You just imported it)
31
-
32
- =head1 Description
33
-
34
- Bash+ is just Bash... B<plus> some libraries that can make Bash programming a
35
- lot nicer.
36
-
37
- =for comment # Installation
38
-
39
- Get the source code from GitHub:
40
-
41
- git clone git@github.com:ingydotnet/bashplus
42
-
43
- Then run:
44
-
45
- make test
46
- make install # Possibly with 'sudo'
47
-
48
- =head1 Usage
49
-
50
- For now look at some libraries the use Bash+:
51
-
52
- =over
53
-
54
- =item * L<https://github.com/ingydotnet/git-hub>
55
-
56
- =item * L<https://github.com/ingydotnet/json-bash>
57
-
58
- =item * L<https://github.com/ingydotnet/test-more-bash>
59
-
60
- =back
61
-
62
- =head1 Status
63
-
64
- If you are interested in chatting about this, C</join #bpan> on
65
- irc.freenode.net.
66
-
67
- =head1 Author
68
-
69
- Written by Ingy döt Net <ingy@ingy.net>
70
-
71
- =head1 Copyright & License
72
-
73
- Copyright 2013-2016. Ingy döt Net.
74
-
75
- The MIT License (MIT).
76
-
77
- =cut
@@ -1,43 +0,0 @@
1
- #!/usr/bin/env bash
2
- #------------------------------------------------------------------------------
3
- # Bash+ - Modern Bash Programming
4
- #
5
- # Copyright (c) 2013-2016 Ingy döt Net
6
- #------------------------------------------------------------------------------
7
-
8
- set -e
9
- shopt -s compat31&>/dev/null||:
10
-
11
- #------------------------------------------------------------------------------
12
- # Determine how `bash+` was called, and do the right thing:
13
- #------------------------------------------------------------------------------
14
- if [ "${BASH_SOURCE[0]}" != "$0" ]; then
15
- # 'bash+' is being sourced:
16
- [[ "${BASH_SOURCE[0]}" =~ /bin/bash\\+$ ]] || {
17
- echo "Invalid Bash+ path '${BASH_SOURCE[0]}'" 2> /dev/null
18
- exit 1
19
- }
20
- source "${BASH_SOURCE[0]%/bin/*}"/lib/bash+.bash || return $?
21
- bash+:import "$@"
22
- return $?
23
- else
24
- if [ $# -eq 1 -a "$1" == --version ]; then
25
- echo 'bash+ version 0.0.7'
26
- else
27
- cat <<...
28
-
29
- Greetings modern Bash programmer. Welcome to Bash+!
30
-
31
- Bash+ is framework that makes Bash programming more like Ruby and Perl.
32
-
33
- See: https://github.com/bpan-org/bashplus
34
-
35
- If you got here trying to use bash+ in a program, you need to source it:
36
-
37
- source bash+
38
-
39
- Happy Bash Hacking!
40
-
41
- ...
42
- fi
43
- fi
@@ -1,61 +0,0 @@
1
- Bash+(1)
2
- ========
3
-
4
- Modern Bash Programming
5
-
6
- <badge travis ingydotnet/bashplus>
7
-
8
- = Synopsis
9
-
10
- source bash+ :std :array
11
-
12
- use Foo::Bar this that
13
-
14
- Array.new args "$@"
15
-
16
- if args.empty?; then
17
- die "I need args!"
18
- fi
19
-
20
- Foo::Bar.new foo args
21
-
22
- this is awesome # <= this is a real command! (You just imported it)
23
-
24
- = Description
25
-
26
- Bash+ is just Bash... *plus* some libraries that can make Bash programming a
27
- lot nicer.
28
-
29
- ## Installation
30
-
31
- Get the source code from GitHub:
32
-
33
- git clone git@github.com:ingydotnet/bashplus
34
-
35
- Then run:
36
-
37
- make test
38
- make install # Possibly with 'sudo'
39
-
40
- = Usage
41
-
42
- For now look at some libraries the use Bash+:
43
-
44
- * https://github.com/ingydotnet/git-hub
45
- * https://github.com/ingydotnet/json-bash
46
- * https://github.com/ingydotnet/test-more-bash
47
-
48
- = Status
49
-
50
- If you are interested in chatting about this, `/join #bpan` on
51
- irc.freenode.net.
52
-
53
- = Author
54
-
55
- Written by Ingy döt Net <ingy@ingy.net>
56
-
57
- = Copyright & License
58
-
59
- Copyright 2013-2016. Ingy döt Net.
60
-
61
- The MIT License (MIT).