avm-tools 0.51.0 → 0.54.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 (226) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/files/formatter.rb +1 -1
  3. data/lib/avm/git/auto_commit_path.rb +49 -0
  4. data/lib/avm/git/issue/complete/_commits.rb +1 -4
  5. data/lib/avm/git/issue/complete/_git_subrepos.rb +20 -0
  6. data/lib/avm/git/issue/complete/_local_branch.rb +4 -7
  7. data/lib/avm/git/issue/complete/_push.rb +1 -1
  8. data/lib/avm/git/issue/complete/_validations.rb +1 -0
  9. data/lib/avm/git/issue/complete/_working_tree.rb +5 -2
  10. data/lib/avm/git/subrepo_check.rb +39 -0
  11. data/lib/avm/git/subrepo_check/parent.rb +51 -0
  12. data/lib/avm/git/subrepo_check/remote.rb +89 -0
  13. data/lib/avm/git/subrepo_check/show_result.rb +33 -0
  14. data/lib/avm/git/subrepo_checks.rb +59 -0
  15. data/lib/avm/result.rb +13 -3
  16. data/lib/avm/tools/runner/git/auto_commit.rb +56 -0
  17. data/lib/avm/tools/runner/git/subrepo.rb +22 -0
  18. data/lib/avm/tools/runner/git/subrepo/check.rb +51 -0
  19. data/lib/avm/tools/version.rb +1 -1
  20. data/lib/eac_launcher.rb +0 -3
  21. data/lib/eac_launcher/git/base.rb +10 -26
  22. data/lib/eac_launcher/git/base/underlying.rb +11 -9
  23. data/vendor/gems/eac_git/Gemfile +5 -0
  24. data/vendor/gems/eac_git/eac_git.gemspec +19 -0
  25. data/vendor/gems/eac_git/lib/eac_git.rb +7 -0
  26. data/vendor/gems/eac_git/lib/eac_git/executables.rb +44 -0
  27. data/vendor/gems/eac_git/lib/eac_git/local.rb +57 -0
  28. data/vendor/gems/eac_git/lib/eac_git/local/subrepo.rb +48 -0
  29. data/vendor/gems/eac_git/lib/eac_git/local/subrepo/config.rb +43 -0
  30. data/vendor/gems/eac_git/lib/eac_git/remote.rb +19 -0
  31. data/vendor/gems/eac_git/lib/eac_git/remote/ls_result.rb +20 -0
  32. data/vendor/gems/eac_git/lib/eac_git/rspec.rb +17 -0
  33. data/vendor/gems/eac_git/lib/eac_git/version.rb +5 -0
  34. data/vendor/gems/eac_git/spec/lib/eac_git/executables_spec.rb +13 -0
  35. data/vendor/gems/eac_git/spec/rubocop_spec.rb +7 -0
  36. data/vendor/gems/eac_git/spec/spec_helper.rb +103 -0
  37. data/vendor/gems/eac_git/vendor/git-subrepo/Changes +110 -0
  38. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/Intro.pod +7 -6
  39. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/License +1 -1
  40. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/Makefile +9 -7
  41. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/Meta +4 -4
  42. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ReadMe.pod +15 -12
  43. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/doc/comparison.swim +0 -0
  44. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/doc/git-subrepo.swim +6 -9
  45. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/doc/intro-to-subrepo.swim +4 -4
  46. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/Changes +0 -0
  47. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/License +0 -0
  48. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/Makefile +0 -0
  49. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/Meta +0 -0
  50. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/ReadMe.pod +0 -0
  51. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/bin/bash+ +0 -0
  52. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/doc/bash+.swim +0 -0
  53. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/lib/bash+.bash +0 -0
  54. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/man/man1/bash+.1 +0 -0
  55. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/man/man3/bash+.3 +0 -0
  56. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/test/base.t +0 -0
  57. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/test/fcopy.t +0 -0
  58. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/test/lib/foo/bar.bash +0 -0
  59. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/test/lib/foo/foo.bash +0 -0
  60. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/test/source-bash+-std.t +0 -0
  61. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/test/source-bash+.t +0 -0
  62. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/test/test.bash +0 -0
  63. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/bashplus/test/use.t +0 -0
  64. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/Changes +0 -0
  65. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/License +0 -0
  66. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/Makefile +0 -0
  67. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/Meta +0 -0
  68. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ReadMe.pod +0 -0
  69. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/doc/test-more.swim +0 -0
  70. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/Changes +0 -0
  71. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/License +0 -0
  72. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/Makefile +0 -0
  73. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/Meta +0 -0
  74. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/ReadMe.pod +0 -0
  75. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/bin/bash+ +0 -0
  76. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/doc/bash+.swim +0 -0
  77. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/lib/bash+.bash +0 -0
  78. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +0 -0
  79. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +0 -0
  80. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/test/base.t +0 -0
  81. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/test/fcopy.t +0 -0
  82. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +0 -0
  83. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +0 -0
  84. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +0 -0
  85. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/test/source-bash+.t +0 -0
  86. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/test/test.bash +0 -0
  87. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/bashplus/test/use.t +0 -0
  88. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/Changes +0 -0
  89. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/License +0 -0
  90. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/Makefile +0 -0
  91. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/Meta +0 -0
  92. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +0 -0
  93. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +0 -0
  94. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +0 -0
  95. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +0 -0
  96. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +0 -0
  97. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/done.t +0 -0
  98. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/fail.t +0 -0
  99. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +0 -0
  100. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +0 -0
  101. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/pass.t +0 -0
  102. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/plan.t +0 -0
  103. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +0 -0
  104. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/tap.t +0 -0
  105. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +0 -0
  106. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +0 -0
  107. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +0 -0
  108. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +0 -0
  109. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +0 -0
  110. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/lib/test/more.bash +0 -0
  111. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/man/man3/test-more.3 +0 -0
  112. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/test/fail.t +0 -0
  113. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/test/more.t +0 -0
  114. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/test/pass.t +0 -0
  115. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/test/setup +0 -0
  116. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/test/skip_all.t +0 -0
  117. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/test/test/fail1.t +0 -0
  118. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/ext/test-more-bash/test/test/skip_all.t +0 -0
  119. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/lib/git-subrepo +30 -20
  120. data/vendor/gems/eac_git/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +1 -0
  121. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/lib/git-subrepo.d/help-functions.bash +1 -5
  122. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/man/man1/git-subrepo.1 +18 -21
  123. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/0.4.0 +0 -0
  124. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/AllGitCmds +0 -0
  125. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/Cases +0 -0
  126. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/Commands +0 -0
  127. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/Dags +0 -0
  128. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/Gists +0 -0
  129. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/Links +0 -0
  130. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/Plugins +0 -0
  131. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/Spec +0 -0
  132. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/Story1 +0 -0
  133. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/ToDo +0 -0
  134. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/design.swim +0 -0
  135. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/design2.swim +0 -0
  136. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/init-test +0 -0
  137. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/pull-dance.txt +0 -0
  138. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/recreate-rebase-conflict.sh +0 -0
  139. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/subtree-rebase-fail-example/test.bash +0 -0
  140. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/test-subrepo-push.sh +0 -0
  141. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/note/test.sh +0 -0
  142. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/pkg/bin/generate-completion.pl +1 -1
  143. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/pkg/bin/generate-help-functions.pl +0 -0
  144. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/share/completion.bash +3 -3
  145. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/share/enable-completion.sh +0 -0
  146. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/share/git-completion.bash +0 -0
  147. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/share/zsh-completion/_git-subrepo +3 -4
  148. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/branch-all.t +0 -0
  149. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/branch-rev-list-one-path.t +0 -0
  150. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/branch-rev-list.t +0 -0
  151. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/branch.t +0 -0
  152. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/clean.t +0 -0
  153. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/clone-annotated-tag.t +0 -0
  154. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/clone.t +0 -0
  155. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/compile.t +0 -0
  156. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/config.t +0 -0
  157. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/encode.t +0 -0
  158. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/error.t +0 -0
  159. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/fetch.t +0 -0
  160. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/gitignore.t +0 -0
  161. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/init.t +0 -0
  162. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/issue29.t +0 -0
  163. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/issue95.t +0 -0
  164. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/issue96.t +0 -0
  165. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/pull-all.t +0 -0
  166. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/pull-merge.t +0 -0
  167. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/pull-message.t +0 -0
  168. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/pull-new-branch.t +0 -0
  169. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/pull-ours.t +0 -0
  170. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/pull-theirs.t +0 -0
  171. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/pull-twice.t +0 -0
  172. data/vendor/gems/eac_git/vendor/git-subrepo/test/pull-worktree.t +40 -0
  173. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/pull.t +0 -0
  174. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/push-after-init.t +0 -0
  175. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/push-force.t +0 -0
  176. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/push-new-branch.t +0 -0
  177. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/push-no-changes.t +0 -0
  178. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/push-squash.t +0 -0
  179. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/push.t +0 -0
  180. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/reclone.t +0 -0
  181. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/bar/HEAD +0 -0
  182. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/bar/config +0 -0
  183. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
  184. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
  185. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
  186. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
  187. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  188. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
  189. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/bar/refs/heads/master +0 -0
  190. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/bar/refs/tags/A +0 -0
  191. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/foo/HEAD +0 -0
  192. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/foo/config +0 -0
  193. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
  194. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
  195. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  196. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/foo/refs/heads/master +0 -0
  197. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/HEAD +0 -0
  198. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/config +0 -0
  199. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
  200. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
  201. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +0 -0
  202. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
  203. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
  204. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
  205. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
  206. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
  207. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +0 -0
  208. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
  209. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
  210. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +0 -0
  211. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
  212. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
  213. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +0 -0
  214. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +0 -0
  215. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +0 -0
  216. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +0 -0
  217. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
  218. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/repo/init/refs/heads/master +0 -0
  219. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/setup +0 -0
  220. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/status.t +0 -0
  221. data/vendor/{git-subrepo → gems/eac_git/vendor/git-subrepo}/test/submodule.t +0 -0
  222. data/vendor/gems/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +1 -0
  223. data/vendor/gems/eac_ruby_utils/lib/eac_ruby_utils/envs/command/extra_options.rb +8 -0
  224. data/vendor/gems/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  225. metadata +227 -187
  226. data/vendor/git-subrepo/Changes +0 -51
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a30c179acc435486e3fe35ad34714133f582332ddcfb98fd00be1f75c1960df2
4
- data.tar.gz: 07d4c21e8c6dd98d2f7ce70a02f5caec1ba0660e9a59f5d15af0c8b6f711022a
3
+ metadata.gz: b84d0393c577738f7356c886a99ef8e6c82343f9dd7d751cbf560dda774f32df
4
+ data.tar.gz: ffbb4bc86684f7422e7b49c38583a6f9d8df938c8471524e30eced6c6ea40a63
5
5
  SHA512:
6
- metadata.gz: 9d3b21ec49fb39bad56c9d8de4538cf5261f452d57d8c0188e0cb501ae7a9584fa54d2e35a0a88c250956af6edc48eec0e91f2aa4c186fec038f67d148f911dc
7
- data.tar.gz: 761bad690d7493109e71c2fdb34efcf5a0f1737d6d5b52d1f23d16c4c597e18593a5bca169900484421ff8071f79a20560a8754409e4b529135b905c099cbade
6
+ metadata.gz: 1984afe6dca5217c4ac1085872901e0be97b8ede8a7ce023fb7e7ad87525c37af30e3cb174223c14b870c8a14c0a332d9c8ec6f01bf20f0e18d50e55ea306039
7
+ data.tar.gz: fa200e96cb2f36a56e980ec5e179dafe659035c1d8f95c4f6b2c352343d177cdb05aa7fa3bab86bb049931956d5a01c02e5dc0092bc87a659e064919c9dd1df7
@@ -12,7 +12,7 @@ module Avm
12
12
  enable_console_speaker
13
13
  common_constructor :source_paths, :options
14
14
 
15
- FORMATS = %w[ruby html php python xml json generic_plain].freeze
15
+ FORMATS = %w[ruby php html python xml json generic_plain].freeze
16
16
 
17
17
  def run
18
18
  clear
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Git
7
+ class AutoCommitPath
8
+ enable_console_speaker
9
+ common_constructor :git, :path
10
+
11
+ CLASS_NAME_PATTERNS = [%r{lib/(.+)\.rb\z}, %r{app/[^/]+/(.+)\.rb\z}].freeze
12
+
13
+ def run
14
+ banner
15
+ commit
16
+ end
17
+
18
+ def banner
19
+ infom "Checking \"#{relative_path}\""
20
+ infov ' * Class name', class_name
21
+ infov ' * Commit message', commit_message
22
+ end
23
+
24
+ def commit
25
+ infom ' * Commiting...'
26
+ git.system!('reset', 'HEAD')
27
+ git.system!('add', '--', relative_path.to_path)
28
+ git.system!('commit', '-m', commit_message, '--', relative_path.to_path)
29
+ end
30
+
31
+ def class_name
32
+ CLASS_NAME_PATTERNS.each do |pattern|
33
+ pattern.if_match(relative_path.to_path, false) { |m| return m[1].camelize }
34
+ end
35
+ raise "No pattern matched \"#{relative_path}\""
36
+ end
37
+
38
+ def commit_message
39
+ r = class_name
40
+ r += ': remove' unless path.file?
41
+ r + '.'
42
+ end
43
+
44
+ def relative_path
45
+ path.relative_path_from(git.root_path)
46
+ end
47
+ end
48
+ end
49
+ end
@@ -7,10 +7,7 @@ module Avm
7
7
  module Issue
8
8
  class Complete
9
9
  def commits_result
10
- ::Avm::Result.success_or_error(
11
- commits.any? ? 'yes' : 'none',
12
- commits.any?
13
- )
10
+ ::Avm::Result.success_or_error(commits.any?, 'yes', 'none')
14
11
  end
15
12
 
16
13
  def commits_uncached
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/subrepo_checks'
4
+ require 'eac_git/local'
5
+
6
+ module Avm
7
+ module Git
8
+ module Issue
9
+ class Complete
10
+ def git_subrepos_result
11
+ return ::Avm::Result.error('Unclean workspace') unless clean_workspace?
12
+
13
+ r = ::Avm::Git::SubrepoChecks.new(::EacGit::Local.new(@git)).add_all_subrepos
14
+ r.check_remote = true
15
+ r.result
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -19,13 +19,13 @@ module Avm
19
19
  end
20
20
 
21
21
  def branch_name_result
22
- ::Avm::Result.success_or_error(branch_name, issue_id.present?)
22
+ ::Avm::Result.success_or_error(issue_id.present?, branch_name)
23
23
  end
24
24
 
25
25
  def branch_hash_result
26
26
  ::Avm::Result.success_or_error(
27
- branch_hash,
28
- branch_hash.present?
27
+ branch_hash.present?,
28
+ branch_hash
29
29
  )
30
30
  end
31
31
 
@@ -33,10 +33,7 @@ module Avm
33
33
  return ::Avm::Result.neutral('No branch hash') unless branch_hash
34
34
 
35
35
  r = follow_master?
36
- ::Avm::Result.success_or_error(
37
- r ? 'yes' : 'no',
38
- r
39
- )
36
+ ::Avm::Result.success_or_error(r, 'yes', 'no')
40
37
  end
41
38
 
42
39
  def follow_master?
@@ -17,7 +17,7 @@ module Avm
17
17
  else
18
18
  r.fetch(:stderr) + "\n#{::Shellwords.join(dry_push_args)}"
19
19
  end
20
- ::Avm::Result.success_or_error(message, r.fetch(:exit_code).zero?)
20
+ ::Avm::Result.success_or_error(r.fetch(:exit_code).zero?, message)
21
21
  end
22
22
 
23
23
  def push
@@ -16,6 +16,7 @@ module Avm
16
16
  commits: 'Commits?',
17
17
  bifurcations: 'Bifurcations?',
18
18
  dry_push: 'Dry push?',
19
+ git_subrepos: 'Git subrepos ok?',
19
20
  test: 'Test ok?'
20
21
  }.with_indifferent_access.freeze
21
22
 
@@ -5,8 +5,11 @@ module Avm
5
5
  module Issue
6
6
  class Complete
7
7
  def clean_workspace_result
8
- r = @git.dirty_files.none?
9
- ::Avm::Result.success_or_error(r ? 'yes' : 'no', r)
8
+ ::Avm::Result.success_or_error(clean_workspace?, 'yes', 'no')
9
+ end
10
+
11
+ def clean_workspace?
12
+ @git.dirty_files.none?
10
13
  end
11
14
  end
12
15
  end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_launcher/git/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ class SubrepoCheck
9
+ require_sub __FILE__, include_modules: true
10
+ enable_console_speaker
11
+ enable_simple_cache
12
+
13
+ BLANK_TEXT = 'BLANK'
14
+
15
+ common_constructor :subrepo, :options
16
+
17
+ def blank_text
18
+ BLANK_TEXT
19
+ end
20
+
21
+ def check_remote?
22
+ options.fetch(:check_remote) ? true : false
23
+ end
24
+
25
+ def fix_parent?
26
+ options.fetch(:fix_parent) ? true : false
27
+ end
28
+
29
+ private
30
+
31
+ def result_uncached
32
+ return ::Avm::Result.error('Parent failed') if parent_result.error?
33
+ return ::Avm::Result.error('Remote failed') if remote_result.error?
34
+
35
+ ::Avm::Result.success('Parent and remote ok')
36
+ end
37
+ end
38
+ end
39
+ 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,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_launcher/git/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ class SubrepoCheck
9
+ module ShowResult
10
+ def show_result
11
+ out(subrepo.subpath.to_path.cyan)
12
+ out_attr('parent', parent_result.label)
13
+ run_fix_parent
14
+ out_attr('remote', remote_result.label)
15
+ out("\n")
16
+ end
17
+
18
+ def run_fix_parent
19
+ return unless fix_parent?
20
+ return unless parent_result.error?
21
+
22
+ out('|Fixing...'.white)
23
+ self.parent_hash = expected_parent_hash
24
+ out_attr('new parent', parent_result.label)
25
+ end
26
+
27
+ def out_attr(key, value)
28
+ out('|' + "#{key}=".white + value)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_launcher/git/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Git
8
+ class SubrepoChecks
9
+ enable_console_speaker
10
+ enable_simple_cache
11
+ attr_accessor :check_remote, :fix_parent
12
+ common_constructor :repository
13
+
14
+ def add_all_subrepos
15
+ add_subrepos(
16
+ *repository.command('subrepo', '-q', 'status').execute!.split("\n").map(&:strip)
17
+ .select(&:present?)
18
+ )
19
+ end
20
+
21
+ def add_subrepos(*subpath_list)
22
+ subpath_list.each do |subpath|
23
+ subpaths.add(subpath)
24
+ end
25
+ reset_cache
26
+ self
27
+ end
28
+
29
+ def check_options
30
+ { fix_parent: fix_parent, check_remote: check_remote }
31
+ end
32
+
33
+ def show_result
34
+ checks.each(&:show_result)
35
+ infov 'Result', result.label
36
+ end
37
+
38
+ private
39
+
40
+ def checks_uncached
41
+ subpaths.map do |subpath|
42
+ ::Avm::Git::SubrepoCheck.new(repository.subrepo(subpath), check_options)
43
+ end
44
+ end
45
+
46
+ def result_uncached
47
+ error_count = checks.count { |check| check.result.error? }
48
+ ::Avm::Result.success_or_error(
49
+ error_count.zero?,
50
+ "#{error_count} of #{checks.count} subrepos failed"
51
+ )
52
+ end
53
+
54
+ def subpaths
55
+ @subpaths ||= ::Set.new
56
+ end
57
+ end
58
+ end
59
+ end