rugged 0.1.2 → 0.16.0b1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (277) hide show
  1. data/README.md +25 -36
  2. data/Rakefile +20 -98
  3. data/ext/rugged/extconf.rb +44 -4
  4. data/ext/rugged/remote.c +215 -0
  5. data/ext/rugged/rugged.c +171 -0
  6. data/ext/rugged/rugged.h +126 -0
  7. data/ext/rugged/rugged_blob.c +99 -0
  8. data/ext/rugged/rugged_commit.c +224 -0
  9. data/ext/rugged/rugged_config.c +238 -0
  10. data/ext/rugged/rugged_index.c +440 -0
  11. data/ext/rugged/rugged_object.c +203 -0
  12. data/ext/rugged/rugged_reference.c +401 -0
  13. data/ext/rugged/rugged_repo.c +482 -0
  14. data/ext/rugged/rugged_revwalk.c +138 -0
  15. data/ext/rugged/rugged_signature.c +80 -0
  16. data/ext/rugged/rugged_tag.c +216 -0
  17. data/ext/rugged/rugged_tree.c +322 -0
  18. data/ext/rugged/vendor/libgit2-dist.tar.gz +0 -0
  19. data/ext/rugged/vendor/libgit2-dist/deps/http-parser/http_parser.c +1778 -0
  20. data/ext/rugged/vendor/libgit2-dist/deps/http-parser/http_parser.h +267 -0
  21. data/ext/rugged/vendor/libgit2-dist/deps/zlib/adler32.c +169 -0
  22. data/ext/rugged/vendor/libgit2-dist/deps/zlib/crc32.c +442 -0
  23. data/ext/rugged/vendor/libgit2-dist/deps/zlib/crc32.h +441 -0
  24. data/ext/rugged/vendor/libgit2-dist/deps/zlib/deflate.c +1834 -0
  25. data/ext/rugged/vendor/libgit2-dist/deps/zlib/deflate.h +342 -0
  26. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inffast.c +340 -0
  27. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inffast.h +11 -0
  28. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inffixed.h +94 -0
  29. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inflate.c +1480 -0
  30. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inflate.h +122 -0
  31. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inftrees.c +330 -0
  32. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inftrees.h +62 -0
  33. data/ext/rugged/vendor/libgit2-dist/deps/zlib/trees.c +1244 -0
  34. data/ext/rugged/vendor/libgit2-dist/deps/zlib/trees.h +128 -0
  35. data/ext/rugged/vendor/libgit2-dist/deps/zlib/zconf.h +54 -0
  36. data/ext/rugged/vendor/libgit2-dist/deps/zlib/zlib.h +1613 -0
  37. data/ext/rugged/vendor/libgit2-dist/deps/zlib/zutil.c +318 -0
  38. data/ext/rugged/vendor/libgit2-dist/deps/zlib/zutil.h +274 -0
  39. data/ext/rugged/vendor/libgit2-dist/examples/general.c +451 -0
  40. data/ext/rugged/vendor/libgit2-dist/examples/network/common.h +14 -0
  41. data/ext/rugged/vendor/libgit2-dist/examples/network/fetch.c +97 -0
  42. data/ext/rugged/vendor/libgit2-dist/examples/network/git2.c +58 -0
  43. data/ext/rugged/vendor/libgit2-dist/examples/network/index-pack.c +47 -0
  44. data/ext/rugged/vendor/libgit2-dist/examples/network/ls-remote.c +76 -0
  45. data/ext/rugged/vendor/libgit2-dist/examples/showindex.c +43 -0
  46. data/ext/rugged/vendor/libgit2-dist/include/git2.h +44 -0
  47. data/ext/rugged/vendor/libgit2-dist/include/git2/blob.h +120 -0
  48. data/ext/rugged/vendor/libgit2-dist/include/git2/branch.h +15 -0
  49. data/ext/rugged/vendor/libgit2-dist/include/git2/commit.h +263 -0
  50. data/ext/rugged/vendor/libgit2-dist/include/git2/common.h +103 -0
  51. data/ext/rugged/vendor/libgit2-dist/include/git2/config.h +278 -0
  52. data/ext/rugged/vendor/libgit2-dist/include/git2/errors.h +144 -0
  53. data/ext/rugged/vendor/libgit2-dist/include/git2/index.h +306 -0
  54. data/ext/rugged/vendor/libgit2-dist/include/git2/indexer.h +76 -0
  55. data/ext/rugged/vendor/libgit2-dist/include/git2/inttypes.h +305 -0
  56. data/ext/rugged/vendor/libgit2-dist/include/git2/net.h +51 -0
  57. data/ext/rugged/vendor/libgit2-dist/include/git2/object.h +173 -0
  58. data/ext/rugged/vendor/libgit2-dist/include/git2/odb.h +331 -0
  59. data/ext/rugged/vendor/libgit2-dist/include/git2/odb_backend.h +100 -0
  60. data/ext/rugged/vendor/libgit2-dist/include/git2/oid.h +218 -0
  61. data/ext/rugged/vendor/libgit2-dist/include/git2/reflog.h +128 -0
  62. data/ext/rugged/vendor/libgit2-dist/include/git2/refs.h +309 -0
  63. data/ext/rugged/vendor/libgit2-dist/include/git2/refspec.h +60 -0
  64. data/ext/rugged/vendor/libgit2-dist/include/git2/remote.h +176 -0
  65. data/ext/rugged/vendor/libgit2-dist/include/git2/repository.h +290 -0
  66. data/ext/rugged/vendor/libgit2-dist/include/git2/revwalk.h +169 -0
  67. data/ext/rugged/vendor/libgit2-dist/include/git2/signature.h +65 -0
  68. data/ext/rugged/vendor/libgit2-dist/include/git2/status.h +63 -0
  69. data/ext/rugged/vendor/libgit2-dist/include/git2/stdint.h +247 -0
  70. data/ext/rugged/vendor/libgit2-dist/include/git2/tag.h +279 -0
  71. data/ext/rugged/vendor/libgit2-dist/include/git2/threads.h +48 -0
  72. data/ext/rugged/vendor/libgit2-dist/include/git2/tree.h +318 -0
  73. data/ext/rugged/vendor/libgit2-dist/include/git2/types.h +169 -0
  74. data/ext/rugged/vendor/libgit2-dist/include/git2/version.h +15 -0
  75. data/ext/rugged/vendor/libgit2-dist/include/git2/windows.h +59 -0
  76. data/ext/rugged/vendor/libgit2-dist/include/git2/zlib.h +40 -0
  77. data/ext/rugged/vendor/libgit2-dist/src/blob.c +135 -0
  78. data/ext/rugged/vendor/libgit2-dist/src/blob.h +23 -0
  79. data/ext/rugged/vendor/libgit2-dist/src/bswap.h +97 -0
  80. data/ext/rugged/vendor/libgit2-dist/src/buffer.c +113 -0
  81. data/ext/rugged/vendor/libgit2-dist/src/buffer.h +32 -0
  82. data/ext/rugged/vendor/libgit2-dist/src/cache.c +111 -0
  83. data/ext/rugged/vendor/libgit2-dist/src/cache.h +64 -0
  84. data/ext/rugged/vendor/libgit2-dist/src/cc-compat.h +67 -0
  85. data/ext/rugged/vendor/libgit2-dist/src/commit.c +299 -0
  86. data/ext/rugged/vendor/libgit2-dist/src/commit.h +34 -0
  87. data/ext/rugged/vendor/libgit2-dist/src/common.h +64 -0
  88. data/ext/rugged/vendor/libgit2-dist/src/config.c +418 -0
  89. data/ext/rugged/vendor/libgit2-dist/src/config.h +24 -0
  90. data/ext/rugged/vendor/libgit2-dist/src/config_file.c +1210 -0
  91. data/ext/rugged/vendor/libgit2-dist/src/delta-apply.c +115 -0
  92. data/ext/rugged/vendor/libgit2-dist/src/delta-apply.h +33 -0
  93. data/ext/rugged/vendor/libgit2-dist/src/dir.h +47 -0
  94. data/ext/rugged/vendor/libgit2-dist/src/errors.c +104 -0
  95. data/ext/rugged/vendor/libgit2-dist/src/fetch.c +172 -0
  96. data/ext/rugged/vendor/libgit2-dist/src/fetch.h +18 -0
  97. data/ext/rugged/vendor/libgit2-dist/src/filebuf.c +400 -0
  98. data/ext/rugged/vendor/libgit2-dist/src/filebuf.h +72 -0
  99. data/ext/rugged/vendor/libgit2-dist/src/fileops.c +358 -0
  100. data/ext/rugged/vendor/libgit2-dist/src/fileops.h +151 -0
  101. data/ext/rugged/vendor/libgit2-dist/src/global.c +134 -0
  102. data/ext/rugged/vendor/libgit2-dist/src/global.h +24 -0
  103. data/ext/rugged/vendor/libgit2-dist/src/hash.c +74 -0
  104. data/ext/rugged/vendor/libgit2-dist/src/hash.h +29 -0
  105. data/ext/rugged/vendor/libgit2-dist/src/hashtable.c +243 -0
  106. data/ext/rugged/vendor/libgit2-dist/src/hashtable.h +80 -0
  107. data/ext/rugged/vendor/libgit2-dist/src/index.c +918 -0
  108. data/ext/rugged/vendor/libgit2-dist/src/index.h +34 -0
  109. data/ext/rugged/vendor/libgit2-dist/src/indexer.c +401 -0
  110. data/ext/rugged/vendor/libgit2-dist/src/map.h +37 -0
  111. data/ext/rugged/vendor/libgit2-dist/src/mwindow.c +272 -0
  112. data/ext/rugged/vendor/libgit2-dist/src/mwindow.h +45 -0
  113. data/ext/rugged/vendor/libgit2-dist/src/netops.c +198 -0
  114. data/ext/rugged/vendor/libgit2-dist/src/netops.h +36 -0
  115. data/ext/rugged/vendor/libgit2-dist/src/object.c +295 -0
  116. data/ext/rugged/vendor/libgit2-dist/src/odb.c +672 -0
  117. data/ext/rugged/vendor/libgit2-dist/src/odb.h +43 -0
  118. data/ext/rugged/vendor/libgit2-dist/src/odb_loose.c +855 -0
  119. data/ext/rugged/vendor/libgit2-dist/src/odb_pack.c +485 -0
  120. data/ext/rugged/vendor/libgit2-dist/src/oid.c +388 -0
  121. data/ext/rugged/vendor/libgit2-dist/src/pack.c +788 -0
  122. data/ext/rugged/vendor/libgit2-dist/src/pack.h +99 -0
  123. data/ext/rugged/vendor/libgit2-dist/src/path.c +270 -0
  124. data/ext/rugged/vendor/libgit2-dist/src/path.h +84 -0
  125. data/ext/rugged/vendor/libgit2-dist/src/pkt.c +426 -0
  126. data/ext/rugged/vendor/libgit2-dist/src/pkt.h +77 -0
  127. data/ext/rugged/vendor/libgit2-dist/src/posix.c +94 -0
  128. data/ext/rugged/vendor/libgit2-dist/src/posix.h +69 -0
  129. data/ext/rugged/vendor/libgit2-dist/src/ppc/sha1.c +70 -0
  130. data/ext/rugged/vendor/libgit2-dist/src/ppc/sha1.h +26 -0
  131. data/ext/rugged/vendor/libgit2-dist/src/pqueue.c +141 -0
  132. data/ext/rugged/vendor/libgit2-dist/src/pqueue.h +81 -0
  133. data/ext/rugged/vendor/libgit2-dist/src/protocol.c +50 -0
  134. data/ext/rugged/vendor/libgit2-dist/src/protocol.h +23 -0
  135. data/ext/rugged/vendor/libgit2-dist/src/reflog.c +318 -0
  136. data/ext/rugged/vendor/libgit2-dist/src/reflog.h +34 -0
  137. data/ext/rugged/vendor/libgit2-dist/src/refs.c +1693 -0
  138. data/ext/rugged/vendor/libgit2-dist/src/refs.h +58 -0
  139. data/ext/rugged/vendor/libgit2-dist/src/refspec.c +95 -0
  140. data/ext/rugged/vendor/libgit2-dist/src/refspec.h +23 -0
  141. data/ext/rugged/vendor/libgit2-dist/src/remote.c +339 -0
  142. data/ext/rugged/vendor/libgit2-dist/src/remote.h +25 -0
  143. data/ext/rugged/vendor/libgit2-dist/src/repository.c +849 -0
  144. data/ext/rugged/vendor/libgit2-dist/src/repository.h +60 -0
  145. data/ext/rugged/vendor/libgit2-dist/src/revwalk.c +569 -0
  146. data/ext/rugged/vendor/libgit2-dist/src/sha1.c +280 -0
  147. data/ext/rugged/vendor/libgit2-dist/src/sha1.h +21 -0
  148. data/ext/rugged/vendor/libgit2-dist/src/sha1_lookup.c +177 -0
  149. data/ext/rugged/vendor/libgit2-dist/src/sha1_lookup.h +18 -0
  150. data/ext/rugged/vendor/libgit2-dist/src/signature.c +335 -0
  151. data/ext/rugged/vendor/libgit2-dist/src/signature.h +18 -0
  152. data/ext/rugged/vendor/libgit2-dist/src/status.c +696 -0
  153. data/ext/rugged/vendor/libgit2-dist/src/tag.c +446 -0
  154. data/ext/rugged/vendor/libgit2-dist/src/tag.h +28 -0
  155. data/ext/rugged/vendor/libgit2-dist/src/thread-utils.c +55 -0
  156. data/ext/rugged/vendor/libgit2-dist/src/thread-utils.h +108 -0
  157. data/ext/rugged/vendor/libgit2-dist/src/transport.c +85 -0
  158. data/ext/rugged/vendor/libgit2-dist/src/transport.h +110 -0
  159. data/ext/rugged/vendor/libgit2-dist/src/transports/git.c +502 -0
  160. data/ext/rugged/vendor/libgit2-dist/src/transports/http.c +756 -0
  161. data/ext/rugged/vendor/libgit2-dist/src/transports/local.c +235 -0
  162. data/ext/rugged/vendor/libgit2-dist/src/tree-cache.c +201 -0
  163. data/ext/rugged/vendor/libgit2-dist/src/tree-cache.h +31 -0
  164. data/ext/rugged/vendor/libgit2-dist/src/tree.c +758 -0
  165. data/ext/rugged/vendor/libgit2-dist/src/tree.h +37 -0
  166. data/ext/rugged/vendor/libgit2-dist/src/tsort.c +365 -0
  167. data/ext/rugged/vendor/libgit2-dist/src/unix/map.c +70 -0
  168. data/ext/rugged/vendor/libgit2-dist/src/unix/posix.h +25 -0
  169. data/ext/rugged/vendor/libgit2-dist/src/util.c +381 -0
  170. data/ext/rugged/vendor/libgit2-dist/src/util.h +137 -0
  171. data/ext/rugged/vendor/libgit2-dist/src/vector.c +174 -0
  172. data/ext/rugged/vendor/libgit2-dist/src/vector.h +45 -0
  173. data/ext/rugged/vendor/libgit2-dist/src/win32/dir.c +115 -0
  174. data/ext/rugged/vendor/libgit2-dist/src/win32/fnmatch.c +180 -0
  175. data/ext/rugged/vendor/libgit2-dist/src/win32/fnmatch.h +27 -0
  176. data/ext/rugged/vendor/libgit2-dist/src/win32/map.c +131 -0
  177. data/ext/rugged/vendor/libgit2-dist/src/win32/mingw-compat.h +24 -0
  178. data/ext/rugged/vendor/libgit2-dist/src/win32/msvc-compat.h +38 -0
  179. data/ext/rugged/vendor/libgit2-dist/src/win32/posix.h +53 -0
  180. data/ext/rugged/vendor/libgit2-dist/src/win32/posix_w32.c +404 -0
  181. data/ext/rugged/vendor/libgit2-dist/src/win32/pthread.c +65 -0
  182. data/ext/rugged/vendor/libgit2-dist/src/win32/pthread.h +40 -0
  183. data/ext/rugged/vendor/libgit2-dist/src/win32/utf-conv.c +88 -0
  184. data/ext/rugged/vendor/libgit2-dist/src/win32/utf-conv.h +17 -0
  185. data/ext/rugged/vendor/libgit2-dist/tests-clay/buf/basic.c +29 -0
  186. data/ext/rugged/vendor/libgit2-dist/tests-clay/clay.h +187 -0
  187. data/ext/rugged/vendor/libgit2-dist/tests-clay/clay_libgit2.h +28 -0
  188. data/ext/rugged/vendor/libgit2-dist/tests-clay/clay_main.c +1073 -0
  189. data/ext/rugged/vendor/libgit2-dist/tests-clay/config/add.c +37 -0
  190. data/ext/rugged/vendor/libgit2-dist/tests-clay/config/new.c +36 -0
  191. data/ext/rugged/vendor/libgit2-dist/tests-clay/config/read.c +209 -0
  192. data/ext/rugged/vendor/libgit2-dist/tests-clay/config/stress.c +39 -0
  193. data/ext/rugged/vendor/libgit2-dist/tests-clay/config/write.c +77 -0
  194. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/dirent.c +222 -0
  195. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/filebuf.c +106 -0
  196. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/oid.c +18 -0
  197. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/path.c +139 -0
  198. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/rmdir.c +50 -0
  199. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/string.c +28 -0
  200. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/strtol.c +37 -0
  201. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/vector.c +66 -0
  202. data/ext/rugged/vendor/libgit2-dist/tests-clay/index/rename.c +60 -0
  203. data/ext/rugged/vendor/libgit2-dist/tests-clay/network/remotes.c +50 -0
  204. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/chars.c +52 -0
  205. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/compare.c +124 -0
  206. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/convert.c +75 -0
  207. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/data.h +323 -0
  208. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/fromstr.c +30 -0
  209. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/hash.c +162 -0
  210. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/short.c +94 -0
  211. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/size.c +13 -0
  212. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/type2string.c +54 -0
  213. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/tree/frompath.c +75 -0
  214. data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/loose.c +84 -0
  215. data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/loose_data.h +522 -0
  216. data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/pack_data.h +151 -0
  217. data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/packed.c +78 -0
  218. data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/sorting.c +71 -0
  219. data/ext/rugged/vendor/libgit2-dist/tests-clay/repo/getters.c +68 -0
  220. data/ext/rugged/vendor/libgit2-dist/tests-clay/repo/init.c +104 -0
  221. data/ext/rugged/vendor/libgit2-dist/tests-clay/repo/open.c +54 -0
  222. data/ext/rugged/vendor/libgit2-dist/tests-clay/status/single.c +38 -0
  223. data/ext/rugged/vendor/libgit2-dist/tests-clay/status/status_data.h +48 -0
  224. data/ext/rugged/vendor/libgit2-dist/tests-clay/status/worktree.c +124 -0
  225. data/ext/rugged/vendor/libgit2-dist/tests/t00-core.c +628 -0
  226. data/ext/rugged/vendor/libgit2-dist/tests/t01-data.h +322 -0
  227. data/ext/rugged/vendor/libgit2-dist/tests/t01-rawobj.c +638 -0
  228. data/ext/rugged/vendor/libgit2-dist/tests/t03-data.h +344 -0
  229. data/ext/rugged/vendor/libgit2-dist/tests/t03-objwrite.c +255 -0
  230. data/ext/rugged/vendor/libgit2-dist/tests/t04-commit.c +788 -0
  231. data/ext/rugged/vendor/libgit2-dist/tests/t05-revwalk.c +140 -0
  232. data/ext/rugged/vendor/libgit2-dist/tests/t06-index.c +219 -0
  233. data/ext/rugged/vendor/libgit2-dist/tests/t07-hashtable.c +192 -0
  234. data/ext/rugged/vendor/libgit2-dist/tests/t08-tag.c +357 -0
  235. data/ext/rugged/vendor/libgit2-dist/tests/t09-tree.c +221 -0
  236. data/ext/rugged/vendor/libgit2-dist/tests/t10-refs.c +1294 -0
  237. data/ext/rugged/vendor/libgit2-dist/tests/t12-repo.c +174 -0
  238. data/ext/rugged/vendor/libgit2-dist/tests/t13-threads.c +41 -0
  239. data/ext/rugged/vendor/libgit2-dist/tests/t17-bufs.c +61 -0
  240. data/ext/rugged/vendor/libgit2-dist/tests/t18-status.c +448 -0
  241. data/ext/rugged/vendor/libgit2-dist/tests/test_helpers.c +310 -0
  242. data/ext/rugged/vendor/libgit2-dist/tests/test_helpers.h +83 -0
  243. data/ext/rugged/vendor/libgit2-dist/tests/test_lib.c +198 -0
  244. data/ext/rugged/vendor/libgit2-dist/tests/test_lib.h +54 -0
  245. data/ext/rugged/vendor/libgit2-dist/tests/test_main.c +89 -0
  246. data/lib/rugged.rb +4 -3
  247. data/lib/rugged/index.rb +0 -8
  248. data/lib/rugged/objects.rb +45 -0
  249. data/lib/rugged/repository.rb +29 -0
  250. data/lib/rugged/tree.rb +16 -6
  251. data/lib/rugged/version.rb +1 -1
  252. data/lib/rugged/walker.rb +5 -0
  253. data/test/blob_test.rb +18 -14
  254. data/test/commit_test.rb +28 -26
  255. data/test/coverage/HEAD.json +1 -0
  256. data/test/coverage/cover.rb +106 -0
  257. data/test/fixtures/testrepo.git/refs/heads/new_name +1 -0
  258. data/test/index_test.rb +101 -78
  259. data/test/lib_test.rb +4 -4
  260. data/test/object_test.rb +3 -3
  261. data/test/reference_test.rb +75 -0
  262. data/test/remote_test.rb +19 -0
  263. data/test/repo_pack_test.rb +4 -4
  264. data/test/repo_test.rb +44 -15
  265. data/test/tag_test.rb +7 -17
  266. data/test/test_helper.rb +24 -5
  267. data/test/tree_test.rb +30 -12
  268. data/test/walker_test.rb +40 -31
  269. metadata +273 -50
  270. data/lib/rugged/person.rb +0 -20
  271. data/lib/rugged/tree_entry.rb +0 -9
  272. data/test/fixtures/testrepo.git/objects/1d/83f106355e4309a293e42ad2a2c4b8bdbe77ae +0 -0
  273. data/test/fixtures/testrepo.git/objects/2f/3321418db5b2a841375b8b70880a8ab5a4148f +0 -0
  274. data/test/fixtures/testrepo.git/objects/36/9b00a7700cca3a506d79e301d6ad8bf735d9ee +0 -3
  275. data/test/fixtures/testrepo.git/objects/3d/b1b5ceace59ff65279757003763046fd4cbbe6 +0 -0
  276. data/test/fixtures/testrepo.git/objects/4c/d1604907792e2c43e03dcec1216f99d63e68c4 +0 -3
  277. data/test/fixtures/testrepo.git/objects/e0/f46d77041c149296549b01ed4a18b02c4b7400 +0 -0
@@ -0,0 +1,318 @@
1
+ /* zutil.c -- target dependent utility functions for the compression library
2
+ * Copyright (C) 1995-2005, 2010 Jean-loup Gailly.
3
+ * For conditions of distribution and use, see copyright notice in zlib.h
4
+ */
5
+
6
+ /* @(#) $Id$ */
7
+
8
+ #include "zutil.h"
9
+
10
+ #ifndef NO_DUMMY_DECL
11
+ struct internal_state {int dummy;}; /* for buggy compilers */
12
+ #endif
13
+
14
+ const char * const z_errmsg[10] = {
15
+ "need dictionary", /* Z_NEED_DICT 2 */
16
+ "stream end", /* Z_STREAM_END 1 */
17
+ "", /* Z_OK 0 */
18
+ "file error", /* Z_ERRNO (-1) */
19
+ "stream error", /* Z_STREAM_ERROR (-2) */
20
+ "data error", /* Z_DATA_ERROR (-3) */
21
+ "insufficient memory", /* Z_MEM_ERROR (-4) */
22
+ "buffer error", /* Z_BUF_ERROR (-5) */
23
+ "incompatible version",/* Z_VERSION_ERROR (-6) */
24
+ ""};
25
+
26
+
27
+ const char * ZEXPORT zlibVersion()
28
+ {
29
+ return ZLIB_VERSION;
30
+ }
31
+
32
+ uLong ZEXPORT zlibCompileFlags()
33
+ {
34
+ uLong flags;
35
+
36
+ flags = 0;
37
+ switch ((int)(sizeof(uInt))) {
38
+ case 2: break;
39
+ case 4: flags += 1; break;
40
+ case 8: flags += 2; break;
41
+ default: flags += 3;
42
+ }
43
+ switch ((int)(sizeof(uLong))) {
44
+ case 2: break;
45
+ case 4: flags += 1 << 2; break;
46
+ case 8: flags += 2 << 2; break;
47
+ default: flags += 3 << 2;
48
+ }
49
+ switch ((int)(sizeof(voidpf))) {
50
+ case 2: break;
51
+ case 4: flags += 1 << 4; break;
52
+ case 8: flags += 2 << 4; break;
53
+ default: flags += 3 << 4;
54
+ }
55
+ switch ((int)(sizeof(z_off_t))) {
56
+ case 2: break;
57
+ case 4: flags += 1 << 6; break;
58
+ case 8: flags += 2 << 6; break;
59
+ default: flags += 3 << 6;
60
+ }
61
+ #ifdef DEBUG
62
+ flags += 1 << 8;
63
+ #endif
64
+ #if defined(ASMV) || defined(ASMINF)
65
+ flags += 1 << 9;
66
+ #endif
67
+ #ifdef ZLIB_WINAPI
68
+ flags += 1 << 10;
69
+ #endif
70
+ #ifdef BUILDFIXED
71
+ flags += 1 << 12;
72
+ #endif
73
+ #ifdef DYNAMIC_CRC_TABLE
74
+ flags += 1 << 13;
75
+ #endif
76
+ #ifdef NO_GZCOMPRESS
77
+ flags += 1L << 16;
78
+ #endif
79
+ #ifdef NO_GZIP
80
+ flags += 1L << 17;
81
+ #endif
82
+ #ifdef PKZIP_BUG_WORKAROUND
83
+ flags += 1L << 20;
84
+ #endif
85
+ #ifdef FASTEST
86
+ flags += 1L << 21;
87
+ #endif
88
+ #ifdef STDC
89
+ # ifdef NO_vsnprintf
90
+ flags += 1L << 25;
91
+ # ifdef HAS_vsprintf_void
92
+ flags += 1L << 26;
93
+ # endif
94
+ # else
95
+ # ifdef HAS_vsnprintf_void
96
+ flags += 1L << 26;
97
+ # endif
98
+ # endif
99
+ #else
100
+ flags += 1L << 24;
101
+ # ifdef NO_snprintf
102
+ flags += 1L << 25;
103
+ # ifdef HAS_sprintf_void
104
+ flags += 1L << 26;
105
+ # endif
106
+ # else
107
+ # ifdef HAS_snprintf_void
108
+ flags += 1L << 26;
109
+ # endif
110
+ # endif
111
+ #endif
112
+ return flags;
113
+ }
114
+
115
+ #ifdef DEBUG
116
+
117
+ # ifndef verbose
118
+ # define verbose 0
119
+ # endif
120
+ int ZLIB_INTERNAL z_verbose = verbose;
121
+
122
+ void ZLIB_INTERNAL z_error (m)
123
+ char *m;
124
+ {
125
+ fprintf(stderr, "%s\n", m);
126
+ exit(1);
127
+ }
128
+ #endif
129
+
130
+ /* exported to allow conversion of error code to string for compress() and
131
+ * uncompress()
132
+ */
133
+ const char * ZEXPORT zError(err)
134
+ int err;
135
+ {
136
+ return ERR_MSG(err);
137
+ }
138
+
139
+ #if defined(_WIN32_WCE)
140
+ /* The Microsoft C Run-Time Library for Windows CE doesn't have
141
+ * errno. We define it as a global variable to simplify porting.
142
+ * Its value is always 0 and should not be used.
143
+ */
144
+ int errno = 0;
145
+ #endif
146
+
147
+ #ifndef HAVE_MEMCPY
148
+
149
+ void ZLIB_INTERNAL zmemcpy(dest, source, len)
150
+ Bytef* dest;
151
+ const Bytef* source;
152
+ uInt len;
153
+ {
154
+ if (len == 0) return;
155
+ do {
156
+ *dest++ = *source++; /* ??? to be unrolled */
157
+ } while (--len != 0);
158
+ }
159
+
160
+ int ZLIB_INTERNAL zmemcmp(s1, s2, len)
161
+ const Bytef* s1;
162
+ const Bytef* s2;
163
+ uInt len;
164
+ {
165
+ uInt j;
166
+
167
+ for (j = 0; j < len; j++) {
168
+ if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
169
+ }
170
+ return 0;
171
+ }
172
+
173
+ void ZLIB_INTERNAL zmemzero(dest, len)
174
+ Bytef* dest;
175
+ uInt len;
176
+ {
177
+ if (len == 0) return;
178
+ do {
179
+ *dest++ = 0; /* ??? to be unrolled */
180
+ } while (--len != 0);
181
+ }
182
+ #endif
183
+
184
+
185
+ #ifdef SYS16BIT
186
+
187
+ #ifdef __TURBOC__
188
+ /* Turbo C in 16-bit mode */
189
+
190
+ # define MY_ZCALLOC
191
+
192
+ /* Turbo C malloc() does not allow dynamic allocation of 64K bytes
193
+ * and farmalloc(64K) returns a pointer with an offset of 8, so we
194
+ * must fix the pointer. Warning: the pointer must be put back to its
195
+ * original form in order to free it, use zcfree().
196
+ */
197
+
198
+ #define MAX_PTR 10
199
+ /* 10*64K = 640K */
200
+
201
+ local int next_ptr = 0;
202
+
203
+ typedef struct ptr_table_s {
204
+ voidpf org_ptr;
205
+ voidpf new_ptr;
206
+ } ptr_table;
207
+
208
+ local ptr_table table[MAX_PTR];
209
+ /* This table is used to remember the original form of pointers
210
+ * to large buffers (64K). Such pointers are normalized with a zero offset.
211
+ * Since MSDOS is not a preemptive multitasking OS, this table is not
212
+ * protected from concurrent access. This hack doesn't work anyway on
213
+ * a protected system like OS/2. Use Microsoft C instead.
214
+ */
215
+
216
+ voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
217
+ {
218
+ voidpf buf = opaque; /* just to make some compilers happy */
219
+ ulg bsize = (ulg)items*size;
220
+
221
+ /* If we allocate less than 65520 bytes, we assume that farmalloc
222
+ * will return a usable pointer which doesn't have to be normalized.
223
+ */
224
+ if (bsize < 65520L) {
225
+ buf = farmalloc(bsize);
226
+ if (*(ush*)&buf != 0) return buf;
227
+ } else {
228
+ buf = farmalloc(bsize + 16L);
229
+ }
230
+ if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
231
+ table[next_ptr].org_ptr = buf;
232
+
233
+ /* Normalize the pointer to seg:0 */
234
+ *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
235
+ *(ush*)&buf = 0;
236
+ table[next_ptr++].new_ptr = buf;
237
+ return buf;
238
+ }
239
+
240
+ void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
241
+ {
242
+ int n;
243
+ if (*(ush*)&ptr != 0) { /* object < 64K */
244
+ farfree(ptr);
245
+ return;
246
+ }
247
+ /* Find the original pointer */
248
+ for (n = 0; n < next_ptr; n++) {
249
+ if (ptr != table[n].new_ptr) continue;
250
+
251
+ farfree(table[n].org_ptr);
252
+ while (++n < next_ptr) {
253
+ table[n-1] = table[n];
254
+ }
255
+ next_ptr--;
256
+ return;
257
+ }
258
+ ptr = opaque; /* just to make some compilers happy */
259
+ Assert(0, "zcfree: ptr not found");
260
+ }
261
+
262
+ #endif /* __TURBOC__ */
263
+
264
+
265
+ #ifdef M_I86
266
+ /* Microsoft C in 16-bit mode */
267
+
268
+ # define MY_ZCALLOC
269
+
270
+ #if (!defined(_MSC_VER) || (_MSC_VER <= 600))
271
+ # define _halloc halloc
272
+ # define _hfree hfree
273
+ #endif
274
+
275
+ voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
276
+ {
277
+ if (opaque) opaque = 0; /* to make compiler happy */
278
+ return _halloc((long)items, size);
279
+ }
280
+
281
+ void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
282
+ {
283
+ if (opaque) opaque = 0; /* to make compiler happy */
284
+ _hfree(ptr);
285
+ }
286
+
287
+ #endif /* M_I86 */
288
+
289
+ #endif /* SYS16BIT */
290
+
291
+
292
+ #ifndef MY_ZCALLOC /* Any system without a special alloc function */
293
+
294
+ #ifndef STDC
295
+ extern voidp malloc OF((uInt size));
296
+ extern voidp calloc OF((uInt items, uInt size));
297
+ extern void free OF((voidpf ptr));
298
+ #endif
299
+
300
+ voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
301
+ voidpf opaque;
302
+ unsigned items;
303
+ unsigned size;
304
+ {
305
+ if (opaque) items += size - size; /* make compiler happy */
306
+ return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
307
+ (voidpf)calloc(items, size);
308
+ }
309
+
310
+ void ZLIB_INTERNAL zcfree (opaque, ptr)
311
+ voidpf opaque;
312
+ voidpf ptr;
313
+ {
314
+ free(ptr);
315
+ if (opaque) return; /* make compiler happy */
316
+ }
317
+
318
+ #endif /* MY_ZCALLOC */
@@ -0,0 +1,274 @@
1
+ /* zutil.h -- internal interface and configuration of the compression library
2
+ * Copyright (C) 1995-2010 Jean-loup Gailly.
3
+ * For conditions of distribution and use, see copyright notice in zlib.h
4
+ */
5
+
6
+ /* WARNING: this file should *not* be used by applications. It is
7
+ part of the implementation of the compression library and is
8
+ subject to change. Applications should only use zlib.h.
9
+ */
10
+
11
+ /* @(#) $Id$ */
12
+
13
+ #ifndef ZUTIL_H
14
+ #define ZUTIL_H
15
+
16
+ #if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ)
17
+ # define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
18
+ #else
19
+ # define ZLIB_INTERNAL
20
+ #endif
21
+
22
+ #include "zlib.h"
23
+
24
+ #ifdef STDC
25
+ # if !(defined(_WIN32_WCE) && defined(_MSC_VER))
26
+ # include <stddef.h>
27
+ # endif
28
+ # include <string.h>
29
+ # include <stdlib.h>
30
+ #endif
31
+
32
+ #ifndef local
33
+ # define local static
34
+ #endif
35
+ /* compile with -Dlocal if your debugger can't find static symbols */
36
+
37
+ typedef unsigned char uch;
38
+ typedef uch FAR uchf;
39
+ typedef unsigned short ush;
40
+ typedef ush FAR ushf;
41
+ typedef unsigned long ulg;
42
+
43
+ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
44
+ /* (size given to avoid silly warnings with Visual C++) */
45
+
46
+ #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
47
+
48
+ #define ERR_RETURN(strm,err) \
49
+ return (strm->msg = (char*)ERR_MSG(err), (err))
50
+ /* To be used only when the state is known to be valid */
51
+
52
+ /* common constants */
53
+
54
+ #ifndef DEF_WBITS
55
+ # define DEF_WBITS MAX_WBITS
56
+ #endif
57
+ /* default windowBits for decompression. MAX_WBITS is for compression only */
58
+
59
+ #if MAX_MEM_LEVEL >= 8
60
+ # define DEF_MEM_LEVEL 8
61
+ #else
62
+ # define DEF_MEM_LEVEL MAX_MEM_LEVEL
63
+ #endif
64
+ /* default memLevel */
65
+
66
+ #define STORED_BLOCK 0
67
+ #define STATIC_TREES 1
68
+ #define DYN_TREES 2
69
+ /* The three kinds of block type */
70
+
71
+ #define MIN_MATCH 3
72
+ #define MAX_MATCH 258
73
+ /* The minimum and maximum match lengths */
74
+
75
+ #define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
76
+
77
+ /* target dependencies */
78
+
79
+ #if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
80
+ # define OS_CODE 0x00
81
+ # if defined(__TURBOC__) || defined(__BORLANDC__)
82
+ # if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
83
+ /* Allow compilation with ANSI keywords only enabled */
84
+ void _Cdecl farfree( void *block );
85
+ void *_Cdecl farmalloc( unsigned long nbytes );
86
+ # else
87
+ # include <alloc.h>
88
+ # endif
89
+ # else /* MSC or DJGPP */
90
+ # include <malloc.h>
91
+ # endif
92
+ #endif
93
+
94
+ #ifdef AMIGA
95
+ # define OS_CODE 0x01
96
+ #endif
97
+
98
+ #if defined(VAXC) || defined(VMS)
99
+ # define OS_CODE 0x02
100
+ # define F_OPEN(name, mode) \
101
+ fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
102
+ #endif
103
+
104
+ #if defined(ATARI) || defined(atarist)
105
+ # define OS_CODE 0x05
106
+ #endif
107
+
108
+ #ifdef OS2
109
+ # define OS_CODE 0x06
110
+ # ifdef M_I86
111
+ # include <malloc.h>
112
+ # endif
113
+ #endif
114
+
115
+ #if defined(MACOS) || defined(TARGET_OS_MAC)
116
+ # define OS_CODE 0x07
117
+ # if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
118
+ # include <unix.h> /* for fdopen */
119
+ # else
120
+ # ifndef fdopen
121
+ # define fdopen(fd,mode) NULL /* No fdopen() */
122
+ # endif
123
+ # endif
124
+ #endif
125
+
126
+ #ifdef TOPS20
127
+ # define OS_CODE 0x0a
128
+ #endif
129
+
130
+ #ifdef WIN32
131
+ # ifndef __CYGWIN__ /* Cygwin is Unix, not Win32 */
132
+ # define OS_CODE 0x0b
133
+ # endif
134
+ #endif
135
+
136
+ #ifdef __50SERIES /* Prime/PRIMOS */
137
+ # define OS_CODE 0x0f
138
+ #endif
139
+
140
+ #if defined(_BEOS_) || defined(RISCOS)
141
+ # define fdopen(fd,mode) NULL /* No fdopen() */
142
+ #endif
143
+
144
+ #if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
145
+ # if defined(_WIN32_WCE)
146
+ # define fdopen(fd,mode) NULL /* No fdopen() */
147
+ # ifndef _PTRDIFF_T_DEFINED
148
+ typedef int ptrdiff_t;
149
+ # define _PTRDIFF_T_DEFINED
150
+ # endif
151
+ # else
152
+ # define fdopen(fd,type) _fdopen(fd,type)
153
+ # endif
154
+ #endif
155
+
156
+ #if defined(__BORLANDC__)
157
+ #pragma warn -8004
158
+ #pragma warn -8008
159
+ #pragma warn -8066
160
+ #endif
161
+
162
+ /* provide prototypes for these when building zlib without LFS */
163
+ #if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0
164
+ ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
165
+ ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
166
+ #endif
167
+
168
+ /* common defaults */
169
+
170
+ #ifndef OS_CODE
171
+ # define OS_CODE 0x03 /* assume Unix */
172
+ #endif
173
+
174
+ #ifndef F_OPEN
175
+ # define F_OPEN(name, mode) fopen((name), (mode))
176
+ #endif
177
+
178
+ /* functions */
179
+
180
+ #if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
181
+ # ifndef HAVE_VSNPRINTF
182
+ # define HAVE_VSNPRINTF
183
+ # endif
184
+ #endif
185
+ #if defined(__CYGWIN__)
186
+ # ifndef HAVE_VSNPRINTF
187
+ # define HAVE_VSNPRINTF
188
+ # endif
189
+ #endif
190
+ #ifndef HAVE_VSNPRINTF
191
+ # ifdef MSDOS
192
+ /* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
193
+ but for now we just assume it doesn't. */
194
+ # define NO_vsnprintf
195
+ # endif
196
+ # ifdef __TURBOC__
197
+ # define NO_vsnprintf
198
+ # endif
199
+ # ifdef WIN32
200
+ /* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
201
+ # if !defined(vsnprintf) && !defined(NO_vsnprintf)
202
+ # if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 )
203
+ # define vsnprintf _vsnprintf
204
+ # endif
205
+ # endif
206
+ # endif
207
+ # ifdef __SASC
208
+ # define NO_vsnprintf
209
+ # endif
210
+ #endif
211
+ #ifdef VMS
212
+ # define NO_vsnprintf
213
+ #endif
214
+
215
+ #if defined(pyr)
216
+ # define NO_MEMCPY
217
+ #endif
218
+ #if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
219
+ /* Use our own functions for small and medium model with MSC <= 5.0.
220
+ * You may have to use the same strategy for Borland C (untested).
221
+ * The __SC__ check is for Symantec.
222
+ */
223
+ # define NO_MEMCPY
224
+ #endif
225
+ #if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
226
+ # define HAVE_MEMCPY
227
+ #endif
228
+ #ifdef HAVE_MEMCPY
229
+ # ifdef SMALL_MEDIUM /* MSDOS small or medium model */
230
+ # define zmemcpy _fmemcpy
231
+ # define zmemcmp _fmemcmp
232
+ # define zmemzero(dest, len) _fmemset(dest, 0, len)
233
+ # else
234
+ # define zmemcpy memcpy
235
+ # define zmemcmp memcmp
236
+ # define zmemzero(dest, len) memset(dest, 0, len)
237
+ # endif
238
+ #else
239
+ void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
240
+ int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
241
+ void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len));
242
+ #endif
243
+
244
+ /* Diagnostic functions */
245
+ #ifdef DEBUG
246
+ # include <stdio.h>
247
+ extern int ZLIB_INTERNAL z_verbose;
248
+ extern void ZLIB_INTERNAL z_error OF((char *m));
249
+ # define Assert(cond,msg) {if(!(cond)) z_error(msg);}
250
+ # define Trace(x) {if (z_verbose>=0) fprintf x ;}
251
+ # define Tracev(x) {if (z_verbose>0) fprintf x ;}
252
+ # define Tracevv(x) {if (z_verbose>1) fprintf x ;}
253
+ # define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
254
+ # define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
255
+ #else
256
+ # define Assert(cond,msg)
257
+ # define Trace(x)
258
+ # define Tracev(x)
259
+ # define Tracevv(x)
260
+ # define Tracec(c,x)
261
+ # define Tracecv(c,x)
262
+ #endif
263
+
264
+
265
+ voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
266
+ unsigned size));
267
+ void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr));
268
+
269
+ #define ZALLOC(strm, items, size) \
270
+ (*((strm)->zalloc))((strm)->opaque, (items), (size))
271
+ #define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
272
+ #define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
273
+
274
+ #endif /* ZUTIL_H */