eac_git 0.1.0 → 0.2.0

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 (190) hide show
  1. checksums.yaml +4 -4
  2. data/lib/eac_git/executables.rb +24 -4
  3. data/lib/eac_git/rspec.rb +17 -0
  4. data/lib/eac_git/version.rb +1 -1
  5. data/vendor/git-subrepo/Changes +110 -0
  6. data/vendor/git-subrepo/Intro.pod +509 -0
  7. data/vendor/git-subrepo/License +21 -0
  8. data/vendor/git-subrepo/Makefile +82 -0
  9. data/vendor/git-subrepo/Meta +28 -0
  10. data/vendor/git-subrepo/ReadMe.pod +698 -0
  11. data/vendor/git-subrepo/doc/comparison.swim +35 -0
  12. data/vendor/git-subrepo/doc/git-subrepo.swim +608 -0
  13. data/vendor/git-subrepo/doc/intro-to-subrepo.swim +387 -0
  14. data/vendor/git-subrepo/ext/bashplus/Changes +15 -0
  15. data/vendor/git-subrepo/ext/bashplus/License +21 -0
  16. data/vendor/git-subrepo/ext/bashplus/Makefile +45 -0
  17. data/vendor/git-subrepo/ext/bashplus/Meta +28 -0
  18. data/vendor/git-subrepo/ext/bashplus/ReadMe.pod +77 -0
  19. data/vendor/git-subrepo/ext/bashplus/bin/bash+ +43 -0
  20. data/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +61 -0
  21. data/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +92 -0
  22. data/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +134 -0
  23. data/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +134 -0
  24. data/vendor/git-subrepo/ext/bashplus/test/base.t +12 -0
  25. data/vendor/git-subrepo/ext/bashplus/test/fcopy.t +22 -0
  26. data/vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash +3 -0
  27. data/vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash +3 -0
  28. data/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +18 -0
  29. data/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +23 -0
  30. data/vendor/git-subrepo/ext/bashplus/test/test.bash +70 -0
  31. data/vendor/git-subrepo/ext/bashplus/test/use.t +19 -0
  32. data/vendor/git-subrepo/ext/test-more-bash/Changes +15 -0
  33. data/vendor/git-subrepo/ext/test-more-bash/License +21 -0
  34. data/vendor/git-subrepo/ext/test-more-bash/Makefile +20 -0
  35. data/vendor/git-subrepo/ext/test-more-bash/Meta +30 -0
  36. data/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +115 -0
  37. data/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +89 -0
  38. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +15 -0
  39. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +21 -0
  40. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +45 -0
  41. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +28 -0
  42. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +77 -0
  43. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +43 -0
  44. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +61 -0
  45. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +92 -0
  46. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +134 -0
  47. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +134 -0
  48. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +12 -0
  49. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +22 -0
  50. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +3 -0
  51. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +3 -0
  52. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +18 -0
  53. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +23 -0
  54. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/test.bash +70 -0
  55. data/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +19 -0
  56. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +15 -0
  57. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +21 -0
  58. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +37 -0
  59. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +28 -0
  60. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +66 -0
  61. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +48 -0
  62. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +153 -0
  63. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +119 -0
  64. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +13 -0
  65. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t +10 -0
  66. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +20 -0
  67. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +15 -0
  68. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +9 -0
  69. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t +9 -0
  70. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t +10 -0
  71. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +20 -0
  72. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +13 -0
  73. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +14 -0
  74. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +7 -0
  75. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +12 -0
  76. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +8 -0
  77. data/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +9 -0
  78. data/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +95 -0
  79. data/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +173 -0
  80. data/vendor/git-subrepo/ext/test-more-bash/test/fail.t +20 -0
  81. data/vendor/git-subrepo/ext/test-more-bash/test/more.t +20 -0
  82. data/vendor/git-subrepo/ext/test-more-bash/test/pass.t +9 -0
  83. data/vendor/git-subrepo/ext/test-more-bash/test/setup +8 -0
  84. data/vendor/git-subrepo/ext/test-more-bash/test/skip_all.t +11 -0
  85. data/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +12 -0
  86. data/vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t +10 -0
  87. data/vendor/git-subrepo/lib/git-subrepo +1901 -0
  88. data/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +1 -0
  89. data/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +339 -0
  90. data/vendor/git-subrepo/man/man1/git-subrepo.1 +743 -0
  91. data/vendor/git-subrepo/note/0.4.0 +12 -0
  92. data/vendor/git-subrepo/note/AllGitCmds +148 -0
  93. data/vendor/git-subrepo/note/Cases +32 -0
  94. data/vendor/git-subrepo/note/Commands +33 -0
  95. data/vendor/git-subrepo/note/Dags +199 -0
  96. data/vendor/git-subrepo/note/Gists +7 -0
  97. data/vendor/git-subrepo/note/Links +25 -0
  98. data/vendor/git-subrepo/note/Plugins +10 -0
  99. data/vendor/git-subrepo/note/Spec +39 -0
  100. data/vendor/git-subrepo/note/Story1 +57 -0
  101. data/vendor/git-subrepo/note/ToDo +55 -0
  102. data/vendor/git-subrepo/note/design.swim +137 -0
  103. data/vendor/git-subrepo/note/design2.swim +85 -0
  104. data/vendor/git-subrepo/note/init-test +38 -0
  105. data/vendor/git-subrepo/note/pull-dance.txt +18 -0
  106. data/vendor/git-subrepo/note/recreate-rebase-conflict.sh +56 -0
  107. data/vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash +29 -0
  108. data/vendor/git-subrepo/note/test-subrepo-push.sh +69 -0
  109. data/vendor/git-subrepo/note/test.sh +58 -0
  110. data/vendor/git-subrepo/pkg/bin/generate-completion.pl +210 -0
  111. data/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +89 -0
  112. data/vendor/git-subrepo/share/completion.bash +42 -0
  113. data/vendor/git-subrepo/share/enable-completion.sh +50 -0
  114. data/vendor/git-subrepo/share/git-completion.bash +2738 -0
  115. data/vendor/git-subrepo/share/zsh-completion/_git-subrepo +81 -0
  116. data/vendor/git-subrepo/test/branch-all.t +41 -0
  117. data/vendor/git-subrepo/test/branch-rev-list-one-path.t +43 -0
  118. data/vendor/git-subrepo/test/branch-rev-list.t +47 -0
  119. data/vendor/git-subrepo/test/branch.t +52 -0
  120. data/vendor/git-subrepo/test/clean.t +43 -0
  121. data/vendor/git-subrepo/test/clone-annotated-tag.t +45 -0
  122. data/vendor/git-subrepo/test/clone.t +107 -0
  123. data/vendor/git-subrepo/test/compile.t +19 -0
  124. data/vendor/git-subrepo/test/config.t +58 -0
  125. data/vendor/git-subrepo/test/encode.t +91 -0
  126. data/vendor/git-subrepo/test/error.t +171 -0
  127. data/vendor/git-subrepo/test/fetch.t +43 -0
  128. data/vendor/git-subrepo/test/gitignore.t +61 -0
  129. data/vendor/git-subrepo/test/init.t +64 -0
  130. data/vendor/git-subrepo/test/issue29.t +98 -0
  131. data/vendor/git-subrepo/test/issue95.t +98 -0
  132. data/vendor/git-subrepo/test/issue96.t +96 -0
  133. data/vendor/git-subrepo/test/pull-all.t +38 -0
  134. data/vendor/git-subrepo/test/pull-merge.t +113 -0
  135. data/vendor/git-subrepo/test/pull-message.t +88 -0
  136. data/vendor/git-subrepo/test/pull-new-branch.t +58 -0
  137. data/vendor/git-subrepo/test/pull-ours.t +90 -0
  138. data/vendor/git-subrepo/test/pull-theirs.t +82 -0
  139. data/vendor/git-subrepo/test/pull-twice.t +44 -0
  140. data/vendor/git-subrepo/test/pull-worktree.t +40 -0
  141. data/vendor/git-subrepo/test/pull.t +99 -0
  142. data/vendor/git-subrepo/test/push-after-init.t +51 -0
  143. data/vendor/git-subrepo/test/push-force.t +56 -0
  144. data/vendor/git-subrepo/test/push-new-branch.t +61 -0
  145. data/vendor/git-subrepo/test/push-no-changes.t +29 -0
  146. data/vendor/git-subrepo/test/push-squash.t +56 -0
  147. data/vendor/git-subrepo/test/push.t +176 -0
  148. data/vendor/git-subrepo/test/reclone.t +45 -0
  149. data/vendor/git-subrepo/test/repo/bar/HEAD +1 -0
  150. data/vendor/git-subrepo/test/repo/bar/config +4 -0
  151. data/vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
  152. data/vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
  153. data/vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
  154. data/vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
  155. data/vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  156. data/vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
  157. data/vendor/git-subrepo/test/repo/bar/refs/heads/master +1 -0
  158. data/vendor/git-subrepo/test/repo/bar/refs/tags/A +1 -0
  159. data/vendor/git-subrepo/test/repo/foo/HEAD +1 -0
  160. data/vendor/git-subrepo/test/repo/foo/config +4 -0
  161. data/vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
  162. data/vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
  163. data/vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  164. data/vendor/git-subrepo/test/repo/foo/refs/heads/master +1 -0
  165. data/vendor/git-subrepo/test/repo/init/HEAD +1 -0
  166. data/vendor/git-subrepo/test/repo/init/config +5 -0
  167. data/vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
  168. data/vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
  169. data/vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +2 -0
  170. data/vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
  171. data/vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
  172. data/vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
  173. data/vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
  174. data/vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
  175. data/vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +1 -0
  176. data/vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
  177. data/vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
  178. data/vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +1 -0
  179. data/vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
  180. data/vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
  181. data/vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +3 -0
  182. data/vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +2 -0
  183. data/vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +2 -0
  184. data/vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +1 -0
  185. data/vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
  186. data/vendor/git-subrepo/test/repo/init/refs/heads/master +1 -0
  187. data/vendor/git-subrepo/test/setup +205 -0
  188. data/vendor/git-subrepo/test/status.t +68 -0
  189. data/vendor/git-subrepo/test/submodule.t +45 -0
  190. metadata +188 -2
@@ -0,0 +1 @@
1
+ ref: refs/heads/master
@@ -0,0 +1,4 @@
1
+ [core]
2
+ repositoryformatversion = 0
3
+ filemode = true
4
+ bare = true
@@ -0,0 +1 @@
1
+ 94c86ffc745232d89f78c6f895e11e71272518db
@@ -0,0 +1 @@
1
+ f62a8ff3feadf39b0a98f1a86ec6d1eb33858ee9
@@ -0,0 +1 @@
1
+ ref: refs/heads/master
@@ -0,0 +1,4 @@
1
+ [core]
2
+ repositoryformatversion = 0
3
+ filemode = true
4
+ bare = true
@@ -0,0 +1 @@
1
+ e21291a1ad392a9d4c51dd9586804f1467b28afd
@@ -0,0 +1 @@
1
+ ref: refs/heads/master
@@ -0,0 +1,5 @@
1
+ [core]
2
+ repositoryformatversion = 0
3
+ filemode = true
4
+ bare = false
5
+ logallrefupdates = true
@@ -0,0 +1,2 @@
1
+ x���M�0E9��i`W����B� =�x&�qPv���j(��JP�'=�?��uY�� Ím�4VK�)I������"�C.�F�{�M�A��Ap�5d,���$M�9�Z2sF�������������Q
2
+ �e_*\�,m;�oE�Zf
@@ -0,0 +1 @@
1
+ x-�A�0 9���N}@���6�!��%n+~��*�qf6�F\o��0��F�X��!< w�f�X�0�+��͆~������2�| a4oԱ�L��gM��(��/�©`gDr��∹���1�
@@ -0,0 +1 @@
1
+ x+)JMU06g040031Q���,�+.��eѺ��M���_s���Nҧc]�kGa1
@@ -0,0 +1,3 @@
1
+ x-�Q
2
+ �0P���
3
+ "���[�&Y��6+����
@@ -0,0 +1,2 @@
1
+ x5N�
2
+ 1�_�PA���^��a;X[i�,���A!�!�<b���ywM�A4yW!�0/j�#:�Em>N�M�j�x����Sm���K9�C���`�C��Ɠ�'R�����d_�]^�T�l�����CM��
@@ -0,0 +1,2 @@
1
+ x5N�
2
+ 1 �ܯ����^�հ
@@ -0,0 +1 @@
1
+ x+)JMU06a040031QJML�Me�xF*�Z�!Ɓ?�Ԫ����Ļ�ru
@@ -0,0 +1 @@
1
+ 325180321750a21cd7a4e7ecda319e557a4f6a09
@@ -0,0 +1,205 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -e
4
+
5
+ # Set the GIT_SUBREPO_ROOT for testing.
6
+ source $PWD/.rc
7
+
8
+ # Set this locally for Windows:
9
+ git config core.autocrlf input
10
+
11
+ export BASHLIB="`
12
+ find $PWD -type d |
13
+ grep -E '/(bin|lib)$' |
14
+ xargs -n1 printf "%s:"
15
+ `"
16
+ export PATH="$BASHLIB:$PATH"
17
+ source bash+ :std
18
+
19
+ source 'lib/git-subrepo'
20
+
21
+ # TODO: Move to test/tmp
22
+ export TMP="tmp"
23
+ rm -fr $TMP
24
+
25
+ #export GIT_EXEC_PATH="$PWD/lib:$(git --exec-path)"
26
+ export UPSTREAM="$TMP/upstream"
27
+ export OWNER="$TMP/owner"
28
+ export COLLAB="$TMP/collab"
29
+
30
+ mkdir -p "$UPSTREAM" "$OWNER" "$COLLAB"
31
+
32
+ cp -r test/repo/{foo,bar,init} "$UPSTREAM/"
33
+
34
+ ###
35
+ # Test helper functions:
36
+ ###
37
+ clone-foo-and-bar() {
38
+ (
39
+ # foo will act as the main repo
40
+ git clone $UPSTREAM/foo $OWNER/foo
41
+ (
42
+ cd $OWNER/foo
43
+ git config core.autocrlf input
44
+ git config user.name "FooUser"
45
+ git config user.email "foo@foo"
46
+ )
47
+ # bar will act as the subrepo
48
+ git clone $UPSTREAM/bar $OWNER/bar
49
+ (
50
+ cd $OWNER/bar
51
+ git config core.autocrlf input
52
+ git config user.name "BarUser"
53
+ git config user.email "bar@bar"
54
+ )
55
+ ) &> /dev/null || die
56
+ }
57
+
58
+ subrepo-clone-bar-into-foo() {
59
+ (
60
+ cd $OWNER/foo
61
+ git subrepo clone ../../../$UPSTREAM/bar
62
+ ) &> /dev/null || die
63
+ }
64
+
65
+ add-new-files() {
66
+ local file
67
+ for file in $*; do
68
+ echo "new file $file" > "$file"
69
+ git add "$file"
70
+ done
71
+ git commit --quiet -m "add new file: $file" &> /dev/null
72
+ }
73
+
74
+ remove-files() {
75
+ local file
76
+ for file in $*; do
77
+ git rm "$file"
78
+ done
79
+ git commit --quiet -m "Removed file: $file" &> /dev/null
80
+ }
81
+
82
+ modify-files() {
83
+ local file
84
+ for file in $*; do
85
+ echo 'a new line' >> "$file"
86
+ git add "$file"
87
+ done
88
+ git commit -m "modified file: $file"
89
+ }
90
+
91
+ modify-files-ex() {
92
+ local file
93
+ for file in $*; do
94
+ echo "$file" >> "$file"
95
+ git add "$file"
96
+ done
97
+ git commit -m "modified file: $file"
98
+ }
99
+
100
+ test-exists() {
101
+ for f in "$@"; do
102
+ if [[ $f =~ ^! ]]; then
103
+ f="${f#!}"
104
+ if [[ $f =~ /$ ]]; then
105
+ ok "`[ ! -d "$f" ]`" \
106
+ "Directory '$f' does not exist"
107
+ else
108
+ ok "`[ ! -f "$f" ]`" \
109
+ "File '$f' does not exist"
110
+ fi
111
+ else
112
+ if [[ $f =~ /$ ]]; then
113
+ ok "`[ -d "$f" ]`" \
114
+ "Directory '$f' exists"
115
+ else
116
+ ok "`[ -f "$f" ]`" \
117
+ "File '$f' exists"
118
+ fi
119
+ fi
120
+ done
121
+ }
122
+
123
+ test-exists-in-index() {
124
+ for f in $*; do
125
+ if [[ "$f" =~ ^! ]]; then
126
+ f="${f#!}"
127
+ if [[ "$f" =~ /$ ]]; then
128
+ ok "`[ ! $(git ls-tree --full-tree --name-only -r HEAD "$f") ]`" \
129
+ "Directory '$f' does not exist in index"
130
+ else
131
+ ok "`[ ! $(git ls-tree --full-tree --name-only -r HEAD "$f") ]`" \
132
+ "File '$f' does not exist in index"
133
+ fi
134
+ else
135
+ if [[ "$f" =~ /$ ]]; then
136
+ ok "`[ $(git ls-tree --full-tree --name-only -r HEAD "$f") ]`" \
137
+ "Directory '$f' exists in index"
138
+ else
139
+ ok "`[ $(git ls-tree --full-tree --name-only -r HEAD "$f") ]`" \
140
+ "File '$f' exists in index"
141
+ fi
142
+ fi
143
+ done
144
+ }
145
+
146
+ test-gitrepo-comment-block() {
147
+ is "$(grep -E '^;' $gitrepo)" "\
148
+ ; DO NOT EDIT (unless you know what you are doing)
149
+ ;
150
+ ; This subdirectory is a git \"subrepo\", and this file is maintained by the
151
+ ; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
152
+ ;" \
153
+ 'Comment header block is correct'
154
+ }
155
+
156
+ test-gitrepo-field() {
157
+ is "`git config -f $gitrepo subrepo.$1`" \
158
+ "$2" \
159
+ ".gitrepo $1 is correct"
160
+ }
161
+
162
+ test-commit-count() {
163
+ is "`cd $1; git rev-list --count $2`" \
164
+ "$3" \
165
+ "commit count is correct"
166
+ }
167
+
168
+ save-original-state() {
169
+ original_head_ref="$(cd $1; cat .git/HEAD)"
170
+ original_branch="${original_head_ref#ref: refs/heads/}"
171
+ original_head_commit="$(cd $1; git rev-parse HEAD)"
172
+ original_gitrepo="$(cd $1; cat $2/.gitrepo)"
173
+ }
174
+
175
+ assert-original-state() {
176
+ current_head_ref="$(cd $1; cat .git/HEAD)"
177
+ current_branch="${current_head_ref#ref: refs/heads/}"
178
+ current_head_commit="$(cd $1; git rev-parse HEAD)"
179
+ current_gitrepo="$(cd $1; cat $2/.gitrepo)"
180
+
181
+ is "$current_head_ref" \
182
+ "$original_head_ref" \
183
+ "Current HEAD is still $original_head_ref"
184
+
185
+ is "$current_branch" \
186
+ "$original_branch" \
187
+ "Current branch is still $original_branch"
188
+
189
+ is "$current_head_commit" \
190
+ "$original_head_commit" \
191
+ "Current HEAD commit is still $original_head_commit"
192
+
193
+ is "$current_gitrepo" \
194
+ "$original_gitrepo" \
195
+ "$2/.gitrepo has not changed"
196
+ }
197
+
198
+ catch() {
199
+ local error=; error="$("$@" 2>&1 || true)"
200
+ echo "$error"
201
+ }
202
+
203
+ teardown() {
204
+ rm -fr $TMP
205
+ }
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -e
4
+
5
+ source test/setup
6
+
7
+ use Test::More
8
+
9
+ {
10
+ output="$(git subrepo status)"
11
+
12
+ like "$output" "2 subrepos:" \
13
+ "'status' intro ok"
14
+
15
+ like "$output" "Git subrepo 'ext/bashplus':" \
16
+ "ext/bashplus is in 'status'"
17
+
18
+ like "$output" "Git subrepo 'ext/test-more-bash':" \
19
+ "ext/test-more-bash is in 'status'"
20
+
21
+ unlike "$output" "Git subrepo 'ext/test-more-bash/ext/bashplus':" \
22
+ "ext/test-more-bash/ext/bashplus is not in 'status'"
23
+
24
+ unlike "$output" "Git subrepo 'ext/test-more-bash/ext/test-tap-bash':" \
25
+ "ext/test-more-bash/ext/test-tap-bash is not in 'status'"
26
+ }
27
+
28
+ {
29
+ output="$(git subrepo status --ALL)"
30
+
31
+ like "$output" "4 subrepos:" \
32
+ "'status --ALL' intro ok"
33
+
34
+ like "$output" "Git subrepo 'ext/bashplus':" \
35
+ "ext/bashplus is in 'status --ALL'"
36
+
37
+ like "$output" "Git subrepo 'ext/test-more-bash':" \
38
+ "ext/test-more-bash is in 'status --ALL'"
39
+
40
+ like "$output" "Git subrepo 'ext/test-more-bash/ext/bashplus':" \
41
+ "ext/test-more-bash/ext/bashplus is in 'status --ALL'"
42
+
43
+ like "$output" "Git subrepo 'ext/test-more-bash/ext/test-tap-bash':" \
44
+ "ext/test-more-bash/ext/test-tap-bash is in 'status --ALL'"
45
+ }
46
+
47
+ {
48
+ output="$(git subrepo status --all)"
49
+
50
+ like "$output" "2 subrepos:" \
51
+ "'status --all' intro ok"
52
+
53
+ like "$output" "Git subrepo 'ext/bashplus':" \
54
+ "ext/bashplus is in 'status --all'"
55
+
56
+ like "$output" "Git subrepo 'ext/test-more-bash':" \
57
+ "ext/test-more-bash is in 'status --all'"
58
+
59
+ unlike "$output" "Git subrepo 'ext/test-more-bash/ext/bashplus':" \
60
+ "ext/test-more-bash/ext/bashplus is not in 'status --all'"
61
+
62
+ unlike "$output" "Git subrepo 'ext/test-more-bash/ext/test-tap-bash':" \
63
+ "ext/test-more-bash/ext/test-tap-bash is not in 'status --all'"
64
+ }
65
+
66
+ done_testing 15
67
+
68
+ teardown
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Test that a subrepo that contains a submodule retains the submodule reference
4
+ # so that the tree hash stays the same. (However, the subrepo's submodule won't
5
+ # be directly usable since the .gitmodules file isn't in the top level.)
6
+
7
+ set -e
8
+
9
+ source test/setup
10
+
11
+ use Test::More
12
+
13
+ clone-foo-and-bar
14
+
15
+ # Add submodule reference along with a new file to the bar repo:
16
+ (
17
+ cd $OWNER/bar
18
+ git clone ../foo submodule
19
+ add-new-files file
20
+ git add submodule file
21
+ git commit --amend -C HEAD
22
+ ) &> /dev/null || die
23
+
24
+ (
25
+ cd $OWNER/foo
26
+ git subrepo clone ../bar
27
+ ) &> /dev/null || die
28
+
29
+ (
30
+ cd $OWNER/bar
31
+ modify-files file
32
+ ) &> /dev/null || die
33
+
34
+ {
35
+ is "$(
36
+ cd $OWNER/foo
37
+ git subrepo pull bar
38
+ )" \
39
+ "Subrepo 'bar' pulled from '../bar' (master)." \
40
+ 'subrepo pull command output is correct'
41
+ }
42
+
43
+ done_testing
44
+
45
+ teardown
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-25 00:00:00.000000000 Z
11
+ date: 2020-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eac_ruby_utils
@@ -77,7 +77,193 @@ files:
77
77
  - lib/eac_git/local/subrepo/config.rb
78
78
  - lib/eac_git/remote.rb
79
79
  - lib/eac_git/remote/ls_result.rb
80
+ - lib/eac_git/rspec.rb
80
81
  - lib/eac_git/version.rb
82
+ - vendor/git-subrepo/Changes
83
+ - vendor/git-subrepo/Intro.pod
84
+ - vendor/git-subrepo/License
85
+ - vendor/git-subrepo/Makefile
86
+ - vendor/git-subrepo/Meta
87
+ - vendor/git-subrepo/ReadMe.pod
88
+ - vendor/git-subrepo/doc/comparison.swim
89
+ - vendor/git-subrepo/doc/git-subrepo.swim
90
+ - vendor/git-subrepo/doc/intro-to-subrepo.swim
91
+ - vendor/git-subrepo/ext/bashplus/Changes
92
+ - vendor/git-subrepo/ext/bashplus/License
93
+ - vendor/git-subrepo/ext/bashplus/Makefile
94
+ - vendor/git-subrepo/ext/bashplus/Meta
95
+ - vendor/git-subrepo/ext/bashplus/ReadMe.pod
96
+ - vendor/git-subrepo/ext/bashplus/bin/bash+
97
+ - vendor/git-subrepo/ext/bashplus/doc/bash+.swim
98
+ - vendor/git-subrepo/ext/bashplus/lib/bash+.bash
99
+ - vendor/git-subrepo/ext/bashplus/man/man1/bash+.1
100
+ - vendor/git-subrepo/ext/bashplus/man/man3/bash+.3
101
+ - vendor/git-subrepo/ext/bashplus/test/base.t
102
+ - vendor/git-subrepo/ext/bashplus/test/fcopy.t
103
+ - vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash
104
+ - vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash
105
+ - vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t
106
+ - vendor/git-subrepo/ext/bashplus/test/source-bash+.t
107
+ - vendor/git-subrepo/ext/bashplus/test/test.bash
108
+ - vendor/git-subrepo/ext/bashplus/test/use.t
109
+ - vendor/git-subrepo/ext/test-more-bash/Changes
110
+ - vendor/git-subrepo/ext/test-more-bash/License
111
+ - vendor/git-subrepo/ext/test-more-bash/Makefile
112
+ - vendor/git-subrepo/ext/test-more-bash/Meta
113
+ - vendor/git-subrepo/ext/test-more-bash/ReadMe.pod
114
+ - vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim
115
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes
116
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License
117
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile
118
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta
119
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod
120
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+
121
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim
122
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash
123
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1
124
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3
125
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t
126
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t
127
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash
128
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash
129
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t
130
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t
131
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/test.bash
132
+ - vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t
133
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes
134
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License
135
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile
136
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta
137
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod
138
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim
139
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash
140
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3
141
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t
142
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t
143
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t
144
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t
145
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash
146
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t
147
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t
148
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t
149
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t
150
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t
151
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t
152
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t
153
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t
154
+ - vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t
155
+ - vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash
156
+ - vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3
157
+ - vendor/git-subrepo/ext/test-more-bash/test/fail.t
158
+ - vendor/git-subrepo/ext/test-more-bash/test/more.t
159
+ - vendor/git-subrepo/ext/test-more-bash/test/pass.t
160
+ - vendor/git-subrepo/ext/test-more-bash/test/setup
161
+ - vendor/git-subrepo/ext/test-more-bash/test/skip_all.t
162
+ - vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t
163
+ - vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t
164
+ - vendor/git-subrepo/lib/git-subrepo
165
+ - vendor/git-subrepo/lib/git-subrepo.d/bash+.bash
166
+ - vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash
167
+ - vendor/git-subrepo/man/man1/git-subrepo.1
168
+ - vendor/git-subrepo/note/0.4.0
169
+ - vendor/git-subrepo/note/AllGitCmds
170
+ - vendor/git-subrepo/note/Cases
171
+ - vendor/git-subrepo/note/Commands
172
+ - vendor/git-subrepo/note/Dags
173
+ - vendor/git-subrepo/note/Gists
174
+ - vendor/git-subrepo/note/Links
175
+ - vendor/git-subrepo/note/Plugins
176
+ - vendor/git-subrepo/note/Spec
177
+ - vendor/git-subrepo/note/Story1
178
+ - vendor/git-subrepo/note/ToDo
179
+ - vendor/git-subrepo/note/design.swim
180
+ - vendor/git-subrepo/note/design2.swim
181
+ - vendor/git-subrepo/note/init-test
182
+ - vendor/git-subrepo/note/pull-dance.txt
183
+ - vendor/git-subrepo/note/recreate-rebase-conflict.sh
184
+ - vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash
185
+ - vendor/git-subrepo/note/test-subrepo-push.sh
186
+ - vendor/git-subrepo/note/test.sh
187
+ - vendor/git-subrepo/pkg/bin/generate-completion.pl
188
+ - vendor/git-subrepo/pkg/bin/generate-help-functions.pl
189
+ - vendor/git-subrepo/share/completion.bash
190
+ - vendor/git-subrepo/share/enable-completion.sh
191
+ - vendor/git-subrepo/share/git-completion.bash
192
+ - vendor/git-subrepo/share/zsh-completion/_git-subrepo
193
+ - vendor/git-subrepo/test/branch-all.t
194
+ - vendor/git-subrepo/test/branch-rev-list-one-path.t
195
+ - vendor/git-subrepo/test/branch-rev-list.t
196
+ - vendor/git-subrepo/test/branch.t
197
+ - vendor/git-subrepo/test/clean.t
198
+ - vendor/git-subrepo/test/clone-annotated-tag.t
199
+ - vendor/git-subrepo/test/clone.t
200
+ - vendor/git-subrepo/test/compile.t
201
+ - vendor/git-subrepo/test/config.t
202
+ - vendor/git-subrepo/test/encode.t
203
+ - vendor/git-subrepo/test/error.t
204
+ - vendor/git-subrepo/test/fetch.t
205
+ - vendor/git-subrepo/test/gitignore.t
206
+ - vendor/git-subrepo/test/init.t
207
+ - vendor/git-subrepo/test/issue29.t
208
+ - vendor/git-subrepo/test/issue95.t
209
+ - vendor/git-subrepo/test/issue96.t
210
+ - vendor/git-subrepo/test/pull-all.t
211
+ - vendor/git-subrepo/test/pull-merge.t
212
+ - vendor/git-subrepo/test/pull-message.t
213
+ - vendor/git-subrepo/test/pull-new-branch.t
214
+ - vendor/git-subrepo/test/pull-ours.t
215
+ - vendor/git-subrepo/test/pull-theirs.t
216
+ - vendor/git-subrepo/test/pull-twice.t
217
+ - vendor/git-subrepo/test/pull-worktree.t
218
+ - vendor/git-subrepo/test/pull.t
219
+ - vendor/git-subrepo/test/push-after-init.t
220
+ - vendor/git-subrepo/test/push-force.t
221
+ - vendor/git-subrepo/test/push-new-branch.t
222
+ - vendor/git-subrepo/test/push-no-changes.t
223
+ - vendor/git-subrepo/test/push-squash.t
224
+ - vendor/git-subrepo/test/push.t
225
+ - vendor/git-subrepo/test/reclone.t
226
+ - vendor/git-subrepo/test/repo/bar/HEAD
227
+ - vendor/git-subrepo/test/repo/bar/config
228
+ - vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6
229
+ - vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69
230
+ - vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db
231
+ - vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c
232
+ - vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
233
+ - vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9
234
+ - vendor/git-subrepo/test/repo/bar/refs/heads/master
235
+ - vendor/git-subrepo/test/repo/bar/refs/tags/A
236
+ - vendor/git-subrepo/test/repo/foo/HEAD
237
+ - vendor/git-subrepo/test/repo/foo/config
238
+ - vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8
239
+ - vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd
240
+ - vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
241
+ - vendor/git-subrepo/test/repo/foo/refs/heads/master
242
+ - vendor/git-subrepo/test/repo/init/HEAD
243
+ - vendor/git-subrepo/test/repo/init/config
244
+ - vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386
245
+ - vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad
246
+ - vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09
247
+ - vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36
248
+ - vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19
249
+ - vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b
250
+ - vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3
251
+ - vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd
252
+ - vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2
253
+ - vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20
254
+ - vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd
255
+ - vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a
256
+ - vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479
257
+ - vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882
258
+ - vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa
259
+ - vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626
260
+ - vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135
261
+ - vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1
262
+ - vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b
263
+ - vendor/git-subrepo/test/repo/init/refs/heads/master
264
+ - vendor/git-subrepo/test/setup
265
+ - vendor/git-subrepo/test/status.t
266
+ - vendor/git-subrepo/test/submodule.t
81
267
  homepage:
82
268
  licenses: []
83
269
  metadata: {}