avm-tools 0.51.0 → 0.54.2

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -2,12 +2,13 @@
2
2
 
3
3
  require 'colorized_string'
4
4
  require 'eac_ruby_utils/listable'
5
+ require 'eac_ruby_utils/core_ext'
5
6
 
6
7
  module Avm
7
8
  class Result < ::SimpleDelegator
8
9
  include ::EacRubyUtils::Listable
9
10
 
10
- lists.add_string :type, :success, :error, :neutral
11
+ lists.add_string :type, :success, :error, :neutral, :pending, :outdated
11
12
 
12
13
  lists.type.values.each do |type| # rubocop:disable Style/HashEachMethods
13
14
  class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
@@ -20,10 +21,19 @@ module Avm
20
21
  TYPE_SUCCESS_COLOR = 'green'
21
22
  TYPE_ERROR_COLOR = 'red'
22
23
  TYPE_NEUTRAL_COLOR = 'light_black'
24
+ TYPE_PENDING_COLOR = 'yellow'
25
+ TYPE_OUTDATED_COLOR = 'blue'
23
26
 
24
27
  class << self
25
- def success_or_error(value, success)
26
- new(value, success ? ::Avm::Result::TYPE_SUCCESS : ::Avm::Result::TYPE_ERROR)
28
+ # Return Avm::Result.success(success_value) if +success+ is truthy.
29
+ # Return Avm::Result.error(error_value || success_value) if +success+ is falsely.
30
+ # @return [Avm::Result]
31
+ def success_or_error(success, success_value, error_value = nil)
32
+ if success
33
+ self.success(success_value)
34
+ else
35
+ error(error_value.presence || success_value)
36
+ end
27
37
  end
28
38
  end
29
39
 
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/auto_commit_path'
4
+ require 'eac_cli/default_runner'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner < ::EacRubyUtils::Console::DocoptRunner
9
+ class Git < ::EacRubyUtils::Console::DocoptRunner
10
+ class AutoCommit < ::EacRubyUtils::Console::DocoptRunner
11
+ include ::EacCli::DefaultRunner
12
+
13
+ runner_definition do
14
+ desc 'Commit with message based in content commited.'
15
+ bool_opt '-d', '--dirty', 'Select dirty files.'
16
+ pos_arg 'paths', repeat: true, optional: true
17
+ end
18
+
19
+ def run
20
+ clear_stage
21
+ banner
22
+ run_paths
23
+ end
24
+
25
+ private
26
+
27
+ def banner
28
+ infov 'Paths', paths.count
29
+ end
30
+
31
+ def clear_stage
32
+ infom 'Clearing stage...'
33
+ context(:git).system!('reset', 'HEAD')
34
+ end
35
+
36
+ def dirty_paths
37
+ return [] unless options.fetch('--dirty')
38
+
39
+ context(:git).dirty_files.map { |d| context(:git).root_path.join / d.path }
40
+ end
41
+
42
+ def paths_uncached
43
+ (options.fetch('<paths>')
44
+ .map { |p| p.to_pathname.expand_path } + dirty_paths)
45
+ .reject(&:directory?)
46
+ .sort.uniq.map { |path| ::Avm::Git::AutoCommitPath.new(context(:git), path) }
47
+ end
48
+
49
+ def run_paths
50
+ paths.each(&:run)
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/default_runner'
4
+ require 'eac_ruby_utils/console/docopt_runner'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner < ::EacRubyUtils::Console::DocoptRunner
9
+ class Git < ::EacRubyUtils::Console::DocoptRunner
10
+ class Subrepo < ::EacRubyUtils::Console::DocoptRunner
11
+ require_sub __FILE__
12
+ include ::EacCli::DefaultRunner
13
+
14
+ runner_definition do
15
+ desc 'Git-subrepo (https://github.com/ingydotnet/git-subrepo) utilities.'
16
+ subcommands
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/default_runner'
4
+ require 'eac_git/local'
5
+ require 'eac_ruby_utils/console/docopt_runner'
6
+
7
+ module Avm
8
+ module Tools
9
+ class Runner < ::EacRubyUtils::Console::DocoptRunner
10
+ class Git < ::EacRubyUtils::Console::DocoptRunner
11
+ class Subrepo < ::EacRubyUtils::Console::DocoptRunner
12
+ class Check < ::EacRubyUtils::Console::DocoptRunner
13
+ include ::EacCli::DefaultRunner
14
+
15
+ runner_definition do
16
+ desc 'Check status of subrepos.'
17
+ bool_opt '-a', '--all', 'Select all subrepos.'
18
+ bool_opt '-f', '--fix-parent', 'Fix parent SHA1.'
19
+ bool_opt '-n', '--no-error', 'Do not exit with error if check fails.'
20
+ bool_opt '-r', '--remote', 'Check subrepos remote.'
21
+ pos_arg :subrepos, repeat: true, optional: true
22
+ end
23
+
24
+ def run
25
+ subrepo_checks.show_result
26
+ return if options.fetch('--no-error')
27
+ return unless subrepo_checks.result.error?
28
+
29
+ fatal_error 'Failed'
30
+ end
31
+
32
+ private
33
+
34
+ def subrepo_checks_uncached
35
+ r = ::Avm::Git::SubrepoChecks.new(local_repos)
36
+ r.check_remote = options.fetch('--remote')
37
+ r.fix_parent = options.fetch('--fix-parent')
38
+ r.add_all_subrepos if options.fetch('--all')
39
+ r.add_subrepos(*options.fetch('<subrepos>'))
40
+ r
41
+ end
42
+
43
+ def local_repos_uncached
44
+ ::EacGit::Local.new(context(:git))
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.51.0'
5
+ VERSION = '0.54.2'
6
6
  end
7
7
  end
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- GIT_SUBREPO_LIB = ::File.join(::File.dirname(__dir__), 'vendor', 'git-subrepo', 'lib')
4
- ENV['PATH'] = "#{GIT_SUBREPO_LIB}#{::File::PATH_SEPARATOR}#{ENV['PATH']}"
5
-
6
3
  module EacLauncher
7
4
  require 'eac_launcher/context'
8
5
  require 'eac_launcher/paths'
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'eac_git/local'
3
4
  require 'eac_ruby_utils/core_ext'
4
5
  require 'eac_ruby_utils/envs'
5
6
  require 'eac_launcher/paths/real'
@@ -16,21 +17,21 @@ module EacLauncher
16
17
  include ::EacLauncher::Git::Base::Subrepo
17
18
  include ::EacLauncher::Git::Base::Underlying
18
19
 
20
+ attr_reader :eac_git
21
+ delegate :descendant?, :merge_base, :rev_parse, to: :eac_git
22
+
23
+ def initialize(path)
24
+ super(path)
25
+
26
+ @eac_git = ::EacGit::Local.new(path)
27
+ end
28
+
19
29
  def init_bare
20
30
  FileUtils.mkdir_p(self)
21
31
  ::EacRubyUtils::Envs.local.command('git', 'init', '--bare', self).execute! unless
22
32
  File.exist?(subpath('.git'))
23
33
  end
24
34
 
25
- def rev_parse(ref, required = false)
26
- r = execute!('rev-parse', ref, exit_outputs: { 128 => nil, 32_768 => nil })
27
- r.strip! if r.is_a?(String)
28
- return r if r.present?
29
- return nil unless required
30
-
31
- raise "Reference \"#{ref}\" not found"
32
- end
33
-
34
35
  # @return [Pathname]
35
36
  def root_path
36
37
  @root_path ||= self.class.find_root(to_s)
@@ -44,17 +45,6 @@ module EacLauncher
44
45
  base == revparse
45
46
  end
46
47
 
47
- def merge_base(*commits)
48
- refs = commits.dup
49
- while refs.count > 1
50
- refs[1] = merge_base_pair(refs[0], refs[1])
51
- return nil if refs[1].blank?
52
-
53
- refs.shift
54
- end
55
- refs.first
56
- end
57
-
58
48
  def subtree_split(prefix)
59
49
  execute!('subtree', '-q', 'split', '-P', prefix).strip
60
50
  end
@@ -89,12 +79,6 @@ module EacLauncher
89
79
  def raise(message)
90
80
  ::Kernel.raise EacLauncher::Git::Error.new(self, message)
91
81
  end
92
-
93
- private
94
-
95
- def merge_base_pair(commit1, commit2)
96
- execute!('merge-base', commit1, commit2, exit_outputs: { 256 => '' }).strip
97
- end
98
82
  end
99
83
  end
100
84
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'eac_git/executables'
3
4
  require 'eac_ruby_utils/envs'
4
5
  require 'git'
5
6
  require 'eac_launcher/paths/real'
@@ -9,23 +10,24 @@ module EacLauncher
9
10
  class Base < ::EacLauncher::Paths::Real
10
11
  module Underlying
11
12
  def command(*args)
12
- args, _options = build_args(args)
13
- ::EacRubyUtils::Envs.local.command(*args)
13
+ args, options = build_args(args)
14
+ r = ::EacGit::Executables.git.command(*args)
15
+ (options[:exit_outputs] || {}).each do |status_code, result|
16
+ r = r.status_result(status_code, result)
17
+ end
18
+ r
14
19
  end
15
20
 
16
21
  def execute(*args)
17
- args, options = build_args(args)
18
- ::EacRubyUtils::Envs.local.command(*args).execute(options)
22
+ command(*args).execute
19
23
  end
20
24
 
21
25
  def execute!(*args)
22
- args, options = build_args(args)
23
- ::EacRubyUtils::Envs.local.command(*args).execute!(options)
26
+ command(*args).execute!
24
27
  end
25
28
 
26
29
  def system!(*args)
27
- args, options = build_args(args)
28
- ::EacRubyUtils::Envs.local.command(*args).system!(options)
30
+ command(*args).system!
29
31
  end
30
32
 
31
33
  def init
@@ -42,7 +44,7 @@ module EacLauncher
42
44
  args.pop
43
45
  end
44
46
  args = args.first if args.first.is_a?(Array)
45
- [['git', '-C', self, '--no-pager'] + args, options]
47
+ [['-C', self, '--no-pager'] + args, options]
46
48
  end
47
49
 
48
50
  def git_uncached
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ require 'eac_git/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = 'eac_git'
9
+ s.version = EacGit::VERSION
10
+ s.authors = ['Put here the authors']
11
+ s.summary = 'Put here de description.'
12
+
13
+ s.files = Dir['{lib,vendor}/**/*']
14
+
15
+ s.add_dependency 'eac_ruby_utils', '~> 0.37'
16
+ s.add_dependency 'parseconfig', '~> 1.0', '>= 1.0.8'
17
+
18
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.1', '>= 0.1.2'
19
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EacGit
6
+ require_sub __FILE__
7
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'eac_ruby_utils/envs'
5
+
6
+ module EacGit
7
+ module Executables
8
+ class << self
9
+ include ::EacRubyUtils::SimpleCache
10
+
11
+ def env
12
+ ::EacRubyUtils::Envs.local
13
+ end
14
+
15
+ private
16
+
17
+ def git_uncached
18
+ r = env.executable('git', '--version')
19
+ r.extend(GitCommandExtensions)
20
+ r
21
+ end
22
+
23
+ module GitCommandExtensions
24
+ def command(*args)
25
+ super(*args).envvar('PATH', path_with_git_subrepo)
26
+ end
27
+
28
+ def gem_root
29
+ '../..'.to_pathname.expand_path(__dir__)
30
+ end
31
+
32
+ def git_subrepo_root
33
+ gem_root.join('vendor', 'git-subrepo')
34
+ end
35
+
36
+ def path_with_git_subrepo
37
+ ([git_subrepo_root.join('lib').to_path] +
38
+ ENV['PATH'].if_present('').split(::File::PATH_SEPARATOR))
39
+ .join(::File::PATH_SEPARATOR)
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_git/executables'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module EacGit
7
+ # A Git repository in local filesystem.
8
+ class Local
9
+ require_sub __FILE__
10
+
11
+ common_constructor :root_path do
12
+ self.root_path = root_path.to_pathname
13
+ end
14
+
15
+ def descendant?(descendant, ancestor)
16
+ base = merge_base(descendant, ancestor)
17
+ return false if base.blank?
18
+
19
+ revparse = command('rev-parse', '--verify', ancestor).execute!.strip
20
+ base == revparse
21
+ end
22
+
23
+ def merge_base(*commits)
24
+ refs = commits.dup
25
+ while refs.count > 1
26
+ refs[1] = merge_base_pair(refs[0], refs[1])
27
+ return nil if refs[1].blank?
28
+
29
+ refs.shift
30
+ end
31
+ refs.first
32
+ end
33
+
34
+ def command(*args)
35
+ ::EacGit::Executables.git.command('-C', root_path.to_path, *args)
36
+ end
37
+
38
+ def rev_parse(ref, required = false)
39
+ r = command('rev-parse', ref).execute!(exit_outputs: { 128 => nil, 32_768 => nil })
40
+ r.strip! if r.is_a?(String)
41
+ return r if r.present?
42
+ return nil unless required
43
+
44
+ raise "Reference \"#{ref}\" not found"
45
+ end
46
+
47
+ def subrepo(subpath)
48
+ ::EacGit::Local::Subrepo.new(self, subpath)
49
+ end
50
+
51
+ private
52
+
53
+ def merge_base_pair(commit1, commit2)
54
+ command('merge-base', commit1, commit2).execute!(exit_outputs: { 256 => nil }).strip
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_git/remote'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module EacGit
7
+ class Local
8
+ # A git-subrepo (https://github.com/ingydotnet/git-subrepo) in a [EacGit::Local].
9
+ class Subrepo
10
+ require_sub __FILE__
11
+ enable_simple_cache
12
+
13
+ common_constructor :local, :subpath do
14
+ self.subpath = subpath.to_pathname
15
+ raise "Config file \"#{config_absolute_path}\" not found" unless config_absolute_path.file?
16
+ end
17
+
18
+ def command(subrepo_subcommand, *subrepo_subcommand_args)
19
+ local.command('subrepo', subrepo_subcommand, subpath.to_path,
20
+ *subrepo_subcommand_args)
21
+ end
22
+
23
+ delegate(*::EacGit::Local::Subrepo::Config::MAPPING.keys, to: :config)
24
+
25
+ def write_config
26
+ config_absolute_path.write(config.to_content)
27
+ end
28
+
29
+ private
30
+
31
+ def config_uncached
32
+ ::EacGit::Local::Subrepo::Config.from_file(config_absolute_path)
33
+ end
34
+
35
+ def config_absolute_path_uncached
36
+ config_relative_path.expand_path(local.root_path)
37
+ end
38
+
39
+ def config_relative_path_uncached
40
+ subpath.join('.gitrepo')
41
+ end
42
+
43
+ def remote_uncached
44
+ ::EacGit::Remote.new(remote_uri)
45
+ end
46
+ end
47
+ end
48
+ end