eac_tools 0.101.2 → 0.101.3

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 +35 -35
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/eac_git/eac_git.gemspec +20 -0
  5. data/sub/eac_git/lib/eac_git/executables.rb +45 -0
  6. data/sub/eac_git/lib/eac_git/local/branch.rb +45 -0
  7. data/sub/eac_git/lib/eac_git/local/changed_file.rb +53 -0
  8. data/sub/eac_git/lib/eac_git/local/commit/archive.rb +17 -0
  9. data/sub/eac_git/lib/eac_git/local/commit/changed_file.rb +43 -0
  10. data/sub/{avm-git/lib/avm/git → eac_git/lib/eac_git/local}/commit/diff_tree_line.rb +2 -2
  11. data/sub/eac_git/lib/eac_git/local/commit.rb +71 -0
  12. data/sub/eac_git/lib/eac_git/local/dirty_files.rb +26 -0
  13. data/sub/eac_git/lib/eac_git/local/log.rb +14 -0
  14. data/sub/eac_git/lib/eac_git/local/remote/push.rb +33 -0
  15. data/sub/eac_git/lib/eac_git/local/remote.rb +47 -0
  16. data/sub/eac_git/lib/eac_git/local/remotes.rb +17 -0
  17. data/sub/eac_git/lib/eac_git/local/subrepo/config.rb +40 -0
  18. data/sub/eac_git/lib/eac_git/local/subrepo.rb +46 -0
  19. data/sub/eac_git/lib/eac_git/local.rb +124 -0
  20. data/sub/eac_git/lib/eac_git/remote.rb +20 -0
  21. data/sub/eac_git/lib/eac_git/remote_like/ls_result.rb +18 -0
  22. data/sub/eac_git/lib/eac_git/remote_like.rb +30 -0
  23. data/sub/eac_git/lib/eac_git/rspec/setup.rb +20 -0
  24. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/directory.rb +35 -0
  25. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/file.rb +21 -0
  26. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/fs_object.rb +25 -0
  27. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo/repository.rb +30 -0
  28. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb +28 -0
  29. data/sub/eac_git/lib/eac_git/rspec.rb +7 -0
  30. data/sub/eac_git/lib/eac_git/version.rb +5 -0
  31. data/sub/eac_git/lib/eac_git.rb +9 -0
  32. data/sub/eac_git/spec/lib/eac_git/executables_spec.rb +11 -0
  33. data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec.rb +1 -3
  34. data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit_spec.rb +10 -10
  35. data/sub/eac_git/spec/lib/eac_git/local/dirty_files_spec.rb +18 -0
  36. data/sub/{avm-git → eac_git}/spec/spec_helper.rb +2 -2
  37. data/sub/eac_git/vendor/git-subrepo/Changes +110 -0
  38. data/sub/eac_git/vendor/git-subrepo/Intro.pod +509 -0
  39. data/sub/eac_git/vendor/git-subrepo/License +21 -0
  40. data/sub/eac_git/vendor/git-subrepo/Makefile +82 -0
  41. data/sub/eac_git/vendor/git-subrepo/Meta +28 -0
  42. data/sub/eac_git/vendor/git-subrepo/ReadMe.pod +698 -0
  43. data/sub/eac_git/vendor/git-subrepo/doc/comparison.swim +35 -0
  44. data/sub/eac_git/vendor/git-subrepo/doc/git-subrepo.swim +608 -0
  45. data/sub/eac_git/vendor/git-subrepo/doc/intro-to-subrepo.swim +387 -0
  46. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Changes +15 -0
  47. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/License +21 -0
  48. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Makefile +45 -0
  49. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Meta +28 -0
  50. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/ReadMe.pod +77 -0
  51. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/bin/bash+ +43 -0
  52. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +61 -0
  53. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +92 -0
  54. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +134 -0
  55. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +134 -0
  56. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/base.t +12 -0
  57. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/fcopy.t +22 -0
  58. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash +3 -0
  59. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash +3 -0
  60. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +18 -0
  61. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +23 -0
  62. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/test.bash +70 -0
  63. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/use.t +19 -0
  64. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Changes +15 -0
  65. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/License +21 -0
  66. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Makefile +20 -0
  67. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Meta +30 -0
  68. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +115 -0
  69. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +89 -0
  70. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +15 -0
  71. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +21 -0
  72. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +45 -0
  73. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +28 -0
  74. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +77 -0
  75. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +43 -0
  76. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +61 -0
  77. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +92 -0
  78. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +134 -0
  79. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +134 -0
  80. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +12 -0
  81. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +22 -0
  82. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +3 -0
  83. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +3 -0
  84. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +18 -0
  85. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +23 -0
  86. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/test.bash +70 -0
  87. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +19 -0
  88. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +15 -0
  89. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +21 -0
  90. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +37 -0
  91. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +28 -0
  92. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +66 -0
  93. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +48 -0
  94. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +153 -0
  95. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +119 -0
  96. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +13 -0
  97. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t +10 -0
  98. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +20 -0
  99. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +15 -0
  100. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +9 -0
  101. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t +9 -0
  102. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t +10 -0
  103. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +20 -0
  104. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +13 -0
  105. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +14 -0
  106. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +7 -0
  107. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +12 -0
  108. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +8 -0
  109. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +9 -0
  110. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +95 -0
  111. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +173 -0
  112. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/fail.t +20 -0
  113. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/more.t +20 -0
  114. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/pass.t +9 -0
  115. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/setup +8 -0
  116. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/skip_all.t +11 -0
  117. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +12 -0
  118. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t +10 -0
  119. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo +1903 -0
  120. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +1 -0
  121. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +339 -0
  122. data/sub/eac_git/vendor/git-subrepo/man/man1/git-subrepo.1 +743 -0
  123. data/sub/eac_git/vendor/git-subrepo/note/0.4.0 +12 -0
  124. data/sub/eac_git/vendor/git-subrepo/note/AllGitCmds +148 -0
  125. data/sub/eac_git/vendor/git-subrepo/note/Cases +32 -0
  126. data/sub/eac_git/vendor/git-subrepo/note/Commands +33 -0
  127. data/sub/eac_git/vendor/git-subrepo/note/Dags +199 -0
  128. data/sub/eac_git/vendor/git-subrepo/note/Gists +7 -0
  129. data/sub/eac_git/vendor/git-subrepo/note/Links +25 -0
  130. data/sub/eac_git/vendor/git-subrepo/note/Plugins +10 -0
  131. data/sub/eac_git/vendor/git-subrepo/note/Spec +39 -0
  132. data/sub/eac_git/vendor/git-subrepo/note/Story1 +57 -0
  133. data/sub/eac_git/vendor/git-subrepo/note/ToDo +55 -0
  134. data/sub/eac_git/vendor/git-subrepo/note/design.swim +137 -0
  135. data/sub/eac_git/vendor/git-subrepo/note/design2.swim +85 -0
  136. data/sub/eac_git/vendor/git-subrepo/note/init-test +38 -0
  137. data/sub/eac_git/vendor/git-subrepo/note/pull-dance.txt +18 -0
  138. data/sub/eac_git/vendor/git-subrepo/note/recreate-rebase-conflict.sh +56 -0
  139. data/sub/eac_git/vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash +29 -0
  140. data/sub/eac_git/vendor/git-subrepo/note/test-subrepo-push.sh +69 -0
  141. data/sub/eac_git/vendor/git-subrepo/note/test.sh +58 -0
  142. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-completion.pl +210 -0
  143. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +89 -0
  144. data/sub/eac_git/vendor/git-subrepo/share/completion.bash +42 -0
  145. data/sub/eac_git/vendor/git-subrepo/share/enable-completion.sh +50 -0
  146. data/sub/eac_git/vendor/git-subrepo/share/git-completion.bash +2738 -0
  147. data/sub/eac_git/vendor/git-subrepo/share/zsh-completion/_git-subrepo +81 -0
  148. data/sub/eac_git/vendor/git-subrepo/test/branch-all.t +41 -0
  149. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list-one-path.t +43 -0
  150. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list.t +47 -0
  151. data/sub/eac_git/vendor/git-subrepo/test/branch.t +52 -0
  152. data/sub/eac_git/vendor/git-subrepo/test/clean.t +43 -0
  153. data/sub/eac_git/vendor/git-subrepo/test/clone-annotated-tag.t +45 -0
  154. data/sub/eac_git/vendor/git-subrepo/test/clone.t +107 -0
  155. data/sub/eac_git/vendor/git-subrepo/test/compile.t +19 -0
  156. data/sub/eac_git/vendor/git-subrepo/test/config.t +58 -0
  157. data/sub/eac_git/vendor/git-subrepo/test/encode.t +91 -0
  158. data/sub/eac_git/vendor/git-subrepo/test/error.t +171 -0
  159. data/sub/eac_git/vendor/git-subrepo/test/fetch.t +43 -0
  160. data/sub/eac_git/vendor/git-subrepo/test/gitignore.t +61 -0
  161. data/sub/eac_git/vendor/git-subrepo/test/init.t +64 -0
  162. data/sub/eac_git/vendor/git-subrepo/test/issue29.t +98 -0
  163. data/sub/eac_git/vendor/git-subrepo/test/issue95.t +98 -0
  164. data/sub/eac_git/vendor/git-subrepo/test/issue96.t +96 -0
  165. data/sub/eac_git/vendor/git-subrepo/test/pull-all.t +38 -0
  166. data/sub/eac_git/vendor/git-subrepo/test/pull-merge.t +113 -0
  167. data/sub/eac_git/vendor/git-subrepo/test/pull-message.t +88 -0
  168. data/sub/eac_git/vendor/git-subrepo/test/pull-new-branch.t +58 -0
  169. data/sub/eac_git/vendor/git-subrepo/test/pull-ours.t +90 -0
  170. data/sub/eac_git/vendor/git-subrepo/test/pull-theirs.t +82 -0
  171. data/sub/eac_git/vendor/git-subrepo/test/pull-twice.t +44 -0
  172. data/sub/eac_git/vendor/git-subrepo/test/pull-worktree.t +40 -0
  173. data/sub/eac_git/vendor/git-subrepo/test/pull.t +99 -0
  174. data/sub/eac_git/vendor/git-subrepo/test/push-after-init.t +51 -0
  175. data/sub/eac_git/vendor/git-subrepo/test/push-force.t +56 -0
  176. data/sub/eac_git/vendor/git-subrepo/test/push-new-branch.t +61 -0
  177. data/sub/eac_git/vendor/git-subrepo/test/push-no-changes.t +29 -0
  178. data/sub/eac_git/vendor/git-subrepo/test/push-squash.t +56 -0
  179. data/sub/eac_git/vendor/git-subrepo/test/push.t +176 -0
  180. data/sub/eac_git/vendor/git-subrepo/test/reclone.t +45 -0
  181. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/HEAD +1 -0
  182. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/config +4 -0
  183. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
  184. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
  185. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
  186. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
  187. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  188. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
  189. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/heads/master +1 -0
  190. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/tags/A +1 -0
  191. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/HEAD +1 -0
  192. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/config +4 -0
  193. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
  194. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
  195. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  196. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/refs/heads/master +1 -0
  197. data/sub/eac_git/vendor/git-subrepo/test/repo/init/HEAD +1 -0
  198. data/sub/eac_git/vendor/git-subrepo/test/repo/init/config +5 -0
  199. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
  200. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
  201. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +2 -0
  202. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
  203. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
  204. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
  205. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
  206. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
  207. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +1 -0
  208. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
  209. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
  210. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +1 -0
  211. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
  212. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
  213. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +3 -0
  214. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +2 -0
  215. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +2 -0
  216. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +1 -0
  217. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
  218. data/sub/eac_git/vendor/git-subrepo/test/repo/init/refs/heads/master +1 -0
  219. data/sub/eac_git/vendor/git-subrepo/test/setup +205 -0
  220. data/sub/eac_git/vendor/git-subrepo/test/status.t +68 -0
  221. data/sub/eac_git/vendor/git-subrepo/test/submodule.t +45 -0
  222. metadata +246 -128
  223. data/sub/avm-git/avm-git.gemspec +0 -25
  224. data/sub/avm-git/lib/avm/git/application_scms/base/assert_main_at.rb +0 -44
  225. data/sub/avm-git/lib/avm/git/application_scms/base.rb +0 -18
  226. data/sub/avm-git/lib/avm/git/application_scms.rb +0 -9
  227. data/sub/avm-git/lib/avm/git/commit/class_methods.rb +0 -29
  228. data/sub/avm-git/lib/avm/git/commit/file.rb +0 -42
  229. data/sub/avm-git/lib/avm/git/commit.rb +0 -57
  230. data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +0 -40
  231. data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +0 -20
  232. data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +0 -59
  233. data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +0 -37
  234. data/sub/avm-git/lib/avm/git/issue/complete/push.rb +0 -60
  235. data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +0 -33
  236. data/sub/avm-git/lib/avm/git/issue/complete/test.rb +0 -34
  237. data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +0 -21
  238. data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +0 -36
  239. data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +0 -49
  240. data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +0 -19
  241. data/sub/avm-git/lib/avm/git/issue/complete.rb +0 -66
  242. data/sub/avm-git/lib/avm/git/issue.rb +0 -10
  243. data/sub/avm-git/lib/avm/git/launcher/base/class_methods.rb +0 -28
  244. data/sub/avm-git/lib/avm/git/launcher/base/dirty_files.rb +0 -21
  245. data/sub/avm-git/lib/avm/git/launcher/base/remotes.rb +0 -37
  246. data/sub/avm-git/lib/avm/git/launcher/base/subrepo.rb +0 -42
  247. data/sub/avm-git/lib/avm/git/launcher/base/underlying.rb +0 -54
  248. data/sub/avm-git/lib/avm/git/launcher/base.rb +0 -81
  249. data/sub/avm-git/lib/avm/git/launcher/error.rb +0 -13
  250. data/sub/avm-git/lib/avm/git/launcher/mirror_update.rb +0 -36
  251. data/sub/avm-git/lib/avm/git/launcher/publish_base.rb +0 -127
  252. data/sub/avm-git/lib/avm/git/launcher/remote.rb +0 -53
  253. data/sub/avm-git/lib/avm/git/launcher/sub_warp_base.rb +0 -36
  254. data/sub/avm-git/lib/avm/git/launcher/warp_base.rb +0 -63
  255. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/local_project_mixin.rb +0 -16
  256. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/publish.rb +0 -13
  257. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/warp.rb +0 -25
  258. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git.rb +0 -22
  259. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/publish.rb +0 -29
  260. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/warp.rb +0 -82
  261. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo.rb +0 -32
  262. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/publish.rb +0 -12
  263. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/warp.rb +0 -29
  264. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree.rb +0 -47
  265. data/sub/avm-git/lib/avm/git/launcher_stereotypes/provider.rb +0 -17
  266. data/sub/avm-git/lib/avm/git/launcher_stereotypes.rb +0 -9
  267. data/sub/avm-git/lib/avm/git/organize/reference_update.rb +0 -32
  268. data/sub/avm-git/lib/avm/git/organize/repository.rb +0 -74
  269. data/sub/avm-git/lib/avm/git/organize.rb +0 -9
  270. data/sub/avm-git/lib/avm/git/revision_test.rb +0 -102
  271. data/sub/avm-git/lib/avm/git/runners/base/commit.rb +0 -96
  272. data/sub/avm-git/lib/avm/git/runners/base/deploy.rb +0 -108
  273. data/sub/avm-git/lib/avm/git/runners/base/dirty_files.rb +0 -42
  274. data/sub/avm-git/lib/avm/git/runners/base/organize.rb +0 -72
  275. data/sub/avm-git/lib/avm/git/runners/base/revisions_test.rb +0 -63
  276. data/sub/avm-git/lib/avm/git/runners/base/subrepo/check.rb +0 -45
  277. data/sub/avm-git/lib/avm/git/runners/base/subrepo/clone.rb +0 -80
  278. data/sub/avm-git/lib/avm/git/runners/base/subrepo/fix.rb +0 -69
  279. data/sub/avm-git/lib/avm/git/runners/base/subrepo.rb +0 -17
  280. data/sub/avm-git/lib/avm/git/runners/base.rb +0 -40
  281. data/sub/avm-git/lib/avm/git/runners.rb +0 -9
  282. data/sub/avm-git/lib/avm/git/scms/git/branch.rb +0 -28
  283. data/sub/avm-git/lib/avm/git/scms/git/branches.rb +0 -17
  284. data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +0 -34
  285. data/sub/avm-git/lib/avm/git/scms/git/changed_file.rb +0 -25
  286. data/sub/avm-git/lib/avm/git/scms/git/changed_files.rb +0 -21
  287. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy.rb +0 -37
  288. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy_methods.rb +0 -24
  289. data/sub/avm-git/lib/avm/git/scms/git/commit.rb +0 -64
  290. data/sub/avm-git/lib/avm/git/scms/git/commit_dirty.rb +0 -32
  291. data/sub/avm-git/lib/avm/git/scms/git/commits.rb +0 -44
  292. data/sub/avm-git/lib/avm/git/scms/git/interval.rb +0 -28
  293. data/sub/avm-git/lib/avm/git/scms/git/milestones.rb +0 -18
  294. data/sub/avm-git/lib/avm/git/scms/git/remote.rb +0 -18
  295. data/sub/avm-git/lib/avm/git/scms/git/remotes.rb +0 -29
  296. data/sub/avm-git/lib/avm/git/scms/git/run_commit.rb +0 -54
  297. data/sub/avm-git/lib/avm/git/scms/git.rb +0 -46
  298. data/sub/avm-git/lib/avm/git/scms/git_sub_base/changed_file.rb +0 -19
  299. data/sub/avm-git/lib/avm/git/scms/git_sub_base/commit.rb +0 -23
  300. data/sub/avm-git/lib/avm/git/scms/git_sub_base/interval.rb +0 -23
  301. data/sub/avm-git/lib/avm/git/scms/git_sub_base.rb +0 -30
  302. data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +0 -33
  303. data/sub/avm-git/lib/avm/git/scms/git_subtree.rb +0 -29
  304. data/sub/avm-git/lib/avm/git/scms/provider.rb +0 -16
  305. data/sub/avm-git/lib/avm/git/scms.rb +0 -9
  306. data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +0 -48
  307. data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +0 -86
  308. data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +0 -30
  309. data/sub/avm-git/lib/avm/git/subrepo_check.rb +0 -36
  310. data/sub/avm-git/lib/avm/git/subrepo_checks.rb +0 -57
  311. data/sub/avm-git/lib/avm/git/vendor/github.rb +0 -20
  312. data/sub/avm-git/lib/avm/git/vendor.rb +0 -9
  313. data/sub/avm-git/lib/avm/git/version.rb +0 -7
  314. data/sub/avm-git/lib/avm/git.rb +0 -16
  315. data/sub/avm-git/locale/en.yml +0 -6
  316. data/sub/avm-git/locale/pt-BR.yml +0 -6
  317. data/sub/avm-git/spec/lib/avm/git/launcher/base_spec.rb +0 -45
  318. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec.rb +0 -83
  319. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_files/config.yml +0 -5
  320. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_settings.yml +0 -6
  321. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec.rb +0 -53
  322. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_files/config.yml +0 -3
  323. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_settings.yml +0 -6
  324. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec.rb +0 -126
  325. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append1/stub3.txt.template +0 -1
  326. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append2/stub4.txt +0 -1
  327. data/sub/avm-git/spec/lib/avm/git/scms/git/commit/deploy_spec.rb +0 -92
  328. data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +0 -8
  329. data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +0 -8
  330. data/sub/avm-git/spec/lib/avm/git/vendor/github_spec.rb +0 -23
  331. /data/sub/{avm-git → eac_git}/Gemfile +0 -0
  332. /data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec_files/add.source.out +0 -0
  333. /data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec_files/add.target.yaml +0 -0
  334. /data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec_files/modify.source.out +0 -0
  335. /data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec_files/modify.target.yaml +0 -0
  336. /data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec_files/remove.source.out +0 -0
  337. /data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec_files/remove.target.yaml +0 -0
  338. /data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec_files/rename.source.out +0 -0
  339. /data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec_files/rename.target.yaml +0 -0
  340. /data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -0
  341. /data/sub/{avm-git/spec/lib/avm/git → eac_git/spec/lib/eac_git/local}/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -0
  342. /data/sub/{avm-git → eac_git}/spec/rubocop_spec.rb +0 -0
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Launcher
6
- class Base < ::Avm::Launcher::Paths::Real
7
- module Subrepo
8
- def subrepo_status(subrepo_path)
9
- s = execute!('subrepo', 'status', subrepo_path.gsub(%r{\A/}, ''))
10
- raise s.strip.to_s if s.include?('is not a subrepo')
11
-
12
- r = subrepo_status_parse_output(s)
13
- raise "Empty subrepo status for |#{s}|\n" unless r.any?
14
-
15
- r
16
- end
17
-
18
- def subrepo_remote_url(subrepo_path)
19
- h = subrepo_status(subrepo_path)
20
- url = h['Remote URL']
21
- return url if url.present?
22
-
23
- raise "Remote URL is blank for subrepo \"#{subrepo_path}\" (Subrepo status: #{h})"
24
- end
25
-
26
- private
27
-
28
- def subrepo_status_parse_output(output)
29
- r = {}.with_indifferent_access
30
- output.each_line do |l|
31
- m = /\A([^\:]+):(.*)\z/.match(l.strip)
32
- next unless m && m[2].present?
33
-
34
- r[m[1].strip] = m[2].strip
35
- end
36
- r
37
- end
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Launcher
6
- class Base < ::Avm::Launcher::Paths::Real
7
- module Underlying
8
- def command(*args)
9
- args, options = build_args(args)
10
- r = ::EacGit::Executables.git.command(*args)
11
- (options[:exit_outputs] || {}).each do |status_code, result|
12
- r = r.status_result(status_code, result)
13
- end
14
- r
15
- end
16
-
17
- %w[execute execute! system system!].each do |exec_type|
18
- define_method exec_type do |*args|
19
- command(*args).send(exec_type)
20
- rescue ::EacRubyUtils::Envs::ExecutionError
21
- raise ::Avm::Git::Launcher::Error
22
- end
23
- end
24
-
25
- def init
26
- git
27
- self
28
- end
29
-
30
- private
31
-
32
- def build_args(args)
33
- options = {}
34
- if args.last.is_a?(Hash)
35
- options = args.last
36
- args.pop
37
- end
38
- args = args.first if args.first.is_a?(Array)
39
- [['-C', self, '--no-pager'] + args, options]
40
- end
41
-
42
- def git_uncached
43
- FileUtils.mkdir_p(self)
44
- if File.exist?(subpath('.git'))
45
- ::Git.open(self)
46
- else
47
- ::Git.init(self)
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,81 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Launcher
6
- class Base < ::Avm::Launcher::Paths::Real
7
- require_sub __FILE__
8
- enable_simple_cache
9
- extend ::Avm::Git::Launcher::Base::ClassMethods
10
- include ::Avm::Git::Launcher::Base::DirtyFiles
11
- include ::Avm::Git::Launcher::Base::Remotes
12
- include ::Avm::Git::Launcher::Base::Subrepo
13
- include ::Avm::Git::Launcher::Base::Underlying
14
-
15
- attr_reader :eac_git
16
-
17
- delegate :merge_base, :rev_parse, to: :eac_git
18
-
19
- def initialize(path)
20
- super
21
-
22
- @eac_git = ::EacGit::Local.new(path)
23
- end
24
-
25
- def init_bare
26
- FileUtils.mkdir_p(self)
27
- ::EacRubyUtils::Envs.local.command('git', 'init', '--bare', self).execute! unless
28
- File.exist?(subpath('.git'))
29
- end
30
-
31
- # @return [Pathname]
32
- def root_path
33
- @root_path ||= self.class.find_root(to_s)
34
- end
35
-
36
- def descendant?(descendant, ancestor)
37
- base = merge_base(descendant, ancestor)
38
- return false if base.blank?
39
-
40
- revparse = execute!('rev-parse', '--verify', ancestor).strip
41
- base == revparse
42
- end
43
-
44
- def subtree_split(prefix)
45
- execute!('subtree', '-q', 'split', '-P', prefix).strip
46
- end
47
-
48
- def push(remote_name, refspecs, options = {})
49
- refspecs = [refspecs] unless refspecs.is_a?(Array)
50
- args = ['push']
51
- args << '--dry-run' if options[:dryrun]
52
- args << '--force' if options[:force]
53
- system!(args + [remote_name] + refspecs)
54
- end
55
-
56
- def push_all(remote_name)
57
- system!('push', '--all', remote_name)
58
- system!('push', '--tags', remote_name)
59
- end
60
-
61
- def fetch(remote_name, options = {})
62
- args = ['fetch', '-p', remote_name]
63
- args += %w[--tags --prune-tags --force] if options[:tags]
64
- execute!(*args)
65
- end
66
-
67
- def current_branch
68
- execute!(%w[symbolic-ref -q HEAD]).gsub(%r{\Arefs/heads/}, '').strip
69
- end
70
-
71
- def reset_hard(ref)
72
- execute!('reset', '--hard', ref)
73
- end
74
-
75
- def raise(message)
76
- ::Kernel.raise Avm::Git::Launcher::Error.new(self, message)
77
- end
78
- end
79
- end
80
- end
81
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Launcher
6
- class Error < ::Avm::Launcher::Errors::Base
7
- def initialize(git_instance, message)
8
- super("#{message} (Repository: #{git_instance})")
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Launcher
6
- class MirrorUpdate < ::Avm::Launcher::Paths::Real
7
- include ::EacRubyUtils::SimpleCache
8
-
9
- def initialize(target_path, source_path, source_rev)
10
- super(target_path)
11
- @target_git = ::Avm::Git::Launcher::Base.new(self)
12
- @source_git = ::Avm::Git::Launcher::Base.new(source_path)
13
- @source_rev = source_rev
14
- run
15
- end
16
-
17
- private
18
-
19
- def run
20
- fetch_remote_source
21
- reset_source_rev
22
- end
23
-
24
- def fetch_remote_source
25
- @target_git.git
26
- @target_git.assert_remote_url('origin', @source_git)
27
- @target_git.fetch('origin', tags: true)
28
- end
29
-
30
- def reset_source_rev
31
- @target_git.reset_hard(@source_git.rev_parse(@source_rev, true))
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,127 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Launcher
6
- class PublishBase < ::Avm::Launcher::Publish::Base
7
- include ::EacRubyUtils::SimpleCache
8
- enable_speaker
9
-
10
- CHECKERS = %w[remote_url remote_fetch publish_remote_no_exist remote_equal remote_following
11
- local_following].freeze
12
-
13
- DEFAULT_REMOTE_REF = 'master'
14
-
15
- REMOTE_UNAVAILABLE_MESSAGES = ['could not resolve host', 'connection timed out',
16
- 'no route to host'].map(&:downcase).freeze
17
-
18
- protected
19
-
20
- def internal_check
21
- CHECKERS.each do |checker|
22
- result = send("#{checker}_check_result")
23
- return result if result
24
- end
25
- divergent_result_check_result
26
- rescue ::Avm::Launcher::Instances::Error => e
27
- ::Avm::Launcher::Publish::CheckResult.blocked(e.message)
28
- rescue ::StandardError => e
29
- raise e unless remote_unavailable_error?(e)
30
-
31
- ::Avm::Launcher::Publish::CheckResult.blocked(e.message)
32
- end
33
-
34
- private
35
-
36
- def remote_url_check_result
37
- remote = sgit.remote(remote_name)
38
- return if remote.exist? && remote.url.present?
39
-
40
- ::Avm::Launcher::Publish::CheckResult.blocked("Remote \"#{remote_name}\" has blank path")
41
- end
42
-
43
- def remote_fetch_check_result
44
- remote_fetch
45
- nil
46
- end
47
-
48
- def remote_unavailable_error?(error)
49
- error_message = error.message.downcase
50
- REMOTE_UNAVAILABLE_MESSAGES.any? do |message|
51
- error_message.include?(message)
52
- end
53
- end
54
-
55
- def publish_remote_no_exist_check_result
56
- return nil if sgit.remote_exist?(remote_name)
57
-
58
- ::Avm::Launcher::Publish::CheckResult.blocked('Remote does not exist')
59
- end
60
-
61
- def remote_equal_check_result
62
- return nil unless remote_sha.present? && remote_sha == local_sha
63
-
64
- ::Avm::Launcher::Publish::CheckResult.updated('Remote equal')
65
- end
66
-
67
- def remote_following_check_result
68
- return nil unless remote_sha.present? && sgit.descendant?(remote_sha, local_sha)
69
-
70
- ::Avm::Launcher::Publish::CheckResult.outdated('Remote following')
71
- end
72
-
73
- def divergent_result_check_result
74
- ::Avm::Launcher::Publish::CheckResult.blocked(
75
- "Divergent (L: #{local_sha}, R: #{remote_sha})"
76
- )
77
- end
78
-
79
- def local_following?
80
- return true if remote_sha.blank?
81
-
82
- sgit.descendant?(local_sha, remote_sha)
83
- end
84
-
85
- def local_following_check_result
86
- return nil unless local_following?
87
-
88
- ::Avm::Launcher::Publish::CheckResult.pending('Local following')
89
- end
90
-
91
- def sgit_uncached
92
- ::Avm::Git::Launcher::Base.new(instance.warped)
93
- end
94
-
95
- def publish
96
- info 'Pushing...'
97
- sgit.push(remote_name, 'HEAD:master',
98
- dryrun: !::Avm::Launcher::Context.current.publish_options[:confirm])
99
- info 'Pushed!'
100
- end
101
-
102
- def local_sha
103
- sgit.git.object('HEAD').sha
104
- end
105
-
106
- def remote_sha_uncached
107
- remote_fetch
108
- b = sgit.git.branches["#{remote_name}/#{remote_ref}"]
109
- b&.gcommit&.sha
110
- end
111
-
112
- def remote_fetch_uncached
113
- sgit.fetch(remote_name)
114
- end
115
-
116
- def remote_name
117
- ::Avm::Git::Launcher::WarpBase::TARGET_REMOTE
118
- end
119
-
120
- # @return [String]
121
- def remote_ref
122
- DEFAULT_REMOTE_REF
123
- end
124
- end
125
- end
126
- end
127
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Launcher
6
- class Remote
7
- common_constructor :git, :name
8
-
9
- def exist?
10
- git.execute!('remote').each_line.any? { |line| line.strip == name }
11
- end
12
-
13
- def ls
14
- git.execute!(['ls-remote', name]).each_line.to_h do |line|
15
- x = line.strip.split(/\s+/)
16
- [x[1], x[0]]
17
- end
18
- end
19
-
20
- # +git remote add ...+
21
- def add(url)
22
- git.execute!('remote', 'add', name, url)
23
- end
24
-
25
- # +git remote rm ...+
26
- def remove
27
- git.execute!('remote', 'rm', name)
28
- end
29
-
30
- # +git remote get-url ...+
31
- def url
32
- git.execute!('remote', 'get-url', name).strip.if_present(nil)
33
- end
34
-
35
- # git remote set-url ...
36
- def url_set(url)
37
- git.execute!('remote', 'set-url', name, url)
38
- end
39
-
40
- # Add or set URL if +url+ is present, remove remote if is blank.
41
- def url=(url)
42
- if exist? && url.blank?
43
- remove
44
- elsif exist? && self.url != url
45
- url_set(url)
46
- elsif !exist?
47
- add(url)
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Launcher
6
- module SubWarpBase
7
- private
8
-
9
- def parent_instance_uncached
10
- if instance.parent.blank?
11
- raise ::Avm::Launcher::Errors::Base,
12
- 'Instance is a GitSubrepo, but do not have a parent Git repository (Logical ' \
13
- "path: \"#{instance}\", Real path: \"#{instance.real}\")"
14
- end
15
-
16
- r = find_parent_instance(instance.parent)
17
- return r if r
18
-
19
- ::Avm::Launcher::Errors::Base.new('Git parent not found')
20
- end
21
-
22
- def find_parent_instance(current)
23
- if ::Avm::Launcher::Stereotype.git_stereotypes.any? { |s| current.stereotype?(s) }
24
- return current
25
- end
26
-
27
- current.parent ? find_parent_instance(current.parent) : nil
28
- end
29
-
30
- def to_parent_git_path
31
- instance.logical.gsub(%r{\A#{Regexp.quote(parent_instance.logical)}/}, '')
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Launcher
6
- # Métodos abstratos:
7
- # * source_instance
8
- # * source_remote_name
9
- # * current_ref
10
- class WarpBase < ::Avm::Launcher::Paths::Real
11
- include ::EacRubyUtils::SimpleCache
12
-
13
- TARGET_REMOTE = ::Avm::Git::LauncherStereotypes::Git::Publish::PUBLISH_GIT_REMOTE_NAME
14
-
15
- def initialize(instance)
16
- @instance = instance
17
- cache_git.git.reset_hard(current_ref)
18
- cache_git.remote(TARGET_REMOTE).url = target_remote_url
19
- super(path)
20
- end
21
-
22
- protected
23
-
24
- attr_reader :instance
25
-
26
- def validate_source_current_revision
27
- if source_git.rev_parse(source_instance.options.git_current_revision, false).present?
28
- return
29
- end
30
-
31
- raise ::Avm::Launcher::Instances::Error,
32
- "Refspec \"#{source_instance.options.git_current_revision}\" " \
33
- "not found in \"#{source_git}\""
34
- end
35
-
36
- def update
37
- validate_source_current_revision
38
- ::Avm::Git::Launcher::MirrorUpdate.new(
39
- path,
40
- source_instance.real,
41
- source_instance.options.git_current_revision
42
- )
43
- end
44
-
45
- def path
46
- instance.cache_path('git_repository')
47
- end
48
-
49
- def source_git_uncached
50
- ::Avm::Git::Launcher::Base.new(source_instance.real)
51
- end
52
-
53
- def cache_git_uncached
54
- ::Avm::Git::Launcher::Base.new(update)
55
- end
56
-
57
- def target_remote_url
58
- ::Avm::Git::Vendor::Github.to_ssh_url(source_git.git.remote(source_remote_name).url)
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module LauncherStereotypes
6
- class Git
7
- module LocalProjectMixin
8
- # @return [EacGit::Local]
9
- def git_repo
10
- @git_repo ||= ::EacGit::Local.new(path)
11
- end
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module LauncherStereotypes
6
- class Git
7
- class Publish < ::Avm::Git::Launcher::PublishBase
8
- PUBLISH_GIT_REMOTE_NAME = 'publish'
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module LauncherStereotypes
6
- class Git
7
- class Warp < ::Avm::Git::Launcher::WarpBase
8
- private
9
-
10
- def current_ref
11
- 'HEAD'
12
- end
13
-
14
- def source_instance
15
- instance
16
- end
17
-
18
- def source_remote_name
19
- ::Avm::Git::LauncherStereotypes::Git::Publish::PUBLISH_GIT_REMOTE_NAME
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module LauncherStereotypes
6
- class Git
7
- require_sub __FILE__
8
- include Avm::Launcher::Stereotype
9
-
10
- class << self
11
- def match?(path)
12
- File.directory?(path.real.subpath('.git'))
13
- end
14
-
15
- def color
16
- :white
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module LauncherStereotypes
6
- class GitSubrepo
7
- class Publish < ::Avm::Git::Launcher::PublishBase
8
- # @return [Pathname]
9
- def config_path
10
- instance.parent.warped.to_pathname.join(
11
- "./#{instance.to_parent_path}",
12
- ::Avm::Git::LauncherStereotypes::GitSubrepo::CONFIG_SUBPATH
13
- )
14
- end
15
-
16
- # @return [EacGit::Local::Subrepo::Config]
17
- def config
18
- ::EacGit::Local::Subrepo::Config.from_file(config_path)
19
- end
20
-
21
- # @return [String]
22
- def remote_ref
23
- config.remote_branch || super
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end