eac_tools 0.101.3 → 0.102.1

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 (342) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +40 -24
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-git/avm-git.gemspec +25 -0
  5. data/sub/avm-git/lib/avm/git/application_scms/base/assert_main_at.rb +44 -0
  6. data/sub/avm-git/lib/avm/git/application_scms/base.rb +18 -0
  7. data/sub/avm-git/lib/avm/git/application_scms.rb +9 -0
  8. data/sub/avm-git/lib/avm/git/commit/class_methods.rb +29 -0
  9. data/sub/{eac_git/lib/eac_git/local → avm-git/lib/avm/git}/commit/diff_tree_line.rb +2 -2
  10. data/sub/avm-git/lib/avm/git/commit/file.rb +42 -0
  11. data/sub/avm-git/lib/avm/git/commit.rb +57 -0
  12. data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +40 -0
  13. data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +20 -0
  14. data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +59 -0
  15. data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +37 -0
  16. data/sub/avm-git/lib/avm/git/issue/complete/push.rb +60 -0
  17. data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +33 -0
  18. data/sub/avm-git/lib/avm/git/issue/complete/test.rb +34 -0
  19. data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +21 -0
  20. data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +36 -0
  21. data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +54 -0
  22. data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +19 -0
  23. data/sub/avm-git/lib/avm/git/issue/complete.rb +66 -0
  24. data/sub/avm-git/lib/avm/git/issue.rb +10 -0
  25. data/sub/avm-git/lib/avm/git/launcher/base/class_methods.rb +28 -0
  26. data/sub/avm-git/lib/avm/git/launcher/base/dirty_files.rb +21 -0
  27. data/sub/avm-git/lib/avm/git/launcher/base/remotes.rb +37 -0
  28. data/sub/avm-git/lib/avm/git/launcher/base/subrepo.rb +42 -0
  29. data/sub/avm-git/lib/avm/git/launcher/base/underlying.rb +54 -0
  30. data/sub/avm-git/lib/avm/git/launcher/base.rb +81 -0
  31. data/sub/avm-git/lib/avm/git/launcher/error.rb +13 -0
  32. data/sub/avm-git/lib/avm/git/launcher/mirror_update.rb +36 -0
  33. data/sub/avm-git/lib/avm/git/launcher/publish_base.rb +127 -0
  34. data/sub/avm-git/lib/avm/git/launcher/remote.rb +53 -0
  35. data/sub/avm-git/lib/avm/git/launcher/sub_warp_base.rb +36 -0
  36. data/sub/avm-git/lib/avm/git/launcher/warp_base.rb +63 -0
  37. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/local_project_mixin.rb +16 -0
  38. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/publish.rb +13 -0
  39. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/warp.rb +25 -0
  40. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git.rb +22 -0
  41. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/publish.rb +29 -0
  42. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/warp.rb +82 -0
  43. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo.rb +32 -0
  44. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/publish.rb +12 -0
  45. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/warp.rb +29 -0
  46. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree.rb +47 -0
  47. data/sub/avm-git/lib/avm/git/launcher_stereotypes/provider.rb +17 -0
  48. data/sub/avm-git/lib/avm/git/launcher_stereotypes.rb +9 -0
  49. data/sub/avm-git/lib/avm/git/organize/reference_update.rb +32 -0
  50. data/sub/avm-git/lib/avm/git/organize/repository.rb +74 -0
  51. data/sub/avm-git/lib/avm/git/organize.rb +9 -0
  52. data/sub/avm-git/lib/avm/git/revision_test.rb +102 -0
  53. data/sub/avm-git/lib/avm/git/runners/base/commit.rb +96 -0
  54. data/sub/avm-git/lib/avm/git/runners/base/deploy.rb +108 -0
  55. data/sub/avm-git/lib/avm/git/runners/base/dirty_files.rb +42 -0
  56. data/sub/avm-git/lib/avm/git/runners/base/organize.rb +72 -0
  57. data/sub/avm-git/lib/avm/git/runners/base/revisions_test.rb +63 -0
  58. data/sub/avm-git/lib/avm/git/runners/base/subrepo/check.rb +45 -0
  59. data/sub/avm-git/lib/avm/git/runners/base/subrepo/clone.rb +80 -0
  60. data/sub/avm-git/lib/avm/git/runners/base/subrepo/fix.rb +69 -0
  61. data/sub/avm-git/lib/avm/git/runners/base/subrepo.rb +17 -0
  62. data/sub/avm-git/lib/avm/git/runners/base.rb +40 -0
  63. data/sub/avm-git/lib/avm/git/runners.rb +9 -0
  64. data/sub/avm-git/lib/avm/git/scms/git/branch.rb +28 -0
  65. data/sub/avm-git/lib/avm/git/scms/git/branches.rb +17 -0
  66. data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +34 -0
  67. data/sub/avm-git/lib/avm/git/scms/git/changed_file.rb +25 -0
  68. data/sub/avm-git/lib/avm/git/scms/git/changed_files.rb +21 -0
  69. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy.rb +37 -0
  70. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy_methods.rb +24 -0
  71. data/sub/avm-git/lib/avm/git/scms/git/commit.rb +64 -0
  72. data/sub/avm-git/lib/avm/git/scms/git/commit_dirty.rb +32 -0
  73. data/sub/avm-git/lib/avm/git/scms/git/commits.rb +44 -0
  74. data/sub/avm-git/lib/avm/git/scms/git/interval.rb +28 -0
  75. data/sub/avm-git/lib/avm/git/scms/git/milestones.rb +18 -0
  76. data/sub/avm-git/lib/avm/git/scms/git/remote.rb +18 -0
  77. data/sub/avm-git/lib/avm/git/scms/git/remotes.rb +29 -0
  78. data/sub/avm-git/lib/avm/git/scms/git/run_commit.rb +54 -0
  79. data/sub/avm-git/lib/avm/git/scms/git.rb +46 -0
  80. data/sub/avm-git/lib/avm/git/scms/git_sub_base/changed_file.rb +19 -0
  81. data/sub/avm-git/lib/avm/git/scms/git_sub_base/commit.rb +23 -0
  82. data/sub/avm-git/lib/avm/git/scms/git_sub_base/interval.rb +23 -0
  83. data/sub/avm-git/lib/avm/git/scms/git_sub_base.rb +30 -0
  84. data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +33 -0
  85. data/sub/avm-git/lib/avm/git/scms/git_subtree.rb +29 -0
  86. data/sub/avm-git/lib/avm/git/scms/provider.rb +16 -0
  87. data/sub/avm-git/lib/avm/git/scms.rb +9 -0
  88. data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +48 -0
  89. data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +86 -0
  90. data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +30 -0
  91. data/sub/avm-git/lib/avm/git/subrepo_check.rb +36 -0
  92. data/sub/avm-git/lib/avm/git/subrepo_checks.rb +57 -0
  93. data/sub/avm-git/lib/avm/git/vendor/github.rb +20 -0
  94. data/sub/avm-git/lib/avm/git/vendor.rb +9 -0
  95. data/sub/avm-git/lib/avm/git/version.rb +7 -0
  96. data/sub/avm-git/lib/avm/git.rb +16 -0
  97. data/sub/avm-git/locale/en.yml +6 -0
  98. data/sub/avm-git/locale/pt-BR.yml +6 -0
  99. data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec.rb +3 -1
  100. data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit_spec.rb +10 -10
  101. data/sub/avm-git/spec/lib/avm/git/launcher/base_spec.rb +45 -0
  102. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec.rb +83 -0
  103. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_files/config.yml +5 -0
  104. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_settings.yml +6 -0
  105. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec.rb +53 -0
  106. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_files/config.yml +3 -0
  107. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_settings.yml +6 -0
  108. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec.rb +126 -0
  109. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append1/stub3.txt.template +1 -0
  110. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append2/stub4.txt +1 -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/{eac_git → avm-git}/spec/spec_helper.rb +2 -2
  116. metadata +132 -250
  117. data/sub/eac_git/eac_git.gemspec +0 -20
  118. data/sub/eac_git/lib/eac_git/executables.rb +0 -45
  119. data/sub/eac_git/lib/eac_git/local/branch.rb +0 -45
  120. data/sub/eac_git/lib/eac_git/local/changed_file.rb +0 -53
  121. data/sub/eac_git/lib/eac_git/local/commit/archive.rb +0 -17
  122. data/sub/eac_git/lib/eac_git/local/commit/changed_file.rb +0 -43
  123. data/sub/eac_git/lib/eac_git/local/commit.rb +0 -71
  124. data/sub/eac_git/lib/eac_git/local/dirty_files.rb +0 -26
  125. data/sub/eac_git/lib/eac_git/local/log.rb +0 -14
  126. data/sub/eac_git/lib/eac_git/local/remote/push.rb +0 -33
  127. data/sub/eac_git/lib/eac_git/local/remote.rb +0 -47
  128. data/sub/eac_git/lib/eac_git/local/remotes.rb +0 -17
  129. data/sub/eac_git/lib/eac_git/local/subrepo/config.rb +0 -40
  130. data/sub/eac_git/lib/eac_git/local/subrepo.rb +0 -46
  131. data/sub/eac_git/lib/eac_git/local.rb +0 -124
  132. data/sub/eac_git/lib/eac_git/remote.rb +0 -20
  133. data/sub/eac_git/lib/eac_git/remote_like/ls_result.rb +0 -18
  134. data/sub/eac_git/lib/eac_git/remote_like.rb +0 -30
  135. data/sub/eac_git/lib/eac_git/rspec/setup.rb +0 -20
  136. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/directory.rb +0 -35
  137. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/file.rb +0 -21
  138. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/fs_object.rb +0 -25
  139. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/repository.rb +0 -30
  140. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb +0 -28
  141. data/sub/eac_git/lib/eac_git/rspec.rb +0 -7
  142. data/sub/eac_git/lib/eac_git/version.rb +0 -5
  143. data/sub/eac_git/lib/eac_git.rb +0 -9
  144. data/sub/eac_git/spec/lib/eac_git/executables_spec.rb +0 -11
  145. data/sub/eac_git/spec/lib/eac_git/local/dirty_files_spec.rb +0 -18
  146. data/sub/eac_git/vendor/git-subrepo/Changes +0 -110
  147. data/sub/eac_git/vendor/git-subrepo/Intro.pod +0 -509
  148. data/sub/eac_git/vendor/git-subrepo/License +0 -21
  149. data/sub/eac_git/vendor/git-subrepo/Makefile +0 -82
  150. data/sub/eac_git/vendor/git-subrepo/Meta +0 -28
  151. data/sub/eac_git/vendor/git-subrepo/ReadMe.pod +0 -698
  152. data/sub/eac_git/vendor/git-subrepo/doc/comparison.swim +0 -35
  153. data/sub/eac_git/vendor/git-subrepo/doc/git-subrepo.swim +0 -608
  154. data/sub/eac_git/vendor/git-subrepo/doc/intro-to-subrepo.swim +0 -387
  155. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Changes +0 -15
  156. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/License +0 -21
  157. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Makefile +0 -45
  158. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Meta +0 -28
  159. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/ReadMe.pod +0 -77
  160. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/bin/bash+ +0 -43
  161. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +0 -61
  162. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +0 -92
  163. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +0 -134
  164. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +0 -134
  165. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/base.t +0 -12
  166. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/fcopy.t +0 -22
  167. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash +0 -3
  168. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash +0 -3
  169. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +0 -18
  170. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +0 -23
  171. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/test.bash +0 -70
  172. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/use.t +0 -19
  173. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Changes +0 -15
  174. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/License +0 -21
  175. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Makefile +0 -20
  176. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Meta +0 -30
  177. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +0 -115
  178. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +0 -89
  179. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +0 -15
  180. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +0 -21
  181. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +0 -45
  182. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +0 -28
  183. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +0 -77
  184. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +0 -43
  185. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +0 -61
  186. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +0 -92
  187. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +0 -134
  188. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +0 -134
  189. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +0 -12
  190. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +0 -22
  191. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +0 -3
  192. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +0 -3
  193. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +0 -18
  194. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +0 -23
  195. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/test.bash +0 -70
  196. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +0 -19
  197. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +0 -15
  198. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +0 -21
  199. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +0 -37
  200. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +0 -28
  201. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +0 -66
  202. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +0 -48
  203. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +0 -153
  204. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +0 -119
  205. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +0 -13
  206. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t +0 -10
  207. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +0 -20
  208. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +0 -15
  209. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +0 -9
  210. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t +0 -9
  211. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t +0 -10
  212. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +0 -20
  213. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +0 -13
  214. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +0 -14
  215. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +0 -7
  216. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +0 -12
  217. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +0 -8
  218. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +0 -9
  219. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +0 -95
  220. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +0 -173
  221. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/fail.t +0 -20
  222. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/more.t +0 -20
  223. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/pass.t +0 -9
  224. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/setup +0 -8
  225. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/skip_all.t +0 -11
  226. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +0 -12
  227. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t +0 -10
  228. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo +0 -1903
  229. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +0 -1
  230. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +0 -339
  231. data/sub/eac_git/vendor/git-subrepo/man/man1/git-subrepo.1 +0 -743
  232. data/sub/eac_git/vendor/git-subrepo/note/0.4.0 +0 -12
  233. data/sub/eac_git/vendor/git-subrepo/note/AllGitCmds +0 -148
  234. data/sub/eac_git/vendor/git-subrepo/note/Cases +0 -32
  235. data/sub/eac_git/vendor/git-subrepo/note/Commands +0 -33
  236. data/sub/eac_git/vendor/git-subrepo/note/Dags +0 -199
  237. data/sub/eac_git/vendor/git-subrepo/note/Gists +0 -7
  238. data/sub/eac_git/vendor/git-subrepo/note/Links +0 -25
  239. data/sub/eac_git/vendor/git-subrepo/note/Plugins +0 -10
  240. data/sub/eac_git/vendor/git-subrepo/note/Spec +0 -39
  241. data/sub/eac_git/vendor/git-subrepo/note/Story1 +0 -57
  242. data/sub/eac_git/vendor/git-subrepo/note/ToDo +0 -55
  243. data/sub/eac_git/vendor/git-subrepo/note/design.swim +0 -137
  244. data/sub/eac_git/vendor/git-subrepo/note/design2.swim +0 -85
  245. data/sub/eac_git/vendor/git-subrepo/note/init-test +0 -38
  246. data/sub/eac_git/vendor/git-subrepo/note/pull-dance.txt +0 -18
  247. data/sub/eac_git/vendor/git-subrepo/note/recreate-rebase-conflict.sh +0 -56
  248. data/sub/eac_git/vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash +0 -29
  249. data/sub/eac_git/vendor/git-subrepo/note/test-subrepo-push.sh +0 -69
  250. data/sub/eac_git/vendor/git-subrepo/note/test.sh +0 -58
  251. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-completion.pl +0 -210
  252. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +0 -89
  253. data/sub/eac_git/vendor/git-subrepo/share/completion.bash +0 -42
  254. data/sub/eac_git/vendor/git-subrepo/share/enable-completion.sh +0 -50
  255. data/sub/eac_git/vendor/git-subrepo/share/git-completion.bash +0 -2738
  256. data/sub/eac_git/vendor/git-subrepo/share/zsh-completion/_git-subrepo +0 -81
  257. data/sub/eac_git/vendor/git-subrepo/test/branch-all.t +0 -41
  258. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list-one-path.t +0 -43
  259. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list.t +0 -47
  260. data/sub/eac_git/vendor/git-subrepo/test/branch.t +0 -52
  261. data/sub/eac_git/vendor/git-subrepo/test/clean.t +0 -43
  262. data/sub/eac_git/vendor/git-subrepo/test/clone-annotated-tag.t +0 -45
  263. data/sub/eac_git/vendor/git-subrepo/test/clone.t +0 -107
  264. data/sub/eac_git/vendor/git-subrepo/test/compile.t +0 -19
  265. data/sub/eac_git/vendor/git-subrepo/test/config.t +0 -58
  266. data/sub/eac_git/vendor/git-subrepo/test/encode.t +0 -91
  267. data/sub/eac_git/vendor/git-subrepo/test/error.t +0 -171
  268. data/sub/eac_git/vendor/git-subrepo/test/fetch.t +0 -43
  269. data/sub/eac_git/vendor/git-subrepo/test/gitignore.t +0 -61
  270. data/sub/eac_git/vendor/git-subrepo/test/init.t +0 -64
  271. data/sub/eac_git/vendor/git-subrepo/test/issue29.t +0 -98
  272. data/sub/eac_git/vendor/git-subrepo/test/issue95.t +0 -98
  273. data/sub/eac_git/vendor/git-subrepo/test/issue96.t +0 -96
  274. data/sub/eac_git/vendor/git-subrepo/test/pull-all.t +0 -38
  275. data/sub/eac_git/vendor/git-subrepo/test/pull-merge.t +0 -113
  276. data/sub/eac_git/vendor/git-subrepo/test/pull-message.t +0 -88
  277. data/sub/eac_git/vendor/git-subrepo/test/pull-new-branch.t +0 -58
  278. data/sub/eac_git/vendor/git-subrepo/test/pull-ours.t +0 -90
  279. data/sub/eac_git/vendor/git-subrepo/test/pull-theirs.t +0 -82
  280. data/sub/eac_git/vendor/git-subrepo/test/pull-twice.t +0 -44
  281. data/sub/eac_git/vendor/git-subrepo/test/pull-worktree.t +0 -40
  282. data/sub/eac_git/vendor/git-subrepo/test/pull.t +0 -99
  283. data/sub/eac_git/vendor/git-subrepo/test/push-after-init.t +0 -51
  284. data/sub/eac_git/vendor/git-subrepo/test/push-force.t +0 -56
  285. data/sub/eac_git/vendor/git-subrepo/test/push-new-branch.t +0 -61
  286. data/sub/eac_git/vendor/git-subrepo/test/push-no-changes.t +0 -29
  287. data/sub/eac_git/vendor/git-subrepo/test/push-squash.t +0 -56
  288. data/sub/eac_git/vendor/git-subrepo/test/push.t +0 -176
  289. data/sub/eac_git/vendor/git-subrepo/test/reclone.t +0 -45
  290. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/HEAD +0 -1
  291. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/config +0 -4
  292. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
  293. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
  294. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
  295. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
  296. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  297. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
  298. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/heads/master +0 -1
  299. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/tags/A +0 -1
  300. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/HEAD +0 -1
  301. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/config +0 -4
  302. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
  303. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
  304. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  305. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/refs/heads/master +0 -1
  306. data/sub/eac_git/vendor/git-subrepo/test/repo/init/HEAD +0 -1
  307. data/sub/eac_git/vendor/git-subrepo/test/repo/init/config +0 -5
  308. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
  309. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
  310. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +0 -2
  311. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
  312. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
  313. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
  314. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
  315. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
  316. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +0 -1
  317. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
  318. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
  319. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +0 -1
  320. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
  321. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
  322. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +0 -3
  323. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +0 -2
  324. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +0 -2
  325. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +0 -1
  326. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
  327. data/sub/eac_git/vendor/git-subrepo/test/repo/init/refs/heads/master +0 -1
  328. data/sub/eac_git/vendor/git-subrepo/test/setup +0 -205
  329. data/sub/eac_git/vendor/git-subrepo/test/status.t +0 -68
  330. data/sub/eac_git/vendor/git-subrepo/test/submodule.t +0 -45
  331. /data/sub/{eac_git → avm-git}/Gemfile +0 -0
  332. /data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec_files/add.source.out +0 -0
  333. /data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec_files/add.target.yaml +0 -0
  334. /data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec_files/modify.source.out +0 -0
  335. /data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec_files/modify.target.yaml +0 -0
  336. /data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec_files/remove.source.out +0 -0
  337. /data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec_files/remove.target.yaml +0 -0
  338. /data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec_files/rename.source.out +0 -0
  339. /data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec_files/rename.target.yaml +0 -0
  340. /data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -0
  341. /data/sub/{eac_git/spec/lib/eac_git/local → avm-git/spec/lib/avm/git}/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -0
  342. /data/sub/{eac_git → avm-git}/spec/rubocop_spec.rb +0 -0
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Runners
6
+ class Base
7
+ require_sub __FILE__
8
+ runner_with :help, :subcommands do
9
+ desc 'Git utilities for AVM.'
10
+ arg_opt '-C', '--path', 'Path to Git repository.'
11
+ subcommands
12
+ end
13
+
14
+ COMMAND_ARGUMENT = 'git'
15
+
16
+ # @return [String]
17
+ def self.command_argument
18
+ COMMAND_ARGUMENT
19
+ end
20
+
21
+ def repository_path
22
+ repository_path? ? parsed.path : '.'
23
+ end
24
+
25
+ def repository_path?
26
+ parsed.path.present?
27
+ end
28
+
29
+ def git
30
+ @git ||= ::Avm::Git::Launcher::Base.by_root(repository_path)
31
+ end
32
+
33
+ # @return [[EacGit::Local]]
34
+ def git_repo
35
+ git.eac_git
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Runners
6
+ require_sub __FILE__
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class Branch < ::Avm::Scms::Branch
8
+ common_constructor :scm, :eac_git_branch
9
+
10
+ # @return [Avm::Git::Scms::Git::Commit]
11
+ def head_commit
12
+ ::Avm::Git::Scms::Git::Commit.new(scm, eac_git_branch.head_commit)
13
+ end
14
+
15
+ # @return [String]
16
+ def id
17
+ eac_git_branch.name
18
+ end
19
+
20
+ # @param remote [Avm::Git::Scms::Git::Remote]
21
+ def push(remote)
22
+ eac_git_branch.push(remote.eac_git_remote, force: true)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ module Branches
8
+ # @return [Avm::Git::Scms::Git::Branch]
9
+ def head_branch
10
+ ::Avm::Git::Scms::Git::Branch.new(self,
11
+ git_repo.current_branch)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class ChangeTracker
8
+ common_constructor :git_scm, :commit_info
9
+ attr_reader :starting_commit
10
+
11
+ delegate :git_repo, to: :git_scm
12
+
13
+ def start
14
+ raise 'Repository is dirty' if git_repo.dirty?
15
+
16
+ self.starting_commit = git_repo.head
17
+ end
18
+
19
+ # @return [Avm::Git::Scms::Git::Commit, nil]
20
+ def stop
21
+ git_scm.commit_dirty
22
+ return nil if starting_commit == git_repo.head
23
+
24
+ git_scm.reset_and_commit(starting_commit, commit_info)
25
+ end
26
+
27
+ private
28
+
29
+ attr_writer :starting_commit
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class ChangedFile < ::Avm::Scms::ChangedFile
8
+ common_constructor :scm, :sub_changed_file
9
+
10
+ # @return [Pathname]
11
+ delegate :path, to: :sub_changed_file
12
+
13
+ # @return [Symbol]
14
+ def action
15
+ return ACTION_ADD if sub_changed_file.add?
16
+ return ACTION_DELETE if sub_changed_file.delete?
17
+ return ACTION_MODIFY if sub_changed_file.modify?
18
+
19
+ nyi sub_changed_file
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class ChangedFiles
8
+ enable_method_class
9
+ common_constructor :scm
10
+
11
+ # @return [Avm::Git::Scms::Git::ChangedFile]
12
+ def result
13
+ scm.git_repo.dirty_files.map do |dirty_file|
14
+ ::Avm::Git::Scms::Git::ChangedFile.new(scm, dirty_file)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class Commit < ::Avm::Scms::Commit
8
+ class Deploy
9
+ include ::Avm::Files::Appendable
10
+ enable_simple_cache
11
+
12
+ attr_reader :build_dir, :commit, :target_env, :target_path
13
+
14
+ def initialize(commit, target_env, target_path)
15
+ @commit = commit
16
+ @target_env = target_env
17
+ @target_path = target_path
18
+ end
19
+
20
+ def run
21
+ fd = ::Avm::Files::Deploy.new(target_env, target_path)
22
+ fd.append_tar_output_command(git_archive_command)
23
+ fd.appended.push(*appended)
24
+ fd.run
25
+ end
26
+
27
+ private
28
+
29
+ def git_archive_command
30
+ commit.git_repo.command('archive', '--format=tar', commit.id)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class Commit < ::Avm::Scms::Commit
8
+ module DeployMethods
9
+ def deploy_to_env_path(target_env, target_path)
10
+ ::Avm::Git::Scms::Git::Commit::Deploy.new(self, target_env, target_path)
11
+ end
12
+
13
+ def deploy_to_url(target_url)
14
+ ::Avm::Git::Scms::Git::Commit::Deploy.new(
15
+ self,
16
+ *::Avm::Git::Commit.target_url_to_env_path(target_url)
17
+ )
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class Commit < ::Avm::Scms::Commit
8
+ require_sub __FILE__, include_modules: true
9
+ common_constructor :git_scm, :git_commit do
10
+ git_commit.assert_argument(::EacGit::Local::Commit, 'git_commit')
11
+ end
12
+ delegate :git_repo, to: :git_scm
13
+ delegate :id, to: :git_commit
14
+
15
+ FIXUP_SUBJECT_PATTERN = /\Afixup!/.freeze
16
+
17
+ # @return [Array<Pathname>]
18
+ def changed_files
19
+ git_commit.changed_files.map { |cf| cf.path.to_pathname }
20
+ end
21
+
22
+ # @return [Boolean]
23
+ def fixup?
24
+ FIXUP_SUBJECT_PATTERN.match?(git_commit.subject)
25
+ end
26
+
27
+ # @param other [Avm::Git::Scms::Git::Commit]
28
+ # @return [Avm::Git::Scms::Git::Commit]
29
+ def merge_with(other)
30
+ validate_clean_and_head
31
+ raise 'Implemented for only if other is parent' unless
32
+ other.git_commit == git_commit.parent
33
+
34
+ git_scm.reset_and_commit(other.git_commit.parent, other.git_commit.raw_body)
35
+ end
36
+
37
+ def reword(new_message)
38
+ validate_clean_and_head
39
+
40
+ git_repo.command('commit', '--amend', '-m', new_message).execute!
41
+ self.class.new(git_scm, git_repo.head)
42
+ end
43
+
44
+ # @param path [Pathname]
45
+ # @return [TrueClass,FalseClass]
46
+ def scm_file?(path)
47
+ %w[.gitrepo .gitmodules].any? { |file| file.include?(path.basename.to_path) }
48
+ end
49
+
50
+ # @return [String]
51
+ delegate :subject, to: :git_commit
52
+
53
+ private
54
+
55
+ def validate_clean_and_head
56
+ raise 'Implemented for only if repository is no dirty' if git_repo.dirty?
57
+ raise 'Implemented for only if self is HEAD' unless
58
+ git_commit == git_repo.head
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class CommitDirty
8
+ enable_method_class
9
+ # @param commit_info [Avm::Scms::CommitInfo, nil]
10
+ common_constructor :scm, :commit_info, default: [nil]
11
+ delegate :git_repo, :head_commit, :run_commit, to: :scm
12
+
13
+ # @return [Avm::Git::Scms::Git::Commit,nil]
14
+ def result
15
+ return nil unless git_repo.dirty?
16
+
17
+ run_commit(asserted_commit_info)
18
+ head_commit
19
+ end
20
+
21
+ private
22
+
23
+ def asserted_commit_info
24
+ r = ::Avm::Scms::CommitInfo.assert(commit_info)
25
+ r = r.message(COMMIT_DIRTY_DEFAULT_MESSAGE) if r.message.blank?
26
+ git_repo.dirty_files.inject(r) { |a, e| a.path(e.absolute_path) }
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ module Commits
8
+ # @return [Avm::Git::Scms::Git::Commit,nil]
9
+ def commit(source)
10
+ if source.is_a?(::Avm::Git::Scms::Git::Commit)
11
+ return source if source.git_repo == git_repo
12
+
13
+ raise 'Not same Git repository'
14
+ end
15
+ git_repo.commitize(source).if_present do |v|
16
+ ::Avm::Git::Scms::Git::Commit.new(self, v)
17
+ end
18
+ end
19
+
20
+ # @param commit_info [Avm::Scms::CommitInfo]
21
+ # @return [Avm::Git::Scms::Git::Commit,nil]
22
+ def commit_if_change(commit_info = nil)
23
+ tracker = ::Avm::Git::Scms::Git::ChangeTracker.new(self, commit_info)
24
+ tracker.start
25
+ yield
26
+ tracker.stop
27
+ end
28
+
29
+ # @return [Avm::Git::Scms::Git::Commit]
30
+ def head_commit
31
+ commit(git_repo.head)
32
+ end
33
+
34
+ # @param commit_info [Avm::Scms::CommitInfo]
35
+ # @return [Avm::Git::Scms::Git::Commit]
36
+ def reset_and_commit(commit_to_reset, commit_info)
37
+ git_repo.command('reset', '--soft', commit(commit_to_reset).git_commit.id).execute!
38
+ commit_dirty(commit_info)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class Interval < ::Avm::Scms::Interval
8
+ def initialize(scm, from, to)
9
+ super
10
+ self.from = scm.commit(from)
11
+ self.to = scm.commit(to)
12
+ end
13
+
14
+ # @return [Array<Avm::Git::Scms::Git::Commit>]
15
+ def commits
16
+ scm.git_repo.command('log', '--pretty=format:%H', git_commit_interval).execute!
17
+ .each_line.map { |sha1| scm.commit(sha1.strip) }
18
+ end
19
+
20
+ # @return [String]
21
+ def git_commit_interval
22
+ [from.id, to.id].join('..')
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ module Milestones
8
+ BASE_COMMIT_REFERENCE = 'origin/master'
9
+
10
+ # @return [Avm::Git::Scms::Git::Commit]
11
+ def current_milestone_base_commit
12
+ commit(BASE_COMMIT_REFERENCE)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class Remote < ::Avm::Scms::Remote
8
+ common_constructor :scm, :eac_git_remote
9
+
10
+ # @return [String]
11
+ def id
12
+ nyi eac_git_remote
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ module Remotes
8
+ DEFAULT_REMOTE_ID = 'origin'
9
+
10
+ # @return [Avm::Git::Scms::Git::Remote]
11
+ def default_remote
12
+ remote(default_remote_id)
13
+ end
14
+
15
+ # @return [String]
16
+ def default_remote_id
17
+ DEFAULT_REMOTE_ID
18
+ end
19
+
20
+ # @param id [String]
21
+ # @return [Avm::Git::Scms::Git::Remote]
22
+ def remote(id)
23
+ ::Avm::Git::Scms::Git::Remote.new(self, git_repo.remote(id))
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ class RunCommit
8
+ enable_method_class
9
+
10
+ common_constructor :scm, :commit_info
11
+
12
+ # @return [Avm::Git::Scms::Git::Commit]
13
+ def result
14
+ reset
15
+ add_paths
16
+ commit
17
+
18
+ scm.head_commit
19
+ end
20
+
21
+ protected
22
+
23
+ def add_path(path)
24
+ scm.git_repo.command(
25
+ *(path.exist? ? ['add'] : ['rm', '-f']),
26
+ path.relative_path_from(scm.path)
27
+ ).execute!
28
+ end
29
+
30
+ def add_paths
31
+ commit_info.paths.each { |path| add_path(path) }
32
+ end
33
+
34
+ def commit
35
+ scm.git_repo.command('commit', *commit_args).execute!
36
+ end
37
+
38
+ # @return [Array<String>]
39
+ def commit_args
40
+ r = commit_info.fixup.if_present([]) { |v| ['--fixup', v.id] }
41
+ r += commit_info.message.if_present([]) { |v| ['--message', v] }
42
+ return r if r.any?
43
+
44
+ raise 'Argument list is empty'
45
+ end
46
+
47
+ def reset
48
+ scm.git_repo.command('reset', 'HEAD').execute!
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class Git < ::Avm::Scms::Base
7
+ require_sub __FILE__, include_modules: true
8
+ include ::Comparable
9
+
10
+ COMMIT_DIRTY_DEFAULT_MESSAGE = 'Dirty files.'
11
+
12
+ def <=>(other)
13
+ git_repo <=> other.git_repo
14
+ end
15
+
16
+ # @param options [Hash<Symbol, Object>]
17
+ # @return [Avm::Git::Issues::Complete]
18
+ def completer(options = {})
19
+ ::Avm::Git::Issue::Complete.new(self, options)
20
+ end
21
+
22
+ def git_repo
23
+ @git_repo ||= ::EacGit::Local.new(path)
24
+ end
25
+
26
+ # @param from [Avm::Git::Scms::Git::Commit]
27
+ # @param to [Avm::Git::Scms::Git::Commit]
28
+ # @return [Avm::Git::Scms::Git::Interval]
29
+ def interval(from, to)
30
+ ::Avm::Git::Scms::Git::Interval.new(self, from, to)
31
+ end
32
+
33
+ # @return [Enumerable<Avm::Git::Scms::GitSubrepo>]
34
+ def subs
35
+ git_repo.subrepos.map do |subrepo|
36
+ ::Avm::Git::Scms::GitSubrepo.new(subrepo.subpath.expand_path(path))
37
+ end
38
+ end
39
+
40
+ def valid?
41
+ path.join('.git').exist?
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class GitSubBase < ::Avm::Scms::Base
7
+ class ChangedFile < ::Avm::Scms::ChangedFile
8
+ common_constructor :scm, :parent_changed_file
9
+ delegate :action, to: :parent_changed_file
10
+
11
+ # @return [Pathname]
12
+ def path
13
+ parent_changed_file.path.relative_path_from(scm.relative_path_from_parent_scm)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class GitSubBase < ::Avm::Scms::Base
7
+ class Commit < ::Avm::Scms::Commit
8
+ common_constructor :scm, :parent_commit
9
+
10
+ delegate :deploy_to_env_path, :fixup?, :id, :merge_with, :reword, :scm_file?, :subject,
11
+ :to_s, to: :parent_commit
12
+
13
+ # @return [Array<Pathname>]
14
+ def changed_files
15
+ parent_commit.changed_files.map do |cf|
16
+ cf.relative_path_from(scm.relative_path_from_parent_scm)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class GitSubBase < ::Avm::Scms::Base
7
+ class Interval < ::Avm::Scms::Interval
8
+ # @return [Array<Avm::Git::Scms::GitSubBase::Commit>]
9
+ def commits
10
+ parent_interval.commits.map do |parent_commit|
11
+ Avm::Git::Scms::GitSubBase::Commit.new(scm, parent_commit)
12
+ end
13
+ end
14
+
15
+ # @return [Avm::Git::Scms::Git::Interval]
16
+ def parent_interval
17
+ scm.parent_scm.interval(from, to)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Scms
6
+ class GitSubBase < ::Avm::Scms::Base
7
+ enable_abstract_methods
8
+
9
+ delegate :commit_if_change, :current_milestone_base_commit,
10
+ :head_commit, :reset_and_commit, :run_commit, to: :parent_scm
11
+
12
+ # @return [Enumerable<Avm::Git::Scms::GitSubBase::ChangedFile>]
13
+ def changed_files
14
+ parent_scm.changed_files.map do |parent_changed_file|
15
+ ::Avm::Git::Scms::GitSubBase::ChangedFile.new(self, parent_changed_file)
16
+ end
17
+ end
18
+
19
+ # @param from [Avm::Git::Scms::Git::Commit]
20
+ # @param to [Avm::Git::Scms::Git::Commit]
21
+ # @return [Avm::Git::Scms::GitSubBase::Interval]
22
+ def interval(from, to)
23
+ ::Avm::Git::Scms::GitSubBase::Interval.new(self, from, to)
24
+ end
25
+
26
+ require_sub __FILE__
27
+ end
28
+ end
29
+ end
30
+ end