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
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacGit
4
+ class Local
5
+ # A git-subrepo (https://github.com/ingydotnet/git-subrepo) in a [EacGit::Local].
6
+ class Subrepo
7
+ require_sub __FILE__
8
+ enable_simple_cache
9
+
10
+ common_constructor :local, :subpath do
11
+ self.subpath = subpath.to_pathname
12
+ local.raise_error "Config file \"#{config_absolute_path}\" not found" unless
13
+ config_absolute_path.file?
14
+ end
15
+
16
+ def command(subrepo_subcommand, *subrepo_subcommand_args)
17
+ local.command('subrepo', subrepo_subcommand, subpath.to_path,
18
+ *subrepo_subcommand_args)
19
+ end
20
+
21
+ delegate(*::EacGit::Local::Subrepo::Config::MAPPING.keys, to: :config)
22
+
23
+ def write_config
24
+ config_absolute_path.write(config.to_content)
25
+ end
26
+
27
+ private
28
+
29
+ def config_uncached
30
+ ::EacGit::Local::Subrepo::Config.from_file(config_absolute_path)
31
+ end
32
+
33
+ def config_absolute_path_uncached
34
+ config_relative_path.expand_path(local.root_path)
35
+ end
36
+
37
+ def config_relative_path_uncached
38
+ subpath.join('.gitrepo')
39
+ end
40
+
41
+ def remote_uncached
42
+ ::EacGit::Remote.new(remote_uri)
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,124 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacGit
4
+ # A Git repository in local filesystem.
5
+ class Local
6
+ require_sub __FILE__, include_modules: true
7
+ include ::Comparable
8
+
9
+ HEAD_REFERENCE = 'HEAD'
10
+
11
+ class << self
12
+ def find(path)
13
+ path = path.to_pathname.expand_path
14
+ if path.join('.git').exist?
15
+ new(path)
16
+ elsif path.to_path != '/'
17
+ find(path.parent)
18
+ end
19
+ end
20
+ end
21
+
22
+ common_constructor :root_path do
23
+ self.root_path = root_path.to_pathname
24
+ end
25
+
26
+ def <=>(other)
27
+ root_path <=> other.root_path
28
+ end
29
+
30
+ # Retrieves a local branch.
31
+ #
32
+ # @param name [String] Ex.: for "refs/heads/master", name should be "master".
33
+ # @return [EacGit::Local::Branch]
34
+ def branch(name)
35
+ ::EacGit::Local::Branch.new(self, name)
36
+ end
37
+
38
+ def commit(ref, required = false) # rubocop:disable Style/OptionalBooleanParameter
39
+ rev_parse(ref, required).if_present { |v| ::EacGit::Local::Commit.new(self, v) }
40
+ end
41
+
42
+ def commitize(source)
43
+ if source.is_a?(::EacGit::Local::Commit)
44
+ return source if source.repo == self
45
+
46
+ source = source.id
47
+ end
48
+
49
+ source.to_s.strip.if_present(nil) { |v| ::EacGit::Local::Commit.new(self, v) }
50
+ end
51
+
52
+ # Retrieves the current local branch.
53
+ #
54
+ # @return [EacGit::Local::Branch, nil]
55
+ def current_branch
56
+ command('symbolic-ref', '--quiet', HEAD_REFERENCE)
57
+ .execute!(exit_outputs: { 256 => '' })
58
+ .gsub(%r{\Arefs/heads/}, '').strip
59
+ .if_present { |v| branch(v) }
60
+ end
61
+
62
+ def descendant?(descendant, ancestor)
63
+ base = merge_base(descendant, ancestor)
64
+ return false if base.blank?
65
+
66
+ revparse = command('rev-parse', '--verify', ancestor).execute!.strip
67
+ base == revparse
68
+ end
69
+
70
+ # @return [EacGit::Local::Commit
71
+ def head(required = true) # rubocop:disable Style/OptionalBooleanParameter
72
+ commit(HEAD_REFERENCE, required)
73
+ end
74
+
75
+ def merge_base(*commits)
76
+ refs = commits.dup
77
+ while refs.count > 1 # rubocop:disable Style/CollectionQuerying
78
+ refs[1] = merge_base_pair(refs[0], refs[1])
79
+ return nil if refs[1].blank?
80
+
81
+ refs.shift
82
+ end
83
+ refs.first
84
+ end
85
+
86
+ def command(*args)
87
+ ::EacGit::Executables.git.command('-C', root_path.to_path, *args)
88
+ end
89
+
90
+ def raise_error(message)
91
+ raise "#{root_path}: #{message}"
92
+ end
93
+
94
+ def rev_parse(ref, required = false) # rubocop:disable Style/OptionalBooleanParameter
95
+ r = command('rev-parse', ref).execute!(exit_outputs: { 128 => nil, 32_768 => nil })
96
+ r.strip! if r.is_a?(String)
97
+ return r if r.present?
98
+ return nil unless required
99
+
100
+ raise_error "Reference \"#{ref}\" not found"
101
+ end
102
+
103
+ def subrepo(subpath)
104
+ ::EacGit::Local::Subrepo.new(self, subpath)
105
+ end
106
+
107
+ # @return [Array<EacGit::Local::Subrepo>]
108
+ def subrepos
109
+ command('subrepo', '-q', 'status').execute!.split("\n").map(&:strip).select(&:present?)
110
+ .map { |subpath| subrepo(subpath) }
111
+ end
112
+
113
+ def to_s
114
+ "#{self.class}[#{root_path}]"
115
+ end
116
+
117
+ private
118
+
119
+ def merge_base_pair(commit1, commit2)
120
+ command('merge-base', commit1, commit2).execute!(exit_outputs: { 256 => nil })
121
+ .if_present(nil, &:strip)
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacGit
4
+ # A Git remote repository referenced by URI.
5
+ class Remote
6
+ include ::EacGit::RemoteLike
7
+
8
+ common_constructor :uri
9
+
10
+ # @return [EacRubyUtils::Envs::Command
11
+ def git_command(...)
12
+ ::EacGit::Executables.git.command(...)
13
+ end
14
+
15
+ # @return [String]
16
+ def remote_reference
17
+ uri
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacGit
4
+ module RemoteLike
5
+ class LsResult
6
+ class << self
7
+ def by_ls_remote_command_output(output)
8
+ new(
9
+ output.each_line.map { |line| line.strip.split(/\s+/) }.to_h { |x| [x[1], x[0]] } # rubocop:disable Style/MapToHash
10
+ )
11
+ end
12
+ end
13
+
14
+ common_constructor :hashes
15
+ delegate :fetch, :[], :count, :any?, :empty?, to: :hashes
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacGit
4
+ module RemoteLike
5
+ require_sub __FILE__
6
+ enable_abstract_methods
7
+
8
+ # @return [String] The output of command "git fetch".
9
+ def fetch
10
+ local.command('fetch', name).execute!
11
+ end
12
+
13
+ # @return [EacRubyUtils::Envs::Command
14
+ def git_command(*_args)
15
+ raise_abstract_method __method__
16
+ end
17
+
18
+ # @return [EacGit::RemoteLike::LsResult]
19
+ def ls
20
+ ::EacGit::RemoteLike::LsResult.by_ls_remote_command_output(
21
+ git_command('ls-remote', remote_reference).execute!
22
+ )
23
+ end
24
+
25
+ # @return [String]
26
+ def remote_reference
27
+ raise_abstract_method __method__
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacGit
4
+ module Rspec
5
+ module Setup
6
+ def self.extended(setup_obj)
7
+ setup_obj.setup_conditional_git
8
+ setup_obj.setup_stubbed_git_local_repo
9
+ end
10
+
11
+ def setup_conditional_git
12
+ conditional(:git) { ::EacGit::Executables.git.validate }
13
+ end
14
+
15
+ def setup_stubbed_git_local_repo
16
+ rspec_config.include ::EacGit::Rspec::StubbedGitLocalRepo
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'fileutils'
4
+
5
+ module EacGit
6
+ module Rspec
7
+ module StubbedGitLocalRepo
8
+ class Directory < ::EacGit::Rspec::StubbedGitLocalRepo::FsObject
9
+ # @return [self]
10
+ def create
11
+ ::FileUtils.mkdir_p(path)
12
+ self
13
+ end
14
+
15
+ # @return [self]
16
+ def delete
17
+ ::FileUtils.rm_rf(path)
18
+ self
19
+ end
20
+
21
+ # @param subpath [Array<String>]
22
+ # @return [EacGit::Rspec::StubbedGitLocalRepo::Directory]
23
+ def directory(*subpath)
24
+ git.directory(*self.subpath, *subpath)
25
+ end
26
+
27
+ # @param subpath [Array<String>]
28
+ # @return [EacGit::Rspec::StubbedGitLocalRepo::File]
29
+ def file(*subpath)
30
+ git.file(*self.subpath, *subpath)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'fileutils'
4
+
5
+ module EacGit
6
+ module Rspec
7
+ module StubbedGitLocalRepo
8
+ class File < ::EacGit::Rspec::StubbedGitLocalRepo::FsObject
9
+ def touch
10
+ ::FileUtils.touch(path.to_path)
11
+ end
12
+
13
+ def delete
14
+ path.unlink
15
+ end
16
+
17
+ delegate :write, to: :path
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacGit
4
+ module Rspec
5
+ module StubbedGitLocalRepo
6
+ class FsObject
7
+ # @!attribute [r] git
8
+ # @param git [EacGit::Rspec::StubbedGitLocalRepo::Repository]
9
+
10
+ # @!attribute [r] subpath
11
+ # @param git [Array<String>]
12
+
13
+ # @!method initialize(git, subpath)
14
+ # @param git [EacGit::Rspec::StubbedGitLocalRepo::Repository]
15
+ # @param subpath [Array<String>
16
+ common_constructor :git, :subpath
17
+
18
+ # @return [Pathname]
19
+ def path
20
+ git.root_path.join(*subpath)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'securerandom'
4
+
5
+ module EacGit
6
+ module Rspec
7
+ module StubbedGitLocalRepo
8
+ class Repository < ::EacGit::Local
9
+ # @return [EacGit::Rspec::StubbedGitLocalRepo::Directory]
10
+ def directory(*subpath)
11
+ ::EacGit::Rspec::StubbedGitLocalRepo::Directory.new(self, subpath)
12
+ end
13
+
14
+ def file(*subpath)
15
+ ::EacGit::Rspec::StubbedGitLocalRepo::File.new(self, subpath)
16
+ end
17
+
18
+ # @return [EacGit::Local::Commit
19
+ def random_commit
20
+ content = ::SecureRandom.hex
21
+ file = "#{content}.txt"
22
+ file(file).write(content)
23
+ command('add', file).execute!
24
+ command('commit', '-m', "Random commit: #{file}.").execute!
25
+ head
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'tmpdir'
4
+
5
+ module EacGit
6
+ module Rspec
7
+ module StubbedGitLocalRepo
8
+ def stubbed_git_local_repo(bare = false) # rubocop:disable Style/OptionalBooleanParameter
9
+ path = ::Dir.mktmpdir
10
+ ::EacRubyUtils::Envs.local.command(stubbed_git_local_repo_args(path, bare)).execute!
11
+ repo = ::EacGit::Rspec::StubbedGitLocalRepo::Repository.new(path)
12
+ repo.command('config', 'user.email', 'theuser@example.net').execute!
13
+ repo.command('config', 'user.name', 'The User').execute!
14
+ repo
15
+ end
16
+
17
+ private
18
+
19
+ def stubbed_git_local_repo_args(path, bare)
20
+ r = %w[git init]
21
+ r << '--bare' if bare
22
+ r + [path]
23
+ end
24
+
25
+ require_sub __FILE__
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacGit
4
+ module Rspec
5
+ require_sub __FILE__
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacGit
4
+ VERSION = '0.18.1'
5
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils'
4
+ EacRubyUtils::RootModuleSetup.perform __FILE__
5
+
6
+ require 'parseconfig'
7
+
8
+ module EacGit
9
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe(EacGit::Executables, :git) do
4
+ it 'output version' do
5
+ expect(described_class.git.command('--version').execute!).to be_present
6
+ end
7
+
8
+ it 'subrepo output version' do
9
+ expect(described_class.git.command('subrepo', '--version').execute!).to be_present
10
+ end
11
+ end
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/git/commit/diff_tree_line'
4
-
5
- RSpec.describe Avm::Git::Commit::DiffTreeLine, :git do
3
+ RSpec.describe EacGit::Local::Commit::DiffTreeLine, :git do
6
4
  include_examples 'source_target_fixtures', __FILE__ do
7
5
  def source_data(source_file)
8
6
  File.read(source_file).each_line.map do |line|
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/git/commit'
3
+ require 'tmpdir'
4
4
 
5
- RSpec.describe Avm::Git::Commit, :git do
5
+ RSpec.describe EacGit::Local::Commit, :git do
6
6
  let(:git) { stubbed_git_local_repo }
7
7
 
8
8
  let(:first_commit_sha1) do
@@ -26,9 +26,9 @@ RSpec.describe Avm::Git::Commit, :git do
26
26
  let(:first_commit) { described_class.new(git, first_commit_sha1) }
27
27
  let(:second_commit) { described_class.new(git, second_commit_sha1) }
28
28
 
29
- describe '#files' do
30
- it { expect(first_commit.files.count).to eq(2) }
31
- it { expect(second_commit.files.count).to eq(3) }
29
+ describe '#changed_files' do
30
+ it { expect(first_commit.changed_files.count).to eq(2) }
31
+ it { expect(second_commit.changed_files.count).to eq(3) }
32
32
 
33
33
  {
34
34
  'first_commit' => %w[a.txt b.txt],
@@ -37,16 +37,16 @@ RSpec.describe Avm::Git::Commit, :git do
37
37
  filenames.each do |filename|
38
38
  it "find file \"#{filename}\" in commit \"#{commit_name}\"" do
39
39
  commit = send(commit_name)
40
- file = commit.files.find { |f| f.path == filename }
41
- expect(file).to be_a(Avm::Git::Commit::File)
40
+ file = commit.changed_files.find { |f| f.path == filename }
41
+ expect(file).to be_a(EacGit::Local::Commit::ChangedFile)
42
42
  end
43
43
  end
44
44
  end
45
45
  end
46
46
 
47
- describe '#files_size' do
48
- it { expect(first_commit.files_size).to eq(6) }
49
- it { expect(second_commit.files_size).to eq(8) }
47
+ describe '#changed_files_size' do
48
+ it { expect(first_commit.changed_files_size).to eq(6) }
49
+ it { expect(second_commit.changed_files_size).to eq(8) }
50
50
  end
51
51
 
52
52
  describe '#root_child?' do
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'tmpdir'
4
+
5
+ RSpec.describe EacGit::Local, '#dirty_files', :git do
6
+ let(:repo) { stubbed_git_local_repo }
7
+ let(:dirty_files_paths) { Set.new(repo.dirty_files.lazy.map(&:path).map(&:to_path)) }
8
+
9
+ before do
10
+ repo.file('a_file').touch
11
+ repo.directory('b_directory').create.file('c_file').touch
12
+ repo.file('d file').touch
13
+ end
14
+
15
+ it do
16
+ expect(dirty_files_paths).to eq(Set.new(['a_file', 'b_directory/c_file', 'd file']))
17
+ end
18
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/git'
3
+ require 'eac_git'
4
4
  require 'eac_ruby_gem_support'
5
- EacRubyUtils::Rspec.default_setup_create(File.expand_path('..', __dir__)).stub_avm_contexts
5
+ EacRubyUtils::Rspec.default_setup_create(File.expand_path('..', __dir__))
@@ -0,0 +1,110 @@
1
+ ---
2
+ version: 0.4.1
3
+ date: Thu Jan 9 17:11:21 CST 2020
4
+ - Fix Bash version error messages and add to .rc
5
+ - Nicer YAML formatting in .travis.yml
6
+ - Wrap a long line
7
+ - Update the docs
8
+ - Force `make update` to always update docs
9
+ - Don't use XXX in perl stuff
10
+ - Add testing on MacOS
11
+ - Remove conflicting -C from install -d commands.
12
+ - Update version requirement documentation
13
+ - Correct error message in branch
14
+ - Use topo-order in subrepo branch
15
+ - Make “git subrepo clean -f ...” delete refs correctly
16
+ - Fix #410 Push empty repositories with recent git versions
17
+ - Make subrepo work when run in a worktree
18
+ - Simplify finding subrepos
19
+ - Ask git to find the .gitrepo files
20
+ - Doc: fix sentence repetition
21
+ - Fix typos
22
+ - Fixed typo
23
+ - Travis CI not checking out a branch.
24
+ ---
25
+ version: 0.4.0
26
+ date: Thu Nov 8 12:26:38 CET 2018
27
+ changes:
28
+ - Fix #325 Do not squash main repo commits
29
+ - Improve error message for worktree handling
30
+ - Make version checking portable. #307
31
+ - #307, improve version check
32
+ - #307, update version requirement
33
+ - Fix part #308, Add stderr output if commands fail
34
+ - Fix #306: Add check to prevent following commits with no .gitrepo
35
+ - Remove dry-run flag as it's not implemented. Make sure branch --force delete worktree
36
+ - Fix #296, Replace --first-parent with --ancestry-path
37
+ - Fix #291, specify Trusty host to get new 2.x git
38
+ - Fix #258, add --no-tags to git fetch
39
+ - Test that no remotes are created during clone
40
+ - #257 Remove remote creation to avoid problems with fetch --all
41
+ - (origin/issue/150_to_0.4.0) Fix remove-worktree, remove unused parameters
42
+ - Regenerate completion files
43
+ - filter-branch operation should not be done on HEAD
44
+ - Cleanup push and add hint to push directly after pull
45
+ - Simplify cleanup and add worktree to status
46
+ - Add --method option to init/clone, add a 'config' command
47
+ - Updated unit tests to support the new logic
48
+ - Use 'git worktree' for merge/rebase
49
+ - Update docs to reflect how things should work
50
+ - Make it possible to specify commit messages
51
+ - Redesign, trash the tree hash approach and use merges instead
52
+ - Add release branches to travis-ci
53
+ - Add --method option to init/clone, add a 'config' command
54
+ - Detect multiple pulls, use -u flag to decide
55
+ - Don't reuse previous commit message when using --all
56
+ - Update the docs for pull and push
57
+ - Update error messages when failing merge/rebase
58
+ - Fix env var bug in test/push.t
59
+ - Do not overwrite author information
60
+ ---
61
+ version: 0.3.1
62
+ date: Tue Jan 3 23:08:56 PST 2017
63
+ changes:
64
+ - Updated release for homebrew
65
+ - Fix #192
66
+ ---
67
+ version: 0.3.0
68
+ date: Wed Dec 2 19:19:43 PST 2015
69
+ changes:
70
+ - Fix issue #98 and host of others (89, 91, 95, 96)
71
+ - Adds support for the merge-base command
72
+ - Adds stability to many commands
73
+ - Command completion updates
74
+ - Rename `init` to `.rc`
75
+ - @grimmySwe++ @dzzh++ @jrosdahl++ @perlpunk++
76
+ ---
77
+ version: 0.2.3
78
+ date: Sun Aug 9 13:44:22 PDT 2015
79
+ changes:
80
+ - Fix issues #75 and #76
81
+ ---
82
+ version: 0.2.2
83
+ date: Wed Jul 22 09:45:13 PDT 2015
84
+ changes:
85
+ - Added the `init` subcommand
86
+ - Applied doc fixes
87
+ ---
88
+ version: 0.2.1
89
+ date: Sat Mar 28 07:52:22 PDT 2015
90
+ changes:
91
+ - Allows subrepo clone to clone to an empty branch; fixes #26.
92
+ - Refs in status
93
+ - Empty parent set to 'none' in .gitrepo file.
94
+ - Bug fixes
95
+ ---
96
+ version: 0.2.0
97
+ date: Sat Jan 24 06:22:05 PST 2015
98
+ changes:
99
+ - Massive overhaul
100
+ - .gitrepo files remain the same so backwards compatible
101
+ - Introduce the branch and commit subcommands
102
+ - The checkout subcommand goes away
103
+ - Operations work much smoother like normal Git flow
104
+ - Much more testing
105
+ - Better doc
106
+ ---
107
+ version: 0.1.0
108
+ date: Fri Feb 21 12:25:53 2014 -0800
109
+ changes:
110
+ - First version