eac_tools 0.86.1 → 0.86.2

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 (369) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +40 -35
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +2 -2
  5. data/sub/avm/lib/avm/rspec/setup/launcher.rb +1 -0
  6. data/sub/avm/lib/avm/scms/base/branches.rb +22 -0
  7. data/sub/avm/lib/avm/scms/base/remotes.rb +22 -0
  8. data/sub/avm/lib/avm/scms/branch.rb +26 -0
  9. data/sub/avm/lib/avm/scms/remote.rb +11 -0
  10. data/sub/avm/lib/avm/sources/issues/deliver.rb +52 -0
  11. data/sub/avm/lib/avm/sources/issues.rb +11 -0
  12. data/sub/avm/lib/avm/version.rb +1 -1
  13. data/sub/avm-git/avm-git.gemspec +23 -0
  14. data/sub/avm-git/lib/avm/git/application_scms/base/assert_main_at.rb +49 -0
  15. data/sub/avm-git/lib/avm/git/application_scms/base.rb +21 -0
  16. data/sub/{avm-eac_php_base0/lib/avm/eac_php_base0/sources.rb → avm-git/lib/avm/git/application_scms.rb} +2 -2
  17. data/sub/avm-git/lib/avm/git/commit/class_methods.rb +31 -0
  18. data/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +32 -0
  19. data/sub/avm-git/lib/avm/git/commit/file.rb +46 -0
  20. data/sub/avm-git/lib/avm/git/commit.rb +59 -0
  21. data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +42 -0
  22. data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +23 -0
  23. data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +61 -0
  24. data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +39 -0
  25. data/sub/avm-git/lib/avm/git/issue/complete/push.rb +60 -0
  26. data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +33 -0
  27. data/sub/avm-git/lib/avm/git/issue/complete/test.rb +40 -0
  28. data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +28 -0
  29. data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +39 -0
  30. data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +53 -0
  31. data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +19 -0
  32. data/sub/avm-git/lib/avm/git/issue/complete.rb +66 -0
  33. data/sub/avm-git/lib/avm/git/issue.rb +11 -0
  34. data/sub/avm-git/lib/avm/git/launcher/base/class_methods.rb +28 -0
  35. data/sub/avm-git/lib/avm/git/launcher/base/dirty_files.rb +23 -0
  36. data/sub/avm-git/lib/avm/git/launcher/base/remotes.rb +40 -0
  37. data/sub/avm-git/lib/avm/git/launcher/base/subrepo.rb +44 -0
  38. data/sub/avm-git/lib/avm/git/launcher/base/underlying.rb +59 -0
  39. data/sub/avm-git/lib/avm/git/launcher/base.rb +87 -0
  40. data/sub/avm-git/lib/avm/git/launcher/error.rb +15 -0
  41. data/sub/avm-git/lib/avm/git/launcher/mirror_update.rb +38 -0
  42. data/sub/avm-git/lib/avm/git/launcher/publish_base.rb +131 -0
  43. data/sub/avm-git/lib/avm/git/launcher/remote.rb +55 -0
  44. data/sub/avm-git/lib/avm/git/launcher/sub_warp_base.rb +33 -0
  45. data/sub/avm-git/lib/avm/git/launcher/warp_base.rb +68 -0
  46. data/sub/avm-git/lib/avm/git/launcher.rb +7 -0
  47. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/local_project_mixin.rb +19 -0
  48. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/publish.rb +15 -0
  49. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/warp.rb +27 -0
  50. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git.rb +25 -0
  51. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/publish.rb +31 -0
  52. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/warp.rb +88 -0
  53. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo.rb +36 -0
  54. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/publish.rb +14 -0
  55. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/warp.rb +32 -0
  56. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree.rb +51 -0
  57. data/sub/avm-git/lib/avm/git/launcher_stereotypes/provider.rb +22 -0
  58. data/sub/{avm-eac_php_base0/lib/avm/eac_php_base0/file_formats.rb → avm-git/lib/avm/git/launcher_stereotypes.rb} +2 -2
  59. data/sub/avm-git/lib/avm/git/organize/reference_update.rb +34 -0
  60. data/sub/avm-git/lib/avm/git/organize/repository.rb +77 -0
  61. data/sub/{avm-eac_php_base0/lib/avm/eac_php_base0/instances.rb → avm-git/lib/avm/git/organize.rb} +2 -2
  62. data/sub/avm-git/lib/avm/git/revision_test.rb +105 -0
  63. data/sub/avm-git/lib/avm/git/scms/git/branch.rb +31 -0
  64. data/sub/avm-git/lib/avm/git/scms/git/branches.rb +20 -0
  65. data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +36 -0
  66. data/sub/avm-git/lib/avm/git/scms/git/changed_file.rb +16 -0
  67. data/sub/avm-git/lib/avm/git/scms/git/changed_files.rb +24 -0
  68. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy.rb +43 -0
  69. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy_methods.rb +30 -0
  70. data/sub/avm-git/lib/avm/git/scms/git/commit.rb +67 -0
  71. data/sub/avm-git/lib/avm/git/scms/git/commit_dirty.rb +36 -0
  72. data/sub/avm-git/lib/avm/git/scms/git/commits.rb +47 -0
  73. data/sub/avm-git/lib/avm/git/scms/git/interval.rb +31 -0
  74. data/sub/avm-git/lib/avm/git/scms/git/milestones.rb +21 -0
  75. data/sub/avm-git/lib/avm/git/scms/git/remote.rb +21 -0
  76. data/sub/avm-git/lib/avm/git/scms/git/remotes.rb +32 -0
  77. data/sub/avm-git/lib/avm/git/scms/git/run_commit.rb +57 -0
  78. data/sub/avm-git/lib/avm/git/scms/git.rb +44 -0
  79. data/sub/avm-git/lib/avm/git/scms/git_sub_base/changed_file.rb +21 -0
  80. data/sub/avm-git/lib/avm/git/scms/git_sub_base/commit.rb +27 -0
  81. data/sub/avm-git/lib/avm/git/scms/git_sub_base/interval.rb +28 -0
  82. data/sub/avm-git/lib/avm/git/scms/git_sub_base.rb +33 -0
  83. data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +37 -0
  84. data/sub/avm-git/lib/avm/git/scms/git_subtree.rb +26 -0
  85. data/sub/avm-git/lib/avm/git/scms/provider.rb +21 -0
  86. data/sub/{avm-eac_php_base0/lib/avm/eac_php_base0/source_generators.rb → avm-git/lib/avm/git/scms.rb} +2 -2
  87. data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +51 -0
  88. data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +89 -0
  89. data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +32 -0
  90. data/sub/avm-git/lib/avm/git/subrepo_check.rb +38 -0
  91. data/sub/avm-git/lib/avm/git/subrepo_checks.rb +60 -0
  92. data/sub/avm-git/lib/avm/git/vendor/github.rb +20 -0
  93. data/sub/avm-git/lib/avm/git/vendor.rb +11 -0
  94. data/sub/{avm-eac_php_base0/lib/avm/eac_php_base0 → avm-git/lib/avm/git}/version.rb +2 -2
  95. data/sub/{avm-eac_php_base0/lib/avm/eac_php_base0.rb → avm-git/lib/avm/git.rb} +1 -1
  96. data/sub/avm-git/locale/en.yml +6 -0
  97. data/sub/avm-git/locale/pt-BR.yml +6 -0
  98. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +13 -0
  99. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +1 -0
  100. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +7 -0
  101. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +1 -0
  102. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +7 -0
  103. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +1 -0
  104. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +7 -0
  105. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +2 -0
  106. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +13 -0
  107. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +2 -0
  108. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +13 -0
  109. data/sub/avm-git/spec/lib/avm/git/commit_spec.rb +56 -0
  110. data/sub/avm-git/spec/lib/avm/git/launcher/base_spec.rb +45 -0
  111. data/sub/avm-git/spec/lib/avm/git/scms/git/commit/deploy_spec.rb +92 -0
  112. data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +8 -0
  113. data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +8 -0
  114. data/sub/avm-git/spec/lib/avm/git/vendor/github_spec.rb +23 -0
  115. data/sub/avm-tools/avm-tools.gemspec +3 -3
  116. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +3 -3
  117. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  118. data/sub/eac_git/Gemfile +8 -0
  119. data/sub/eac_git/eac_git.gemspec +20 -0
  120. data/sub/eac_git/lib/eac_git/executables.rb +48 -0
  121. data/sub/eac_git/lib/eac_git/local/branch.rb +47 -0
  122. data/sub/eac_git/lib/eac_git/local/commit/archive.rb +19 -0
  123. data/sub/eac_git/lib/eac_git/local/commit/changed_file.rb +46 -0
  124. data/sub/eac_git/lib/eac_git/local/commit/diff_tree_line.rb +32 -0
  125. data/sub/eac_git/lib/eac_git/local/commit.rb +73 -0
  126. data/sub/eac_git/lib/eac_git/local/dirty_files.rb +48 -0
  127. data/sub/eac_git/lib/eac_git/local/log.rb +17 -0
  128. data/sub/eac_git/lib/eac_git/local/remote/push.rb +35 -0
  129. data/sub/eac_git/lib/eac_git/local/remote.rb +50 -0
  130. data/sub/eac_git/lib/eac_git/local/remotes.rb +20 -0
  131. data/sub/eac_git/lib/eac_git/local/subrepo/config.rb +43 -0
  132. data/sub/eac_git/lib/eac_git/local/subrepo.rb +49 -0
  133. data/sub/eac_git/lib/eac_git/local.rb +127 -0
  134. data/sub/eac_git/lib/eac_git/remote.rb +24 -0
  135. data/sub/eac_git/lib/eac_git/remote_like/ls_result.rb +20 -0
  136. data/sub/eac_git/lib/eac_git/remote_like.rb +32 -0
  137. data/sub/eac_git/lib/eac_git/rspec/setup.rb +23 -0
  138. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/directory.rb +36 -0
  139. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/file.rb +22 -0
  140. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/fs_object.rb +27 -0
  141. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/repository.rb +34 -0
  142. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb +29 -0
  143. data/sub/eac_git/lib/eac_git/rspec.rb +9 -0
  144. data/sub/eac_git/lib/eac_git/version.rb +5 -0
  145. data/sub/eac_git/lib/eac_git.rb +7 -0
  146. data/sub/eac_git/spec/lib/eac_git/executables_spec.rb +13 -0
  147. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec.rb +13 -0
  148. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.source.out +1 -0
  149. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.target.yaml +7 -0
  150. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.source.out +1 -0
  151. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.target.yaml +7 -0
  152. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.source.out +1 -0
  153. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.target.yaml +7 -0
  154. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.source.out +2 -0
  155. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.target.yaml +13 -0
  156. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.source.out +2 -0
  157. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.target.yaml +13 -0
  158. data/sub/eac_git/spec/lib/eac_git/local/commit_spec.rb +58 -0
  159. data/sub/eac_git/spec/lib/eac_git/local/dirty_files_spec.rb +20 -0
  160. data/sub/eac_git/spec/rubocop_spec.rb +3 -0
  161. data/sub/eac_git/spec/spec_helper.rb +4 -0
  162. data/sub/eac_git/vendor/git-subrepo/Changes +110 -0
  163. data/sub/eac_git/vendor/git-subrepo/Intro.pod +509 -0
  164. data/sub/eac_git/vendor/git-subrepo/License +21 -0
  165. data/sub/eac_git/vendor/git-subrepo/Makefile +82 -0
  166. data/sub/eac_git/vendor/git-subrepo/Meta +28 -0
  167. data/sub/eac_git/vendor/git-subrepo/ReadMe.pod +698 -0
  168. data/sub/eac_git/vendor/git-subrepo/doc/comparison.swim +35 -0
  169. data/sub/eac_git/vendor/git-subrepo/doc/git-subrepo.swim +608 -0
  170. data/sub/eac_git/vendor/git-subrepo/doc/intro-to-subrepo.swim +387 -0
  171. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Changes +15 -0
  172. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/License +21 -0
  173. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Makefile +45 -0
  174. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Meta +28 -0
  175. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/ReadMe.pod +77 -0
  176. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/bin/bash+ +43 -0
  177. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +61 -0
  178. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +92 -0
  179. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +134 -0
  180. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +134 -0
  181. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/base.t +12 -0
  182. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/fcopy.t +22 -0
  183. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash +3 -0
  184. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash +3 -0
  185. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +18 -0
  186. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +23 -0
  187. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/test.bash +70 -0
  188. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/use.t +19 -0
  189. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Changes +15 -0
  190. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/License +21 -0
  191. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Makefile +20 -0
  192. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Meta +30 -0
  193. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +115 -0
  194. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +89 -0
  195. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +15 -0
  196. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +21 -0
  197. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +45 -0
  198. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +28 -0
  199. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +77 -0
  200. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +43 -0
  201. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +61 -0
  202. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +92 -0
  203. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +134 -0
  204. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +134 -0
  205. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +12 -0
  206. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +22 -0
  207. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +3 -0
  208. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +3 -0
  209. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +18 -0
  210. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +23 -0
  211. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/test.bash +70 -0
  212. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +19 -0
  213. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +15 -0
  214. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +21 -0
  215. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +37 -0
  216. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +28 -0
  217. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +66 -0
  218. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +48 -0
  219. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +153 -0
  220. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +119 -0
  221. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +13 -0
  222. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t +10 -0
  223. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +20 -0
  224. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +15 -0
  225. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +9 -0
  226. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t +9 -0
  227. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t +10 -0
  228. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +20 -0
  229. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +13 -0
  230. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +14 -0
  231. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +7 -0
  232. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +12 -0
  233. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +8 -0
  234. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +9 -0
  235. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +95 -0
  236. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +173 -0
  237. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/fail.t +20 -0
  238. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/more.t +20 -0
  239. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/pass.t +9 -0
  240. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/setup +8 -0
  241. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/skip_all.t +11 -0
  242. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +12 -0
  243. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t +10 -0
  244. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo +1903 -0
  245. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +1 -0
  246. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +339 -0
  247. data/sub/eac_git/vendor/git-subrepo/man/man1/git-subrepo.1 +743 -0
  248. data/sub/eac_git/vendor/git-subrepo/note/0.4.0 +12 -0
  249. data/sub/eac_git/vendor/git-subrepo/note/AllGitCmds +148 -0
  250. data/sub/eac_git/vendor/git-subrepo/note/Cases +32 -0
  251. data/sub/eac_git/vendor/git-subrepo/note/Commands +33 -0
  252. data/sub/eac_git/vendor/git-subrepo/note/Dags +199 -0
  253. data/sub/eac_git/vendor/git-subrepo/note/Gists +7 -0
  254. data/sub/eac_git/vendor/git-subrepo/note/Links +25 -0
  255. data/sub/eac_git/vendor/git-subrepo/note/Plugins +10 -0
  256. data/sub/eac_git/vendor/git-subrepo/note/Spec +39 -0
  257. data/sub/eac_git/vendor/git-subrepo/note/Story1 +57 -0
  258. data/sub/eac_git/vendor/git-subrepo/note/ToDo +55 -0
  259. data/sub/eac_git/vendor/git-subrepo/note/design.swim +137 -0
  260. data/sub/eac_git/vendor/git-subrepo/note/design2.swim +85 -0
  261. data/sub/eac_git/vendor/git-subrepo/note/init-test +38 -0
  262. data/sub/eac_git/vendor/git-subrepo/note/pull-dance.txt +18 -0
  263. data/sub/eac_git/vendor/git-subrepo/note/recreate-rebase-conflict.sh +56 -0
  264. data/sub/eac_git/vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash +29 -0
  265. data/sub/eac_git/vendor/git-subrepo/note/test-subrepo-push.sh +69 -0
  266. data/sub/eac_git/vendor/git-subrepo/note/test.sh +58 -0
  267. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-completion.pl +210 -0
  268. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +89 -0
  269. data/sub/eac_git/vendor/git-subrepo/share/completion.bash +42 -0
  270. data/sub/eac_git/vendor/git-subrepo/share/enable-completion.sh +50 -0
  271. data/sub/eac_git/vendor/git-subrepo/share/git-completion.bash +2738 -0
  272. data/sub/eac_git/vendor/git-subrepo/share/zsh-completion/_git-subrepo +81 -0
  273. data/sub/eac_git/vendor/git-subrepo/test/branch-all.t +41 -0
  274. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list-one-path.t +43 -0
  275. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list.t +47 -0
  276. data/sub/eac_git/vendor/git-subrepo/test/branch.t +52 -0
  277. data/sub/eac_git/vendor/git-subrepo/test/clean.t +43 -0
  278. data/sub/eac_git/vendor/git-subrepo/test/clone-annotated-tag.t +45 -0
  279. data/sub/eac_git/vendor/git-subrepo/test/clone.t +107 -0
  280. data/sub/eac_git/vendor/git-subrepo/test/compile.t +19 -0
  281. data/sub/eac_git/vendor/git-subrepo/test/config.t +58 -0
  282. data/sub/eac_git/vendor/git-subrepo/test/encode.t +91 -0
  283. data/sub/eac_git/vendor/git-subrepo/test/error.t +171 -0
  284. data/sub/eac_git/vendor/git-subrepo/test/fetch.t +43 -0
  285. data/sub/eac_git/vendor/git-subrepo/test/gitignore.t +61 -0
  286. data/sub/eac_git/vendor/git-subrepo/test/init.t +64 -0
  287. data/sub/eac_git/vendor/git-subrepo/test/issue29.t +98 -0
  288. data/sub/eac_git/vendor/git-subrepo/test/issue95.t +98 -0
  289. data/sub/eac_git/vendor/git-subrepo/test/issue96.t +96 -0
  290. data/sub/eac_git/vendor/git-subrepo/test/pull-all.t +38 -0
  291. data/sub/eac_git/vendor/git-subrepo/test/pull-merge.t +113 -0
  292. data/sub/eac_git/vendor/git-subrepo/test/pull-message.t +88 -0
  293. data/sub/eac_git/vendor/git-subrepo/test/pull-new-branch.t +58 -0
  294. data/sub/eac_git/vendor/git-subrepo/test/pull-ours.t +90 -0
  295. data/sub/eac_git/vendor/git-subrepo/test/pull-theirs.t +82 -0
  296. data/sub/eac_git/vendor/git-subrepo/test/pull-twice.t +44 -0
  297. data/sub/eac_git/vendor/git-subrepo/test/pull-worktree.t +40 -0
  298. data/sub/eac_git/vendor/git-subrepo/test/pull.t +99 -0
  299. data/sub/eac_git/vendor/git-subrepo/test/push-after-init.t +51 -0
  300. data/sub/eac_git/vendor/git-subrepo/test/push-force.t +56 -0
  301. data/sub/eac_git/vendor/git-subrepo/test/push-new-branch.t +61 -0
  302. data/sub/eac_git/vendor/git-subrepo/test/push-no-changes.t +29 -0
  303. data/sub/eac_git/vendor/git-subrepo/test/push-squash.t +56 -0
  304. data/sub/eac_git/vendor/git-subrepo/test/push.t +176 -0
  305. data/sub/eac_git/vendor/git-subrepo/test/reclone.t +45 -0
  306. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/HEAD +1 -0
  307. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/config +4 -0
  308. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
  309. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
  310. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
  311. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
  312. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  313. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
  314. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/heads/master +1 -0
  315. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/tags/A +1 -0
  316. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/HEAD +1 -0
  317. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/config +4 -0
  318. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
  319. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
  320. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  321. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/refs/heads/master +1 -0
  322. data/sub/eac_git/vendor/git-subrepo/test/repo/init/HEAD +1 -0
  323. data/sub/eac_git/vendor/git-subrepo/test/repo/init/config +5 -0
  324. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
  325. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
  326. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +2 -0
  327. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
  328. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
  329. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
  330. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
  331. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
  332. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +1 -0
  333. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
  334. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
  335. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +1 -0
  336. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
  337. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
  338. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +3 -0
  339. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +2 -0
  340. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +2 -0
  341. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +1 -0
  342. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
  343. data/sub/eac_git/vendor/git-subrepo/test/repo/init/refs/heads/master +1 -0
  344. data/sub/eac_git/vendor/git-subrepo/test/setup +205 -0
  345. data/sub/eac_git/vendor/git-subrepo/test/status.t +68 -0
  346. data/sub/eac_git/vendor/git-subrepo/test/submodule.t +45 -0
  347. metadata +352 -40
  348. data/sub/avm-eac_php_base0/avm-eac_php_base0.gemspec +0 -21
  349. data/sub/avm-eac_php_base0/lib/avm/eac_php_base0/executables.rb +0 -22
  350. data/sub/avm-eac_php_base0/lib/avm/eac_php_base0/file_formats/base.rb +0 -20
  351. data/sub/avm-eac_php_base0/lib/avm/eac_php_base0/instances/base.rb +0 -13
  352. data/sub/avm-eac_php_base0/lib/avm/eac_php_base0/source_generators/base.rb +0 -28
  353. data/sub/avm-eac_php_base0/lib/avm/eac_php_base0/sources/base.rb +0 -17
  354. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/file_formats/base_spec.rb +0 -7
  355. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/file_formats/base_spec_files/php_code.php.source +0 -10
  356. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/file_formats/base_spec_files/php_code.php.target +0 -10
  357. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/file_formats/base_spec_files/php_code2.php.source +0 -4
  358. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/file_formats/base_spec_files/php_code2.php.target +0 -3
  359. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/file_formats/base_spec_files/php_html_code.php.source +0 -64
  360. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/file_formats/base_spec_files/php_html_code.php.target +0 -64
  361. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/file_formats/base_spec_files/php_iso88591_code.php.source +0 -4
  362. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/file_formats/base_spec_files/php_iso88591_code.php.target +0 -3
  363. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/source_generators/base_spec.rb +0 -8
  364. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/source_generators/base_spec_files/no_options/index.php +0 -0
  365. data/sub/avm-eac_php_base0/spec/lib/avm/eac_php_base0/sources/base_spec.rb +0 -7
  366. data/sub/avm-eac_php_base0/template/avm/eac_php_base0/source_generators/base/index.php +0 -0
  367. /data/sub/{avm-eac_php_base0 → avm-git}/Gemfile +0 -0
  368. /data/sub/{avm-eac_php_base0 → avm-git}/spec/rubocop_spec.rb +0 -0
  369. /data/sub/{avm-eac_php_base0 → avm-git}/spec/spec_helper.rb +0 -0
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/commit'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class Git < ::Avm::Scms::Base
10
+ module Commits
11
+ # @return [Avm::Git::Scms::Git::Commit,nil]
12
+ def commit(source)
13
+ if source.is_a?(::Avm::Git::Scms::Git::Commit)
14
+ return source if source.git_repo == git_repo
15
+
16
+ raise 'Not same Git repository'
17
+ end
18
+ git_repo.commitize(source).if_present do |v|
19
+ ::Avm::Git::Scms::Git::Commit.new(self, v)
20
+ end
21
+ end
22
+
23
+ # @param commit_info [Avm::Scms::CommitInfo]
24
+ # @return [Avm::Git::Scms::Git::Commit,nil]
25
+ def commit_if_change(commit_info = nil)
26
+ tracker = ::Avm::Git::Scms::Git::ChangeTracker.new(self, commit_info)
27
+ tracker.start
28
+ yield
29
+ tracker.stop
30
+ end
31
+
32
+ # @return [Avm::Git::Scms::Git::Commit]
33
+ def head_commit
34
+ commit(git_repo.head)
35
+ end
36
+
37
+ # @param commit_info [Avm::Scms::CommitInfo]
38
+ # @return [Avm::Git::Scms::Git::Commit]
39
+ def reset_and_commit(commit_to_reset, commit_info)
40
+ git_repo.command('reset', '--soft', commit(commit_to_reset).git_commit.id).execute!
41
+ commit_dirty(commit_info)
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/interval'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class Git < ::Avm::Scms::Base
10
+ class Interval < ::Avm::Scms::Interval
11
+ def initialize(scm, from, to)
12
+ super(scm, from, to)
13
+ self.from = scm.commit(from)
14
+ self.to = scm.commit(to)
15
+ end
16
+
17
+ # @return [Array<Avm::Git::Scms::Git::Commit>]
18
+ def commits
19
+ scm.git_repo.command('log', '--pretty=format:%H', git_commit_interval).execute!
20
+ .each_line.map { |sha1| scm.commit(sha1.strip) }
21
+ end
22
+
23
+ # @return [String]
24
+ def git_commit_interval
25
+ [from.id, to.id].join('..')
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/commit'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class Git < ::Avm::Scms::Base
10
+ module Milestones
11
+ BASE_COMMIT_REFERENCE = 'origin/master'
12
+
13
+ # @return [Avm::Git::Scms::Git::Commit]
14
+ def current_milestone_base_commit
15
+ commit(BASE_COMMIT_REFERENCE)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/remote'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class Git < ::Avm::Scms::Base
10
+ class Remote < ::Avm::Scms::Remote
11
+ common_constructor :scm, :eac_git_remote
12
+
13
+ # @return [String]
14
+ def id
15
+ nyi eac_git_remote
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/scms/git/remote'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class Git < ::Avm::Scms::Base
10
+ module Remotes
11
+ DEFAULT_REMOTE_ID = 'origin'
12
+
13
+ # @return [Avm::Git::Scms::Git::Remote]
14
+ def default_remote
15
+ remote(default_remote_id)
16
+ end
17
+
18
+ # @return [String]
19
+ def default_remote_id
20
+ DEFAULT_REMOTE_ID
21
+ end
22
+
23
+ # @param id [String]
24
+ # @return [Avm::Git::Scms::Git::Remote]
25
+ def remote(id)
26
+ ::Avm::Git::Scms::Git::Remote.new(self, git_repo.remote(id))
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/commit'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class Git < ::Avm::Scms::Base
10
+ class RunCommit
11
+ enable_method_class
12
+
13
+ common_constructor :scm, :commit_info
14
+
15
+ # @return [Avm::Git::Scms::Git::Commit]
16
+ def result
17
+ reset
18
+ add_paths
19
+ commit
20
+
21
+ scm.head_commit
22
+ end
23
+
24
+ protected
25
+
26
+ def add_path(path)
27
+ scm.git_repo.command(
28
+ *(path.exist? ? ['add'] : ['rm', '-f']),
29
+ path.relative_path_from(scm.path)
30
+ ).execute!
31
+ end
32
+
33
+ def add_paths
34
+ commit_info.paths.each { |path| add_path(path) }
35
+ end
36
+
37
+ def commit
38
+ scm.git_repo.command('commit', *commit_args).execute!
39
+ end
40
+
41
+ # @return [Array<String>]
42
+ def commit_args
43
+ r = commit_info.fixup.if_present([]) { |v| ['--fixup', v.id] }
44
+ r += commit_info.message.if_present([]) { |v| ['--message', v] }
45
+ return r if r.any?
46
+
47
+ raise 'Argument list is empty'
48
+ end
49
+
50
+ def reset
51
+ scm.git_repo.command('reset', 'HEAD').execute!
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/scms/git_subrepo'
4
+ require 'avm/scms/base'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Git
9
+ module Scms
10
+ class Git < ::Avm::Scms::Base
11
+ require_sub __FILE__, include_modules: true
12
+ include ::Comparable
13
+
14
+ COMMIT_DIRTY_DEFAULT_MESSAGE = 'Dirty files.'
15
+
16
+ def <=>(other)
17
+ git_repo <=> other.git_repo
18
+ end
19
+
20
+ def git_repo
21
+ @git_repo ||= ::EacGit::Local.new(path)
22
+ end
23
+
24
+ # @param from [Avm::Git::Scms::Git::Commit]
25
+ # @param to [Avm::Git::Scms::Git::Commit]
26
+ # @return [Avm::Git::Scms::Git::Interval]
27
+ def interval(from, to)
28
+ ::Avm::Git::Scms::Git::Interval.new(self, from, to)
29
+ end
30
+
31
+ # @return [Enumerable<Avm::Git::Scms::GitSubrepo>]
32
+ def subs
33
+ git_repo.subrepos.map do |subrepo|
34
+ ::Avm::Git::Scms::GitSubrepo.new(subrepo.subpath.expand_path(path))
35
+ end
36
+ end
37
+
38
+ def valid?
39
+ path.join('.git').exist?
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/changed_file'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class GitSubBase < ::Avm::Scms::Base
10
+ class ChangedFile < ::Avm::Scms::ChangedFile
11
+ common_constructor :scm, :parent_changed_file
12
+
13
+ # @return [Pathname]
14
+ def path
15
+ parent_changed_file.path.relative_path_from(scm.relative_path_from_parent_scm)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/commit'
4
+ require 'avm/git/scms/git/commit'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Git
9
+ module Scms
10
+ class GitSubBase < ::Avm::Scms::Base
11
+ class Commit < ::Avm::Scms::Commit
12
+ common_constructor :scm, :parent_commit
13
+
14
+ delegate :deploy_to_env_path, :fixup?, :id, :merge_with, :reword, :scm_file?, :subject,
15
+ :to_s, to: :parent_commit
16
+
17
+ # @return [Array<Pathname>]
18
+ def changed_files
19
+ parent_commit.changed_files.map do |cf|
20
+ cf.relative_path_from(scm.relative_path_from_parent_scm)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/scms/git_sub_base/commit'
4
+ require 'avm/scms/base'
5
+ require 'avm/scms/interval'
6
+ require 'eac_ruby_utils/core_ext'
7
+
8
+ module Avm
9
+ module Git
10
+ module Scms
11
+ class GitSubBase < ::Avm::Scms::Base
12
+ class Interval < ::Avm::Scms::Interval
13
+ # @return [Array<Avm::Git::Scms::GitSubBase::Commit>]
14
+ def commits
15
+ parent_interval.commits.map do |parent_commit|
16
+ Avm::Git::Scms::GitSubBase::Commit.new(scm, parent_commit)
17
+ end
18
+ end
19
+
20
+ # @return [Avm::Git::Scms::Git::Interval]
21
+ def parent_interval
22
+ scm.parent_scm.interval(from, to)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ module Scms
9
+ class GitSubBase < ::Avm::Scms::Base
10
+ enable_abstract_methods
11
+
12
+ delegate :commit_if_change, :current_milestone_base_commit,
13
+ :head_commit, :reset_and_commit, :run_commit, to: :parent_scm
14
+
15
+ # @return [Enumerable<Avm::Git::Scms::GitSubBase::ChangedFile>]
16
+ def changed_files
17
+ parent_scm.changed_files.map do |parent_changed_file|
18
+ ::Avm::Git::Scms::GitSubBase::ChangedFile.new(self, parent_changed_file)
19
+ end
20
+ end
21
+
22
+ # @param from [Avm::Git::Scms::Git::Commit]
23
+ # @param to [Avm::Git::Scms::Git::Commit]
24
+ # @return [Avm::Git::Scms::GitSubBase::Interval]
25
+ def interval(from, to)
26
+ ::Avm::Git::Scms::GitSubBase::Interval.new(self, from, to)
27
+ end
28
+
29
+ require_sub __FILE__
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/scms/git_sub_base'
4
+ require 'eac_git/local'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Git
9
+ module Scms
10
+ class GitSubrepo < ::Avm::Git::Scms::GitSubBase
11
+ def update
12
+ git_subrepo.command('clean').execute!
13
+ git_subrepo.command('pull').execute!
14
+ end
15
+
16
+ # @return [EacGit::Local]
17
+ def git_repo
18
+ @git_repo ||= ::EacGit::Local.find(path)
19
+ end
20
+
21
+ # @return [EacGit::Local::Subrepo]
22
+ def git_subrepo
23
+ @git_subrepo ||= git_repo.subrepo(subpath)
24
+ end
25
+
26
+ # @return [Pathname]
27
+ def subpath
28
+ path.expand_path.relative_path_from(git_repo.root_path.expand_path)
29
+ end
30
+
31
+ def valid?
32
+ path.join('.gitrepo').file?
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/scms/provider'
4
+ require 'avm/git/scms/git_sub_base'
5
+ require 'avm/scms/base'
6
+ require 'eac_ruby_utils/core_ext'
7
+
8
+ module Avm
9
+ module Git
10
+ module Scms
11
+ class GitSubtree < ::Avm::Git::Scms::GitSubBase
12
+ def update
13
+ # Do nothing
14
+ end
15
+
16
+ def valid?
17
+ return false unless ::Avm::Git::Scms::Provider
18
+ .new.all.any? { |scm_class| parent_scm.is_a?(scm_class) }
19
+
20
+ (::Avm::Git::Scms::Provider.new.all - [self.class])
21
+ .lazy.map { |scm_class| scm_class.new(path) }.none?(&:valid?)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/scms/git'
4
+ require 'avm/git/scms/git_subrepo'
5
+ require 'avm/git/scms/git_subtree'
6
+ require 'eac_ruby_utils/core_ext'
7
+
8
+ module Avm
9
+ module Git
10
+ module Scms
11
+ class Provider
12
+ SCMS = [::Avm::Git::Scms::Git, ::Avm::Git::Scms::GitSubrepo,
13
+ ::Avm::Git::Scms::GitSubtree].freeze
14
+
15
+ def all
16
+ SCMS
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -3,8 +3,8 @@
3
3
  require 'eac_ruby_utils/core_ext'
4
4
 
5
5
  module Avm
6
- module EacPhpBase0
7
- module SourceGenerators
6
+ module Git
7
+ module Scms
8
8
  require_sub __FILE__
9
9
  end
10
10
  end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/result'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ class SubrepoCheck
9
+ module Parent
10
+ def fix_parent
11
+ return if parent_result.success?
12
+
13
+ info(' Fixing...')
14
+ self.parent_hash = expected_parent_hash
15
+ info_banner
16
+ end
17
+
18
+ private
19
+
20
+ def expected_parent_hash_uncached
21
+ subrepo.local.rev_parse("#{last_file_change_rev}^")
22
+ end
23
+
24
+ def last_file_change_rev
25
+ subrepo.local.command('log', '-n', '1', '--pretty=format:%H', '--',
26
+ subrepo.config_relative_path.to_path).execute!.strip
27
+ end
28
+
29
+ def parent_hash
30
+ subrepo.parent_commit_id
31
+ end
32
+
33
+ def parent_hash=(new_hash)
34
+ subrepo.config.parent_commit_id = new_hash
35
+ subrepo.write_config
36
+ end
37
+
38
+ def parent_hash_ok?
39
+ return false if expected_parent_hash.blank? || parent_hash.blank?
40
+
41
+ expected_parent_hash == parent_hash
42
+ end
43
+
44
+ def parent_result_uncached
45
+ ::Avm::Result.success_or_error(parent_hash_ok?,
46
+ parent_hash.presence || blank_text)
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/result'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ class SubrepoCheck
9
+ module Remote
10
+ private
11
+
12
+ def fetch_uncached
13
+ subrepo.command('clean').execute!
14
+ subrepo.command('fetch').execute!
15
+ end
16
+
17
+ def check_remote_disabled?
18
+ !check_remote?
19
+ end
20
+
21
+ def check_remote_disabled_result
22
+ ::Avm::Result.neutral('Check remote disabled')
23
+ end
24
+
25
+ def local_descend_remote?
26
+ local_id.present? && remote_id.present? && subrepo.local.descendant?(local_id, remote_id)
27
+ end
28
+
29
+ def local_descend_remote_result
30
+ ::Avm::Result.pending(remote_result_value)
31
+ end
32
+
33
+ def local_id_uncached
34
+ fetch
35
+ subrepo.command('branch', '--force').execute!
36
+ subrepo.local.rev_parse("subrepo/#{subrepo.subpath}")
37
+ end
38
+
39
+ def remote_descend_local?
40
+ local_id.present? && remote_id.present? && subrepo.local.descendant?(remote_id, local_id)
41
+ end
42
+
43
+ def remote_descend_local_result
44
+ ::Avm::Result.outdated(remote_result_value)
45
+ end
46
+
47
+ def remote_branches
48
+ ['', 'refs/heads/', 'refs/tags/'].map { |prefix| "#{prefix}#{subrepo.remote_branch}" }
49
+ end
50
+
51
+ def remote_id_uncached
52
+ ls_result = subrepo.remote.ls
53
+ remote_branches.each do |b|
54
+ return ls_result[b] if ls_result[b].present?
55
+ end
56
+ nil
57
+ end
58
+
59
+ def remote_result_uncached
60
+ %w[check_remote_disabled same_ids local_descend_remote remote_descend_local]
61
+ .each do |condition|
62
+ return send("#{condition}_result") if send("#{condition}?")
63
+ end
64
+
65
+ ::Avm::Result.error(remote_result_value)
66
+ end
67
+
68
+ def remote_result_value
69
+ local_s = local_id.presence || blank_text
70
+ remote_s = remote_id.presence || blank_text
71
+
72
+ if local_s == remote_s
73
+ "[L/R=#{local_s}]"
74
+ else
75
+ "[L=#{local_s}, R=#{remote_s}]"
76
+ end
77
+ end
78
+
79
+ def same_ids?
80
+ local_id.present? && remote_id.present? && local_id == remote_id
81
+ end
82
+
83
+ def same_ids_result
84
+ ::Avm::Result.success(remote_result_value)
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Git
7
+ class SubrepoCheck
8
+ module ShowResult
9
+ def show_result
10
+ out(subrepo.subpath.to_path.cyan)
11
+ out_attr('parent', parent_result.label)
12
+ run_fix_parent
13
+ out_attr('remote', remote_result.label)
14
+ out("\n")
15
+ end
16
+
17
+ def run_fix_parent
18
+ return unless fix_parent?
19
+ return unless parent_result.error?
20
+
21
+ out('|Fixing...'.white)
22
+ self.parent_hash = expected_parent_hash
23
+ out_attr('new parent', parent_result.label)
24
+ end
25
+
26
+ def out_attr(key, value)
27
+ out("|#{"#{key}=".white}#{value}")
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Git
7
+ class SubrepoCheck
8
+ require_sub __FILE__, include_modules: true
9
+ enable_speaker
10
+ enable_simple_cache
11
+
12
+ BLANK_TEXT = 'BLANK'
13
+
14
+ common_constructor :subrepo, :options
15
+
16
+ def blank_text
17
+ BLANK_TEXT
18
+ end
19
+
20
+ def check_remote?
21
+ options.fetch(:check_remote) ? true : false
22
+ end
23
+
24
+ def fix_parent?
25
+ options.fetch(:fix_parent) ? true : false
26
+ end
27
+
28
+ private
29
+
30
+ def result_uncached
31
+ return ::Avm::Result.error('Parent failed') if parent_result.error?
32
+ return ::Avm::Result.error('Remote failed') if remote_result.error?
33
+
34
+ ::Avm::Result.success('Parent and remote ok')
35
+ end
36
+ end
37
+ end
38
+ end