kubicek-grit 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (910) hide show
  1. data/API.txt +101 -0
  2. data/History.txt +49 -0
  3. data/VERSION.yml +4 -0
  4. data/lib/grit/actor.rb +36 -0
  5. data/lib/grit/blame.rb +61 -0
  6. data/lib/grit/blob.rb +126 -0
  7. data/lib/grit/commit.rb +242 -0
  8. data/lib/grit/commit_stats.rb +128 -0
  9. data/lib/grit/config.rb +44 -0
  10. data/lib/grit/diff.rb +70 -0
  11. data/lib/grit/errors.rb +7 -0
  12. data/lib/grit/git-ruby/commit_db.rb +52 -0
  13. data/lib/grit/git-ruby/file_index.rb +193 -0
  14. data/lib/grit/git-ruby/git_object.rb +350 -0
  15. data/lib/grit/git-ruby/internal/file_window.rb +58 -0
  16. data/lib/grit/git-ruby/internal/loose.rb +137 -0
  17. data/lib/grit/git-ruby/internal/pack.rb +382 -0
  18. data/lib/grit/git-ruby/internal/raw_object.rb +37 -0
  19. data/lib/grit/git-ruby/object.rb +325 -0
  20. data/lib/grit/git-ruby/repository.rb +736 -0
  21. data/lib/grit/git-ruby.rb +186 -0
  22. data/lib/grit/git.rb +140 -0
  23. data/lib/grit/index.rb +122 -0
  24. data/lib/grit/lazy.rb +33 -0
  25. data/lib/grit/merge.rb +45 -0
  26. data/lib/grit/ref.rb +99 -0
  27. data/lib/grit/repo.rb +437 -0
  28. data/lib/grit/status.rb +151 -0
  29. data/lib/grit/submodule.rb +88 -0
  30. data/lib/grit/tag.rb +66 -0
  31. data/lib/grit/tree.rb +123 -0
  32. data/lib/grit.rb +68 -0
  33. data/lib/open3_detach.rb +46 -0
  34. data/test/bench/benchmarks.rb +126 -0
  35. data/test/bench/benchmarks.txt +23 -0
  36. data/test/dot_git/COMMIT_EDITMSG +22 -0
  37. data/test/dot_git/FETCH_HEAD +1 -0
  38. data/test/dot_git/HEAD +1 -0
  39. data/test/dot_git/config +11 -0
  40. data/test/dot_git/description +1 -0
  41. data/test/dot_git/file-index +893 -0
  42. data/test/dot_git/hooks/applypatch-msg +15 -0
  43. data/test/dot_git/hooks/commit-msg +24 -0
  44. data/test/dot_git/hooks/post-commit +8 -0
  45. data/test/dot_git/hooks/post-receive +16 -0
  46. data/test/dot_git/hooks/post-update +8 -0
  47. data/test/dot_git/hooks/pre-applypatch +14 -0
  48. data/test/dot_git/hooks/pre-commit +70 -0
  49. data/test/dot_git/hooks/pre-rebase +150 -0
  50. data/test/dot_git/hooks/prepare-commit-msg +36 -0
  51. data/test/dot_git/hooks/update +107 -0
  52. data/test/dot_git/index +0 -0
  53. data/test/dot_git/info/exclude +6 -0
  54. data/test/dot_git/logs/HEAD +3 -0
  55. data/test/dot_git/logs/refs/heads/master +3 -0
  56. data/test/dot_git/logs/refs/remotes/origin/master +2 -0
  57. data/test/dot_git/logs/refs/remotes/tom/master +1 -0
  58. data/test/dot_git/objects/00/03f8338f3668723f26b37c8ccf544a95e29ec6 +0 -0
  59. data/test/dot_git/objects/00/1569f8fc3eb464ba486e4b22f2f06494f399e2 +0 -0
  60. data/test/dot_git/objects/00/3274c8973e2053718cfad0d36a6965d192fcab +0 -0
  61. data/test/dot_git/objects/00/b1c149e635d481ca18349082583b8151f72747 +0 -0
  62. data/test/dot_git/objects/00/b71297a9d326f1c9647dc3199759696aa0fcd3 +0 -0
  63. data/test/dot_git/objects/00/f3447967b64aba158140cd40ee8b367612ce81 +0 -0
  64. data/test/dot_git/objects/01/0ad5aba678e910d4d663b42dcc23b42beb829f +0 -0
  65. data/test/dot_git/objects/01/17826165bc3b90c75ef2caeec37f5c8d782705 +0 -0
  66. data/test/dot_git/objects/01/4488a55fe5fe9494441a9340cc8c15107a212a +0 -0
  67. data/test/dot_git/objects/01/4fc17423d6af7ac4816071dd29f0f0e2784066 +0 -0
  68. data/test/dot_git/objects/01/b74bca756428371115795ddf6ca02019c8917f +0 -0
  69. data/test/dot_git/objects/01/d78e86ee2b2d9d8d67d2d5b70610879184cfe2 +0 -0
  70. data/test/dot_git/objects/01/f8c258619443ee16bdfe857b4852df5fa3e9d2 +0 -0
  71. data/test/dot_git/objects/02/036e2cb5b44b6f4a27cea2f5bcca47ddfb24d8 +0 -0
  72. data/test/dot_git/objects/02/1e14889189cd86cff25b5677e12ac2c7234e0b +0 -0
  73. data/test/dot_git/objects/02/3d5211ccff94a988645cdeb1738ef681053928 +0 -0
  74. data/test/dot_git/objects/02/52e31caf4384d3af956ddcf99b0625ca32564f +0 -0
  75. data/test/dot_git/objects/02/776a9f673a9cd6e2dfaebdb4a20de867303091 +0 -0
  76. data/test/dot_git/objects/02/7d4de30093393c0f994ccca83ac80524850f52 +0 -0
  77. data/test/dot_git/objects/02/85f374047a4541f8a36b9195ad281220dca3be +0 -0
  78. data/test/dot_git/objects/02/88dcd891dc1c3452558a67240a2969afe5e1f2 +0 -0
  79. data/test/dot_git/objects/02/de1ef84c9b8c2c2659048269784ee8cfd1bbb5 +4 -0
  80. data/test/dot_git/objects/03/337ca011923c5ade57033d950557f8e593542f +0 -0
  81. data/test/dot_git/objects/03/37a36c245dcafeb65eb8a77322bfa353447774 +0 -0
  82. data/test/dot_git/objects/03/517194eb06a1dc1bd3cb0d605cf30a56241053 +0 -0
  83. data/test/dot_git/objects/03/6eb07bb7c6e7f3b35dd0302bf9cf6c289ea0ed +0 -0
  84. data/test/dot_git/objects/03/7f79a326dbcb10176d28f61998d72924ce77c8 +0 -0
  85. data/test/dot_git/objects/03/cf7ee8c1bf722d28e8fa93eb780e2e4dc084c9 +0 -0
  86. data/test/dot_git/objects/04/7b5ae7038ef06f45520462912f039e80c00b8c +0 -0
  87. data/test/dot_git/objects/04/c3a03b3f0d0a60b313f4be77749845a5235c08 +0 -0
  88. data/test/dot_git/objects/04/cb7a6a139313c907e0fec984da3fd4e41fdd33 +0 -0
  89. data/test/dot_git/objects/04/e515305cf9bc9598dceafffb7cb9a756544628 +0 -0
  90. data/test/dot_git/objects/04/fb83a65293a39614752633f8e6d945b80b5eb0 +0 -0
  91. data/test/dot_git/objects/05/68b92d8d9705c4ff045ffdb5e3a1f1595bd923 +0 -0
  92. data/test/dot_git/objects/05/7826b56de5733beb44b4561443d3b46a449691 +0 -0
  93. data/test/dot_git/objects/05/7926e768e8b202655a3aa26adc7f201c0edcfc +0 -0
  94. data/test/dot_git/objects/05/7929610b4988ec16e3c45b8383bd158990b4a0 +0 -0
  95. data/test/dot_git/objects/05/87c4160d02715e27c0cb305d4227cf17481225 +0 -0
  96. data/test/dot_git/objects/05/af9a86721dbfc9c26aa1e51ae2a69e3e659d4e +0 -0
  97. data/test/dot_git/objects/05/b059421d3747a7806ac17ae7fec58942f4febb +0 -0
  98. data/test/dot_git/objects/05/cc37f0a03392de8deb2ffe699be03f7dfb969f +0 -0
  99. data/test/dot_git/objects/06/05c3b4232a3ce29e9eaa37c5b87798500a6e7d +0 -0
  100. data/test/dot_git/objects/06/06fabcdde5c927345a40f121f361d2e216b074 +0 -0
  101. data/test/dot_git/objects/06/2279d5eb12f88189544abbaed53853c5ed9515 +0 -0
  102. data/test/dot_git/objects/06/aa7f9270d9750713a16c8876a80d8208d0474b +0 -0
  103. data/test/dot_git/objects/06/e218ce2718fb29fe8c3406e20a03af92b2c211 +0 -0
  104. data/test/dot_git/objects/06/f8bf7db18ed246f33840f89db357ffdb9ed685 +0 -0
  105. data/test/dot_git/objects/07/49016e612b0cc541a9157c5af5202fc13afee5 +0 -0
  106. data/test/dot_git/objects/07/7b694fe425c945e50bcf07a17273f70ea9969f +0 -0
  107. data/test/dot_git/objects/08/2abfcf77d1c6ce8288c9e51960c4dc0386e214 +0 -0
  108. data/test/dot_git/objects/08/31f152b831b72c29c402c43a4f0d5f9c08098b +0 -0
  109. data/test/dot_git/objects/08/3a20c51f91b45bd89c4e659be3004f3160eb9d +0 -0
  110. data/test/dot_git/objects/09/3df8605b97af993b943e6c8d752adb3a80414d +0 -0
  111. data/test/dot_git/objects/09/4371d805417da0d5d45f05862c04f840164700 +0 -0
  112. data/test/dot_git/objects/09/509a4195f9fb7afbf688b03c80695bf42415aa +0 -0
  113. data/test/dot_git/objects/09/722f3e93f2ac8b7576ad9875570b9fcd9c7742 +0 -0
  114. data/test/dot_git/objects/09/c0737da31a89f508274573ccca3fab84b99291 +0 -0
  115. data/test/dot_git/objects/09/c978c6ca56674793681e1f46e48d548f87b9b7 +0 -0
  116. data/test/dot_git/objects/09/d253737e9b3478116b5c28bc353bb04f6b3b15 +0 -0
  117. data/test/dot_git/objects/0a/8a50a991f45aacd9182cc9660352291102d62c +0 -0
  118. data/test/dot_git/objects/0a/d7278c1b329f53ccce178365ef46c0acf1b5cf +0 -0
  119. data/test/dot_git/objects/0b/7cad903e284fb0c67b4c5c2b7dce7bcb1ab331 +0 -0
  120. data/test/dot_git/objects/0b/982595f497472374e559c4a60bdf6f5d515747 +0 -0
  121. data/test/dot_git/objects/0b/a43a25402d95cdf77eab9daa395554b6bf0fee +0 -0
  122. data/test/dot_git/objects/0c/27bd8cee7c56836d7116224eeee572b14d9207 +0 -0
  123. data/test/dot_git/objects/0c/93fbac2cae83e0c1ae53b95b1ad1e52049f9dc +0 -0
  124. data/test/dot_git/objects/0c/f5be059c72d69cccc249f53b35c3c40907665c +0 -0
  125. data/test/dot_git/objects/0d/03c5056d874db5cf0088b70a67d943ddcb5413 +0 -0
  126. data/test/dot_git/objects/0d/520f86139b0b1fc0ab6d92a5f837533b07488b +0 -0
  127. data/test/dot_git/objects/0d/757583ecf0ce5235d41487d26bee258c317b3e +0 -0
  128. data/test/dot_git/objects/0d/b262cb85533c5004f6f1a2cb26f5ae2dd85d36 +0 -0
  129. data/test/dot_git/objects/0d/fc2a798d3c8f3190e3478644e73478bf5a2198 +0 -0
  130. data/test/dot_git/objects/0e/1d014f006f27f2857eb504c520d2ed2bdd8e73 +0 -0
  131. data/test/dot_git/objects/0f/138d68197242f4e6be55e9133fafb7dfa2ea51 +0 -0
  132. data/test/dot_git/objects/0f/341dd5b4a15b61545f8f8a22fdfcfa611b88ba +0 -0
  133. data/test/dot_git/objects/0f/41b030d38bc256c46da51ec61d8fbf78d95c71 +0 -0
  134. data/test/dot_git/objects/0f/6adc7b610f48813007fa9624308fdcd19624eb +0 -0
  135. data/test/dot_git/objects/0f/73ea263af628ee73a91fd828a090ec0c1108bd +0 -0
  136. data/test/dot_git/objects/0f/8ab2768611398a9271137b976e790158fea99b +0 -0
  137. data/test/dot_git/objects/0f/b309e304e40fd066779c842d3dfb969820ee05 +0 -0
  138. data/test/dot_git/objects/0f/f24bd854839ec2d63df82511b30a87563cf93b +0 -0
  139. data/test/dot_git/objects/10/3b19041fdc3d56c2a233faeb835250f7979025 +0 -0
  140. data/test/dot_git/objects/10/49a9f3dde7bb76587fe082462866b5d0dbd286 +0 -0
  141. data/test/dot_git/objects/10/d5041b45374ba1ca060c9273ea8239b2836377 +0 -0
  142. data/test/dot_git/objects/11/8273918e8e542d828b37fb58cb2ec0f557fb5f +0 -0
  143. data/test/dot_git/objects/11/af521eb0e6e9c112b3bb6c4ad7ec24986d3ca9 +0 -0
  144. data/test/dot_git/objects/11/c94e9b614f3f2e17f72854e8be0f181471bfcc +0 -0
  145. data/test/dot_git/objects/11/ef852d995ba4f160bd20474cfb7b21fd643524 +0 -0
  146. data/test/dot_git/objects/12/285f38fe70a726001e29108536954f64d7133a +0 -0
  147. data/test/dot_git/objects/12/36260f7be3454a989e82e28f6096e096e35a89 +0 -0
  148. data/test/dot_git/objects/12/8db38df991e126c5079bd4c36d15c21674db99 +0 -0
  149. data/test/dot_git/objects/12/a41f2de1265a2f7c56793ad6c1e9a48b10690d +0 -0
  150. data/test/dot_git/objects/12/c064d545702771fde2debf89ae5d2332897d88 +0 -0
  151. data/test/dot_git/objects/12/c33c0bcf3ac3f569850943ad62c46c9861edeb +0 -0
  152. data/test/dot_git/objects/12/c7b3bf5cdc29830afecbe20755d6f08fe735a1 +0 -0
  153. data/test/dot_git/objects/12/fca324bece56e856667502ebfed1c5172d1477 +0 -0
  154. data/test/dot_git/objects/13/2335def2380870cd3b8f40d326976aea182aa7 +0 -0
  155. data/test/dot_git/objects/13/8e53fadb078d2b3716833d8b50eb10f12c7348 +0 -0
  156. data/test/dot_git/objects/13/d306ed324d1be706c78071a72414d50c68dca5 +0 -0
  157. data/test/dot_git/objects/14/35f68d9466fbd70fc6084977ac19fd311c7c57 +0 -0
  158. data/test/dot_git/objects/14/66fcacc4070eb9a8fd88b3a825c6647f6491f1 +0 -0
  159. data/test/dot_git/objects/14/67cde22fefa7ddcab86786d5066bc6f51b250a +0 -0
  160. data/test/dot_git/objects/14/d58395b6da306a5b161fb950ac2c252a091a95 +0 -0
  161. data/test/dot_git/objects/15/2111c53821f7dd53a3cc4f6a251a7de3789414 +0 -0
  162. data/test/dot_git/objects/15/5c2ca2a4e8b1e0f2f54c0e3b413dd077633fdf +0 -0
  163. data/test/dot_git/objects/15/78a2576e89eaa4954d5277d69b2bf66e926cdf +0 -0
  164. data/test/dot_git/objects/15/7c95ee8c2989db8127c48548ed80c15a76b778 +0 -0
  165. data/test/dot_git/objects/15/979622ad6ae9c5cf1c424cd17dd2784130e8f1 +0 -0
  166. data/test/dot_git/objects/15/d022ad2ff13d0ef33424ff412676b6047ffed8 +0 -0
  167. data/test/dot_git/objects/15/e293762a035e16b6d3f5562c51e8a524c84381 +0 -0
  168. data/test/dot_git/objects/15/e93eb1c0b39f51291d1c432156f0ff43ab1ffd +0 -0
  169. data/test/dot_git/objects/15/ebfa5c7792de35a107f413b397407ac3330888 +0 -0
  170. data/test/dot_git/objects/16/3268d3698bb1626f34cd3ba59da51a7e25e03e +0 -0
  171. data/test/dot_git/objects/16/48e3b1e22ebb852ded047d0ab7eac1b05fe060 +0 -0
  172. data/test/dot_git/objects/16/81e1b6486f601c8edcaddcaba5b43cee4aea3f +0 -0
  173. data/test/dot_git/objects/16/910c6a1377054903ccb52369d3ee07b13e5d08 +0 -0
  174. data/test/dot_git/objects/16/b7edf7af22dd2bada9e936795f53943719fe65 +0 -0
  175. data/test/dot_git/objects/16/cc3f1fa6b58278c4fe216999464aaef8ae6750 +0 -0
  176. data/test/dot_git/objects/16/ef31d5b51a674634edb8b54b5706c17b62f558 +0 -0
  177. data/test/dot_git/objects/16/ff20f07ceb75dc60619c082f530ccd3379d572 +0 -0
  178. data/test/dot_git/objects/17/3f4345c58750e2eb870a65e850917f97dbed91 +0 -0
  179. data/test/dot_git/objects/17/6255627b2fac737a7f77a5591814e88dc49815 +0 -0
  180. data/test/dot_git/objects/17/96a891d45dea162f9021f8e8c472c5e2006696 +0 -0
  181. data/test/dot_git/objects/17/ac818de1cc5ab1b1e1fc5f2796b0bb816a600c +0 -0
  182. data/test/dot_git/objects/17/d488c2f71729e5d182cb944d28c837fba95ccf +0 -0
  183. data/test/dot_git/objects/17/da04256d519b3bc102ff6654388a15ede87a9e +0 -0
  184. data/test/dot_git/objects/19/3e6eef82e784e52ba86addcb5d7b1b7c733b39 +0 -0
  185. data/test/dot_git/objects/19/6583fa8a32069927196d341590917ec3a44068 +0 -0
  186. data/test/dot_git/objects/19/c05c4b965f08e0a7856864293a206e07743c37 +0 -0
  187. data/test/dot_git/objects/19/c3d5c87afaac1c69dc0473635ef8a7fe0738da +1 -0
  188. data/test/dot_git/objects/19/e8c71b6a30e8725e9c0d8e487333d102b20eec +0 -0
  189. data/test/dot_git/objects/19/f53b5d629ef910276aa4ff3da37098b84ebbe5 +0 -0
  190. data/test/dot_git/objects/1a/5458d91ca6a8303793f2b65add534398fbdecb +0 -0
  191. data/test/dot_git/objects/1a/b11cd93f687672c9cc8fa9b3fbac91a28e455f +0 -0
  192. data/test/dot_git/objects/1a/d7f5703990fffc0623027f890c8da5a84b7f69 +0 -0
  193. data/test/dot_git/objects/1b/4ac33eca9279c482cf15bfbdaeff285dd610b1 +0 -0
  194. data/test/dot_git/objects/1b/5178ad8b4a4bebf9f311a655317dcb2b8022cc +0 -0
  195. data/test/dot_git/objects/1b/6572ea59d924437ef351841ad7769189744070 +0 -0
  196. data/test/dot_git/objects/1b/7450de981e2cabd7394fd5d6eabad5d3d755cc +0 -0
  197. data/test/dot_git/objects/1b/9fe079b5b81a05c585e71d7a3f435cf740ef98 +0 -0
  198. data/test/dot_git/objects/1b/fb8784f878f9cd3cfeaca34357cf50a74f1e09 +0 -0
  199. data/test/dot_git/objects/1c/0b90070d7e30f014551321378b272fa3fa4513 +0 -0
  200. data/test/dot_git/objects/1c/13b4bce41332da238a5b3dea893831da48cd51 +0 -0
  201. data/test/dot_git/objects/1c/6ab3410ae104091c7c48eb51fafeb10ceb840a +0 -0
  202. data/test/dot_git/objects/1c/e53e58e0fce1b52e687738be9f29d2b66ad102 +0 -0
  203. data/test/dot_git/objects/1d/52507d6a4b62353f17426395176114a78c3e27 +0 -0
  204. data/test/dot_git/objects/1d/779cd342a3dceb1181617c6d78cf49dd4ea6d9 +0 -0
  205. data/test/dot_git/objects/1d/a4fc732293ade7bc64fa5bf0fe500e98d44086 +0 -0
  206. data/test/dot_git/objects/1d/ad0ebe6a69a154ae53834551aac811e2084d92 +0 -0
  207. data/test/dot_git/objects/1d/fb7c5c1bfe1d3faa4faa02588446132806a84a +0 -0
  208. data/test/dot_git/objects/1e/48c5e962aed49286c66caf359ec9c2d36c2702 +0 -0
  209. data/test/dot_git/objects/1e/602e850a67f89c395797eac185740d5f26d4d2 +0 -0
  210. data/test/dot_git/objects/1e/72f4a8d9f13be6e98e948927eea0d14a2e1058 +0 -0
  211. data/test/dot_git/objects/1e/d9b70c5aeb93e24139fa7203d9a7455476c102 +0 -0
  212. data/test/dot_git/objects/1e/eb71ddbc2be8fd6cc4fe8c8465361601d2e1a5 +0 -0
  213. data/test/dot_git/objects/1f/56023e68acd9d981833e3eb2567ed2d851dd32 +0 -0
  214. data/test/dot_git/objects/1f/cfb4f859faed6bf0384993f0fd5edf41f00ef5 +0 -0
  215. data/test/dot_git/objects/1f/f7f94c2c07e96787211d977794a01701c84c48 +0 -0
  216. data/test/dot_git/objects/20/527a9f7bff75c1fbddd9d99bb7e6da2558650a +0 -0
  217. data/test/dot_git/objects/20/58b040a09bd2a1fbaebb1e40aae595115a715e +1 -0
  218. data/test/dot_git/objects/20/7f3efe50e24e9423f55d56924c43d7ea3c5ce7 +0 -0
  219. data/test/dot_git/objects/20/92842ab2e8c0f9bdab4646a4ed7f714f66b12b +0 -0
  220. data/test/dot_git/objects/20/f3156fa79fcc5ccfd5e70a1136397c026414b6 +0 -0
  221. data/test/dot_git/objects/21/0ce1bcc38e0e98f8ec8930a930dbd7988ac4b2 +0 -0
  222. data/test/dot_git/objects/21/1cd03423ab654fb825b0bee37154330ba18e55 +0 -0
  223. data/test/dot_git/objects/21/28b4b92723c769fb9288584aa67dd7e38d3e66 +0 -0
  224. data/test/dot_git/objects/21/39d6008849105ef06dd7aa4ed24dbeab73812b +0 -0
  225. data/test/dot_git/objects/21/6092db5b7af3826eb8cab98f214b87338f2e85 +0 -0
  226. data/test/dot_git/objects/21/6df5b81cd60076fc086ac6a5cda5fb45a3f51f +0 -0
  227. data/test/dot_git/objects/21/8e0267be4449ca7fc6fa10752014533c14c546 +0 -0
  228. data/test/dot_git/objects/21/9580bb02cbd719c7e1b02d73665669a180120a +0 -0
  229. data/test/dot_git/objects/21/e7baafef8ab19c21b162aef7cb6f3c6d7d7c67 +0 -0
  230. data/test/dot_git/objects/22/0553c2c0869a33996016d0f01a16471c3cdfb4 +0 -0
  231. data/test/dot_git/objects/22/26c0f88671d695655a16bc3f40336bbc1d13e1 +0 -0
  232. data/test/dot_git/objects/22/be54ac7977e0bb45ad7e83210611dc16ce102d +0 -0
  233. data/test/dot_git/objects/22/fb8209d8655a24594398d47f339870f924804f +0 -0
  234. data/test/dot_git/objects/23/53738d894ae00535ad011781d82c135a92a269 +0 -0
  235. data/test/dot_git/objects/23/7f04e2053831498762d50fc2470cc66892d268 +0 -0
  236. data/test/dot_git/objects/23/92b105b8747c1814b9a48d2f5b546f25b78ba1 +0 -0
  237. data/test/dot_git/objects/24/02a4ccbf9f8a3d0697562dc88c3a3a7740de56 +0 -0
  238. data/test/dot_git/objects/24/21ffe1b4b0ddf0d7efbd674ee1fff714c6d7ae +0 -0
  239. data/test/dot_git/objects/24/b49076b413a71c428eb8bcdaa4f258791e6773 +0 -0
  240. data/test/dot_git/objects/24/b7e95c0acae11954a9e7018cd6748fbc9ac8da +0 -0
  241. data/test/dot_git/objects/24/bc825eb69933d3c42e1a81c92cc9ebc6cc3472 +0 -0
  242. data/test/dot_git/objects/24/c1a000ee73335664497f277a9c1fc6ec7e1518 +0 -0
  243. data/test/dot_git/objects/25/c813a868fe8f0aa7ffb09688c0d357b92deafe +0 -0
  244. data/test/dot_git/objects/26/ccf9637b785b1bc787bddb0d0d1c73f4662982 +0 -0
  245. data/test/dot_git/objects/27/06e2fda31d93c2e9d213f3406022173b10f15e +0 -0
  246. data/test/dot_git/objects/27/23ccc0bc573581a85c131ce62dd0670bc4ceb0 +3 -0
  247. data/test/dot_git/objects/27/9478dba188b07e2948b2f52ac865557065031e +0 -0
  248. data/test/dot_git/objects/27/9771d5b69e4d0342bced5345231d43976091c3 +0 -0
  249. data/test/dot_git/objects/27/b04aeb5b6042a2d90fb40d4293863841257640 +0 -0
  250. data/test/dot_git/objects/27/bcf5fe0a83910d826d1d71d78740441835bace +0 -0
  251. data/test/dot_git/objects/27/f8f0d70ce7e5c303f3c09e0ad169de7e1a7c3d +0 -0
  252. data/test/dot_git/objects/28/08c797feeb40639304a503a395e8333daa0aaf +0 -0
  253. data/test/dot_git/objects/28/0ebe908f5b3306f56b95c2e6758abeed139e26 +0 -0
  254. data/test/dot_git/objects/28/6fa3d105eadff6c94298aa3c0bb84358dbdd9a +0 -0
  255. data/test/dot_git/objects/28/e43ff74f1cbb5e666ee66ef3df5fb612af3cb0 +0 -0
  256. data/test/dot_git/objects/28/ea69ddb42462cde12ddeabd39349fbf9e47fec +0 -0
  257. data/test/dot_git/objects/28/f509a6f26bcce60274974581e63d730236cf90 +0 -0
  258. data/test/dot_git/objects/29/4764c43a2059b716a5016a7f0beb4f41ef762f +0 -0
  259. data/test/dot_git/objects/29/bb16c9ad7a921a6887d5d72c51b9312d1b6ae9 +0 -0
  260. data/test/dot_git/objects/29/bb1b3a815aa0c6c6f41aaf4bca766d0bef1cdf +0 -0
  261. data/test/dot_git/objects/2a/4ff408fd52be259cb69b058d1ac280425d3a14 +0 -0
  262. data/test/dot_git/objects/2a/525a828e4d0d02c01d14445b49c645771bb82a +0 -0
  263. data/test/dot_git/objects/2a/5c7305b52b836fbc0ec7200df58f3f9ba06ec0 +0 -0
  264. data/test/dot_git/objects/2a/6063405e5767fb4b9aa48c2eda4ab87e6cecf2 +0 -0
  265. data/test/dot_git/objects/2a/6d2a310fdaed46fb3a44901392e0bf4f05f8e7 +0 -0
  266. data/test/dot_git/objects/2a/88c76b382e2e3c3e3587e0676301f9949d646d +0 -0
  267. data/test/dot_git/objects/2a/8b7d95c7b2be929873d050f56b6eef546d3c18 +0 -0
  268. data/test/dot_git/objects/2a/9068e8f69713464cbe5ea7492476437d14e8bb +0 -0
  269. data/test/dot_git/objects/2b/79e430dc370f0810552660b495e4ecdeca6aae +1 -0
  270. data/test/dot_git/objects/2b/cec98e50e04c0d01bc097ffa372dcf55695025 +0 -0
  271. data/test/dot_git/objects/2b/f43dbc4e2088a807250eaa609234fd55e3e94b +0 -0
  272. data/test/dot_git/objects/2c/7ac7d7cac1e740e45cb90b4ab2b4f8d4dfaca1 +0 -0
  273. data/test/dot_git/objects/2c/87b72dff61f8394b3f1f32e21c1d936314ec2e +1 -0
  274. data/test/dot_git/objects/2c/8aa45018ca47fce1073b1bf3710e8df35b2dbe +0 -0
  275. data/test/dot_git/objects/2c/97dd5ed8d14496cfc71e7ab12bedfec7c14f2e +0 -0
  276. data/test/dot_git/objects/2c/da3256555de3eb182224bcf9bdcff079ccc44e +0 -0
  277. data/test/dot_git/objects/2d/4e03533d8d37a44a1f3e9315ef5164d7e07764 +0 -0
  278. data/test/dot_git/objects/2d/643778ccaa7adc11f5b2531b418cb1394316ec +0 -0
  279. data/test/dot_git/objects/2d/aa9345be6d2692c2b9303e12e8b69fb78d78ec +0 -0
  280. data/test/dot_git/objects/2d/aea61e18b399977a0fc0b124c837e1d00934fa +0 -0
  281. data/test/dot_git/objects/2d/d3efda11ed9a5e5e883cc3b2a624934f3a150e +0 -0
  282. data/test/dot_git/objects/2d/f7c5ddd50228c2d751df8b6aab96b37cdbc965 +0 -0
  283. data/test/dot_git/objects/2e/1325969bea6889ccffe59660583f8f225eaf47 +5 -0
  284. data/test/dot_git/objects/2e/19521c5c4a51a2fc8aee97f952560b7044941b +0 -0
  285. data/test/dot_git/objects/2e/e881239adb659aea65927a76daf526c0d83891 +0 -0
  286. data/test/dot_git/objects/2f/91a713750e086ab1704e05177d4a8f0d88953b +0 -0
  287. data/test/dot_git/objects/30/2bc1a9a65d8c4ddf073a56d0fdacaff71d5500 +0 -0
  288. data/test/dot_git/objects/30/2c67f5952bb0bda88f303e3b8c8a4cf7f27933 +0 -0
  289. data/test/dot_git/objects/30/a95debfc08077d566c9aa204f708104c716e1d +0 -0
  290. data/test/dot_git/objects/30/c859bedf72cb8dfb745bb17f705e4774d4f339 +0 -0
  291. data/test/dot_git/objects/30/eaea1a7dbd755b4774f2e7b4663623398b09a3 +0 -0
  292. data/test/dot_git/objects/31/5cd4d93bf65f8d00303515c7f31be1b888a349 +0 -0
  293. data/test/dot_git/objects/31/81d650ade16efe68108b01998c1297c7ff0095 +0 -0
  294. data/test/dot_git/objects/31/98cb65f97c46156ad634d04141a3aec5a7f637 +0 -0
  295. data/test/dot_git/objects/31/aaeceab051ff055f4b46b642f5891ac54e85ae +0 -0
  296. data/test/dot_git/objects/31/c867dca3a847692dc87bc4906194f13d183cae +0 -0
  297. data/test/dot_git/objects/31/eee41e36796777df147c26692c0624d73cd2d2 +0 -0
  298. data/test/dot_git/objects/32/89cea29590f1ed0f3da77f118b12ae527f7be7 +0 -0
  299. data/test/dot_git/objects/32/d40772f3ec99939cc2fb68cf66d971bb70af47 +0 -0
  300. data/test/dot_git/objects/32/d7a7f04ce188e48735ca805f27a2e399a1cffc +0 -0
  301. data/test/dot_git/objects/32/dec7871d83a6de85e5b96d06178ada1b4185c8 +0 -0
  302. data/test/dot_git/objects/33/373556aa00a77c621c8957d66994e220dd391b +0 -0
  303. data/test/dot_git/objects/33/49c1bb38f1a3bff19ffdb83fe81373f0947531 +0 -0
  304. data/test/dot_git/objects/33/58897c6333ced9f5d0b8b0d70b53207c32cbf2 +0 -0
  305. data/test/dot_git/objects/33/83cca49868379103ad80ebd52d0cd34731ea27 +0 -0
  306. data/test/dot_git/objects/33/86be79ac5e657a5c9a35c0b4ef87e62c47b8bb +0 -0
  307. data/test/dot_git/objects/33/a3d4c5d14917e67edec483f3222245be341fd1 +0 -0
  308. data/test/dot_git/objects/33/b61981170deb261faec0ce907d8775dc9b0827 +0 -0
  309. data/test/dot_git/objects/34/1780f4f7f8409797a6ee710254cadabbd442c7 +0 -0
  310. data/test/dot_git/objects/34/57115dfa37b9f7729f79eee2c75fc13f21438d +0 -0
  311. data/test/dot_git/objects/34/a29f36e9085784d1c22db7331c0d9ac4e90d99 +0 -0
  312. data/test/dot_git/objects/34/a4e9b8065fdd743ca61dcfa82ffbc7cfecdc93 +0 -0
  313. data/test/dot_git/objects/35/82158a912c79ee8d48eba6196c3613b1e34e57 +0 -0
  314. data/test/dot_git/objects/35/dbdfe43f8ad52f5d396abb7a7014bc453803a8 +0 -0
  315. data/test/dot_git/objects/35/e17670f8b2bc0f9a260d34aa83bd40a9d738e3 +0 -0
  316. data/test/dot_git/objects/36/37c7a23088ef2dabae477f385cdaa65c70a251 +0 -0
  317. data/test/dot_git/objects/36/5e358e24b22ca327750961b28dbfba0330d53f +0 -0
  318. data/test/dot_git/objects/36/840b2a85f282cb11294190666a52f764da2e35 +0 -0
  319. data/test/dot_git/objects/36/855d1bea32e3d3f7e0f0ae135e85cc9e9a2671 +0 -0
  320. data/test/dot_git/objects/36/dba981988940ffe26fd7a818d1216360ade56d +0 -0
  321. data/test/dot_git/objects/36/e81104a0508fea06062a796fd85f457e829380 +0 -0
  322. data/test/dot_git/objects/36/f8ebd8d58b3ce1a337024e6b71107591eaa634 +1 -0
  323. data/test/dot_git/objects/37/175959911a8e8032e07935cde93b873f2466f3 +0 -0
  324. data/test/dot_git/objects/37/593280ce24318d5ff8eb1448ae06c83772afe4 +0 -0
  325. data/test/dot_git/objects/37/6ea43a79070bdea30e0508edf49ee891279559 +0 -0
  326. data/test/dot_git/objects/37/7c4c6c44acbdfd450bdd0eba55845ee885be82 +0 -0
  327. data/test/dot_git/objects/37/a7c60c6a9466823e09acaf6c8cdfb9e0ca79a5 +0 -0
  328. data/test/dot_git/objects/37/b6a48b7f3b475a48fe1cbe6c85e1e5c47caa32 +0 -0
  329. data/test/dot_git/objects/37/e9dad721f3414c686125bef88f1de22eec34f1 +0 -0
  330. data/test/dot_git/objects/38/2f4decb47b8d35ced4b1c386f9ea8a38147897 +0 -0
  331. data/test/dot_git/objects/38/507ac81bcab18fff9a4062c508b3ae1c3ed2b4 +0 -0
  332. data/test/dot_git/objects/38/5b7e7fbe895f4c9e866899c8a9dd413c687e3f +0 -0
  333. data/test/dot_git/objects/38/5f9658195f704e1f20ae167f23c3a91871dba2 +0 -0
  334. data/test/dot_git/objects/38/6eb8dab973c5baa669c4627287f608a602a837 +0 -0
  335. data/test/dot_git/objects/38/965f6e6489e6a9c0011c367ffba2b988512f50 +0 -0
  336. data/test/dot_git/objects/38/d6fa611eb2c06126f711eb64f036ffa83331fe +0 -0
  337. data/test/dot_git/objects/39/414f3aeb1c46b4829d41c2b5a41bc243137ab6 +0 -0
  338. data/test/dot_git/objects/39/49bf564f18107bb9c42f7c78e93c935d749db2 +0 -0
  339. data/test/dot_git/objects/39/693b227a583b222dd22eacfd16c948e40e8c19 +0 -0
  340. data/test/dot_git/objects/39/d92ab22590d648ed6efea996048876bf599c0a +0 -0
  341. data/test/dot_git/objects/39/dbd7e9d354ee652f7f5ca117f867696c32fd73 +0 -0
  342. data/test/dot_git/objects/3a/6030afdfb2890fd10a19d4fba1395d7b24f828 +0 -0
  343. data/test/dot_git/objects/3a/9edce0b66cad4c011fb35c90e80b796ba5610f +0 -0
  344. data/test/dot_git/objects/3b/004186dc696853e8af1c478a961fd4b8ec0531 +0 -0
  345. data/test/dot_git/objects/3b/1fd96da523e9922a1f2b126bbcbc65c7ee9c71 +0 -0
  346. data/test/dot_git/objects/3b/494f98fb24ee05c63c63cfaafa730bd933f9ea +0 -0
  347. data/test/dot_git/objects/3b/5bf78ab1d4b5f3d36129b66f1c4a00cc52dcd9 +0 -0
  348. data/test/dot_git/objects/3b/5cc49cd62921d1abc9eaac373c29ea6fa604c9 +0 -0
  349. data/test/dot_git/objects/3b/79e6461579ba7cc976cea73d36a0c7ac56ff57 +0 -0
  350. data/test/dot_git/objects/3b/d1a9b888fb95bf4ce7da5ba1d0f7db711a07ad +0 -0
  351. data/test/dot_git/objects/3c/135209062a3ccd2032092ab2457eb3980b249f +0 -0
  352. data/test/dot_git/objects/3c/612dfb7e6530546a433262c4ccddc633da823a +0 -0
  353. data/test/dot_git/objects/3c/631958129f12cd496c2c918ff76c04e3aec471 +0 -0
  354. data/test/dot_git/objects/3c/681414cda7c8200292d9c37baef74b8e55b25e +0 -0
  355. data/test/dot_git/objects/3d/68199aa3c3ae3e55fad81d987bb954265da64d +0 -0
  356. data/test/dot_git/objects/3d/6fb637c4c133a62712c2f5c5bc5d6c918b257b +0 -0
  357. data/test/dot_git/objects/3d/8cf6e46dbc2863435a7c0befa9f0f9b72f2b40 +0 -0
  358. data/test/dot_git/objects/3d/c1b8ad89993a94b8b8af627ecefb656f450b3a +0 -0
  359. data/test/dot_git/objects/3d/e0ed396b3309d3135dd608633c7e24d7eb7a78 +0 -0
  360. data/test/dot_git/objects/3e/4e5142403fdafa5daaf580ad2754bd5469f297 +0 -0
  361. data/test/dot_git/objects/3e/8b951715d51b517615319e74f1ff5f143bdd33 +0 -0
  362. data/test/dot_git/objects/3e/c671d1b0661dec389ec97ac49729be98a98363 +0 -0
  363. data/test/dot_git/objects/3f/09b8a94def39594ff66018a0267e3a095f0166 +0 -0
  364. data/test/dot_git/objects/3f/a4e130fa18c92e3030d4accb5d3e0cadd40157 +0 -0
  365. data/test/dot_git/objects/3f/a8b0bb7b1158b3d75cb01a338c688465266ae8 +0 -0
  366. data/test/dot_git/objects/3f/ab2e2576d21e160f65e0f037ef49932153b750 +0 -0
  367. data/test/dot_git/objects/3f/ef1de16cfa99882a900d682c98bf4cdbb0bd1e +0 -0
  368. data/test/dot_git/objects/40/1b901ae82016d0e387f3369e2c73b9729fa960 +0 -0
  369. data/test/dot_git/objects/40/5da6eab49ad6c40202515218685cc5e47ba191 +0 -0
  370. data/test/dot_git/objects/40/878bdc3b0b546884c23cc56e36bb01bca26360 +0 -0
  371. data/test/dot_git/objects/40/98e7e0b3ddb23cbb02faed6443bb662103cca9 +0 -0
  372. data/test/dot_git/objects/40/b5472e26b885b5578a748a7199a49f78fc640f +0 -0
  373. data/test/dot_git/objects/40/c2094b4c5f49c7a75493c3b60718f692238689 +0 -0
  374. data/test/dot_git/objects/40/fbcace81729947e3b6a50db55f20e3b0b8619c +0 -0
  375. data/test/dot_git/objects/40/fccf8916dbf1a607b69cb308affb800b24eff8 +1 -0
  376. data/test/dot_git/objects/41/773794cb94bc0b504c25fe2c7160a4297ac722 +0 -0
  377. data/test/dot_git/objects/41/96d4ceab2df8250b126c1fefe537aed40ba3b8 +0 -0
  378. data/test/dot_git/objects/42/3bd8e89cc0374ecbac89cb81f4d7994971373e +0 -0
  379. data/test/dot_git/objects/42/55d57961f71cbbf37c4895cf2e7944cfb3c920 +0 -0
  380. data/test/dot_git/objects/42/77d827856344ecab7a8cd9b4cc8de189a058b6 +0 -0
  381. data/test/dot_git/objects/42/8b046f3d44ee60a2707cd0ec870f214d52b51d +0 -0
  382. data/test/dot_git/objects/42/e9f36ecb27ec85cd80085f1e9848158af142cc +0 -0
  383. data/test/dot_git/objects/42/ea225300e8cf78bb8dee7867cd9b9dd62a2e42 +0 -0
  384. data/test/dot_git/objects/43/66fbe9656ed24eac8afa838af2e6872e0c0f50 +0 -0
  385. data/test/dot_git/objects/43/67a306774650effecbaf8cd100f2d01d53c736 +0 -0
  386. data/test/dot_git/objects/43/990427a4d4cf451298aa2adff627c97c7fbbba +0 -0
  387. data/test/dot_git/objects/44/4120068cf48a97010e1291f7a6b148dc7db3fe +0 -0
  388. data/test/dot_git/objects/44/6235527422ab47a85897515acf1ba002f7d621 +0 -0
  389. data/test/dot_git/objects/44/c1bb76bef6677159624272045dbbd9e1be3de6 +0 -0
  390. data/test/dot_git/objects/45/7135f1291992d204581e4f70019268d2b41f88 +0 -0
  391. data/test/dot_git/objects/45/7629071e6056bf4a8595a6f171b3404892d528 +0 -0
  392. data/test/dot_git/objects/46/ccdb048ecf2b9452dc2e0174dfdba426df0f62 +0 -0
  393. data/test/dot_git/objects/46/d3b63432ebd26da44b9b5f4463ecab8610003c +0 -0
  394. data/test/dot_git/objects/47/07d2feacccdc27e3ae08b6557313c66ad792cb +0 -0
  395. data/test/dot_git/objects/47/36537c04c8c3d07d91d2b3d7d3ec9f772bc208 +0 -0
  396. data/test/dot_git/objects/47/5cda8f04478f1f3eccdfe350cef3beb5854267 +0 -0
  397. data/test/dot_git/objects/47/f94fe43e503475c4699b9bab535949d45786da +0 -0
  398. data/test/dot_git/objects/48/18f5a5bf96cc367861b358578bad5d14bc1ad9 +0 -0
  399. data/test/dot_git/objects/49/9167ba61ed6a925dbf1d801a417fed31325e79 +0 -0
  400. data/test/dot_git/objects/49/c183e5076a69d95cb3267d65b15f07e8ef3dd0 +0 -0
  401. data/test/dot_git/objects/4a/4960fbcaa4f2b5f540c2417a0e6e3e13cd21e5 +0 -0
  402. data/test/dot_git/objects/4a/4aadbb8d70d1a8f1e0494d93c51cf0a70c73c7 +0 -0
  403. data/test/dot_git/objects/4b/69268fd027874cdc84e08be1a7b0adabe29bd6 +0 -0
  404. data/test/dot_git/objects/4b/6a031b5bca40f2d1197e0d0a8c053e48f2d1b8 +0 -0
  405. data/test/dot_git/objects/4b/ac1a816ea4c330c0a60a7faead02c80d216bf9 +1 -0
  406. data/test/dot_git/objects/4b/c83809c12606b8673503ea595bc9dc926a4f85 +0 -0
  407. data/test/dot_git/objects/4c/5d14c6b35b4b9f9f8a10db253e3a61968fe0d5 +0 -0
  408. data/test/dot_git/objects/4c/721af72f40368c4af46c04956fe6553505b03e +0 -0
  409. data/test/dot_git/objects/4c/765b6172fefd3aa2f2462f40b2c5614f855e33 +0 -0
  410. data/test/dot_git/objects/4c/82aff6d42a4a658102f617678bfd9653e0a997 +0 -0
  411. data/test/dot_git/objects/4c/c3aff3a2c0395c6acba1f57f3adf77a254847f +0 -0
  412. data/test/dot_git/objects/4c/c4d71390cf1c9fbe9543b5da0cb0506fc354da +0 -0
  413. data/test/dot_git/objects/4c/ee78c5ee3ab8591996a1b2f03fd20c78a33491 +0 -0
  414. data/test/dot_git/objects/4d/15668f43bd3d20dea783448a37421254211974 +0 -0
  415. data/test/dot_git/objects/4d/251e90cddd2da086b1a094a40877f94699c97b +0 -0
  416. data/test/dot_git/objects/4d/35b41a2bcd2d028a9abffa2218239d0b1a04dd +0 -0
  417. data/test/dot_git/objects/4d/4af31ee8fb34570f7c50474042246adf5f9536 +1 -0
  418. data/test/dot_git/objects/4d/d750e01c939c69940c3633ec65c18c97e9480f +0 -0
  419. data/test/dot_git/objects/4d/fbecaffa3aab6f4f8823db875466a4e079d311 +0 -0
  420. data/test/dot_git/objects/4e/0942f5895107d26ed935f94720ce8fcb5677f7 +0 -0
  421. data/test/dot_git/objects/4e/1ba5a8835b0208f7b4b8832a3ac1f11c5923ad +0 -0
  422. data/test/dot_git/objects/4e/6593b191405aec3d286b1e5e61ef864a47e779 +0 -0
  423. data/test/dot_git/objects/4e/749569e29fd394f47f679262bf138307352c19 +0 -0
  424. data/test/dot_git/objects/4e/9d21828e2e5003af0be5bb895350c428e6cfac +0 -0
  425. data/test/dot_git/objects/4e/f86eb244bbbde9b793fd8cfab92042adb51485 +6 -0
  426. data/test/dot_git/objects/4f/09b8bf59198a887fb97de69dc6d8385ee74756 +0 -0
  427. data/test/dot_git/objects/4f/72728413e0e66b7281b979dce17eadc2fd8c60 +0 -0
  428. data/test/dot_git/objects/4f/ccb01f2d6a0ba681a5cc489af24adacfdab09a +0 -0
  429. data/test/dot_git/objects/4f/f1303d44eba1b583ea2a3b7765153ee1743e61 +0 -0
  430. data/test/dot_git/objects/50/1b7e3e4924d35febd00c13edf3cb513695b09b +0 -0
  431. data/test/dot_git/objects/50/3e3076ad906d21bda16fa7dcd22eab19847c96 +0 -0
  432. data/test/dot_git/objects/50/40f4c67674acda890725edcd0425d02093107c +0 -0
  433. data/test/dot_git/objects/50/87e423df619ef636e056e28a24f8cb7b873adf +0 -0
  434. data/test/dot_git/objects/51/28cc1329ea4d1a14910c23fe2b76d669c27dce +0 -0
  435. data/test/dot_git/objects/51/48455670cac62caf07b4104b898982a2ee1d27 +0 -0
  436. data/test/dot_git/objects/51/84bca98dfa4da277688eb0cf5d4c3c30049dbc +0 -0
  437. data/test/dot_git/objects/52/0dad6b8078f0ec22714905c569a55adb18207c +0 -0
  438. data/test/dot_git/objects/52/7c32e1f12197b30c91a0b0c47492ee5f84d116 +0 -0
  439. data/test/dot_git/objects/52/985c69fce3578762db2c549414d93c5344973f +0 -0
  440. data/test/dot_git/objects/52/a0ed389b902d699b002b4b974d5a422f5d648f +0 -0
  441. data/test/dot_git/objects/52/c074ceaeeae3ad8faba5eaa883b29d47e3753d +0 -0
  442. data/test/dot_git/objects/52/e6e4c8d61116b7306af1e3a83330e9b2f2b22e +0 -0
  443. data/test/dot_git/objects/52/ebe29d5aab2f2d13bff0300809349e47a93578 +0 -0
  444. data/test/dot_git/objects/52/f056f557e9c34c1d410e38f28fb0ff3eb8cf8a +0 -0
  445. data/test/dot_git/objects/53/029523a88fbcc802bc09d177b250779077da61 +0 -0
  446. data/test/dot_git/objects/53/94a7335809300349d81816fcd5c7e4c838025b +0 -0
  447. data/test/dot_git/objects/53/bed2e68961f68a0d28589ab78ac3cddea26870 +0 -0
  448. data/test/dot_git/objects/53/d7b4bf2a0de4f29efbcf9cc5151e6599bfb180 +0 -0
  449. data/test/dot_git/objects/53/e7f70cb60a4a2c42e0c16f9eac862d527ef2b5 +0 -0
  450. data/test/dot_git/objects/54/1264963de31abc20ae319ffb81afb894a58777 +0 -0
  451. data/test/dot_git/objects/55/1240c0e157f1f2758ca49851278b209229067a +0 -0
  452. data/test/dot_git/objects/55/4dd421736514dbff8ee54bcd0fdb14c6066ec5 +0 -0
  453. data/test/dot_git/objects/55/551f97b57dda2e947f0fd75097a712f3c72fa4 +0 -0
  454. data/test/dot_git/objects/55/9b8493ad088486436a0e5569abd24005bd00b8 +0 -0
  455. data/test/dot_git/objects/55/a588a07006a47eaf9805311e73a5c6c8516344 +0 -0
  456. data/test/dot_git/objects/55/b1da2f93e556f8ff2ab9063d73b1ff633f2954 +0 -0
  457. data/test/dot_git/objects/56/3e1a6828c118fda28f11a33f9349bc15dd2607 +0 -0
  458. data/test/dot_git/objects/56/47e47c36c08268426e558565baf40ab240fe9e +0 -0
  459. data/test/dot_git/objects/56/cfafc365c69aa55f9558a59e6d909d2f6822d9 +0 -0
  460. data/test/dot_git/objects/56/d26caca2e437e35d35cf42f782f8c74b283df2 +0 -0
  461. data/test/dot_git/objects/56/d65dce3016a197a757b693799847d2fddbb04e +0 -0
  462. data/test/dot_git/objects/57/639e8ddac5fff2b7693c462538babc53ef81d4 +0 -0
  463. data/test/dot_git/objects/57/771c0727c589e983019a5a076190d156c5ef1c +0 -0
  464. data/test/dot_git/objects/57/e4351700dc0a81ae1aa812484eb0551b1a0866 +1 -0
  465. data/test/dot_git/objects/58/223b18290bf0265b04b3697f729dba40f9e7cc +1 -0
  466. data/test/dot_git/objects/58/40f249cdfffd086dbad61feea0c3a8a4b3d109 +0 -0
  467. data/test/dot_git/objects/58/4b8f537c2d89e0e47d6bbde2627ea6f01d4a7f +0 -0
  468. data/test/dot_git/objects/58/5c2c53d923fa6b480ae2ddc2b820b317b1403d +0 -0
  469. data/test/dot_git/objects/58/628e6483b6cc5cc721f1ee6d398bd0c2a87312 +0 -0
  470. data/test/dot_git/objects/58/74dd25ed52fa87b8597015a538b56ab0100d55 +0 -0
  471. data/test/dot_git/objects/58/8455d11d4347b9ac17d31205e8f638533727f4 +0 -0
  472. data/test/dot_git/objects/58/872e956be186c8fc87efaad3175d4ad9324283 +0 -0
  473. data/test/dot_git/objects/58/b73b8c03710dbc09303ca0a6a6bf0041481ac8 +0 -0
  474. data/test/dot_git/objects/58/f04c947cbdd1f0c2782c1c5575328680790193 +0 -0
  475. data/test/dot_git/objects/59/032046844377888d7f0d53e8bf49e469321ebf +0 -0
  476. data/test/dot_git/objects/59/96606c30d29c0bc97f67b18a0f255f87cc2da3 +0 -0
  477. data/test/dot_git/objects/59/eb45a3f0a6b80dbbb7b99024e55227a4086eba +0 -0
  478. data/test/dot_git/objects/59/ee1a70e83c28f2d74843b91e39e557340e6172 +0 -0
  479. data/test/dot_git/objects/59/ef600ad21001772c04e540918f28c00ea71b39 +0 -0
  480. data/test/dot_git/objects/5a/6c2633eb0410a8651550d1f894c0a06fd4f92d +0 -0
  481. data/test/dot_git/objects/5b/02a248683c285d22af6640765232a018cd666c +0 -0
  482. data/test/dot_git/objects/5b/2741fde089f266afca1adcfdc4eeb8dfe4a463 +0 -0
  483. data/test/dot_git/objects/5b/9e2e35bffc027b09677112d4bd1b3af4d5c313 +0 -0
  484. data/test/dot_git/objects/5b/c6f75b8462a5d6190fdd50f3e74cf9e1dfeed3 +0 -0
  485. data/test/dot_git/objects/5b/f84617e57e85ca06eb64271e0cabfdf8cd925f +0 -0
  486. data/test/dot_git/objects/5b/fd1435a75583e9dd95536f2da3882f41604727 +0 -0
  487. data/test/dot_git/objects/5c/2c0c973c27c8ee488d48bfd12b6e96d202381c +0 -0
  488. data/test/dot_git/objects/5c/72f12ea25d302ad4a4ceb9f5f9f033cbf3fffc +1 -0
  489. data/test/dot_git/objects/5c/8279a64dcfe94e59973fd0125cf5824296623a +0 -0
  490. data/test/dot_git/objects/5c/a47fc1a9590937f34809ea48f5bd873b218317 +0 -0
  491. data/test/dot_git/objects/5d/6109a9e5ef1f941a39144f14340ceef80ff331 +0 -0
  492. data/test/dot_git/objects/5d/66d8da0c12ac0eca4e8c6e766c82b74593ec88 +0 -0
  493. data/test/dot_git/objects/5d/84fe98507e47d78953bd0208ae063f06e52b1f +0 -0
  494. data/test/dot_git/objects/5d/a88f7992de649d8eae9529095b419e8a70f026 +0 -0
  495. data/test/dot_git/objects/5d/c9b501f6b70d5aa3d6420fa5f35bb0a2154a6a +0 -0
  496. data/test/dot_git/objects/5d/e68783db60cc4b7361b8639a73dda527b50b58 +0 -0
  497. data/test/dot_git/objects/5d/ed8819f036921e27f2668819236725c1bc793e +0 -0
  498. data/test/dot_git/objects/5d/fc38afe33e85878cd25a50ad3f18949372afbe +0 -0
  499. data/test/dot_git/objects/5e/2e8449f6aea6b4ca05a1bca0478c1ddfd5535a +0 -0
  500. data/test/dot_git/objects/5e/329b884e07932517bf9909303f6017cb178a25 +0 -0
  501. data/test/dot_git/objects/5e/79da1a7446822b46659edf25e9144816fa0454 +0 -0
  502. data/test/dot_git/objects/5e/d3c8d603d0ee1d52e0d512123e11bc892ec244 +0 -0
  503. data/test/dot_git/objects/5f/04dc6aa3c9ac971fb0c6720602be9c120c16f4 +0 -0
  504. data/test/dot_git/objects/5f/701c07e50ba10b912455198fcfc2392e29bd44 +0 -0
  505. data/test/dot_git/objects/5f/7950617f2d778d6209a11cb13e511ae4fb845f +0 -0
  506. data/test/dot_git/objects/5f/88d05fb1efcdb4d1c825b3590f6a941d878048 +1 -0
  507. data/test/dot_git/objects/5f/c8689d7e4cb9dc91900539ff0562130cf90fdb +0 -0
  508. data/test/dot_git/objects/5f/ec1ca382b811bf51abc319eb929cd7553842e8 +0 -0
  509. data/test/dot_git/objects/60/390f7ddecc01fafb62b7d891f93ea23498acb8 +0 -0
  510. data/test/dot_git/objects/60/7d0c6725b82a2b8ad5977fdf08f7319cfb5b2b +0 -0
  511. data/test/dot_git/objects/61/0bed6eb24528c64369a7eb731801d1111bdf4d +0 -0
  512. data/test/dot_git/objects/61/45457b008cd93e22a44f4cfee2b65f05808d17 +0 -0
  513. data/test/dot_git/objects/61/7d5fec3e4ee86080adc1dedd4ef91cc1b515d4 +0 -0
  514. data/test/dot_git/objects/62/d812d2a42d5ad62cbcef99a81749d1ed68f2c2 +0 -0
  515. data/test/dot_git/objects/63/142041870ce53f5ef4451b8cf021151e145054 +0 -0
  516. data/test/dot_git/objects/63/2ff9f2fc143cb67362b8267d57ff969d91ce85 +0 -0
  517. data/test/dot_git/objects/63/5e6c9e4f53250d4aae886ead0a080d81e0af2c +0 -0
  518. data/test/dot_git/objects/64/29532bf470fad3153093c7f4b10f69ee82ae18 +0 -0
  519. data/test/dot_git/objects/64/2b8924b35c87dd48f07bbdb6d0deb1ae5495dc +0 -0
  520. data/test/dot_git/objects/64/3cc80fe2609914350d4a5bde3cc1c4d7197dc2 +0 -0
  521. data/test/dot_git/objects/64/53d33435bcf98c2736530f3fdd4f74a2cfb974 +0 -0
  522. data/test/dot_git/objects/64/e717a84fb544375169f554be6b922aba692aa9 +0 -0
  523. data/test/dot_git/objects/64/ec7cc059b0db49a529e51823891aef4d8bf338 +0 -0
  524. data/test/dot_git/objects/64/ef0dfa8ef722d4caae716111efb647a1060405 +0 -0
  525. data/test/dot_git/objects/65/46414b519e280abb855f6231e8da5287c7a47d +0 -0
  526. data/test/dot_git/objects/65/d911ebcec541a3d3aecfde6d067b979e6e5086 +0 -0
  527. data/test/dot_git/objects/65/fded76255bcab79ffa0f0a8d0c914b4056b380 +0 -0
  528. data/test/dot_git/objects/66/1b95aeb34878aeacb70d74bf1c577b2cc461c3 +0 -0
  529. data/test/dot_git/objects/66/34746a6fe80824066823779491b252ae012bd6 +0 -0
  530. data/test/dot_git/objects/66/51ea0653b01a5f73d9ae1593c2d8a7369a74d9 +0 -0
  531. data/test/dot_git/objects/66/5fa9d3c28c07aa174637aca8252f88e7ed15ff +0 -0
  532. data/test/dot_git/objects/66/7e57234226564739a618858668734a6b244876 +0 -0
  533. data/test/dot_git/objects/66/893c143a41615e9d2690f179308fc2c9ea2e92 +0 -0
  534. data/test/dot_git/objects/66/9224346dd756bf1d344d5a8b233805fa7e46e1 +0 -0
  535. data/test/dot_git/objects/66/99b0c4524bcdf045b66498ef281f863fc10628 +0 -0
  536. data/test/dot_git/objects/66/de9d57e1401ecd2cca3cd6487fb4ef348f5911 +0 -0
  537. data/test/dot_git/objects/66/e81f2947ee43f489386e4839edbc51bbaa3200 +0 -0
  538. data/test/dot_git/objects/67/3f9b7a23a3fffe64f9ce4701914a110d70172b +0 -0
  539. data/test/dot_git/objects/67/948a3f3783988c41844a3e3cba519563a6b6ae +0 -0
  540. data/test/dot_git/objects/67/9a2f922a0937fc209a3ae77bffcc9fda6c49d0 +0 -0
  541. data/test/dot_git/objects/68/0d86dd159ecd96257a223e3e36f820ececa886 +0 -0
  542. data/test/dot_git/objects/68/ad8c20d09837654709a9511a22d719631606d4 +0 -0
  543. data/test/dot_git/objects/69/51fae70af8ff7ee84d7c3f9f0bdc99214451ed +0 -0
  544. data/test/dot_git/objects/69/b1ef658dcf275374265786e3ef979e1ce7acad +0 -0
  545. data/test/dot_git/objects/69/d8022883cf48368b3559b6e8ce2ba460e620fa +0 -0
  546. data/test/dot_git/objects/6a/0f0474e45585c06d7caac652d252483187d68e +0 -0
  547. data/test/dot_git/objects/6a/17ba4e3597af94f36b95350d0cde8d1a580db8 +0 -0
  548. data/test/dot_git/objects/6a/20b5c1026c8229c32f870c92e8f1031da099e8 +0 -0
  549. data/test/dot_git/objects/6a/4e6a2f37fc02e35ef674d98097c8661c37360c +0 -0
  550. data/test/dot_git/objects/6a/a4e1aa5e7dbd47c73b28ed8ca30bcab93b4638 +0 -0
  551. data/test/dot_git/objects/6a/bc261d2e17d6200800890bf6db1e9bd0d9e764 +0 -0
  552. data/test/dot_git/objects/6b/7b8ca7b28c4c62f8a25ccccb4d6ade9e46c2d7 +0 -0
  553. data/test/dot_git/objects/6b/86465bf8bfad93a003413d0fe62af740f02f94 +0 -0
  554. data/test/dot_git/objects/6b/8c15931c3bc81f0825cbfbeeca79c8a6c3fe82 +0 -0
  555. data/test/dot_git/objects/6b/91775915c89f4141223d3ff5648281347276d1 +0 -0
  556. data/test/dot_git/objects/6b/c9cacf63f0e9783c9222583b3f836a1fd14243 +0 -0
  557. data/test/dot_git/objects/6c/023c8d73917e5c90651fb720269884befdb306 +0 -0
  558. data/test/dot_git/objects/6c/1c2608eaf29388ff986d825f413aefacde71b6 +0 -0
  559. data/test/dot_git/objects/6c/4b8c2fd3da22ef73e392683f926ae3b7494e57 +0 -0
  560. data/test/dot_git/objects/6c/57ae690bc5271210392920898240c13f4e5634 +0 -0
  561. data/test/dot_git/objects/6c/b49e0e6182741e6fd69d9cf9c162a1bd26be8c +0 -0
  562. data/test/dot_git/objects/6c/b6584d6d4c398766ba42bd0a4f3cb620b62b95 +0 -0
  563. data/test/dot_git/objects/6c/d7d640a01480625cdf36af25696eea32a7a5ce +0 -0
  564. data/test/dot_git/objects/6c/e9e816cf0f060838d5f34ecf284ad2458f806f +0 -0
  565. data/test/dot_git/objects/6d/50eaf75755f91cd174bd97a6fb26574d42a972 +0 -0
  566. data/test/dot_git/objects/6d/7b878255abaea31a1bd43cfacd89727a40b334 +0 -0
  567. data/test/dot_git/objects/6e/770404d1e88f7b87a687bdba3e4063e1b84c43 +0 -0
  568. data/test/dot_git/objects/6e/9dc33da171c918556c6474b9c1ff075a4b4667 +0 -0
  569. data/test/dot_git/objects/6e/af969270949b97cde160323221579ebf7d0ae6 +0 -0
  570. data/test/dot_git/objects/6e/ea8c4874e378d50b39180173efd8540a3dad17 +0 -0
  571. data/test/dot_git/objects/6e/fe28fff834a94fbc20cac51fe9cd65ecc78d43 +0 -0
  572. data/test/dot_git/objects/6f/6906254fa5d16d54cd4511e79acc3ee79da96c +0 -0
  573. data/test/dot_git/objects/6f/ba35bc25c85a6950fe9ad5c4713fee174dcd1e +0 -0
  574. data/test/dot_git/objects/70/03498f1263cfdbc14d0ba3f5107959c4ccff7a +0 -0
  575. data/test/dot_git/objects/70/7d0fbd934e645980235d52112ce9ed8a8da14c +0 -0
  576. data/test/dot_git/objects/70/9df040a86df6a593c7f3247202fb9d2103914b +0 -0
  577. data/test/dot_git/objects/70/a5bb43f72b4a6075e0e2bf83e5abafee417d01 +0 -0
  578. data/test/dot_git/objects/71/1cf6f726379a9c1a83eea1fae4ec3a10af28f1 +0 -0
  579. data/test/dot_git/objects/71/8053589f8cff63551986b4961853f16903eda2 +0 -0
  580. data/test/dot_git/objects/71/a6696da9143512b4f2b6d7474d58835c9dea6d +0 -0
  581. data/test/dot_git/objects/71/b079961daac90fe8402177b87a08fa87a86ab7 +0 -0
  582. data/test/dot_git/objects/71/be442fd1a2b656e262f5a50268e57f3d64ec68 +0 -0
  583. data/test/dot_git/objects/71/eb51ed930e26754304f1470cfde1d1675cf2be +0 -0
  584. data/test/dot_git/objects/72/1cf10ace0fad67e9d7ef5024bbfdea99d54b6d +0 -0
  585. data/test/dot_git/objects/72/944ef1b06abd709ae708d6be3426937f248a32 +0 -0
  586. data/test/dot_git/objects/72/c02e7e07d2284fe144183529f9b5ca45027a99 +0 -0
  587. data/test/dot_git/objects/72/ec1f22a7b22aca941d9483e3b9fec79b46c8c2 +0 -0
  588. data/test/dot_git/objects/73/1501ae418cdc7babb9a86f3cb869daf11c28e8 +0 -0
  589. data/test/dot_git/objects/73/167b43c845d98eaa2040c701334f0c6f24a69c +0 -0
  590. data/test/dot_git/objects/73/5942ed3013eb862658960cf891e4c7de0f511e +0 -0
  591. data/test/dot_git/objects/73/64a83cdea4b92b1604c498d9e82f1f16a80778 +0 -0
  592. data/test/dot_git/objects/73/6b8e522a9076b3622c0f45f54b4ae2b033ce8f +0 -0
  593. data/test/dot_git/objects/73/84eef4cb81eca27a0e7996bf7305f77438ae9e +0 -0
  594. data/test/dot_git/objects/73/d04ec8b76b7eb2cacdd6fdd5c34bd975ebb04e +0 -0
  595. data/test/dot_git/objects/73/e65a8a571f4319984cf694e45f37186f55fd0a +0 -0
  596. data/test/dot_git/objects/73/f11a5cf43de10f70cbf9cc1dfd1f34fbf918e3 +0 -0
  597. data/test/dot_git/objects/74/30b0ca149b99aad6bec0e5ffdab3f602648ceb +1 -0
  598. data/test/dot_git/objects/74/8a7d9c0d07f08f5ad23a0188cd017e2f1d9730 +0 -0
  599. data/test/dot_git/objects/74/e48401ad6085171109f933862cb87c98cf1132 +0 -0
  600. data/test/dot_git/objects/75/20a2be3072026e93bafbcb83245de447c02211 +0 -0
  601. data/test/dot_git/objects/75/7a9ec68a0a196a196ac5b42c13a45de2a39e3b +0 -0
  602. data/test/dot_git/objects/75/f3bbdeec9b0ce7b4dbf652348f7105099df310 +0 -0
  603. data/test/dot_git/objects/76/517e7150248161747a113dd311b5f2e5112b7e +0 -0
  604. data/test/dot_git/objects/76/940ef6ba3d8d1048e6059d48417279b74e057f +0 -0
  605. data/test/dot_git/objects/76/aa89f0b0bc7e92b92758b7e6520a8dfd086739 +0 -0
  606. data/test/dot_git/objects/76/ac881b1ec4cd0b8f3ed71bc90f915ac465042c +0 -0
  607. data/test/dot_git/objects/76/b3f0be5ec5ff6c63e471f4dc696917d64de92d +0 -0
  608. data/test/dot_git/objects/76/d54fdb3b93105642dd779a429b81a32d4a4d07 +0 -0
  609. data/test/dot_git/objects/77/aa887449c28a922a660b2bb749e4127f7664e5 +0 -0
  610. data/test/dot_git/objects/77/edfa1c893d3e8d80881ff5eb56dc9d10fd944b +0 -0
  611. data/test/dot_git/objects/78/06987ac105edba10fe27c9a9f415dab7c0f9b8 +0 -0
  612. data/test/dot_git/objects/78/3367a2b50a733782aec243f1e8760effd62769 +0 -0
  613. data/test/dot_git/objects/78/38858f15204b6c4b0f076c47d0c825350a845f +0 -0
  614. data/test/dot_git/objects/78/447092f23b8719ca1d548075f46174d1f18269 +0 -0
  615. data/test/dot_git/objects/78/591e22e8e9fd665bf9bf955ecd7601bc10efc5 +0 -0
  616. data/test/dot_git/objects/78/99ce846a293ff465fd391e790a8c7e6d896cbf +0 -0
  617. data/test/dot_git/objects/78/d03cddc9d41d27792e9c84ce3174ee141294c9 +0 -0
  618. data/test/dot_git/objects/78/e0f291158261fcdb038e8cd7c09903b4c95729 +0 -0
  619. data/test/dot_git/objects/78/e118de9e47c4652608412c27425c01764317b5 +0 -0
  620. data/test/dot_git/objects/79/0005c92fc8f75b3d194ae031bb89b041eecb04 +0 -0
  621. data/test/dot_git/objects/79/0e7b517e808fb9ddbc67ac1e6b4c02bd4f302a +0 -0
  622. data/test/dot_git/objects/79/657d266b1abff32fb3177c9e383f670dc285c0 +0 -0
  623. data/test/dot_git/objects/79/6a9d3b5c3ad98586fa0e68f91ddb9d317600ab +0 -0
  624. data/test/dot_git/objects/79/8078f16e07ac653bd09edb381b77fd70aa434f +0 -0
  625. data/test/dot_git/objects/79/9bfeaa86d66c4e1638f9c777cd823329ce532e +0 -0
  626. data/test/dot_git/objects/79/b2b708e1b11d83d8d169bae09d8291698d5365 +0 -0
  627. data/test/dot_git/objects/79/d5f65d307915105523c1267ee2457c853f6d76 +0 -0
  628. data/test/dot_git/objects/7a/087349e9f350ece8e7fa7715da5e84927e9705 +0 -0
  629. data/test/dot_git/objects/7a/5e762fa8f7fa3e2302f1ad4c0710b6910812c1 +0 -0
  630. data/test/dot_git/objects/7a/b4406c6679ad4d2a6d7abb029f46b35b1bd3ec +0 -0
  631. data/test/dot_git/objects/7a/e93eb82d94273605ea4ffa808223f3517751f1 +0 -0
  632. data/test/dot_git/objects/7b/0eb3a3b0d48710afc0fb2f7b95cf949c17db45 +0 -0
  633. data/test/dot_git/objects/7b/3c2f5c49cc882758b2dfebcda96f14bf04ba11 +0 -0
  634. data/test/dot_git/objects/7b/95db1c259d8fca0aa9d641dfc85127b079c311 +0 -0
  635. data/test/dot_git/objects/7b/bf33d461c4840401abc9cb8b37287c7997e9cf +0 -0
  636. data/test/dot_git/objects/7c/04a6027ad8768258e2dbbb82b069fa1f061e6f +0 -0
  637. data/test/dot_git/objects/7d/3a818a79464316e03c53b11b684e797e9d06ed +2 -0
  638. data/test/dot_git/objects/7d/bfba85b625779105f0d853f89522971346b3ef +0 -0
  639. data/test/dot_git/objects/7d/cfb401bdfd9817a0b3ca08ada41bf0c1080802 +0 -0
  640. data/test/dot_git/objects/7e/013cd6934d110979c95b17ad9b796264919b52 +0 -0
  641. data/test/dot_git/objects/7e/1c4e68dcc2fb435310e397e1269e257f1db6b4 +0 -0
  642. data/test/dot_git/objects/7e/3f8ceb97f84e983cbae9934eda025babbb393a +0 -0
  643. data/test/dot_git/objects/7e/4639a2cb181a6592f431d42db83cf640a563d1 +0 -0
  644. data/test/dot_git/objects/7e/8b4499db8aeeb2b1b285657113076d643b5f5d +0 -0
  645. data/test/dot_git/objects/7f/200467dab592a0a0f1e72777bb2404ef00d57e +0 -0
  646. data/test/dot_git/objects/7f/4a452ac9fc4b6751b454035df3f357c458b150 +0 -0
  647. data/test/dot_git/objects/7f/8c688c758239f302451b0bc10679e547003b5e +0 -0
  648. data/test/dot_git/objects/7f/d9cd76d00c54c434d003a49058592b6f0c10c1 +0 -0
  649. data/test/dot_git/objects/7f/e607b5531e290bd50f1f70ea236d0306a882a9 +0 -0
  650. data/test/dot_git/objects/80/056ae72df1345efa2dd3e216360ca326943fb9 +0 -0
  651. data/test/dot_git/objects/80/8ac3c39d4453622e036118e256f502689d4067 +0 -0
  652. data/test/dot_git/objects/80/dd878d113eee55fd606afc60099d24ba50e670 +0 -0
  653. data/test/dot_git/objects/81/17c407e1439f789727b5acdfa809c67bf29ddd +0 -0
  654. data/test/dot_git/objects/81/21bb4a8880254f69d3ce36b1e85de59f85d9bc +1 -0
  655. data/test/dot_git/objects/81/28628b8e0eb3e167d58b1a393db319bc379fe9 +0 -0
  656. data/test/dot_git/objects/81/a18c36ebe04e406ab84ccc911d79e65e14d1c0 +0 -0
  657. data/test/dot_git/objects/81/b45795bd079c07ed01170a19069372bc6bb885 +0 -0
  658. data/test/dot_git/objects/81/c78b8d7ecacc9aea1ca93221f8b6cbef2ffde7 +0 -0
  659. data/test/dot_git/objects/81/db1993b56df3c9e2511209eecc3339df0a416e +0 -0
  660. data/test/dot_git/objects/81/f3aa336cc7f79b9765daf032f084059eb2b635 +0 -0
  661. data/test/dot_git/objects/82/0d6dbc4c5d6aa2ac39e9f6e18d334ea3cafa44 +0 -0
  662. data/test/dot_git/objects/82/def912edf146e3f30dd02ec78c07356aefdfa5 +0 -0
  663. data/test/dot_git/objects/83/1a6e4e570910039b5359a9cdb5e6b42ff4c423 +0 -0
  664. data/test/dot_git/objects/83/6dca6265fb655643b769aa1dd9d24de45713c4 +0 -0
  665. data/test/dot_git/objects/83/797cb2aabfcc30a94aba8ae9ba396b2a16c3a6 +0 -0
  666. data/test/dot_git/objects/83/a11c45ea6d699f2a874701bc231495df320ef8 +0 -0
  667. data/test/dot_git/objects/83/b2a44866c05489569466edd0b64fd64c35f3bf +0 -0
  668. data/test/dot_git/objects/84/8b08ba949f0d0f64d00a3318775e7f3becf164 +0 -0
  669. data/test/dot_git/objects/85/12f2fa7f4b87784c64cb6615f1fbad7926abf2 +0 -0
  670. data/test/dot_git/objects/85/1c599e01cab929963ee07bb8911477da3817bd +0 -0
  671. data/test/dot_git/objects/85/4e76fadf16d5005f334dbaac7a951bf690c310 +0 -0
  672. data/test/dot_git/objects/85/80c640aa9c03061a2607afd70a52d4a0fe21b3 +0 -0
  673. data/test/dot_git/objects/85/b40f2911319215ea768a7d599e267a465e2b85 +0 -0
  674. data/test/dot_git/objects/85/bb8a9e19a9a179bd9f5c2056588e6e25274288 +0 -0
  675. data/test/dot_git/objects/85/e5fdbc2cefd10f0aa7042e092bd5f4c8c823d3 +0 -0
  676. data/test/dot_git/objects/86/165d83745d61a99aa3961957d191e038b2f5a6 +0 -0
  677. data/test/dot_git/objects/86/1b019631332e20abcedcd44efb78b4bc245797 +0 -0
  678. data/test/dot_git/objects/86/4a495e2f411c12a0a5df886d2a3bc0c36edf8b +0 -0
  679. data/test/dot_git/objects/86/a7b47629e8ae1c822c8014a342d1d041609d8c +0 -0
  680. data/test/dot_git/objects/87/26f79534faaea1e04860001c426e9ea4082a88 +0 -0
  681. data/test/dot_git/objects/87/e2e8f0df7fdf8605ba86ecd97d8e7b5590893c +0 -0
  682. data/test/dot_git/objects/88/33b49921fe5b49266199aa3eba316a80c9e61b +0 -0
  683. data/test/dot_git/objects/88/a86c6983316e48805a13bbb54fa0f9c80248b2 +0 -0
  684. data/test/dot_git/objects/89/353c81b260c81a3340ce0a1b92da0d94d8f6de +0 -0
  685. data/test/dot_git/objects/89/6cdba0f0e33856711cb64067e30256894fe40c +0 -0
  686. data/test/dot_git/objects/89/d0fc07bb62c543b73721d9eb8e76375317777c +0 -0
  687. data/test/dot_git/objects/89/e93573ff69db29a5a7d7f77319a743e8afa784 +0 -0
  688. data/test/dot_git/objects/8a/0d30f5ec46a905b14597f5f1a50526339313f1 +0 -0
  689. data/test/dot_git/objects/8a/4e031f65e18814ff506beee5de5576aca31aeb +0 -0
  690. data/test/dot_git/objects/8a/8a57d37adad012752dbba3c6e1063a374b66a6 +0 -0
  691. data/test/dot_git/objects/8a/ac2492e118b62b049858e49286eda99b70424c +0 -0
  692. data/test/dot_git/objects/8b/039964bc11de4db51deada1676b0a8e7c80fbf +1 -0
  693. data/test/dot_git/objects/8b/3cdab3baad4295363739c4116a96d8321a67c7 +0 -0
  694. data/test/dot_git/objects/8b/8e7f353094009e7fc3b360ecc266081fa7e72d +0 -0
  695. data/test/dot_git/objects/8b/a8d47b778c172e3fa94f59d715d3ccfec9eab8 +0 -0
  696. data/test/dot_git/objects/8b/e6f34ad98804d1d0d39d41d63a06d736050494 +1 -0
  697. data/test/dot_git/objects/8b/ea8baddf15affc95414c402dfff718790816ee +0 -0
  698. data/test/dot_git/objects/8c/a7f29a74c0245e6d5ffe19047290e89c53c2e3 +0 -0
  699. data/test/dot_git/objects/8c/b1801bab79dbed4c457f7c56a4243b19a572a1 +0 -0
  700. data/test/dot_git/objects/8c/b23bbdc76c2644bcc177e96c648f49b04f2a62 +0 -0
  701. data/test/dot_git/objects/8c/be10141cdef6c19f769fe5feb9f97f218a751c +0 -0
  702. data/test/dot_git/objects/8c/cc9b07c5a8c07bb3170758dcd76bfd26631f05 +0 -0
  703. data/test/dot_git/objects/8d/2896b596358c8d3fe2bde06f71b74322e6c69f +0 -0
  704. data/test/dot_git/objects/8d/86c5f852a8cde3e1500f0bc7e4b75fa16478bc +0 -0
  705. data/test/dot_git/objects/8d/94435b58a834245eb3e98204f6981949febda4 +0 -0
  706. data/test/dot_git/objects/8d/9939f789c32f715831c70529faa0ed8bdaeaef +0 -0
  707. data/test/dot_git/objects/8d/c2a6356dbcaa309b457d54ecc297fe9abe4cac +0 -0
  708. data/test/dot_git/objects/8d/e21b364f1831a676486d65deea2bfbe141962c +0 -0
  709. data/test/dot_git/objects/8d/fad1edfb99419586b830f19f9e96ce9d241c49 +0 -0
  710. data/test/dot_git/objects/8e/f9baa02195f51e8d2322fb9304c8631acc126d +0 -0
  711. data/test/dot_git/objects/8f/1becb8995005a7e1b22260e5d6d674249f094c +0 -0
  712. data/test/dot_git/objects/8f/1d9f4bc14deac99f49eddae61ef2c3db7ab5c4 +0 -0
  713. data/test/dot_git/objects/8f/270405010cb4b04ee17d650e27bedf52ebc104 +0 -0
  714. data/test/dot_git/objects/8f/33d0578b63742b37657963d10bdbc3a30ac874 +0 -0
  715. data/test/dot_git/objects/8f/67e2313d82205d121e809ba1095930ded3e3c7 +0 -0
  716. data/test/dot_git/objects/8f/a525c77fec13ec6c2178840912c6c37b8c3cce +0 -0
  717. data/test/dot_git/objects/90/00a6cdf5f075a5b745726b97a7b27f1e669c47 +0 -0
  718. data/test/dot_git/objects/90/6fb7baecb35dff873248bae5084a74f59b4912 +0 -0
  719. data/test/dot_git/objects/90/87b71f5562c7c842fd3001419f5676f28385b4 +0 -0
  720. data/test/dot_git/objects/91/9f3cce611b8364e605830f3dbb059d36b223df +0 -0
  721. data/test/dot_git/objects/91/a3a5989e366c3037fbd7e917c49a36dcfbf79e +0 -0
  722. data/test/dot_git/objects/92/06fce962ca848ff0d6c4a9bf28e92b4a694c87 +0 -0
  723. data/test/dot_git/objects/92/10addf8611cebd99b28d8ecc01dd90006cf8e3 +0 -0
  724. data/test/dot_git/objects/92/1f3eccb5f75c6b81f9044aedd151dd391eef10 +0 -0
  725. data/test/dot_git/objects/92/214a8582931848b8146baf317db76dee9cfac1 +0 -0
  726. data/test/dot_git/objects/92/4b409ce9b20af189cf2a6ce930be8d977d3d3b +0 -0
  727. data/test/dot_git/objects/92/6bfd86bcaf51e3926756ffce7b877665a2e87f +0 -0
  728. data/test/dot_git/objects/92/d6e4952a99f3b26a0848f5d121f618d9a36c9e +0 -0
  729. data/test/dot_git/objects/92/ffbe0beb74ed54fe13db418914b436f8b155b8 +0 -0
  730. data/test/dot_git/objects/93/a8d9a44e349e3b8eb1138d58aed8574dd1e5eb +0 -0
  731. data/test/dot_git/objects/93/e09a95f21568d850e6dce849a3a637c9459c01 +2 -0
  732. data/test/dot_git/objects/94/2831545ab1b5a6c47998d5204e8fa4a13af252 +0 -0
  733. data/test/dot_git/objects/94/319883d8329892c2a817a819b2208369000d09 +0 -0
  734. data/test/dot_git/objects/94/9d05d450c007f882ca5bf52552966f40af5e96 +0 -0
  735. data/test/dot_git/objects/94/b0a3aa0d0e1faea2587a2ea7f60d8b4720dc54 +1 -0
  736. data/test/dot_git/objects/94/c860430bed915b713e537a4b1a1327df976c1c +0 -0
  737. data/test/dot_git/objects/94/ccb02ffd3754e3db0024925d5c15fa1292aae1 +0 -0
  738. data/test/dot_git/objects/94/f4167ce48b9a84a94dce037146cd1e6cccd1d1 +0 -0
  739. data/test/dot_git/objects/94/f6073254faf452d56d37160580fa2480b0e42b +0 -0
  740. data/test/dot_git/objects/95/49f8c5b4d118463f75816da93143d538be3f45 +0 -0
  741. data/test/dot_git/objects/95/c29e184a0ec7c5fa0a2d4ecd105f17bec6218b +0 -0
  742. data/test/dot_git/objects/95/efe1bd08e0b7b1469b4773c14dc728d5068b7e +0 -0
  743. data/test/dot_git/objects/96/39d45833816298a7e113f5e6bf048fb3fba7dd +0 -0
  744. data/test/dot_git/objects/96/3bce669afa5f95366b27bf12345f9c3a7e91f0 +0 -0
  745. data/test/dot_git/objects/96/738a9834afe2e2e8abee5b78a8b88ffa9fca0c +0 -0
  746. data/test/dot_git/objects/97/71f107d373b028c2b73e2e169218951f772028 +0 -0
  747. data/test/dot_git/objects/97/bc5e8c3cff57c5ad09ee02a39e90a0de08109d +0 -0
  748. data/test/dot_git/objects/97/ec7d3e32843a7a846c3b24332d812a05d28fff +0 -0
  749. data/test/dot_git/objects/98/1c454cda632d2c1729c5dd8ff72dbf33c2e819 +0 -0
  750. data/test/dot_git/objects/98/36cd7a87f3baa9c004d7ed277baef050b2ce3d +0 -0
  751. data/test/dot_git/objects/98/4ab69b9f09ba4087a503628badb3bfb001e417 +0 -0
  752. data/test/dot_git/objects/98/b806b34a110411575eee9d45f949a72ac27c7a +1 -0
  753. data/test/dot_git/objects/98/eae78c5916391dc2553c50c60bb6360bc4a298 +0 -0
  754. data/test/dot_git/objects/99/6e0688dd70cbbf10bf760f392d8d52629a51c3 +0 -0
  755. data/test/dot_git/objects/99/d7785e7d61fe9f201fdd8d0443e390d77d2ab2 +0 -0
  756. data/test/dot_git/objects/9a/24db0198f7b9980743fb18ff030428bb4e0da8 +0 -0
  757. data/test/dot_git/objects/9a/6864cba7ee98c5f4813ae96ca60385916b449b +0 -0
  758. data/test/dot_git/objects/9a/9060f4b2cf886595f6eb374d5de37755ae8cd0 +0 -0
  759. data/test/dot_git/objects/9a/d1e4b62307d64b0e86ca3b178fedde4e078376 +0 -0
  760. data/test/dot_git/objects/9b/1ffc7e40c8e14632213cdaf588378e9ba8e90b +0 -0
  761. data/test/dot_git/objects/9b/70d75286c8218b28f623a9b0801b0b952ffb8b +0 -0
  762. data/test/dot_git/objects/9b/7786e50a3bc4bdfb9c85ac9ab526ee5030fc34 +0 -0
  763. data/test/dot_git/objects/9b/a5af0916c41313afd8ab1ad808e9e810157f50 +0 -0
  764. data/test/dot_git/objects/9b/cba3f8ce0858c3a3d79d049995b3b7431cbe2c +0 -0
  765. data/test/dot_git/objects/9c/08a48040fa6f5532bcc3a66a79a423a99e7f2a +0 -0
  766. data/test/dot_git/objects/9c/0e612a10196a3ab25264a807d2501bcd520540 +0 -0
  767. data/test/dot_git/objects/9c/13d94648123c351a208389b375ef220832086c +0 -0
  768. data/test/dot_git/objects/9c/274162674c99d986363d19a31379b999666765 +0 -0
  769. data/test/dot_git/objects/9c/5810283f7b71f0e6658f83fa3cea4c42add182 +0 -0
  770. data/test/dot_git/objects/9c/757047550f98256fe4c212d42a404ca75826ba +0 -0
  771. data/test/dot_git/objects/9c/a4d54b87ae030f69c6a1652b06458229163bff +0 -0
  772. data/test/dot_git/objects/9d/4cb25621a8fd3751691b5320a63acc0cb71359 +0 -0
  773. data/test/dot_git/objects/9d/637db3c6cfa5434f11a71cee9da87c7b8fcfcc +0 -0
  774. data/test/dot_git/objects/9d/b04ec7ffa80fec3f65b02ee882a872e61fa363 +0 -0
  775. data/test/dot_git/objects/9d/bdbf17f96c75b31237c301b704a7b11036793d +0 -0
  776. data/test/dot_git/objects/9d/ddf2d703b7acb646470caf3f9b320f8171a952 +0 -0
  777. data/test/dot_git/objects/9e/0ac6b7a43e94f49694ff169d9e4f55700668c1 +0 -0
  778. data/test/dot_git/objects/9e/5651973373448a7621f2b50a6c7719fc731717 +0 -0
  779. data/test/dot_git/objects/9e/a045ac20cfcc8c99e5a096926516d940810219 +0 -0
  780. data/test/dot_git/objects/9e/cfabcf37cf5ca8f1d9e4be940d38a0ca374592 +0 -0
  781. data/test/dot_git/objects/9f/17dfcb0f307446f1a9f5f4f265fd03f01e5337 +0 -0
  782. data/test/dot_git/objects/9f/625cc941888266a5ace9ea0f7b6de8056648bb +0 -0
  783. data/test/dot_git/objects/9f/94c114fbd1a011d99783c2df5dc97db923fd27 +0 -0
  784. data/test/dot_git/objects/9f/9b08b0ed1e63325c5669c54b1666cf00231856 +0 -0
  785. data/test/dot_git/objects/9f/a2a086398a284a5ec686601a80f23a81d579f6 +0 -0
  786. data/test/dot_git/objects/9f/a6e958bf96ddee6b71a2905bdd4b13bb35bbc3 +0 -0
  787. data/test/dot_git/objects/9f/ace5ebf66d7a4990759a6b23d593b27c560371 +0 -0
  788. data/test/dot_git/objects/a0/1626c862e48de9548a21ee3877c96266a9f247 +0 -0
  789. data/test/dot_git/objects/a0/292a1e42c64c9738088223f119740f9bcf25a4 +0 -0
  790. data/test/dot_git/objects/a0/2fea10783145b59d53157dfa950e1624506160 +0 -0
  791. data/test/dot_git/objects/a0/7705679876a805028101587259fd8f496e8c07 +0 -0
  792. data/test/dot_git/objects/a0/89b4d1cc2b3887c816f5ba51ce48d90ea53e4a +0 -0
  793. data/test/dot_git/objects/a0/931153ab2b7eadad5cccf57e8cfe67051a902a +0 -0
  794. data/test/dot_git/objects/a0/94901cc0f4e3f9c311214bc2f9a1e0cf9a0c18 +0 -0
  795. data/test/dot_git/objects/a1/31034466bff753545671326d45a76592e59f86 +0 -0
  796. data/test/dot_git/objects/a1/3905543ce8634d5206f155d887818c261a34ca +0 -0
  797. data/test/dot_git/objects/a1/5c431db0bd54892a5b5965a68c4f313174a415 +0 -0
  798. data/test/dot_git/objects/a1/65317959fbd09503f7cc9c0cf917a2bf74d426 +0 -0
  799. data/test/dot_git/objects/a2/83d38a51ccde7f05bf3b2cdbb374d3e794e3e4 +0 -0
  800. data/test/dot_git/objects/a2/a52fd45454e98d600a73080db9be8da494fd05 +0 -0
  801. data/test/dot_git/objects/a2/d4e7e0f4d030940b4a62cf905c7f18c9f3ed08 +0 -0
  802. data/test/dot_git/objects/a2/e10f1f8af34131fa4e48a41d0331684ca13a80 +0 -0
  803. data/test/dot_git/objects/a2/f5e090e38fba14a1d0f776716ddc761952863d +0 -0
  804. data/test/dot_git/objects/a3/5cd0e0eff6610786f61c335565d72d9fa3ae69 +0 -0
  805. data/test/dot_git/objects/a3/961f321293662cee00c6b53f0fcfa1b91275cf +1 -0
  806. data/test/dot_git/objects/a3/ed9657784be802136449dfd07e5a9586c7826f +0 -0
  807. data/test/dot_git/objects/a4/89242712c5cb4eddb40a7969e8e9c12db7b594 +0 -0
  808. data/test/dot_git/objects/a4/8bbf51254111dea6d206b753781fbef82f8f63 +0 -0
  809. data/test/dot_git/objects/a4/8dbab8aaf71f35784363f7bd5fe0bbdc91219a +0 -0
  810. data/test/dot_git/objects/a4/949eb5bfc411c724532a24a2070e16fafbdbf8 +0 -0
  811. data/test/dot_git/objects/a5/0da2e9910b2748aafc830288ff86192291e594 +0 -0
  812. data/test/dot_git/objects/a5/3312cdadae43ef320f56980491d2db43649ccc +1 -0
  813. data/test/dot_git/objects/a5/7dfa71d8353c05d3c96880fc4c1c2a18168a0a +0 -0
  814. data/test/dot_git/objects/a5/825bc61ad69802743867bafa342c5922fe23bc +0 -0
  815. data/test/dot_git/objects/a5/9c6325fc1e9e00808f2f077f2ba382c8e71140 +0 -0
  816. data/test/dot_git/objects/a5/a096c8f88729e302bc0dcfcde69bd1d6cee54b +0 -0
  817. data/test/dot_git/objects/a6/25a89a89cfe2916a812c0a19bbf7c88d2bc6c5 +0 -0
  818. data/test/dot_git/objects/a6/5cf40f373fb2652f724aa1fe552cfb1cac8f9c +0 -0
  819. data/test/dot_git/objects/a6/61101de591928518b26e5cf19f976173af84b1 +0 -0
  820. data/test/dot_git/objects/a6/79381688bf42ef8c52ff13d7ad10fd357b716b +0 -0
  821. data/test/dot_git/objects/a6/7dc709250bd465ac07b180985de98f5eb176b5 +0 -0
  822. data/test/dot_git/objects/a6/8e7f06b20e91283fa2729f9f442dee40816d5e +0 -0
  823. data/test/dot_git/objects/a6/b63376a6c6208c700d28f4152f06561a8591f5 +0 -0
  824. data/test/dot_git/objects/a6/cc9707d22121121c4c436961f25ad3136c7a2d +0 -0
  825. data/test/dot_git/objects/a7/56e607bf1b1f234346348f600ee9216a5687f6 +0 -0
  826. data/test/dot_git/objects/a7/b17990b0ddd4909d8a765c5ddbe50e9cb135ca +0 -0
  827. data/test/dot_git/objects/a7/f6425fdc0d6eab1f94942603f9101a9eb010f3 +0 -0
  828. data/test/dot_git/objects/a8/26a873283fed2746f1f9f934f71db6d9a5e040 +0 -0
  829. data/test/dot_git/objects/a8/2dc65e43b5f13287fe61d9c0d535319e10d1fb +0 -0
  830. data/test/dot_git/objects/a8/92c736936baf76e90a8400e13180846943dd65 +0 -0
  831. data/test/dot_git/objects/a8/a74a93cf26ee794cebc9f1440c56882b0124e7 +0 -0
  832. data/test/dot_git/objects/a8/b7e0fbece9a52e5539e4ab8f80e14504344410 +0 -0
  833. data/test/dot_git/objects/a8/f3b83e0ed58f5a7c58fd673eeca588942bcde5 +0 -0
  834. data/test/dot_git/objects/a9/35f4bb2d641436ab22510afdb2ddf59f953521 +0 -0
  835. data/test/dot_git/objects/a9/a1da34ff670558c1aa7d3c6e285cc5fb9b76db +0 -0
  836. data/test/dot_git/objects/a9/b871f8f8bee8e9236b0e47333a0fce672b1445 +0 -0
  837. data/test/dot_git/objects/aa/74200714ce8190b38211795f974b4410f5a9d0 +0 -0
  838. data/test/dot_git/objects/aa/957bcdd3c48f838e0e613c3066ce09399423dc +0 -0
  839. data/test/dot_git/objects/aa/ca7266c757878ce0f80a5edd9651afc32624c5 +0 -0
  840. data/test/dot_git/objects/ab/a5708519a06e49c3801a27e54e710f30fb13d4 +0 -0
  841. data/test/dot_git/objects/ab/c19c8c3819bbaa4964ca4f7fafc32d97834920 +0 -0
  842. data/test/dot_git/objects/ac/44d394114272dc8ced750155b89a4ea7feec8e +4 -0
  843. data/test/dot_git/objects/ac/9ba205c42662c60238be9f5997d10c2df68d05 +0 -0
  844. data/test/dot_git/objects/ac/e84f11ee83b490c7b0421c3815da52172e6106 +0 -0
  845. data/test/dot_git/objects/ac/f6144115985ce9f37dbe5f56f4f5d96875b518 +0 -0
  846. data/test/dot_git/objects/ad/065db654ef09714c6463e2f13e6e936ca8a4b1 +0 -0
  847. data/test/dot_git/objects/ad/ac6394aaa5f63348d12c6d7c556cc5895bdb5e +0 -0
  848. data/test/dot_git/objects/ad/be3ad1cfaed6ae867ff4c780e57b24aba92bb6 +0 -0
  849. data/test/dot_git/objects/ae/45e5b88fcd45b55efa1e8a1f60e6525897430f +0 -0
  850. data/test/dot_git/objects/ae/51c7beb1d82b967d1ec70d43dc2546880e902c +0 -0
  851. data/test/dot_git/objects/ae/88cc08586ab2baad34a00de9aed2be4e8ec297 +0 -0
  852. data/test/dot_git/objects/ae/aa7324c31d374eac09744a5e1cf3eb5c11b1ef +0 -0
  853. data/test/dot_git/objects/af/37cb1d947f50b5a9c4ea7c68dcfeb67ad66f8a +0 -0
  854. data/test/dot_git/objects/af/4976e0ea1364d59c64bfcf0482d50e0e238d16 +0 -0
  855. data/test/dot_git/objects/af/6752006c8dfaea112143bd2692f439719162b8 +0 -0
  856. data/test/dot_git/objects/af/a1dfabcd436cf7af4deaf13e00180ef5368940 +0 -0
  857. data/test/dot_git/objects/af/ae8e12352682bf9d015dce28e338a451c5f55e +0 -0
  858. data/test/dot_git/objects/af/d4d958e849a246bd3413f2cc02e7910f19f058 +0 -0
  859. data/test/dot_git/objects/b0/1401ffc98de4b600588fcfcd09a3961d162c69 +0 -0
  860. data/test/dot_git/objects/b0/3531d097981c72b9c99aca10eca9c50a70d466 +0 -0
  861. data/test/dot_git/objects/b0/c2e6b2e88b854dab551433cb113e3daf4c4e3e +0 -0
  862. data/test/dot_git/objects/b0/fb915abf0e5be77c6c2400cffbbfd9c3bdcd00 +0 -0
  863. data/test/dot_git/objects/b1/35bf729745de0027719d613c8adef1007eaf6e +0 -0
  864. data/test/dot_git/objects/b1/c0001ea8e43861235f34cd4d21853ca458158e +0 -0
  865. data/test/dot_git/objects/b1/fc231270ad6b6edc230aa22b4c10267198b9e6 +0 -0
  866. data/test/dot_git/objects/b2/1d54ab7d3ec8d8a3c91c997ed9538777e46188 +0 -0
  867. data/test/dot_git/objects/b2/1f05a2f9d51a8ef2c143fb7b8282fc53be06dd +0 -0
  868. data/test/dot_git/objects/b2/226c9a893eb2e71e0ff33742968479cd50b131 +0 -0
  869. data/test/dot_git/objects/b2/5dce6bbfa5e52108459b9a89b16def6963aec0 +3 -0
  870. data/test/dot_git/objects/b2/c2a902e25e522df67b8577b8bb8ddf9aa25098 +0 -0
  871. data/test/dot_git/objects/b3/6d57789486dabe2309bd7819f7793ef2e7487c +0 -0
  872. data/test/dot_git/objects/b3/d79746ef32b978c65e1654d7ccddb89baa216d +0 -0
  873. data/test/dot_git/objects/b4/07761d8d0840acc0c147dce23dcf7b741e3238 +0 -0
  874. data/test/dot_git/objects/b4/1467a894bdbe6be958a5de6984dd9c6dcb176b +0 -0
  875. data/test/dot_git/objects/b4/3d94c5a8e399fff7661187411c2f3702898160 +0 -0
  876. data/test/dot_git/objects/b4/f07cbe632b5fb7ffe7c25e2a2ed215268ef15f +0 -0
  877. data/test/dot_git/objects/b4/f32e4ada1229dbc85db12ed3f93d15056252ec +0 -0
  878. data/test/dot_git/objects/b4/fd01bf7d2194b58ffc3a8e703bcdef5b3046bc +0 -0
  879. data/test/dot_git/objects/b5/297f606fed8450572f35e6e34df7c81d2840e5 +0 -0
  880. data/test/dot_git/objects/b5/9047a78a3d6a92deac583900b77af84d0ada54 +0 -0
  881. data/test/dot_git/objects/b5/b60fcbee8f46d6b1efa206e139255ae33b81cc +0 -0
  882. data/test/dot_git/objects/b5/e9a82adb2f8bfe4b02ee14b46c32eeb453d53a +0 -0
  883. data/test/dot_git/objects/b5/fe7fc1265ffab1b6441b88055a7638688ba013 +0 -0
  884. data/test/dot_git/objects/b6/33e336e94e1090bd7e19773972b1bf177d18bb +0 -0
  885. data/test/dot_git/objects/b6/9a6fedabd2d05896b06986e7ac8f69f6d32903 +0 -0
  886. data/test/dot_git/objects/b6/e387967dd4d8cc2a590dae48327dd7b1225992 +0 -0
  887. data/test/dot_git/objects/b7/0c8fd36430fb1e0b02119d7f802c2144fa2a41 +2 -0
  888. data/test/dot_git/objects/b7/2772427161ca37e13344c1a9573dfdde28a881 +0 -0
  889. data/test/dot_git/objects/b7/6a1914a9461f6e66a4fc5a32b890f38b3dbe89 +0 -0
  890. data/test/dot_git/objects/b7/90eae3127d5f3c9d501885ae9e17f342b25298 +0 -0
  891. data/test/dot_git/objects/b8/2e9938dbcadfcb79efff23a12763d6ec48f19d +0 -0
  892. data/test/dot_git/objects/b8/46d2f4cb2a5adfb0c4f46e73f53a074e76c2f6 +0 -0
  893. data/test/dot_git/objects/b8/562d355858f20a0043c4b8adf03d7ad64b71e6 +0 -0
  894. data/test/dot_git/objects/b8/a5e1b3d5334ec5484f1299b77526b187a94c25 +0 -0
  895. data/test/dot_git/objects/b8/a73a8761cd544a512ec2d4461953db8ce95bd2 +0 -0
  896. data/test/dot_git/objects/b9/04b1fddfc7870be76bb238721ce91ee589856a +0 -0
  897. data/test/dot_git/objects/b9/695b896e6e9cb7944d01b7161c394f558618b8 +0 -0
  898. data/test/dot_git/objects/b9/751e8e983d7cf18c3a165a82158a7ad242cbcb +0 -0
  899. data/test/dot_git/objects/b9/79812846dd07c8f72f80075e482764f84e6da2 +0 -0
  900. data/test/dot_git/objects/b9/82edbe57b1cb1a9cbe7c5866406978172b994c +0 -0
  901. data/test/dot_git/objects/b9/e18f001d183fcf54debaf1b2995d31a2f60de8 +0 -0
  902. data/test/dot_git/objects/b9/fe6cfc99544168ab86a9e5326d2278651204c9 +0 -0
  903. data/test/dot_git/objects/ba/017639ed43f1604c4bdc3f06cafce7b6678d4a +0 -0
  904. data/test/dot_git/objects/ba/3f83d47153b9bc59a4051c30c1dd037a6eeedd +0 -0
  905. data/test/dot_git/objects/ba/8e143dc8770a08a289c15e575adc55c5a4bb54 +0 -0
  906. data/test/dot_git/objects/ba/bdcc3cacd23b79d9fc2bdf3c0b4fc18fb539a5 +0 -0
  907. data/test/dot_git/objects/ba/c7b8660ab69c5728f49b9e63751ad1d86ef5d3 +0 -0
  908. data/test/dot_git/objects/bb/332bf8f4417e45a74d87c762665d27562d4e95 +0 -0
  909. data/test/dot_git/objects/bb/9eeafff7d803955a2f4984b2334f43143eede9 +0 -0
  910. metadata +1170 -0
@@ -0,0 +1,736 @@
1
+ #
2
+ # converted from the gitrb project
3
+ #
4
+ # authors:
5
+ # Matthias Lederhofer <matled@gmx.net>
6
+ # Simon 'corecode' Schubert <corecode@fs.ei.tum.de>
7
+ # Scott Chacon <schacon@gmail.com>
8
+ #
9
+ # provides native ruby access to git objects and pack files
10
+ #
11
+ require 'grit/git-ruby/internal/raw_object'
12
+ require 'grit/git-ruby/internal/pack'
13
+ require 'grit/git-ruby/internal/loose'
14
+ require 'grit/git-ruby/git_object'
15
+
16
+ require 'rubygems'
17
+ require 'diff/lcs'
18
+ require 'diff/lcs/hunk'
19
+
20
+ # have to do this so it doesn't interfere with Grit::Diff
21
+ module Difference
22
+ include Diff
23
+ end
24
+
25
+ module Grit
26
+ module GitRuby
27
+ class Repository
28
+
29
+ class NoSuchShaFound < StandardError
30
+ end
31
+
32
+ class NoSuchPath < StandardError
33
+ end
34
+
35
+ attr_accessor :git_dir, :options
36
+
37
+ def initialize(git_dir, options = {})
38
+ @git_dir = git_dir
39
+ @options = options
40
+ @packs = []
41
+ end
42
+
43
+ # returns the loose objects object lazily
44
+ def loose
45
+ @loose ||= initloose
46
+ end
47
+
48
+ # returns the array of pack list objects
49
+ def packs
50
+ @packs ||= initpacks
51
+ end
52
+
53
+
54
+ # prints out the type, shas and content of all of the pack files
55
+ def show
56
+ packs.each do |p|
57
+ puts p.name
58
+ puts
59
+ p.each_sha1 do |s|
60
+ puts "**#{p[s].type}**"
61
+ if p[s].type.to_s == 'commit'
62
+ puts s.unpack('H*')
63
+ puts p[s].content
64
+ end
65
+ end
66
+ puts
67
+ end
68
+ end
69
+
70
+
71
+ # returns a raw object given a SHA1
72
+ def get_raw_object_by_sha1(sha1o)
73
+ raise NoSuchShaFound if sha1o.nil? || sha1o.empty? || !sha1o.is_a?(String)
74
+
75
+ sha1 = [sha1o.chomp].pack("H*")
76
+ # try packs
77
+ packs.each do |pack|
78
+ o = pack[sha1]
79
+ return pack[sha1] if o
80
+ end
81
+
82
+ # try loose storage
83
+ loose.each do |lsobj|
84
+ o = lsobj[sha1]
85
+ return o if o
86
+ end
87
+
88
+ # try packs again, maybe the object got packed in the meantime
89
+ initpacks
90
+ packs.each do |pack|
91
+ o = pack[sha1]
92
+ return o if o
93
+ end
94
+
95
+ # puts "*#{sha1o}*"
96
+ raise NoSuchShaFound
97
+ end
98
+
99
+ def cached(key, object, do_cache = true)
100
+ object
101
+ end
102
+
103
+ # returns GitRuby object of any type given a SHA1
104
+ def get_object_by_sha1(sha1)
105
+ r = get_raw_object_by_sha1(sha1)
106
+ return nil if !r
107
+ GitObject.from_raw(r)
108
+ end
109
+
110
+ # writes a raw object into the git repo
111
+ def put_raw_object(content, type)
112
+ loose.first.put_raw_object(content, type)
113
+ end
114
+
115
+ # returns true or false if that sha exists in the db
116
+ def object_exists?(sha1)
117
+ sha_hex = [sha1].pack("H*")
118
+ return true if in_packs?(sha_hex)
119
+ return true if in_loose?(sha_hex)
120
+ initpacks
121
+ return true if in_packs?(sha_hex) #maybe the object got packed in the meantime
122
+ false
123
+ end
124
+
125
+ # returns true if the hex-packed sha is in the packfiles
126
+ def in_packs?(sha_hex)
127
+ # try packs
128
+ packs.each do |pack|
129
+ return true if pack[sha_hex]
130
+ end
131
+ false
132
+ end
133
+
134
+ # returns true if the hex-packed sha is in the loose objects
135
+ def in_loose?(sha_hex)
136
+ loose.each do |lsobj|
137
+ return true if lsobj[sha_hex]
138
+ end
139
+ false
140
+ end
141
+
142
+
143
+ # returns the file type (as a symbol) of this sha
144
+ def cat_file_type(sha)
145
+ get_raw_object_by_sha1(sha).type
146
+ end
147
+
148
+ # returns the file size (as an int) of this sha
149
+ def cat_file_size(sha)
150
+ get_raw_object_by_sha1(sha).content.size
151
+ end
152
+
153
+ # returns the raw file contents of this sha
154
+ def cat_file(sha)
155
+ get_object_by_sha1(sha).raw_content
156
+ end
157
+
158
+ # returns a 2-d hash of the tree
159
+ # ['blob']['FILENAME'] = {:mode => '100644', :sha => SHA}
160
+ # ['tree']['DIRNAME'] = {:mode => '040000', :sha => SHA}
161
+ def list_tree(sha)
162
+ data = {'blob' => {}, 'tree' => {}, 'link' => {}, 'commit' => {}}
163
+ get_object_by_sha1(sha).entry.each do |e|
164
+ data[e.format_type][e.name] = {:mode => e.format_mode, :sha => e.sha1}
165
+ end
166
+ data
167
+ end
168
+
169
+ # returns the raw (cat-file) output for a tree
170
+ # if given a commit sha, it will print the tree of that commit
171
+ # if given a path limiter array, it will limit the output to those
172
+ def ls_tree(sha, paths = [])
173
+ if paths.size > 0
174
+ # pathing
175
+ part = []
176
+ paths.each do |path|
177
+ part += ls_tree_path(sha, path)
178
+ end
179
+ return part.join("\n")
180
+ else
181
+ get_raw_tree(sha)
182
+ end
183
+ end
184
+
185
+ def get_raw_tree(sha)
186
+ o = get_raw_object_by_sha1(sha)
187
+ if o.type == :commit
188
+ cat_file(get_object_by_sha1(sha).tree)
189
+ elsif o.type == :tag
190
+ commit_sha = get_object_by_sha1(sha).object
191
+ cat_file(get_object_by_sha1(commit_sha).tree)
192
+ elsif o.type == :tree
193
+ cat_file(sha)
194
+ end
195
+ end
196
+
197
+ # return array of tree entries
198
+ ## TODO : refactor this to remove the fugly
199
+ def ls_tree_path(sha, path, append = nil)
200
+ tree = get_raw_tree(sha)
201
+ if path =~ /\//
202
+ paths = path.split('/')
203
+ last = path[path.size - 1, 1]
204
+ if (last == '/') && (paths.size == 1)
205
+ append = append ? File.join(append, paths.first) : paths.first
206
+ dir_name = tree.split("\n").select { |p| p.split("\t")[1] == paths.first }.first
207
+ raise NoSuchPath if !dir_name
208
+ next_sha = dir_name.split(' ')[2]
209
+ tree = get_raw_tree(next_sha)
210
+ tree = tree.split("\n")
211
+ if append
212
+ mod_tree = []
213
+ tree.each do |ent|
214
+ (info, fpath) = ent.split("\t")
215
+ mod_tree << [info, File.join(append, fpath)].join("\t")
216
+ end
217
+ mod_tree
218
+ else
219
+ tree
220
+ end
221
+ else
222
+ next_path = paths.shift
223
+ dir_name = tree.split("\n").select { |p| p.split("\t")[1] == next_path }.first
224
+ raise NoSuchPath if !dir_name
225
+ next_sha = dir_name.split(' ')[2]
226
+ next_path = append ? File.join(append, next_path) : next_path
227
+ if (last == '/')
228
+ ls_tree_path(next_sha, paths.join("/") + '/', next_path)
229
+ else
230
+ ls_tree_path(next_sha, paths.join("/"), next_path)
231
+ end
232
+ end
233
+ else
234
+ tree = tree.split("\n")
235
+ tree = tree.select { |p| p.split("\t")[1] == path }
236
+ if append
237
+ mod_tree = []
238
+ tree.each do |ent|
239
+ (info, fpath) = ent.split("\t")
240
+ mod_tree << [info, File.join(append, fpath)].join("\t")
241
+ end
242
+ mod_tree
243
+ else
244
+ tree
245
+ end
246
+ end
247
+ end
248
+
249
+ # returns an array of GitRuby Commit objects
250
+ # [ [sha, raw_output], [sha, raw_output], [sha, raw_output] ... ]
251
+ #
252
+ # takes the following options:
253
+ # :since - Time object specifying that you don't want commits BEFORE this
254
+ # :until - Time object specifying that you don't want commit AFTER this
255
+ # :first_parent - tells log to only walk first parent
256
+ # :path_limiter - string or array of strings to limit path
257
+ # :max_count - number to limit the output
258
+ def log(sha, options = {})
259
+ @already_searched = {}
260
+ walk_log(sha, options)
261
+ end
262
+
263
+ def truncate_arr(arr, sha)
264
+ new_arr = []
265
+ arr.each do |a|
266
+ if a[0] == sha
267
+ return new_arr
268
+ end
269
+ new_arr << a
270
+ end
271
+ return new_arr
272
+ end
273
+
274
+ def rev_list(sha, options)
275
+ if sha.is_a? Array
276
+ (end_sha, sha) = sha
277
+ end
278
+
279
+ log = log(sha, options)
280
+ log = log.sort { |a, b| a[2] <=> b[2] }.reverse
281
+
282
+ if end_sha
283
+ log = truncate_arr(log, end_sha)
284
+ end
285
+
286
+ # shorten the list if it's longer than max_count (had to get everything in branches)
287
+ if options[:max_count]
288
+ if (opt_len = options[:max_count].to_i) < log.size
289
+ log = log[0, opt_len]
290
+ end
291
+ end
292
+
293
+ if options[:pretty] == 'raw'
294
+ log.map {|k, v| v }.join('')
295
+ else
296
+ log.map {|k, v| k }.join("\n")
297
+ end
298
+ end
299
+
300
+ # called by log() to recursively walk the tree
301
+ def walk_log(sha, opts, total_size = 0)
302
+ return [] if @already_searched[sha] # to prevent rechecking branches
303
+ @already_searched[sha] = true
304
+
305
+ array = []
306
+ if (sha)
307
+ o = get_raw_object_by_sha1(sha)
308
+ if o.type == :tag
309
+ commit_sha = get_object_by_sha1(sha).object
310
+ c = get_object_by_sha1(commit_sha)
311
+ else
312
+ c = GitObject.from_raw(o)
313
+ end
314
+
315
+ return [] if c.type != :commit
316
+
317
+ add_sha = true
318
+
319
+ if opts[:since] && opts[:since].is_a?(Time) && (opts[:since] > c.committer.date)
320
+ add_sha = false
321
+ end
322
+ if opts[:until] && opts[:until].is_a?(Time) && (opts[:until] < c.committer.date)
323
+ add_sha = false
324
+ end
325
+
326
+ # follow all parents unless '--first-parent' is specified #
327
+ subarray = []
328
+
329
+ if !c.parent.first && opts[:path_limiter] # check for the last commit
330
+ add_sha = false
331
+ end
332
+
333
+ if (!opts[:max_count] || ((array.size + total_size) < opts[:max_count]))
334
+
335
+ if !opts[:path_limiter]
336
+ output = c.raw_log(sha)
337
+ array << [sha, output, c.committer.date]
338
+ end
339
+
340
+ if (opts[:max_count] && (array.size + total_size) >= opts[:max_count])
341
+ return array
342
+ end
343
+
344
+ c.parent.each do |psha|
345
+ if psha && !files_changed?(c.tree, get_object_by_sha1(psha).tree,
346
+ opts[:path_limiter])
347
+ add_sha = false
348
+ end
349
+ subarray += walk_log(psha, opts, (array.size + total_size))
350
+ next if opts[:first_parent]
351
+ end
352
+
353
+ if opts[:path_limiter] && add_sha
354
+ output = c.raw_log(sha)
355
+ array << [sha, output, c.committer.date]
356
+ end
357
+
358
+ if add_sha
359
+ array += subarray
360
+ end
361
+ end
362
+
363
+ end
364
+
365
+ array
366
+ end
367
+
368
+ def diff(commit1, commit2, options = {})
369
+ patch = ''
370
+
371
+ commit_obj1 = get_object_by_sha1(commit1)
372
+ tree1 = commit_obj1.tree
373
+ if commit2
374
+ tree2 = get_object_by_sha1(commit2).tree
375
+ else
376
+ tree2 = get_object_by_sha1(commit_obj1.parent.first).tree
377
+ end
378
+
379
+ qdiff = quick_diff(tree1, tree2)
380
+
381
+ qdiff.sort.each do |diff_arr|
382
+ format, lines, output = :unified, 3, ''
383
+ file_length_difference = 0
384
+
385
+ fileA = (diff_arr[2]) ? cat_file(diff_arr[2]) : ''
386
+ fileB = (diff_arr[3]) ? cat_file(diff_arr[3]) : ''
387
+
388
+ sha1 = (diff_arr[2]) ? diff_arr[2] : '0000000000000000000000000000000000000000'
389
+ sha2 = (diff_arr[3]) ? diff_arr[3] : '0000000000000000000000000000000000000000'
390
+
391
+ data_old = fileA.split(/\n/).map! { |e| e.chomp }
392
+ data_new = fileB.split(/\n/).map! { |e| e.chomp }
393
+
394
+ diffs = Difference::LCS.diff(data_old, data_new)
395
+ next if diffs.empty?
396
+
397
+ header = 'diff --git a/' + diff_arr[0].gsub('./', '') + ' b/' + diff_arr[0].gsub('./', '')
398
+ if options[:full_index]
399
+ header << "\n" + 'index ' + sha1 + '..' + sha2
400
+ header << ' 100644' if diff_arr[3] # hard coding this because i don't think we use it
401
+ else
402
+ header << "\n" + 'index ' + sha1[0,7] + '..' + sha2[0,7]
403
+ header << ' 100644' if diff_arr[3] # hard coding this because i don't think we use it
404
+ end
405
+ header << "\n--- " + 'a/' + diff_arr[0].gsub('./', '')
406
+ header << "\n+++ " + 'b/' + diff_arr[0].gsub('./', '')
407
+ header += "\n"
408
+
409
+ oldhunk = hunk = nil
410
+
411
+ diffs.each do |piece|
412
+ begin
413
+ hunk = Difference::LCS::Hunk.new(data_old, data_new, piece, lines, file_length_difference)
414
+ file_length_difference = hunk.file_length_difference
415
+
416
+ next unless oldhunk
417
+
418
+ if lines > 0 && hunk.overlaps?(oldhunk)
419
+ hunk.unshift(oldhunk)
420
+ else
421
+ output << oldhunk.diff(format)
422
+ end
423
+ ensure
424
+ oldhunk = hunk
425
+ output << "\n"
426
+ end
427
+ end
428
+
429
+ output << oldhunk.diff(format)
430
+ output << "\n"
431
+
432
+ patch << header + output.lstrip
433
+ end
434
+ patch
435
+ rescue
436
+ '' # one of the trees was bad or lcs isn't there - no diff
437
+ end
438
+
439
+ # takes 2 tree shas and recursively walks them to find out what
440
+ # files or directories have been modified in them and returns an
441
+ # array of changes
442
+ # [ [full_path, 'added', tree1_hash, nil],
443
+ # [full_path, 'removed', nil, tree2_hash],
444
+ # [full_path, 'modified', tree1_hash, tree2_hash]
445
+ # ]
446
+ def quick_diff(tree1, tree2, path = '.', recurse = true)
447
+ # handle empty trees
448
+ changed = []
449
+ return changed if tree1 == tree2
450
+
451
+ t1 = list_tree(tree1) if tree1
452
+ t2 = list_tree(tree2) if tree2
453
+
454
+ # finding files that are different
455
+ t1['blob'].each do |file, hsh|
456
+ t2_file = t2['blob'][file] rescue nil
457
+ full = File.join(path, file)
458
+ if !t2_file
459
+ changed << [full, 'added', hsh[:sha], nil] # not in parent
460
+ elsif (hsh[:sha] != t2_file[:sha])
461
+ changed << [full, 'modified', hsh[:sha], t2_file[:sha]] # file changed
462
+ end
463
+ end if t1
464
+ t2['blob'].each do |file, hsh|
465
+ if !t1 || !t1['blob'][file]
466
+ changed << [File.join(path, file), 'removed', nil, hsh[:sha]]
467
+ end
468
+ end if t2
469
+
470
+ t1['tree'].each do |dir, hsh|
471
+ t2_tree = t2['tree'][dir] rescue nil
472
+ full = File.join(path, dir)
473
+ if !t2_tree
474
+ if recurse
475
+ changed += quick_diff(hsh[:sha], nil, full, true)
476
+ else
477
+ changed << [full, 'added', hsh[:sha], nil] # not in parent
478
+ end
479
+ elsif (hsh[:sha] != t2_tree[:sha])
480
+ if recurse
481
+ changed += quick_diff(hsh[:sha], t2_tree[:sha], full, true)
482
+ else
483
+ changed << [full, 'modified', hsh[:sha], t2_tree[:sha]] # file changed
484
+ end
485
+ end
486
+ end if t1
487
+ t2['tree'].each do |dir, hsh|
488
+ t1_tree = t1['tree'][dir] rescue nil
489
+ full = File.join(path, dir)
490
+ if !t1_tree
491
+ if recurse
492
+ changed += quick_diff(nil, hsh[:sha], full, true)
493
+ else
494
+ changed << [full, 'removed', nil, hsh[:sha]]
495
+ end
496
+ end
497
+ end if t2
498
+
499
+ changed
500
+ end
501
+
502
+ # returns true if the files in path_limiter were changed, or no path limiter
503
+ # used by the log() function when passed with a path_limiter
504
+ def files_changed?(tree_sha1, tree_sha2, path_limiter = nil)
505
+ if path_limiter
506
+ mod = quick_diff(tree_sha1, tree_sha2)
507
+ files = mod.map { |c| c.first }
508
+ path_limiter.to_a.each do |filepath|
509
+ if files.include?(filepath)
510
+ return true
511
+ end
512
+ end
513
+ return false
514
+ end
515
+ true
516
+ end
517
+
518
+ def get_subtree(commit_sha, path)
519
+ tree_sha = get_object_by_sha1(commit_sha).tree
520
+
521
+ if path && !(path == '' || path == '.' || path == './')
522
+ paths = path.split('/')
523
+ paths.each do |path|
524
+ tree = get_object_by_sha1(tree_sha)
525
+ if entry = tree.entry.select { |e| e.name == path }.first
526
+ tree_sha = entry.sha1 rescue nil
527
+ else
528
+ return false
529
+ end
530
+ end
531
+ end
532
+
533
+ tree_sha
534
+ end
535
+
536
+ def blame_tree(commit_sha, path)
537
+ # find subtree
538
+ tree_sha = get_subtree(commit_sha, path)
539
+ return {} if !tree_sha
540
+
541
+ looking_for = []
542
+ get_object_by_sha1(tree_sha).entry.each do |e|
543
+ looking_for << File.join('.', e.name)
544
+ end
545
+
546
+ @already_searched = {}
547
+ commits = look_for_commits(commit_sha, path, looking_for)
548
+
549
+ # cleaning up array
550
+ arr = {}
551
+ commits.each do |commit_array|
552
+ key = commit_array[0].gsub('./', '')
553
+ arr[key] = commit_array[1]
554
+ end
555
+ arr
556
+ end
557
+
558
+ def look_for_commits(commit_sha, path, looking_for, options = {})
559
+ return [] if @already_searched[commit_sha] # to prevent rechecking branches
560
+
561
+ @already_searched[commit_sha] = true
562
+
563
+ commit = get_object_by_sha1(commit_sha)
564
+ tree_sha = get_subtree(commit_sha, path)
565
+
566
+ found_data = []
567
+
568
+ # at the beginning of the branch
569
+ if commit.parent.size == 0
570
+ looking_for.each do |search|
571
+ # prevents the rare case of multiple branch starting points with
572
+ # files that have never changed
573
+ if found_data.assoc(search)
574
+ found_data << [search, commit_sha]
575
+ end
576
+ end
577
+ return found_data
578
+ end
579
+
580
+ # go through the parents recursively, looking for somewhere this has been changed
581
+ commit.parent.each do |pc|
582
+ diff = quick_diff(tree_sha, get_subtree(pc, path), '.', false)
583
+
584
+ # remove anything found
585
+ looking_for.each do |search|
586
+ if match = diff.assoc(search)
587
+ found_data << [search, commit_sha, match]
588
+ looking_for.delete(search)
589
+ end
590
+ end
591
+
592
+ if looking_for.size <= 0 # we're done
593
+ return found_data
594
+ end
595
+
596
+ found_data += look_for_commits(pc, path, looking_for) # recurse into parent
597
+ return found_data if options[:first_parent]
598
+ end
599
+
600
+ ## TODO : find most recent commit with change in any parent
601
+ found_data
602
+ end
603
+
604
+ # initialize a git repository
605
+ def self.init(dir, bare = false)
606
+
607
+ FileUtils.mkdir_p(dir) if !File.exists?(dir)
608
+
609
+ FileUtils.cd(dir) do
610
+ if(File.exists?('objects'))
611
+ return false # already initialized
612
+ else
613
+ # initialize directory
614
+ create_initial_config(bare)
615
+ FileUtils.mkdir_p('refs/heads')
616
+ FileUtils.mkdir_p('refs/tags')
617
+ FileUtils.mkdir_p('objects/info')
618
+ FileUtils.mkdir_p('objects/pack')
619
+ FileUtils.mkdir_p('branches')
620
+ add_file('description', 'Unnamed repository; edit this file to name it for gitweb.')
621
+ add_file('HEAD', "ref: refs/heads/master\n")
622
+ FileUtils.mkdir_p('hooks')
623
+ FileUtils.cd('hooks') do
624
+ add_file('applypatch-msg', '# add shell script and make executable to enable')
625
+ add_file('post-commit', '# add shell script and make executable to enable')
626
+ add_file('post-receive', '# add shell script and make executable to enable')
627
+ add_file('post-update', '# add shell script and make executable to enable')
628
+ add_file('pre-applypatch', '# add shell script and make executable to enable')
629
+ add_file('pre-commit', '# add shell script and make executable to enable')
630
+ add_file('pre-rebase', '# add shell script and make executable to enable')
631
+ add_file('update', '# add shell script and make executable to enable')
632
+ end
633
+ FileUtils.mkdir_p('info')
634
+ add_file('info/exclude', "# *.[oa]\n# *~")
635
+ end
636
+ end
637
+ end
638
+
639
+ def self.create_initial_config(bare = false)
640
+ bare ? bare_status = 'true' : bare_status = 'false'
641
+ config = "[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = #{bare_status}\n\tlogallrefupdates = true"
642
+ add_file('config', config)
643
+ end
644
+
645
+ def self.add_file(name, contents)
646
+ File.open(name, 'w') do |f|
647
+ f.write contents
648
+ end
649
+ end
650
+
651
+ def close
652
+ @packs.each do |pack|
653
+ pack.close
654
+ end if @packs
655
+ end
656
+
657
+ protected
658
+
659
+ def git_path(path)
660
+ return "#@git_dir/#{path}"
661
+ end
662
+
663
+ private
664
+
665
+ def initloose
666
+ @loaded = []
667
+ @loose = []
668
+ load_loose(git_path('objects'))
669
+ load_alternate_loose(git_path('objects'))
670
+ @loose
671
+ end
672
+
673
+ def load_alternate_loose(path)
674
+ # load alternate loose, too
675
+ alt = File.join(path, 'info/alternates')
676
+ if File.exists?(alt)
677
+ File.readlines(alt).each do |line|
678
+ next if @loaded.include?(line.chomp)
679
+ if line[0, 2] == '..'
680
+ line = File.expand_path(File.join(@git_dir, line))
681
+ end
682
+ load_loose(line.chomp)
683
+ load_alternate_loose(line.chomp)
684
+ end
685
+ end
686
+ end
687
+
688
+ def load_loose(path)
689
+ @loaded << path
690
+ return if !File.exists?(path)
691
+ @loose << Grit::GitRuby::Internal::LooseStorage.new(path)
692
+ end
693
+
694
+ def initpacks
695
+ close
696
+ @loaded_packs = []
697
+ @packs = []
698
+ load_packs(git_path("objects/pack"))
699
+ load_alternate_packs(git_path('objects'))
700
+ @packs
701
+ end
702
+
703
+ def load_alternate_packs(path)
704
+ alt = File.join(path, 'info/alternates')
705
+ if File.exists?(alt)
706
+ File.readlines(alt).each do |line|
707
+ if line[0, 2] == '..'
708
+ line = File.expand_path(File.join(@git_dir, line))
709
+ end
710
+ full_pack = File.join(line.chomp, 'pack')
711
+ next if @loaded_packs.include?(full_pack)
712
+ load_packs(full_pack)
713
+ load_alternate_packs(File.join(line.chomp))
714
+ end
715
+ end
716
+ end
717
+
718
+ def load_packs(path)
719
+ @loaded_packs << path
720
+ return if !File.exists?(path)
721
+ Dir.open(path) do |dir|
722
+ dir.each do |entry|
723
+ next if !(entry =~ /\.pack$/i)
724
+ pack = Grit::GitRuby::Internal::PackStorage.new(File.join(path,entry))
725
+ if @options[:map_packfile]
726
+ pack.cache_objects
727
+ end
728
+ @packs << pack
729
+ end
730
+ end
731
+ end
732
+
733
+ end
734
+
735
+ end
736
+ end