git_wit 0.0.3 → 0.0.4.pre

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 (195) hide show
  1. data/README.md +105 -157
  2. data/app/controllers/git_wit/git_controller.rb +37 -23
  3. data/bin/git_wit +4 -0
  4. data/config/routes.rb +2 -2
  5. data/lib/generators/git_wit/install/install_generator.rb +42 -11
  6. data/lib/generators/git_wit/{templates → install/templates}/README +0 -0
  7. data/lib/generators/git_wit/{templates → install/templates}/git_wit.rb +21 -11
  8. data/lib/generators/git_wit/ssh_user/USAGE +11 -0
  9. data/lib/generators/git_wit/ssh_user/ssh_user_generator.rb +53 -0
  10. data/lib/generators/git_wit/ssh_user/templates/bashrc.tt +7 -0
  11. data/lib/generators/git_wit/ssh_user/templates/sudoers.tt +12 -0
  12. data/lib/git_wit.rb +19 -4
  13. data/lib/git_wit/actions.rb +17 -0
  14. data/lib/git_wit/actions/dscl.rb +15 -0
  15. data/lib/git_wit/actions/dscl/base.rb +75 -0
  16. data/lib/git_wit/actions/dscl/group.rb +20 -0
  17. data/lib/git_wit/actions/dscl/group_membership.rb +30 -0
  18. data/lib/git_wit/actions/dscl/user.rb +39 -0
  19. data/lib/git_wit/actions/ssh.rb +11 -0
  20. data/lib/git_wit/actions/ssh/home.rb +55 -0
  21. data/lib/git_wit/actions/ssh/sudoers.rb +94 -0
  22. data/lib/git_wit/auth.rb +2 -2
  23. data/lib/git_wit/authorized_keys.rb +45 -88
  24. data/lib/git_wit/authorized_keys/file.rb +61 -0
  25. data/lib/git_wit/authorized_keys/key.rb +15 -0
  26. data/lib/git_wit/cli.rb +19 -0
  27. data/lib/git_wit/commands/debug.rb +21 -0
  28. data/lib/git_wit/commands/git_shell.rb +48 -0
  29. data/lib/git_wit/commands/util.rb +37 -0
  30. data/lib/git_wit/errors.rb +1 -0
  31. data/lib/git_wit/version.rb +2 -1
  32. data/lib/tasks/git_wit.rake +46 -0
  33. data/test/dummy/bin/coderay +16 -0
  34. data/test/dummy/bin/erubis +16 -0
  35. data/test/dummy/bin/git_wit +16 -0
  36. data/test/dummy/bin/htmldiff +16 -0
  37. data/test/dummy/bin/ldiff +16 -0
  38. data/test/dummy/bin/posix-spawn-benchmark +16 -0
  39. data/test/dummy/bin/pry +16 -0
  40. data/test/dummy/bin/rackup +16 -0
  41. data/test/dummy/bin/rails +16 -0
  42. data/test/dummy/bin/rake +16 -0
  43. data/test/dummy/bin/rake2thor +16 -0
  44. data/test/dummy/bin/rdoc +16 -0
  45. data/test/dummy/bin/ri +16 -0
  46. data/test/dummy/bin/sprockets +16 -0
  47. data/test/dummy/bin/thor +16 -0
  48. data/test/dummy/bin/tilt +16 -0
  49. data/test/dummy/bin/tt +16 -0
  50. data/test/dummy/bin/tunnels +16 -0
  51. data/test/dummy/config/initializers/git_wit.rb +33 -24
  52. data/test/dummy/db/development.sqlite3 +0 -0
  53. data/test/dummy/db/test.sqlite3 +0 -0
  54. data/test/dummy/log/development.log +1639 -5391
  55. data/test/dummy/log/test.log +108 -2
  56. data/test/dummy/tmp/pids/server.pid +1 -0
  57. data/test/unit/auth_test.rb +10 -6
  58. data/test/unit/authorized_keys_test.rb +5 -5
  59. data/test/unit/config_test.rb +15 -11
  60. data/test/unit/shell_test.rb +5 -5
  61. metadata +84 -278
  62. data/bin/gw-shell +0 -4
  63. data/lib/tasks/git_wit_shell.rake +0 -8
  64. data/test/dummy/tmp/cache/assets/C7E/BC0/sprockets%2Fb7118f368364962573a44054bcfb80d0 +0 -0
  65. data/test/dummy/tmp/cache/assets/C80/840/sprockets%2F562c2d168da585f80579347d10790a0a +0 -0
  66. data/test/dummy/tmp/cache/assets/C8C/B80/sprockets%2F371bf96e99717688ed7313a0c53f4212 +0 -0
  67. data/test/dummy/tmp/cache/assets/C9C/700/sprockets%2Fc7b1373dbf219a8722efc21160641340 +0 -0
  68. data/test/dummy/tmp/cache/assets/C9E/5F0/sprockets%2F2bca2b107bb6c26b720d135270688918 +0 -0
  69. data/test/dummy/tmp/cache/assets/CA9/9C0/sprockets%2F0c1b7ebd087418498ea6037225d33d25 +0 -0
  70. data/test/dummy/tmp/cache/assets/CC8/B00/sprockets%2F9815364bfd49ed907870e270d75a995a +0 -0
  71. data/test/dummy/tmp/cache/assets/CD1/800/sprockets%2Fc044b140dcef533c52712c7b51e21996 +0 -0
  72. data/test/dummy/tmp/cache/assets/CD5/2C0/sprockets%2F166c056119ebdfb8b7104c97b424b423 +0 -0
  73. data/test/dummy/tmp/cache/assets/CD7/380/sprockets%2F4079ce1dbbcf4a599527303670006b6b +0 -0
  74. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  75. data/test/dummy/tmp/cache/assets/CE0/CC0/sprockets%2F2b38c3fb549036de5c4666637a0c80c6 +0 -0
  76. data/test/dummy/tmp/cache/assets/CEC/B70/sprockets%2F7f98753ca8c35e4249363a04389b3caf +0 -0
  77. data/test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2 +0 -0
  78. data/test/dummy/tmp/cache/assets/CF9/980/sprockets%2Fbd55042e1acd32eb611041444d794d4d +0 -0
  79. data/test/dummy/tmp/cache/assets/CFD/560/sprockets%2Fe4e7fe4ee089382325686f806b939d3e +0 -0
  80. data/test/dummy/tmp/cache/assets/D00/B90/sprockets%2F07c00c80f1ea62d95a01f11f9c728b72 +0 -0
  81. data/test/dummy/tmp/cache/assets/D0D/9A0/sprockets%2F1fce44192cdb30f44b7545a37c9891b2 +0 -0
  82. data/test/dummy/tmp/cache/assets/D0F/390/sprockets%2F9df081609c3449ab40c93b1cf07de357 +0 -0
  83. data/test/dummy/tmp/cache/assets/D25/A60/sprockets%2F0e036061ad22b2e6dce1639b234cf15c +0 -0
  84. data/test/dummy/tmp/cache/assets/D27/DB0/sprockets%2Fa3a0a778855bce9fa47913d389ea9884 +0 -0
  85. data/test/dummy/tmp/cache/assets/D29/5A0/sprockets%2Fdad9e81b43ca12671246ee52a1900d0c +0 -0
  86. data/test/dummy/tmp/cache/assets/D2E/FF0/sprockets%2Fc06112642c994b6b7c2ba6632fad1fd0 +0 -0
  87. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  88. data/test/dummy/tmp/cache/assets/D36/120/sprockets%2Feac54bd3c540af6b964d025e345227d6 +0 -0
  89. data/test/dummy/tmp/cache/assets/D3E/240/sprockets%2F84b96d6b2d2653cb4127b06d8acb990d +0 -0
  90. data/test/dummy/tmp/cache/assets/D3F/830/sprockets%2F18578d4ef3abd6e12d836841dd6b8a00 +0 -0
  91. data/test/dummy/tmp/cache/assets/D4B/E70/sprockets%2F0909bc70e589d40a6cd90dfe6f18257e +0 -0
  92. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  93. data/test/dummy/tmp/cache/assets/D57/3D0/sprockets%2F7bbccc5129a5013b70831ec9ad62ab24 +0 -0
  94. data/test/dummy/tmp/cache/assets/D5A/000/sprockets%2F7d4f67f146b6d7904dfc4edd9135f588 +0 -0
  95. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  96. data/test/dummy/tmp/cache/assets/D5B/BB0/sprockets%2Fba769276c4de14151bc4202cba7f3ad3 +0 -0
  97. data/test/dummy/tmp/cache/assets/D5E/BC0/sprockets%2F2d96fa667066778db858d7b7cb0fce69 +0 -0
  98. data/test/dummy/tmp/cache/assets/D6E/BA0/sprockets%2F5178d3788fe35a52acb5f3bd22ea078a +0 -0
  99. data/test/dummy/tmp/cache/assets/D6F/C20/sprockets%2F22e783a8f5f9224f01e8e62fab6afb40 +0 -0
  100. data/test/dummy/tmp/cache/assets/D76/5C0/sprockets%2Fd8a5669df31f129f355283e6dab4c5ad +0 -0
  101. data/test/dummy/tmp/cache/assets/D79/DE0/sprockets%2F7cfd335e68d881b03f6b7f1bd91f270f +0 -0
  102. data/test/dummy/tmp/cache/assets/D8A/CA0/sprockets%2F656af8b87ad378e8e4f2ec94b6b5c719 +0 -0
  103. data/test/dummy/tmp/cache/assets/D8C/620/sprockets%2Ff37f8e5b8cccd9880276a9f5157d4c7e +0 -0
  104. data/test/dummy/tmp/cache/assets/D92/200/sprockets%2Fb816d858281027bdd3fe2bfac43b4ca1 +0 -0
  105. data/test/dummy/tmp/cache/assets/D92/CE0/sprockets%2Ffca6a13676a2be09234905f9acae22cd +0 -0
  106. data/test/dummy/tmp/cache/assets/D96/9E0/sprockets%2F6fabecd33f7a5a087f4fb6a2d6312443 +0 -0
  107. data/test/dummy/tmp/cache/assets/DA2/D20/sprockets%2Ff5faf079fb660bde5bc9502bde442088 +0 -0
  108. data/test/dummy/tmp/cache/assets/DA5/570/sprockets%2F3517de599b6fd005bc5d5d69ba5ff1e2 +0 -0
  109. data/test/dummy/tmp/cache/assets/DA7/070/sprockets%2F69eadf8c3a94b04fe0b4992ee4a8c821 +0 -0
  110. data/test/dummy/tmp/cache/assets/DBA/BF0/sprockets%2Fe63ea1d7bfb0ee50380debe42360a3b5 +0 -0
  111. data/test/dummy/tmp/cache/assets/DBB/3B0/sprockets%2F6a0aaa6c5b0d10b936e237a7ecb4e4c9 +0 -0
  112. data/test/dummy/tmp/cache/assets/DBC/8E0/sprockets%2F908976cfbcdf6ad4c59737bf3c78e1e8 +0 -0
  113. data/test/dummy/tmp/cache/assets/DD3/FD0/sprockets%2Febf97c76a9ba2a889dd01be2caa75806 +0 -0
  114. data/test/dummy/tmp/cache/assets/DD8/410/sprockets%2Fc02eeb7ea977fd713cc19ca93d838af4 +0 -0
  115. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  116. data/test/dummy/tmp/cache/assets/DEA/E40/sprockets%2F4166d7d00d1e72fed2004debed2bea3e +0 -0
  117. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  118. data/test/dummy/tmp/cache/assets/E05/C70/sprockets%2Fccd814ec859d582ada46e271edfe7ae1 +0 -0
  119. data/test/dummy/tmp/cache/assets/E0C/2A0/sprockets%2F37c59fadd9a21cab7d05d78a7dfe7e85 +0 -0
  120. data/test/dummy/tmp/cache/assets/E28/130/sprockets%2F6f332ca43b7ed658d90b8ba5daaa5ded +0 -0
  121. data/test/dummy/tmp/cache/assets/E3B/080/sprockets%2F09e2a090befacdae0db10cafb1893a0a +0 -0
  122. data/test/dummy/tmp/cache/assets/E65/CD0/sprockets%2F93cdf3fec0e3aa6deefa955c6828fbd0 +0 -0
  123. data/test/dummy/tmp/cache/assets/E9F/450/sprockets%2Fbbfdc5edaaf25dfdb5ee8f9db7895435 +0 -0
  124. data/test/dummy/tmp/git/fuck.git/HEAD +0 -1
  125. data/test/dummy/tmp/git/fuck.git/config +0 -6
  126. data/test/dummy/tmp/git/fuck.git/description +0 -1
  127. data/test/dummy/tmp/git/fuck.git/hooks/applypatch-msg.sample +0 -15
  128. data/test/dummy/tmp/git/fuck.git/hooks/commit-msg.sample +0 -24
  129. data/test/dummy/tmp/git/fuck.git/hooks/post-update.sample +0 -8
  130. data/test/dummy/tmp/git/fuck.git/hooks/pre-applypatch.sample +0 -14
  131. data/test/dummy/tmp/git/fuck.git/hooks/pre-commit.sample +0 -50
  132. data/test/dummy/tmp/git/fuck.git/hooks/pre-rebase.sample +0 -169
  133. data/test/dummy/tmp/git/fuck.git/hooks/prepare-commit-msg.sample +0 -36
  134. data/test/dummy/tmp/git/fuck.git/hooks/update.sample +0 -128
  135. data/test/dummy/tmp/git/fuck.git/info/exclude +0 -6
  136. data/test/dummy/tmp/git/lkasdjf.git/HEAD +0 -1
  137. data/test/dummy/tmp/git/lkasdjf.git/config +0 -6
  138. data/test/dummy/tmp/git/lkasdjf.git/description +0 -1
  139. data/test/dummy/tmp/git/lkasdjf.git/hooks/applypatch-msg.sample +0 -15
  140. data/test/dummy/tmp/git/lkasdjf.git/hooks/commit-msg.sample +0 -24
  141. data/test/dummy/tmp/git/lkasdjf.git/hooks/post-update.sample +0 -8
  142. data/test/dummy/tmp/git/lkasdjf.git/hooks/pre-applypatch.sample +0 -14
  143. data/test/dummy/tmp/git/lkasdjf.git/hooks/pre-commit.sample +0 -50
  144. data/test/dummy/tmp/git/lkasdjf.git/hooks/pre-rebase.sample +0 -169
  145. data/test/dummy/tmp/git/lkasdjf.git/hooks/prepare-commit-msg.sample +0 -36
  146. data/test/dummy/tmp/git/lkasdjf.git/hooks/update.sample +0 -128
  147. data/test/dummy/tmp/git/lkasdjf.git/info/exclude +0 -6
  148. data/test/dummy/tmp/git/new/test.git/HEAD +0 -1
  149. data/test/dummy/tmp/git/new/test.git/config +0 -6
  150. data/test/dummy/tmp/git/new/test.git/description +0 -1
  151. data/test/dummy/tmp/git/new/test.git/hooks/applypatch-msg.sample +0 -15
  152. data/test/dummy/tmp/git/new/test.git/hooks/commit-msg.sample +0 -24
  153. data/test/dummy/tmp/git/new/test.git/hooks/post-update.sample +0 -8
  154. data/test/dummy/tmp/git/new/test.git/hooks/pre-applypatch.sample +0 -14
  155. data/test/dummy/tmp/git/new/test.git/hooks/pre-commit.sample +0 -50
  156. data/test/dummy/tmp/git/new/test.git/hooks/pre-rebase.sample +0 -169
  157. data/test/dummy/tmp/git/new/test.git/hooks/prepare-commit-msg.sample +0 -36
  158. data/test/dummy/tmp/git/new/test.git/hooks/update.sample +0 -128
  159. data/test/dummy/tmp/git/new/test.git/info/exclude +0 -6
  160. data/test/dummy/tmp/git/testing.git/HEAD +0 -1
  161. data/test/dummy/tmp/git/testing.git/config +0 -6
  162. data/test/dummy/tmp/git/testing.git/description +0 -1
  163. data/test/dummy/tmp/git/testing.git/hooks/applypatch-msg.sample +0 -15
  164. data/test/dummy/tmp/git/testing.git/hooks/commit-msg.sample +0 -24
  165. data/test/dummy/tmp/git/testing.git/hooks/post-update.sample +0 -8
  166. data/test/dummy/tmp/git/testing.git/hooks/pre-applypatch.sample +0 -14
  167. data/test/dummy/tmp/git/testing.git/hooks/pre-commit.sample +0 -50
  168. data/test/dummy/tmp/git/testing.git/hooks/pre-rebase.sample +0 -169
  169. data/test/dummy/tmp/git/testing.git/hooks/prepare-commit-msg.sample +0 -36
  170. data/test/dummy/tmp/git/testing.git/hooks/update.sample +0 -128
  171. data/test/dummy/tmp/git/testing.git/info/exclude +0 -6
  172. data/test/dummy/tmp/git/under_scored/sub.git/HEAD +0 -1
  173. data/test/dummy/tmp/git/under_scored/sub.git/config +0 -6
  174. data/test/dummy/tmp/git/under_scored/sub.git/description +0 -1
  175. data/test/dummy/tmp/git/under_scored/sub.git/hooks/applypatch-msg.sample +0 -15
  176. data/test/dummy/tmp/git/under_scored/sub.git/hooks/commit-msg.sample +0 -24
  177. data/test/dummy/tmp/git/under_scored/sub.git/hooks/post-update.sample +0 -8
  178. data/test/dummy/tmp/git/under_scored/sub.git/hooks/pre-applypatch.sample +0 -14
  179. data/test/dummy/tmp/git/under_scored/sub.git/hooks/pre-commit.sample +0 -50
  180. data/test/dummy/tmp/git/under_scored/sub.git/hooks/pre-rebase.sample +0 -169
  181. data/test/dummy/tmp/git/under_scored/sub.git/hooks/prepare-commit-msg.sample +0 -36
  182. data/test/dummy/tmp/git/under_scored/sub.git/hooks/update.sample +0 -128
  183. data/test/dummy/tmp/git/under_scored/sub.git/info/exclude +0 -6
  184. data/test/dummy/tmp/git/work/pls/thnx.git/HEAD +0 -1
  185. data/test/dummy/tmp/git/work/pls/thnx.git/config +0 -6
  186. data/test/dummy/tmp/git/work/pls/thnx.git/description +0 -1
  187. data/test/dummy/tmp/git/work/pls/thnx.git/hooks/applypatch-msg.sample +0 -15
  188. data/test/dummy/tmp/git/work/pls/thnx.git/hooks/commit-msg.sample +0 -24
  189. data/test/dummy/tmp/git/work/pls/thnx.git/hooks/post-update.sample +0 -8
  190. data/test/dummy/tmp/git/work/pls/thnx.git/hooks/pre-applypatch.sample +0 -14
  191. data/test/dummy/tmp/git/work/pls/thnx.git/hooks/pre-commit.sample +0 -50
  192. data/test/dummy/tmp/git/work/pls/thnx.git/hooks/pre-rebase.sample +0 -169
  193. data/test/dummy/tmp/git/work/pls/thnx.git/hooks/prepare-commit-msg.sample +0 -36
  194. data/test/dummy/tmp/git/work/pls/thnx.git/hooks/update.sample +0 -128
  195. data/test/dummy/tmp/git/work/pls/thnx.git/info/exclude +0 -6
@@ -1,5 +1,5 @@
1
1
  Connecting to database specified by database.yml
2
-  (0.6ms) begin transaction
2
+  (0.4ms) begin transaction
3
3
   (0.0ms) rollback transaction
4
4
   (0.0ms) begin transaction
5
5
   (0.0ms) rollback transaction
@@ -19,13 +19,101 @@ Connecting to database specified by database.yml
19
19
   (0.1ms) rollback transaction
20
20
   (0.1ms) begin transaction
21
21
   (0.1ms) rollback transaction
22
+  (0.0ms) begin transaction
23
+  (0.1ms) rollback transaction
24
+  (0.3ms) begin transaction
25
+  (0.1ms) rollback transaction
26
+  (0.1ms) begin transaction
27
+  (0.1ms) rollback transaction
28
+  (0.1ms) begin transaction
29
+  (0.1ms) rollback transaction
30
+  (0.0ms) begin transaction
31
+  (0.1ms) rollback transaction
32
+  (0.0ms) begin transaction
33
+  (0.0ms) rollback transaction
34
+  (0.0ms) begin transaction
35
+  (0.0ms) rollback transaction
36
+  (0.1ms) begin transaction
37
+  (0.0ms) rollback transaction
38
+  (0.1ms) begin transaction
39
+  (0.0ms) rollback transaction
40
+  (0.0ms) begin transaction
41
+  (0.0ms) rollback transaction
42
+  (0.0ms) begin transaction
43
+  (0.0ms) rollback transaction
44
+  (0.0ms) begin transaction
45
+  (0.0ms) rollback transaction
46
+  (0.0ms) begin transaction
47
+  (0.0ms) rollback transaction
48
+  (0.0ms) begin transaction
49
+  (0.0ms) rollback transaction
50
+  (0.0ms) begin transaction
51
+  (0.0ms) rollback transaction
52
+  (0.0ms) begin transaction
53
+  (0.0ms) rollback transaction
54
+ Connecting to database specified by database.yml
55
+  (0.5ms) begin transaction
56
+  (0.1ms) rollback transaction
57
+  (0.0ms) begin transaction
58
+  (0.0ms) rollback transaction
59
+  (0.0ms) begin transaction
60
+  (0.0ms) rollback transaction
61
+  (0.0ms) begin transaction
62
+  (0.0ms) rollback transaction
63
+  (0.0ms) begin transaction
64
+  (0.0ms) rollback transaction
65
+  (0.0ms) begin transaction
66
+  (0.0ms) rollback transaction
67
+  (0.0ms) begin transaction
68
+  (0.0ms) rollback transaction
69
+  (0.0ms) begin transaction
70
+  (0.0ms) rollback transaction
71
+  (0.0ms) begin transaction
72
+  (0.1ms) rollback transaction
22
73
   (0.1ms) begin transaction
23
74
   (0.1ms) rollback transaction
24
75
   (0.1ms) begin transaction
25
76
   (0.1ms) rollback transaction
77
+  (0.0ms) begin transaction
78
+  (0.1ms) rollback transaction
79
+  (0.0ms) begin transaction
80
+  (0.1ms) rollback transaction
26
81
   (0.1ms) begin transaction
27
82
   (0.1ms) rollback transaction
83
+  (0.0ms) begin transaction
84
+  (0.0ms) rollback transaction
85
+  (0.0ms) begin transaction
86
+  (0.0ms) rollback transaction
87
+  (0.0ms) begin transaction
88
+  (0.0ms) rollback transaction
89
+  (0.1ms) begin transaction
90
+  (0.0ms) rollback transaction
91
+  (0.1ms) begin transaction
92
+  (0.0ms) rollback transaction
93
+  (0.0ms) begin transaction
94
+  (0.0ms) rollback transaction
95
+  (0.0ms) begin transaction
96
+  (0.0ms) rollback transaction
97
+  (0.0ms) begin transaction
98
+  (0.0ms) rollback transaction
99
+  (0.0ms) begin transaction
100
+  (0.0ms) rollback transaction
101
+  (0.0ms) begin transaction
102
+  (0.0ms) rollback transaction
28
103
   (0.1ms) begin transaction
104
+  (0.1ms) rollback transaction
105
+  (0.0ms) begin transaction
106
+  (0.0ms) rollback transaction
107
+ Connecting to database specified by database.yml
108
+  (0.4ms) begin transaction
109
+  (0.0ms) rollback transaction
110
+  (0.0ms) begin transaction
111
+  (0.0ms) rollback transaction
112
+  (0.0ms) begin transaction
113
+  (0.0ms) rollback transaction
114
+  (0.0ms) begin transaction
115
+  (0.0ms) rollback transaction
116
+  (0.0ms) begin transaction
29
117
   (0.0ms) rollback transaction
30
118
   (0.0ms) begin transaction
31
119
   (0.0ms) rollback transaction
@@ -33,9 +121,25 @@ Connecting to database specified by database.yml
33
121
   (0.0ms) rollback transaction
34
122
   (0.0ms) begin transaction
35
123
   (0.0ms) rollback transaction
124
+  (0.0ms) begin transaction
125
+  (0.1ms) rollback transaction
126
+  (0.1ms) begin transaction
127
+  (0.1ms) rollback transaction
128
+  (0.1ms) begin transaction
129
+  (0.1ms) rollback transaction
130
+  (0.0ms) begin transaction
131
+  (0.1ms) rollback transaction
132
+  (0.1ms) begin transaction
133
+  (0.1ms) rollback transaction
36
134
   (0.1ms) begin transaction
37
135
   (0.0ms) rollback transaction
38
-  (0.2ms) begin transaction
136
+  (0.0ms) begin transaction
137
+  (0.1ms) rollback transaction
138
+  (0.0ms) begin transaction
139
+  (0.0ms) rollback transaction
140
+  (0.0ms) begin transaction
141
+  (0.1ms) rollback transaction
142
+  (0.1ms) begin transaction
39
143
   (0.1ms) rollback transaction
40
144
   (0.0ms) begin transaction
41
145
   (0.0ms) rollback transaction
@@ -47,6 +151,8 @@ Connecting to database specified by database.yml
47
151
   (0.0ms) rollback transaction
48
152
   (0.0ms) begin transaction
49
153
   (0.0ms) rollback transaction
154
+  (0.1ms) begin transaction
155
+  (0.0ms) rollback transaction
50
156
   (0.0ms) begin transaction
51
157
   (0.0ms) rollback transaction
52
158
   (0.0ms) begin transaction
@@ -0,0 +1 @@
1
+ 5431
@@ -15,7 +15,7 @@ class AuthTest < ActiveSupport::TestCase
15
15
  end
16
16
 
17
17
  test "should allow custom user lookups for authentication" do
18
- GitWit.config.user_for_authentication = ->(username) { "xxxx" }
18
+ GitWit.configure { |c| c.user_for_authentication = ->(username) { "xxxx" } }
19
19
  assert_equal "xxxx", GitWit.user_for_authentication("example")
20
20
  end
21
21
 
@@ -24,7 +24,7 @@ class AuthTest < ActiveSupport::TestCase
24
24
  end
25
25
 
26
26
  test "should allow custom user authentication" do
27
- GitWit.config.authenticate = ->(user, password) { user == password }
27
+ GitWit.configure { |c| c.authenticate = ->(user, password) { user == password } }
28
28
  assert !GitWit.authenticate("example", "password")
29
29
  assert GitWit.authenticate("example", "example")
30
30
  assert GitWit.authenticate("password", "password")
@@ -35,8 +35,10 @@ class AuthTest < ActiveSupport::TestCase
35
35
  end
36
36
 
37
37
  test "should allow custom read authorization" do
38
- GitWit.config.authorize_read = ->(user, repository) do
39
- repository == "#{user}.git"
38
+ GitWit.configure do |c|
39
+ c.authorize_read = ->(user, repository) do
40
+ repository == "#{user}.git"
41
+ end
40
42
  end
41
43
  assert !GitWit.authorize_read("example", "test.git")
42
44
  assert GitWit.authorize_read("example", "example.git")
@@ -47,8 +49,10 @@ class AuthTest < ActiveSupport::TestCase
47
49
  end
48
50
 
49
51
  test "should allow custom write authorization" do
50
- GitWit.config.authorize_write = ->(user, repository) do
51
- repository == "#{user}.git"
52
+ GitWit.configure do |c|
53
+ c.authorize_write = ->(user, repository) do
54
+ repository == "#{user}.git"
55
+ end
52
56
  end
53
57
  assert !GitWit.authorize_write("example", "test.git")
54
58
  assert GitWit.authorize_write("example", "example.git")
@@ -4,7 +4,7 @@ class AuthorizedKeysTest < ActiveSupport::TestCase
4
4
  def setup
5
5
  GitWit.stash_config
6
6
  GitWit.default_config!
7
- GitWit.config.ssh_user = `whoami`.chomp
7
+ GitWit.configure { |c| c.ssh_user = `whoami`.chomp }
8
8
  @tmp_keys_path = Rails.root.join("tmp", "authorized_keys").to_s
9
9
  end
10
10
 
@@ -19,12 +19,12 @@ class AuthorizedKeysTest < ActiveSupport::TestCase
19
19
  end
20
20
 
21
21
  test "should accept an absolute path for authorized_keys_path in config" do
22
- GitWit.config.authorized_keys_path = @tmp_keys_path
22
+ GitWit.configure { |c| c.authorized_keys_path = @tmp_keys_path }
23
23
  assert_equal @tmp_keys_path, GitWit.authorized_keys_path
24
24
  end
25
25
 
26
26
  test "should generate authorized_keys from key map" do
27
- GitWit.config.authorized_keys_path = @tmp_keys_path
27
+ GitWit.configure { |c| c.authorized_keys_path = @tmp_keys_path }
28
28
  GitWit.regenerate_authorized_keys(
29
29
  "one" => ["ssh-rsa fakekey1 one@fake1", "ssh-rsa fakekey2 one@fake2"],
30
30
  "two" => ["ssh-rsa fakekey3 two@fake"])
@@ -34,7 +34,7 @@ class AuthorizedKeysTest < ActiveSupport::TestCase
34
34
  end
35
35
 
36
36
  test "should be able to add keys one at a time" do
37
- GitWit.config.authorized_keys_path = @tmp_keys_path
37
+ GitWit.configure { |c| c.authorized_keys_path = @tmp_keys_path }
38
38
  key_file = GitWit.authorized_keys_file
39
39
  GitWit.add_authorized_key "one", "ssh-rsa fakekey1 one@fake1"
40
40
  assert_equal 1, key_file.keys.length
@@ -43,7 +43,7 @@ class AuthorizedKeysTest < ActiveSupport::TestCase
43
43
  end
44
44
 
45
45
  test "should be able to remove keys one at a time" do
46
- GitWit.config.authorized_keys_path = @tmp_keys_path
46
+ GitWit.configure { |c| c.authorized_keys_path = @tmp_keys_path }
47
47
  GitWit.regenerate_authorized_keys(
48
48
  "one" => ["ssh-rsa fakekey1 one@fake1", "ssh-rsa fakekey2 one@fake2"],
49
49
  "two" => ["ssh-rsa fakekey3 two@fake"])
@@ -1,5 +1,9 @@
1
1
  require 'test_helper'
2
2
 
3
+ module GitWit
4
+ def self._config; @_config; end
5
+ end
6
+
3
7
  class ConfigTest < ActiveSupport::TestCase
4
8
  def setup
5
9
  GitWit.stash_config
@@ -11,30 +15,30 @@ class ConfigTest < ActiveSupport::TestCase
11
15
  end
12
16
 
13
17
  test "should expose a configuration interface" do
14
- assert_kind_of Hash, GitWit.config
15
- assert !GitWit.config.insecure_write
18
+ assert_kind_of Hash, GitWit._config
19
+ assert !GitWit._config.insecure_write
16
20
  GitWit.configure do |config|
17
21
  config.insecure_write = true
18
22
  end
19
- assert GitWit.config.insecure_write
23
+ assert GitWit._config.insecure_write
20
24
  end
21
25
 
22
26
  test "should empty the config when reset" do
23
27
  GitWit.reset_config!
24
- assert !GitWit.config.present?
28
+ assert !GitWit._config.present?
25
29
  end
26
30
 
27
31
  test "should load reasonable config defaults" do
28
- assert_kind_of Hash, GitWit.config
29
- assert GitWit.config.present?
30
- assert_kind_of String, GitWit.config.realm
31
- assert_kind_of String, GitWit.config.repositories_path
32
- assert !GitWit.config.insecure_write
33
- assert !GitWit.config.insecure_auth
32
+ assert_kind_of Hash, GitWit._config
33
+ assert GitWit._config.present?
34
+ assert_kind_of String, GitWit._config.realm
35
+ assert_kind_of String, GitWit._config.repositories_path
36
+ assert !GitWit._config.insecure_write
37
+ assert !GitWit._config.insecure_auth
34
38
  end
35
39
 
36
40
  test "should expose important config parameters directly" do
37
- %w(repositories_path ssh_user realm git_http_backend_path
41
+ %w(repositories_path ssh_user realm git_path
38
42
  insecure_write insecure_auth).each do |p|
39
43
  assert GitWit.respond_to?(p.to_sym)
40
44
  end
@@ -67,20 +67,20 @@ class ShellTest < ActiveSupport::TestCase
67
67
  end
68
68
 
69
69
  test "should authenticate by only confirming that a user exists" do
70
- GitWit.config.user_for_authentication = ->(username) { "xxxx" }
71
- GitWit.config.authenticate = ->(user, password) { raise "tried auth" }
70
+ GitWit.configure { |c| c.user_for_authentication = ->(username) { "xxxx" } }
71
+ GitWit.configure { |c| c.authenticate = ->(user, password) { raise "tried auth" } }
72
72
  assert_nothing_raised do
73
73
  assert_equal "xxxx", GitWit::Shell.authenticate("example")
74
74
  end
75
- GitWit.config.user_for_authentication = ->(username) { nil }
75
+ GitWit.configure { |c| c.user_for_authentication = ->(username) { nil } }
76
76
  assert_nothing_raised do
77
77
  assert_nil GitWit::Shell.authenticate("example")
78
78
  end
79
79
  end
80
80
 
81
81
  test "should authorize read/write based on git command given" do
82
- GitWit.config.authorize_write = ->(user, repository) { user == "w" }
83
- GitWit.config.authorize_read = ->(user, repository) { user == "r" }
82
+ GitWit.configure { |c| c.authorize_write = ->(user, repository) { user == "w" } }
83
+ GitWit.configure { |c| c.authorize_read = ->(user, repository) { user == "r" } }
84
84
  assert GitWit::Shell.authorize("git-receive-pack", "w", "example.git")
85
85
  assert !GitWit::Shell.authorize("git-receive-pack", "r", "example.git")
86
86
  assert !GitWit::Shell.authorize("git-upload-pack", "w", "example.git")
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git_wit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.0.4.pre
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Greg Thornton
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-21 00:00:00.000000000 Z
12
+ date: 2013-02-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -43,11 +43,27 @@ dependencies:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
45
  version: 1.1.1
46
+ - !ruby/object:Gem::Dependency
47
+ name: thor
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.17.0
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.17.0
46
62
  description: Dead simple Git hosting for Rails apps.
47
63
  email:
48
64
  - xdissent@me.com
49
65
  executables:
50
- - gw-shell
66
+ - git_wit
51
67
  extensions: []
52
68
  extra_rdoc_files: []
53
69
  files:
@@ -56,17 +72,36 @@ files:
56
72
  - config/initializers/git_wit.rb
57
73
  - config/routes.rb
58
74
  - lib/generators/git_wit/install/install_generator.rb
75
+ - lib/generators/git_wit/install/templates/git_wit.rb
76
+ - lib/generators/git_wit/install/templates/README
59
77
  - lib/generators/git_wit/install/USAGE
60
- - lib/generators/git_wit/templates/git_wit.rb
61
- - lib/generators/git_wit/templates/README
78
+ - lib/generators/git_wit/ssh_user/ssh_user_generator.rb
79
+ - lib/generators/git_wit/ssh_user/templates/bashrc.tt
80
+ - lib/generators/git_wit/ssh_user/templates/sudoers.tt
81
+ - lib/generators/git_wit/ssh_user/USAGE
82
+ - lib/git_wit/actions/dscl/base.rb
83
+ - lib/git_wit/actions/dscl/group.rb
84
+ - lib/git_wit/actions/dscl/group_membership.rb
85
+ - lib/git_wit/actions/dscl/user.rb
86
+ - lib/git_wit/actions/dscl.rb
87
+ - lib/git_wit/actions/ssh/home.rb
88
+ - lib/git_wit/actions/ssh/sudoers.rb
89
+ - lib/git_wit/actions/ssh.rb
90
+ - lib/git_wit/actions.rb
62
91
  - lib/git_wit/auth.rb
92
+ - lib/git_wit/authorized_keys/file.rb
93
+ - lib/git_wit/authorized_keys/key.rb
63
94
  - lib/git_wit/authorized_keys.rb
95
+ - lib/git_wit/cli.rb
96
+ - lib/git_wit/commands/debug.rb
97
+ - lib/git_wit/commands/git_shell.rb
98
+ - lib/git_wit/commands/util.rb
64
99
  - lib/git_wit/engine.rb
65
100
  - lib/git_wit/errors.rb
66
101
  - lib/git_wit/shell.rb
67
102
  - lib/git_wit/version.rb
68
103
  - lib/git_wit.rb
69
- - lib/tasks/git_wit_shell.rake
104
+ - lib/tasks/git_wit.rake
70
105
  - MIT-LICENSE
71
106
  - Rakefile
72
107
  - README.md
@@ -111,6 +146,24 @@ files:
111
146
  - test/dummy/app/views/repositories/index.html.erb
112
147
  - test/dummy/app/views/repositories/new.html.erb
113
148
  - test/dummy/app/views/repositories/show.html.erb
149
+ - test/dummy/bin/coderay
150
+ - test/dummy/bin/erubis
151
+ - test/dummy/bin/git_wit
152
+ - test/dummy/bin/htmldiff
153
+ - test/dummy/bin/ldiff
154
+ - test/dummy/bin/posix-spawn-benchmark
155
+ - test/dummy/bin/pry
156
+ - test/dummy/bin/rackup
157
+ - test/dummy/bin/rails
158
+ - test/dummy/bin/rake
159
+ - test/dummy/bin/rake2thor
160
+ - test/dummy/bin/rdoc
161
+ - test/dummy/bin/ri
162
+ - test/dummy/bin/sprockets
163
+ - test/dummy/bin/thor
164
+ - test/dummy/bin/tilt
165
+ - test/dummy/bin/tt
166
+ - test/dummy/bin/tunnels
114
167
  - test/dummy/config/application.rb
115
168
  - test/dummy/config/boot.rb
116
169
  - test/dummy/config/database.yml
@@ -159,138 +212,7 @@ files:
159
212
  - test/dummy/test/unit/public_key_test.rb
160
213
  - test/dummy/test/unit/repository_test.rb
161
214
  - test/dummy/test/unit/user_test.rb
162
- - test/dummy/tmp/cache/assets/C7E/BC0/sprockets%2Fb7118f368364962573a44054bcfb80d0
163
- - test/dummy/tmp/cache/assets/C80/840/sprockets%2F562c2d168da585f80579347d10790a0a
164
- - test/dummy/tmp/cache/assets/C8C/B80/sprockets%2F371bf96e99717688ed7313a0c53f4212
165
- - test/dummy/tmp/cache/assets/C9C/700/sprockets%2Fc7b1373dbf219a8722efc21160641340
166
- - test/dummy/tmp/cache/assets/C9E/5F0/sprockets%2F2bca2b107bb6c26b720d135270688918
167
- - test/dummy/tmp/cache/assets/CA9/9C0/sprockets%2F0c1b7ebd087418498ea6037225d33d25
168
- - test/dummy/tmp/cache/assets/CC8/B00/sprockets%2F9815364bfd49ed907870e270d75a995a
169
- - test/dummy/tmp/cache/assets/CD1/800/sprockets%2Fc044b140dcef533c52712c7b51e21996
170
- - test/dummy/tmp/cache/assets/CD5/2C0/sprockets%2F166c056119ebdfb8b7104c97b424b423
171
- - test/dummy/tmp/cache/assets/CD7/380/sprockets%2F4079ce1dbbcf4a599527303670006b6b
172
- - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
173
- - test/dummy/tmp/cache/assets/CE0/CC0/sprockets%2F2b38c3fb549036de5c4666637a0c80c6
174
- - test/dummy/tmp/cache/assets/CEC/B70/sprockets%2F7f98753ca8c35e4249363a04389b3caf
175
- - test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2
176
- - test/dummy/tmp/cache/assets/CF9/980/sprockets%2Fbd55042e1acd32eb611041444d794d4d
177
- - test/dummy/tmp/cache/assets/CFD/560/sprockets%2Fe4e7fe4ee089382325686f806b939d3e
178
- - test/dummy/tmp/cache/assets/D00/B90/sprockets%2F07c00c80f1ea62d95a01f11f9c728b72
179
- - test/dummy/tmp/cache/assets/D0D/9A0/sprockets%2F1fce44192cdb30f44b7545a37c9891b2
180
- - test/dummy/tmp/cache/assets/D0F/390/sprockets%2F9df081609c3449ab40c93b1cf07de357
181
- - test/dummy/tmp/cache/assets/D25/A60/sprockets%2F0e036061ad22b2e6dce1639b234cf15c
182
- - test/dummy/tmp/cache/assets/D27/DB0/sprockets%2Fa3a0a778855bce9fa47913d389ea9884
183
- - test/dummy/tmp/cache/assets/D29/5A0/sprockets%2Fdad9e81b43ca12671246ee52a1900d0c
184
- - test/dummy/tmp/cache/assets/D2E/FF0/sprockets%2Fc06112642c994b6b7c2ba6632fad1fd0
185
- - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
186
- - test/dummy/tmp/cache/assets/D36/120/sprockets%2Feac54bd3c540af6b964d025e345227d6
187
- - test/dummy/tmp/cache/assets/D3E/240/sprockets%2F84b96d6b2d2653cb4127b06d8acb990d
188
- - test/dummy/tmp/cache/assets/D3F/830/sprockets%2F18578d4ef3abd6e12d836841dd6b8a00
189
- - test/dummy/tmp/cache/assets/D4B/E70/sprockets%2F0909bc70e589d40a6cd90dfe6f18257e
190
- - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
191
- - test/dummy/tmp/cache/assets/D57/3D0/sprockets%2F7bbccc5129a5013b70831ec9ad62ab24
192
- - test/dummy/tmp/cache/assets/D5A/000/sprockets%2F7d4f67f146b6d7904dfc4edd9135f588
193
- - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
194
- - test/dummy/tmp/cache/assets/D5B/BB0/sprockets%2Fba769276c4de14151bc4202cba7f3ad3
195
- - test/dummy/tmp/cache/assets/D5E/BC0/sprockets%2F2d96fa667066778db858d7b7cb0fce69
196
- - test/dummy/tmp/cache/assets/D6E/BA0/sprockets%2F5178d3788fe35a52acb5f3bd22ea078a
197
- - test/dummy/tmp/cache/assets/D6F/C20/sprockets%2F22e783a8f5f9224f01e8e62fab6afb40
198
- - test/dummy/tmp/cache/assets/D76/5C0/sprockets%2Fd8a5669df31f129f355283e6dab4c5ad
199
- - test/dummy/tmp/cache/assets/D79/DE0/sprockets%2F7cfd335e68d881b03f6b7f1bd91f270f
200
- - test/dummy/tmp/cache/assets/D8A/CA0/sprockets%2F656af8b87ad378e8e4f2ec94b6b5c719
201
- - test/dummy/tmp/cache/assets/D8C/620/sprockets%2Ff37f8e5b8cccd9880276a9f5157d4c7e
202
- - test/dummy/tmp/cache/assets/D92/200/sprockets%2Fb816d858281027bdd3fe2bfac43b4ca1
203
- - test/dummy/tmp/cache/assets/D92/CE0/sprockets%2Ffca6a13676a2be09234905f9acae22cd
204
- - test/dummy/tmp/cache/assets/D96/9E0/sprockets%2F6fabecd33f7a5a087f4fb6a2d6312443
205
- - test/dummy/tmp/cache/assets/DA2/D20/sprockets%2Ff5faf079fb660bde5bc9502bde442088
206
- - test/dummy/tmp/cache/assets/DA5/570/sprockets%2F3517de599b6fd005bc5d5d69ba5ff1e2
207
- - test/dummy/tmp/cache/assets/DA7/070/sprockets%2F69eadf8c3a94b04fe0b4992ee4a8c821
208
- - test/dummy/tmp/cache/assets/DBA/BF0/sprockets%2Fe63ea1d7bfb0ee50380debe42360a3b5
209
- - test/dummy/tmp/cache/assets/DBB/3B0/sprockets%2F6a0aaa6c5b0d10b936e237a7ecb4e4c9
210
- - test/dummy/tmp/cache/assets/DBC/8E0/sprockets%2F908976cfbcdf6ad4c59737bf3c78e1e8
211
- - test/dummy/tmp/cache/assets/DD3/FD0/sprockets%2Febf97c76a9ba2a889dd01be2caa75806
212
- - test/dummy/tmp/cache/assets/DD8/410/sprockets%2Fc02eeb7ea977fd713cc19ca93d838af4
213
- - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
214
- - test/dummy/tmp/cache/assets/DEA/E40/sprockets%2F4166d7d00d1e72fed2004debed2bea3e
215
- - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
216
- - test/dummy/tmp/cache/assets/E05/C70/sprockets%2Fccd814ec859d582ada46e271edfe7ae1
217
- - test/dummy/tmp/cache/assets/E0C/2A0/sprockets%2F37c59fadd9a21cab7d05d78a7dfe7e85
218
- - test/dummy/tmp/cache/assets/E28/130/sprockets%2F6f332ca43b7ed658d90b8ba5daaa5ded
219
- - test/dummy/tmp/cache/assets/E3B/080/sprockets%2F09e2a090befacdae0db10cafb1893a0a
220
- - test/dummy/tmp/cache/assets/E65/CD0/sprockets%2F93cdf3fec0e3aa6deefa955c6828fbd0
221
- - test/dummy/tmp/cache/assets/E9F/450/sprockets%2Fbbfdc5edaaf25dfdb5ee8f9db7895435
222
- - test/dummy/tmp/git/fuck.git/config
223
- - test/dummy/tmp/git/fuck.git/description
224
- - test/dummy/tmp/git/fuck.git/HEAD
225
- - test/dummy/tmp/git/fuck.git/hooks/applypatch-msg.sample
226
- - test/dummy/tmp/git/fuck.git/hooks/commit-msg.sample
227
- - test/dummy/tmp/git/fuck.git/hooks/post-update.sample
228
- - test/dummy/tmp/git/fuck.git/hooks/pre-applypatch.sample
229
- - test/dummy/tmp/git/fuck.git/hooks/pre-commit.sample
230
- - test/dummy/tmp/git/fuck.git/hooks/pre-rebase.sample
231
- - test/dummy/tmp/git/fuck.git/hooks/prepare-commit-msg.sample
232
- - test/dummy/tmp/git/fuck.git/hooks/update.sample
233
- - test/dummy/tmp/git/fuck.git/info/exclude
234
- - test/dummy/tmp/git/lkasdjf.git/config
235
- - test/dummy/tmp/git/lkasdjf.git/description
236
- - test/dummy/tmp/git/lkasdjf.git/HEAD
237
- - test/dummy/tmp/git/lkasdjf.git/hooks/applypatch-msg.sample
238
- - test/dummy/tmp/git/lkasdjf.git/hooks/commit-msg.sample
239
- - test/dummy/tmp/git/lkasdjf.git/hooks/post-update.sample
240
- - test/dummy/tmp/git/lkasdjf.git/hooks/pre-applypatch.sample
241
- - test/dummy/tmp/git/lkasdjf.git/hooks/pre-commit.sample
242
- - test/dummy/tmp/git/lkasdjf.git/hooks/pre-rebase.sample
243
- - test/dummy/tmp/git/lkasdjf.git/hooks/prepare-commit-msg.sample
244
- - test/dummy/tmp/git/lkasdjf.git/hooks/update.sample
245
- - test/dummy/tmp/git/lkasdjf.git/info/exclude
246
- - test/dummy/tmp/git/new/test.git/config
247
- - test/dummy/tmp/git/new/test.git/description
248
- - test/dummy/tmp/git/new/test.git/HEAD
249
- - test/dummy/tmp/git/new/test.git/hooks/applypatch-msg.sample
250
- - test/dummy/tmp/git/new/test.git/hooks/commit-msg.sample
251
- - test/dummy/tmp/git/new/test.git/hooks/post-update.sample
252
- - test/dummy/tmp/git/new/test.git/hooks/pre-applypatch.sample
253
- - test/dummy/tmp/git/new/test.git/hooks/pre-commit.sample
254
- - test/dummy/tmp/git/new/test.git/hooks/pre-rebase.sample
255
- - test/dummy/tmp/git/new/test.git/hooks/prepare-commit-msg.sample
256
- - test/dummy/tmp/git/new/test.git/hooks/update.sample
257
- - test/dummy/tmp/git/new/test.git/info/exclude
258
- - test/dummy/tmp/git/testing.git/config
259
- - test/dummy/tmp/git/testing.git/description
260
- - test/dummy/tmp/git/testing.git/HEAD
261
- - test/dummy/tmp/git/testing.git/hooks/applypatch-msg.sample
262
- - test/dummy/tmp/git/testing.git/hooks/commit-msg.sample
263
- - test/dummy/tmp/git/testing.git/hooks/post-update.sample
264
- - test/dummy/tmp/git/testing.git/hooks/pre-applypatch.sample
265
- - test/dummy/tmp/git/testing.git/hooks/pre-commit.sample
266
- - test/dummy/tmp/git/testing.git/hooks/pre-rebase.sample
267
- - test/dummy/tmp/git/testing.git/hooks/prepare-commit-msg.sample
268
- - test/dummy/tmp/git/testing.git/hooks/update.sample
269
- - test/dummy/tmp/git/testing.git/info/exclude
270
- - test/dummy/tmp/git/under_scored/sub.git/config
271
- - test/dummy/tmp/git/under_scored/sub.git/description
272
- - test/dummy/tmp/git/under_scored/sub.git/HEAD
273
- - test/dummy/tmp/git/under_scored/sub.git/hooks/applypatch-msg.sample
274
- - test/dummy/tmp/git/under_scored/sub.git/hooks/commit-msg.sample
275
- - test/dummy/tmp/git/under_scored/sub.git/hooks/post-update.sample
276
- - test/dummy/tmp/git/under_scored/sub.git/hooks/pre-applypatch.sample
277
- - test/dummy/tmp/git/under_scored/sub.git/hooks/pre-commit.sample
278
- - test/dummy/tmp/git/under_scored/sub.git/hooks/pre-rebase.sample
279
- - test/dummy/tmp/git/under_scored/sub.git/hooks/prepare-commit-msg.sample
280
- - test/dummy/tmp/git/under_scored/sub.git/hooks/update.sample
281
- - test/dummy/tmp/git/under_scored/sub.git/info/exclude
282
- - test/dummy/tmp/git/work/pls/thnx.git/config
283
- - test/dummy/tmp/git/work/pls/thnx.git/description
284
- - test/dummy/tmp/git/work/pls/thnx.git/HEAD
285
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/applypatch-msg.sample
286
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/commit-msg.sample
287
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/post-update.sample
288
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/pre-applypatch.sample
289
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/pre-commit.sample
290
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/pre-rebase.sample
291
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/prepare-commit-msg.sample
292
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/update.sample
293
- - test/dummy/tmp/git/work/pls/thnx.git/info/exclude
215
+ - test/dummy/tmp/pids/server.pid
294
216
  - test/dummy/tmp/restart.txt
295
217
  - test/functional/git_wit/git_controller_test.rb
296
218
  - test/git_wit_test.rb
@@ -300,7 +222,7 @@ files:
300
222
  - test/unit/authorized_keys_test.rb
301
223
  - test/unit/config_test.rb
302
224
  - test/unit/shell_test.rb
303
- - bin/gw-shell
225
+ - bin/git_wit
304
226
  homepage: http://xdissent.github.com/git_wit/
305
227
  licenses: []
306
228
  post_install_message:
@@ -315,16 +237,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
315
237
  version: '0'
316
238
  segments:
317
239
  - 0
318
- hash: 1780469466875702438
240
+ hash: -3774003407888240297
319
241
  required_rubygems_version: !ruby/object:Gem::Requirement
320
242
  none: false
321
243
  requirements:
322
- - - ! '>='
244
+ - - ! '>'
323
245
  - !ruby/object:Gem::Version
324
- version: '0'
325
- segments:
326
- - 0
327
- hash: 1780469466875702438
246
+ version: 1.3.1
328
247
  requirements: []
329
248
  rubyforge_project:
330
249
  rubygems_version: 1.8.25
@@ -373,6 +292,24 @@ test_files:
373
292
  - test/dummy/app/views/repositories/index.html.erb
374
293
  - test/dummy/app/views/repositories/new.html.erb
375
294
  - test/dummy/app/views/repositories/show.html.erb
295
+ - test/dummy/bin/coderay
296
+ - test/dummy/bin/erubis
297
+ - test/dummy/bin/git_wit
298
+ - test/dummy/bin/htmldiff
299
+ - test/dummy/bin/ldiff
300
+ - test/dummy/bin/posix-spawn-benchmark
301
+ - test/dummy/bin/pry
302
+ - test/dummy/bin/rackup
303
+ - test/dummy/bin/rails
304
+ - test/dummy/bin/rake
305
+ - test/dummy/bin/rake2thor
306
+ - test/dummy/bin/rdoc
307
+ - test/dummy/bin/ri
308
+ - test/dummy/bin/sprockets
309
+ - test/dummy/bin/thor
310
+ - test/dummy/bin/tilt
311
+ - test/dummy/bin/tt
312
+ - test/dummy/bin/tunnels
376
313
  - test/dummy/config/application.rb
377
314
  - test/dummy/config/boot.rb
378
315
  - test/dummy/config/database.yml
@@ -421,138 +358,7 @@ test_files:
421
358
  - test/dummy/test/unit/public_key_test.rb
422
359
  - test/dummy/test/unit/repository_test.rb
423
360
  - test/dummy/test/unit/user_test.rb
424
- - test/dummy/tmp/cache/assets/C7E/BC0/sprockets%2Fb7118f368364962573a44054bcfb80d0
425
- - test/dummy/tmp/cache/assets/C80/840/sprockets%2F562c2d168da585f80579347d10790a0a
426
- - test/dummy/tmp/cache/assets/C8C/B80/sprockets%2F371bf96e99717688ed7313a0c53f4212
427
- - test/dummy/tmp/cache/assets/C9C/700/sprockets%2Fc7b1373dbf219a8722efc21160641340
428
- - test/dummy/tmp/cache/assets/C9E/5F0/sprockets%2F2bca2b107bb6c26b720d135270688918
429
- - test/dummy/tmp/cache/assets/CA9/9C0/sprockets%2F0c1b7ebd087418498ea6037225d33d25
430
- - test/dummy/tmp/cache/assets/CC8/B00/sprockets%2F9815364bfd49ed907870e270d75a995a
431
- - test/dummy/tmp/cache/assets/CD1/800/sprockets%2Fc044b140dcef533c52712c7b51e21996
432
- - test/dummy/tmp/cache/assets/CD5/2C0/sprockets%2F166c056119ebdfb8b7104c97b424b423
433
- - test/dummy/tmp/cache/assets/CD7/380/sprockets%2F4079ce1dbbcf4a599527303670006b6b
434
- - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
435
- - test/dummy/tmp/cache/assets/CE0/CC0/sprockets%2F2b38c3fb549036de5c4666637a0c80c6
436
- - test/dummy/tmp/cache/assets/CEC/B70/sprockets%2F7f98753ca8c35e4249363a04389b3caf
437
- - test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2
438
- - test/dummy/tmp/cache/assets/CF9/980/sprockets%2Fbd55042e1acd32eb611041444d794d4d
439
- - test/dummy/tmp/cache/assets/CFD/560/sprockets%2Fe4e7fe4ee089382325686f806b939d3e
440
- - test/dummy/tmp/cache/assets/D00/B90/sprockets%2F07c00c80f1ea62d95a01f11f9c728b72
441
- - test/dummy/tmp/cache/assets/D0D/9A0/sprockets%2F1fce44192cdb30f44b7545a37c9891b2
442
- - test/dummy/tmp/cache/assets/D0F/390/sprockets%2F9df081609c3449ab40c93b1cf07de357
443
- - test/dummy/tmp/cache/assets/D25/A60/sprockets%2F0e036061ad22b2e6dce1639b234cf15c
444
- - test/dummy/tmp/cache/assets/D27/DB0/sprockets%2Fa3a0a778855bce9fa47913d389ea9884
445
- - test/dummy/tmp/cache/assets/D29/5A0/sprockets%2Fdad9e81b43ca12671246ee52a1900d0c
446
- - test/dummy/tmp/cache/assets/D2E/FF0/sprockets%2Fc06112642c994b6b7c2ba6632fad1fd0
447
- - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
448
- - test/dummy/tmp/cache/assets/D36/120/sprockets%2Feac54bd3c540af6b964d025e345227d6
449
- - test/dummy/tmp/cache/assets/D3E/240/sprockets%2F84b96d6b2d2653cb4127b06d8acb990d
450
- - test/dummy/tmp/cache/assets/D3F/830/sprockets%2F18578d4ef3abd6e12d836841dd6b8a00
451
- - test/dummy/tmp/cache/assets/D4B/E70/sprockets%2F0909bc70e589d40a6cd90dfe6f18257e
452
- - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
453
- - test/dummy/tmp/cache/assets/D57/3D0/sprockets%2F7bbccc5129a5013b70831ec9ad62ab24
454
- - test/dummy/tmp/cache/assets/D5A/000/sprockets%2F7d4f67f146b6d7904dfc4edd9135f588
455
- - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
456
- - test/dummy/tmp/cache/assets/D5B/BB0/sprockets%2Fba769276c4de14151bc4202cba7f3ad3
457
- - test/dummy/tmp/cache/assets/D5E/BC0/sprockets%2F2d96fa667066778db858d7b7cb0fce69
458
- - test/dummy/tmp/cache/assets/D6E/BA0/sprockets%2F5178d3788fe35a52acb5f3bd22ea078a
459
- - test/dummy/tmp/cache/assets/D6F/C20/sprockets%2F22e783a8f5f9224f01e8e62fab6afb40
460
- - test/dummy/tmp/cache/assets/D76/5C0/sprockets%2Fd8a5669df31f129f355283e6dab4c5ad
461
- - test/dummy/tmp/cache/assets/D79/DE0/sprockets%2F7cfd335e68d881b03f6b7f1bd91f270f
462
- - test/dummy/tmp/cache/assets/D8A/CA0/sprockets%2F656af8b87ad378e8e4f2ec94b6b5c719
463
- - test/dummy/tmp/cache/assets/D8C/620/sprockets%2Ff37f8e5b8cccd9880276a9f5157d4c7e
464
- - test/dummy/tmp/cache/assets/D92/200/sprockets%2Fb816d858281027bdd3fe2bfac43b4ca1
465
- - test/dummy/tmp/cache/assets/D92/CE0/sprockets%2Ffca6a13676a2be09234905f9acae22cd
466
- - test/dummy/tmp/cache/assets/D96/9E0/sprockets%2F6fabecd33f7a5a087f4fb6a2d6312443
467
- - test/dummy/tmp/cache/assets/DA2/D20/sprockets%2Ff5faf079fb660bde5bc9502bde442088
468
- - test/dummy/tmp/cache/assets/DA5/570/sprockets%2F3517de599b6fd005bc5d5d69ba5ff1e2
469
- - test/dummy/tmp/cache/assets/DA7/070/sprockets%2F69eadf8c3a94b04fe0b4992ee4a8c821
470
- - test/dummy/tmp/cache/assets/DBA/BF0/sprockets%2Fe63ea1d7bfb0ee50380debe42360a3b5
471
- - test/dummy/tmp/cache/assets/DBB/3B0/sprockets%2F6a0aaa6c5b0d10b936e237a7ecb4e4c9
472
- - test/dummy/tmp/cache/assets/DBC/8E0/sprockets%2F908976cfbcdf6ad4c59737bf3c78e1e8
473
- - test/dummy/tmp/cache/assets/DD3/FD0/sprockets%2Febf97c76a9ba2a889dd01be2caa75806
474
- - test/dummy/tmp/cache/assets/DD8/410/sprockets%2Fc02eeb7ea977fd713cc19ca93d838af4
475
- - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
476
- - test/dummy/tmp/cache/assets/DEA/E40/sprockets%2F4166d7d00d1e72fed2004debed2bea3e
477
- - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
478
- - test/dummy/tmp/cache/assets/E05/C70/sprockets%2Fccd814ec859d582ada46e271edfe7ae1
479
- - test/dummy/tmp/cache/assets/E0C/2A0/sprockets%2F37c59fadd9a21cab7d05d78a7dfe7e85
480
- - test/dummy/tmp/cache/assets/E28/130/sprockets%2F6f332ca43b7ed658d90b8ba5daaa5ded
481
- - test/dummy/tmp/cache/assets/E3B/080/sprockets%2F09e2a090befacdae0db10cafb1893a0a
482
- - test/dummy/tmp/cache/assets/E65/CD0/sprockets%2F93cdf3fec0e3aa6deefa955c6828fbd0
483
- - test/dummy/tmp/cache/assets/E9F/450/sprockets%2Fbbfdc5edaaf25dfdb5ee8f9db7895435
484
- - test/dummy/tmp/git/fuck.git/config
485
- - test/dummy/tmp/git/fuck.git/description
486
- - test/dummy/tmp/git/fuck.git/HEAD
487
- - test/dummy/tmp/git/fuck.git/hooks/applypatch-msg.sample
488
- - test/dummy/tmp/git/fuck.git/hooks/commit-msg.sample
489
- - test/dummy/tmp/git/fuck.git/hooks/post-update.sample
490
- - test/dummy/tmp/git/fuck.git/hooks/pre-applypatch.sample
491
- - test/dummy/tmp/git/fuck.git/hooks/pre-commit.sample
492
- - test/dummy/tmp/git/fuck.git/hooks/pre-rebase.sample
493
- - test/dummy/tmp/git/fuck.git/hooks/prepare-commit-msg.sample
494
- - test/dummy/tmp/git/fuck.git/hooks/update.sample
495
- - test/dummy/tmp/git/fuck.git/info/exclude
496
- - test/dummy/tmp/git/lkasdjf.git/config
497
- - test/dummy/tmp/git/lkasdjf.git/description
498
- - test/dummy/tmp/git/lkasdjf.git/HEAD
499
- - test/dummy/tmp/git/lkasdjf.git/hooks/applypatch-msg.sample
500
- - test/dummy/tmp/git/lkasdjf.git/hooks/commit-msg.sample
501
- - test/dummy/tmp/git/lkasdjf.git/hooks/post-update.sample
502
- - test/dummy/tmp/git/lkasdjf.git/hooks/pre-applypatch.sample
503
- - test/dummy/tmp/git/lkasdjf.git/hooks/pre-commit.sample
504
- - test/dummy/tmp/git/lkasdjf.git/hooks/pre-rebase.sample
505
- - test/dummy/tmp/git/lkasdjf.git/hooks/prepare-commit-msg.sample
506
- - test/dummy/tmp/git/lkasdjf.git/hooks/update.sample
507
- - test/dummy/tmp/git/lkasdjf.git/info/exclude
508
- - test/dummy/tmp/git/new/test.git/config
509
- - test/dummy/tmp/git/new/test.git/description
510
- - test/dummy/tmp/git/new/test.git/HEAD
511
- - test/dummy/tmp/git/new/test.git/hooks/applypatch-msg.sample
512
- - test/dummy/tmp/git/new/test.git/hooks/commit-msg.sample
513
- - test/dummy/tmp/git/new/test.git/hooks/post-update.sample
514
- - test/dummy/tmp/git/new/test.git/hooks/pre-applypatch.sample
515
- - test/dummy/tmp/git/new/test.git/hooks/pre-commit.sample
516
- - test/dummy/tmp/git/new/test.git/hooks/pre-rebase.sample
517
- - test/dummy/tmp/git/new/test.git/hooks/prepare-commit-msg.sample
518
- - test/dummy/tmp/git/new/test.git/hooks/update.sample
519
- - test/dummy/tmp/git/new/test.git/info/exclude
520
- - test/dummy/tmp/git/testing.git/config
521
- - test/dummy/tmp/git/testing.git/description
522
- - test/dummy/tmp/git/testing.git/HEAD
523
- - test/dummy/tmp/git/testing.git/hooks/applypatch-msg.sample
524
- - test/dummy/tmp/git/testing.git/hooks/commit-msg.sample
525
- - test/dummy/tmp/git/testing.git/hooks/post-update.sample
526
- - test/dummy/tmp/git/testing.git/hooks/pre-applypatch.sample
527
- - test/dummy/tmp/git/testing.git/hooks/pre-commit.sample
528
- - test/dummy/tmp/git/testing.git/hooks/pre-rebase.sample
529
- - test/dummy/tmp/git/testing.git/hooks/prepare-commit-msg.sample
530
- - test/dummy/tmp/git/testing.git/hooks/update.sample
531
- - test/dummy/tmp/git/testing.git/info/exclude
532
- - test/dummy/tmp/git/under_scored/sub.git/config
533
- - test/dummy/tmp/git/under_scored/sub.git/description
534
- - test/dummy/tmp/git/under_scored/sub.git/HEAD
535
- - test/dummy/tmp/git/under_scored/sub.git/hooks/applypatch-msg.sample
536
- - test/dummy/tmp/git/under_scored/sub.git/hooks/commit-msg.sample
537
- - test/dummy/tmp/git/under_scored/sub.git/hooks/post-update.sample
538
- - test/dummy/tmp/git/under_scored/sub.git/hooks/pre-applypatch.sample
539
- - test/dummy/tmp/git/under_scored/sub.git/hooks/pre-commit.sample
540
- - test/dummy/tmp/git/under_scored/sub.git/hooks/pre-rebase.sample
541
- - test/dummy/tmp/git/under_scored/sub.git/hooks/prepare-commit-msg.sample
542
- - test/dummy/tmp/git/under_scored/sub.git/hooks/update.sample
543
- - test/dummy/tmp/git/under_scored/sub.git/info/exclude
544
- - test/dummy/tmp/git/work/pls/thnx.git/config
545
- - test/dummy/tmp/git/work/pls/thnx.git/description
546
- - test/dummy/tmp/git/work/pls/thnx.git/HEAD
547
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/applypatch-msg.sample
548
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/commit-msg.sample
549
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/post-update.sample
550
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/pre-applypatch.sample
551
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/pre-commit.sample
552
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/pre-rebase.sample
553
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/prepare-commit-msg.sample
554
- - test/dummy/tmp/git/work/pls/thnx.git/hooks/update.sample
555
- - test/dummy/tmp/git/work/pls/thnx.git/info/exclude
361
+ - test/dummy/tmp/pids/server.pid
556
362
  - test/dummy/tmp/restart.txt
557
363
  - test/functional/git_wit/git_controller_test.rb
558
364
  - test/git_wit_test.rb