rugged 0.17.0b2 → 0.17.0.b6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. data/Rakefile +10 -11
  2. data/ext/rugged/extconf.rb +5 -13
  3. data/ext/rugged/rugged_commit.c +2 -5
  4. data/ext/rugged/rugged_reference.c +29 -28
  5. data/ext/rugged/rugged_remote.c +1 -1
  6. data/ext/rugged/rugged_repo.c +4 -1
  7. data/ext/rugged/rugged_tree.c +20 -19
  8. data/lib/rugged/commit.rb +5 -1
  9. data/lib/rugged/repository.rb +6 -4
  10. data/lib/rugged/version.rb +1 -1
  11. data/test/config_test.rb +1 -1
  12. data/test/index_test.rb +4 -2
  13. data/test/object_test.rb +3 -3
  14. data/test/reference_test.rb +66 -1
  15. data/test/repo_test.rb +4 -4
  16. data/test/tree_test.rb +1 -1
  17. data/test/walker_test.rb +1 -1
  18. data/vendor/libgit2/Makefile.embed +42 -0
  19. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/http-parser/http_parser.c +0 -0
  20. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/http-parser/http_parser.h +0 -0
  21. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/config.h +0 -0
  22. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regcomp.c +0 -0
  23. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regex.c +0 -0
  24. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regex.h +0 -0
  25. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regex_internal.c +0 -0
  26. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regex_internal.h +0 -0
  27. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regexec.c +0 -0
  28. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/adler32.c +0 -0
  29. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/crc32.c +0 -0
  30. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/crc32.h +0 -0
  31. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/deflate.c +0 -0
  32. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/deflate.h +0 -0
  33. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inffast.c +0 -0
  34. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inffast.h +0 -0
  35. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inffixed.h +0 -0
  36. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inflate.c +0 -0
  37. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inflate.h +0 -0
  38. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inftrees.c +0 -0
  39. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inftrees.h +0 -0
  40. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/trees.c +0 -0
  41. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/trees.h +0 -0
  42. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/zconf.h +0 -0
  43. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/zlib.h +0 -0
  44. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/zutil.c +0 -0
  45. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/zutil.h +0 -0
  46. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2.h +6 -0
  47. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/attr.h +35 -20
  48. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/blob.h +1 -1
  49. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/branch.h +62 -24
  50. data/vendor/libgit2/include/git2/checkout.h +66 -0
  51. data/vendor/libgit2/include/git2/clone.h +59 -0
  52. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/commit.h +22 -3
  53. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/common.h +27 -0
  54. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/config.h +22 -4
  55. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/diff.h +20 -1
  56. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/errors.h +2 -37
  57. data/vendor/libgit2/include/git2/ignore.h +74 -0
  58. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/index.h +37 -5
  59. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/indexer.h +2 -2
  60. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/inttypes.h +0 -0
  61. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/merge.h +10 -0
  62. data/vendor/libgit2/include/git2/message.h +43 -0
  63. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/net.h +0 -0
  64. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/notes.h +24 -20
  65. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/object.h +18 -1
  66. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/odb.h +16 -1
  67. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/odb_backend.h +8 -1
  68. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/oid.h +26 -2
  69. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/reflog.h +39 -9
  70. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/refs.h +55 -3
  71. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/refspec.h +0 -0
  72. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/remote.h +68 -2
  73. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/repository.h +39 -1
  74. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/reset.h +0 -0
  75. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/revparse.h +0 -0
  76. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/revwalk.h +2 -2
  77. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/signature.h +3 -0
  78. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/status.h +5 -2
  79. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/stdint.h +0 -0
  80. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/submodule.h +0 -0
  81. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/tag.h +3 -3
  82. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/threads.h +0 -0
  83. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/tree.h +77 -20
  84. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/types.h +14 -0
  85. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/version.h +0 -0
  86. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/windows.h +0 -0
  87. data/vendor/libgit2/src/amiga/map.c +51 -0
  88. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/attr.c +39 -6
  89. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/attr.h +1 -0
  90. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/attr_file.c +2 -16
  91. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/attr_file.h +4 -0
  92. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/blob.c +0 -0
  93. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/blob.h +0 -0
  94. data/vendor/libgit2/src/branch.c +294 -0
  95. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/bswap.h +0 -0
  96. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/buffer.c +40 -0
  97. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/buffer.h +22 -0
  98. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/cache.c +1 -0
  99. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/cache.h +0 -0
  100. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/cc-compat.h +0 -0
  101. data/vendor/libgit2/src/checkout.c +230 -0
  102. data/vendor/libgit2/src/clone.c +254 -0
  103. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/commit.c +42 -16
  104. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/commit.h +0 -0
  105. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/common.h +3 -9
  106. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/compat/fnmatch.c +0 -0
  107. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/compat/fnmatch.h +0 -0
  108. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/config.c +15 -5
  109. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/config.h +0 -0
  110. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/config_cache.c +0 -0
  111. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/config_file.c +86 -19
  112. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/config_file.h +16 -1
  113. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/crlf.c +92 -4
  114. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/date.c +20 -20
  115. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/delta-apply.c +0 -0
  116. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/delta-apply.h +0 -0
  117. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/diff.c +45 -18
  118. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/diff.h +0 -0
  119. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/diff_output.c +63 -46
  120. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/errors.c +0 -0
  121. data/vendor/libgit2/src/fetch.c +380 -0
  122. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/fetch.h +1 -2
  123. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/filebuf.c +7 -2
  124. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/filebuf.h +0 -0
  125. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/fileops.c +16 -1
  126. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/fileops.h +10 -0
  127. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/filter.c +38 -2
  128. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/filter.h +15 -0
  129. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/global.c +5 -0
  130. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/global.h +2 -6
  131. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/hash.c +0 -0
  132. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/hash.h +0 -0
  133. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/ignore.c +50 -1
  134. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/ignore.h +0 -0
  135. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/index.c +95 -28
  136. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/index.h +5 -0
  137. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/indexer.c +27 -25
  138. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/iterator.c +0 -0
  139. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/iterator.h +0 -0
  140. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/khash.h +6 -4
  141. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/map.h +4 -0
  142. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/message.c +27 -2
  143. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/message.h +2 -1
  144. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/mwindow.c +54 -10
  145. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/mwindow.h +1 -1
  146. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/netops.c +48 -38
  147. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/netops.h +7 -4
  148. data/vendor/libgit2/src/notes.c +610 -0
  149. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/notes.h +0 -0
  150. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/object.c +73 -2
  151. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/odb.c +20 -1
  152. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/odb.h +0 -0
  153. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/odb_loose.c +89 -3
  154. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/odb_pack.c +61 -3
  155. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/oid.c +1 -6
  156. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/oidmap.h +1 -6
  157. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pack.c +49 -4
  158. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pack.h +5 -1
  159. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/path.c +144 -21
  160. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/path.h +46 -0
  161. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pkt.c +30 -8
  162. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pkt.h +0 -0
  163. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pool.c +7 -0
  164. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pool.h +7 -0
  165. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/posix.c +92 -1
  166. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/posix.h +36 -1
  167. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/ppc/sha1.c +0 -0
  168. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/ppc/sha1.h +0 -0
  169. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pqueue.c +0 -0
  170. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pqueue.h +0 -0
  171. data/vendor/libgit2/src/protocol.c +88 -0
  172. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/protocol.h +3 -9
  173. data/vendor/libgit2/src/reflog.c +489 -0
  174. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/reflog.h +3 -0
  175. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/refs.c +95 -52
  176. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/refs.h +0 -0
  177. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/refspec.c +0 -0
  178. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/refspec.h +0 -0
  179. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/remote.c +130 -8
  180. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/remote.h +6 -0
  181. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/repository.c +167 -42
  182. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/repository.h +7 -0
  183. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/reset.c +1 -1
  184. data/vendor/libgit2/src/revparse.c +830 -0
  185. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/revwalk.c +83 -15
  186. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/sha1.c +0 -0
  187. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/sha1.h +5 -0
  188. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/sha1_lookup.c +0 -0
  189. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/sha1_lookup.h +0 -0
  190. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/signature.c +19 -5
  191. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/signature.h +0 -0
  192. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/status.c +24 -18
  193. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/strmap.h +1 -1
  194. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/submodule.c +3 -3
  195. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tag.c +2 -9
  196. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tag.h +0 -0
  197. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/thread-utils.c +0 -0
  198. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/thread-utils.h +0 -0
  199. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/transport.c +0 -0
  200. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/transport.h +13 -9
  201. data/vendor/libgit2/src/transports/git.c +245 -0
  202. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/transports/http.c +93 -336
  203. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/transports/local.c +35 -32
  204. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tree-cache.c +0 -0
  205. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tree-cache.h +0 -0
  206. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tree.c +214 -124
  207. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tree.h +7 -3
  208. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tsort.c +0 -0
  209. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/unix/map.c +2 -0
  210. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/unix/posix.h +2 -1
  211. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/util.c +30 -0
  212. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/util.h +13 -6
  213. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/vector.c +1 -1
  214. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/vector.h +5 -5
  215. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/dir.c +0 -0
  216. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/dir.h +0 -0
  217. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/map.c +0 -0
  218. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/mingw-compat.h +0 -0
  219. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/msvc-compat.h +0 -0
  220. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/posix.h +1 -0
  221. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/posix_w32.c +17 -1
  222. data/vendor/libgit2/src/win32/precompiled.c +1 -0
  223. data/vendor/libgit2/src/win32/precompiled.h +19 -0
  224. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/pthread.c +0 -0
  225. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/pthread.h +0 -0
  226. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/utf-conv.c +0 -0
  227. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/utf-conv.h +0 -0
  228. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xdiff.h +0 -0
  229. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xdiffi.c +0 -0
  230. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xdiffi.h +0 -0
  231. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xemit.c +0 -0
  232. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xemit.h +0 -0
  233. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xhistogram.c +0 -0
  234. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xinclude.h +0 -0
  235. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xmacros.h +0 -0
  236. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xmerge.c +0 -0
  237. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xpatience.c +0 -0
  238. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xprepare.c +0 -0
  239. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xprepare.h +0 -0
  240. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xtypes.h +0 -0
  241. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xutils.c +0 -0
  242. data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xutils.h +0 -0
  243. metadata +265 -348
  244. data/ext/rugged/vendor/libgit2-dist.tar.gz +0 -0
  245. data/ext/rugged/vendor/libgit2-dist/examples/diff.c +0 -238
  246. data/ext/rugged/vendor/libgit2-dist/examples/general.c +0 -451
  247. data/ext/rugged/vendor/libgit2-dist/examples/network/common.h +0 -14
  248. data/ext/rugged/vendor/libgit2-dist/examples/network/fetch.c +0 -113
  249. data/ext/rugged/vendor/libgit2-dist/examples/network/git2.c +0 -62
  250. data/ext/rugged/vendor/libgit2-dist/examples/network/index-pack.c +0 -102
  251. data/ext/rugged/vendor/libgit2-dist/examples/network/ls-remote.c +0 -76
  252. data/ext/rugged/vendor/libgit2-dist/examples/showindex.c +0 -43
  253. data/ext/rugged/vendor/libgit2-dist/src/branch.c +0 -208
  254. data/ext/rugged/vendor/libgit2-dist/src/branch.h +0 -17
  255. data/ext/rugged/vendor/libgit2-dist/src/fetch.c +0 -200
  256. data/ext/rugged/vendor/libgit2-dist/src/notes.c +0 -548
  257. data/ext/rugged/vendor/libgit2-dist/src/protocol.c +0 -58
  258. data/ext/rugged/vendor/libgit2-dist/src/reflog.c +0 -340
  259. data/ext/rugged/vendor/libgit2-dist/src/revparse.c +0 -748
  260. data/ext/rugged/vendor/libgit2-dist/src/transports/git.c +0 -477
  261. data/ext/rugged/vendor/libgit2-dist/tests-clar/attr/attr_expect.h +0 -43
  262. data/ext/rugged/vendor/libgit2-dist/tests-clar/attr/file.c +0 -226
  263. data/ext/rugged/vendor/libgit2-dist/tests-clar/attr/flags.c +0 -108
  264. data/ext/rugged/vendor/libgit2-dist/tests-clar/attr/lookup.c +0 -262
  265. data/ext/rugged/vendor/libgit2-dist/tests-clar/attr/repo.c +0 -273
  266. data/ext/rugged/vendor/libgit2-dist/tests-clar/buf/basic.c +0 -29
  267. data/ext/rugged/vendor/libgit2-dist/tests-clar/clar_helpers.c +0 -181
  268. data/ext/rugged/vendor/libgit2-dist/tests-clar/clar_libgit2.h +0 -55
  269. data/ext/rugged/vendor/libgit2-dist/tests-clar/commit/commit.c +0 -44
  270. data/ext/rugged/vendor/libgit2-dist/tests-clar/commit/parse.c +0 -350
  271. data/ext/rugged/vendor/libgit2-dist/tests-clar/commit/signature.c +0 -65
  272. data/ext/rugged/vendor/libgit2-dist/tests-clar/commit/write.c +0 -140
  273. data/ext/rugged/vendor/libgit2-dist/tests-clar/config/add.c +0 -37
  274. data/ext/rugged/vendor/libgit2-dist/tests-clar/config/multivar.c +0 -151
  275. data/ext/rugged/vendor/libgit2-dist/tests-clar/config/new.c +0 -36
  276. data/ext/rugged/vendor/libgit2-dist/tests-clar/config/read.c +0 -221
  277. data/ext/rugged/vendor/libgit2-dist/tests-clar/config/stress.c +0 -61
  278. data/ext/rugged/vendor/libgit2-dist/tests-clar/config/write.c +0 -92
  279. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/buffer.c +0 -613
  280. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/dirent.c +0 -235
  281. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/env.c +0 -115
  282. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/errors.c +0 -60
  283. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/filebuf.c +0 -92
  284. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/hex.c +0 -22
  285. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/oid.c +0 -18
  286. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/path.c +0 -420
  287. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/pool.c +0 -85
  288. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/rmdir.c +0 -68
  289. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/string.c +0 -28
  290. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/strmap.c +0 -102
  291. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/strtol.c +0 -37
  292. data/ext/rugged/vendor/libgit2-dist/tests-clar/core/vector.c +0 -191
  293. data/ext/rugged/vendor/libgit2-dist/tests-clar/date/date.c +0 -15
  294. data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/blob.c +0 -254
  295. data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/diff_helpers.c +0 -104
  296. data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/diff_helpers.h +0 -47
  297. data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/index.c +0 -92
  298. data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/iterator.c +0 -572
  299. data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/patch.c +0 -99
  300. data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/tree.c +0 -210
  301. data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/workdir.c +0 -543
  302. data/ext/rugged/vendor/libgit2-dist/tests-clar/index/read_tree.c +0 -46
  303. data/ext/rugged/vendor/libgit2-dist/tests-clar/index/rename.c +0 -50
  304. data/ext/rugged/vendor/libgit2-dist/tests-clar/index/tests.c +0 -246
  305. data/ext/rugged/vendor/libgit2-dist/tests-clar/network/createremotethenload.c +0 -33
  306. data/ext/rugged/vendor/libgit2-dist/tests-clar/network/remotelocal.c +0 -137
  307. data/ext/rugged/vendor/libgit2-dist/tests-clar/network/remotes.c +0 -183
  308. data/ext/rugged/vendor/libgit2-dist/tests-clar/notes/notes.c +0 -133
  309. data/ext/rugged/vendor/libgit2-dist/tests-clar/notes/notesref.c +0 -57
  310. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/blob/filter.c +0 -125
  311. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/blob/fromchunks.c +0 -87
  312. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/blob/write.c +0 -69
  313. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/commit/commitstagedfile.c +0 -126
  314. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/lookup.c +0 -63
  315. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/message.c +0 -171
  316. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/chars.c +0 -41
  317. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/compare.c +0 -124
  318. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/convert.c +0 -75
  319. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/data.h +0 -323
  320. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/fromstr.c +0 -30
  321. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/hash.c +0 -166
  322. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/short.c +0 -94
  323. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/size.c +0 -13
  324. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/type2string.c +0 -54
  325. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/write.c +0 -455
  326. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tag/peel.c +0 -56
  327. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tag/read.c +0 -130
  328. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tag/write.c +0 -192
  329. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tree/frompath.c +0 -81
  330. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tree/read.c +0 -75
  331. data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tree/write.c +0 -84
  332. data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/loose.c +0 -84
  333. data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/loose_data.h +0 -522
  334. data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/mixed.c +0 -24
  335. data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/pack_data.h +0 -151
  336. data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/packed.c +0 -78
  337. data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/sorting.c +0 -71
  338. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/branches/create.c +0 -113
  339. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/branches/delete.c +0 -91
  340. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/branches/listall.c +0 -78
  341. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/branches/move.c +0 -72
  342. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/crashes.c +0 -17
  343. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/create.c +0 -149
  344. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/delete.c +0 -85
  345. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/list.c +0 -53
  346. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/listall.c +0 -36
  347. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/lookup.c +0 -42
  348. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/normalize.c +0 -200
  349. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/overwrite.c +0 -136
  350. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/pack.c +0 -67
  351. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/read.c +0 -194
  352. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/reflog.c +0 -123
  353. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/rename.c +0 -339
  354. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/revparse.c +0 -174
  355. data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/unicode.c +0 -42
  356. data/ext/rugged/vendor/libgit2-dist/tests-clar/repo/discover.c +0 -142
  357. data/ext/rugged/vendor/libgit2-dist/tests-clar/repo/getters.c +0 -86
  358. data/ext/rugged/vendor/libgit2-dist/tests-clar/repo/init.c +0 -249
  359. data/ext/rugged/vendor/libgit2-dist/tests-clar/repo/open.c +0 -282
  360. data/ext/rugged/vendor/libgit2-dist/tests-clar/repo/setters.c +0 -80
  361. data/ext/rugged/vendor/libgit2-dist/tests-clar/reset/mixed.c +0 -47
  362. data/ext/rugged/vendor/libgit2-dist/tests-clar/reset/reset_helpers.c +0 -10
  363. data/ext/rugged/vendor/libgit2-dist/tests-clar/reset/reset_helpers.h +0 -6
  364. data/ext/rugged/vendor/libgit2-dist/tests-clar/reset/soft.c +0 -102
  365. data/ext/rugged/vendor/libgit2-dist/tests-clar/revwalk/basic.c +0 -181
  366. data/ext/rugged/vendor/libgit2-dist/tests-clar/revwalk/mergebase.c +0 -148
  367. data/ext/rugged/vendor/libgit2-dist/tests-clar/status/ignore.c +0 -147
  368. data/ext/rugged/vendor/libgit2-dist/tests-clar/status/single.c +0 -29
  369. data/ext/rugged/vendor/libgit2-dist/tests-clar/status/status_data.h +0 -202
  370. data/ext/rugged/vendor/libgit2-dist/tests-clar/status/status_helpers.c +0 -49
  371. data/ext/rugged/vendor/libgit2-dist/tests-clar/status/status_helpers.h +0 -33
  372. data/ext/rugged/vendor/libgit2-dist/tests-clar/status/submodules.c +0 -112
  373. data/ext/rugged/vendor/libgit2-dist/tests-clar/status/worktree.c +0 -649
  374. data/ext/rugged/vendor/libgit2-dist/tests-clar/threads/basic.c +0 -20
data/Rakefile CHANGED
@@ -14,6 +14,12 @@ Rake::ExtensionTask.new('rugged') do |r|
14
14
  r.lib_dir = 'lib/rugged'
15
15
  end
16
16
 
17
+ desc "checkout libgit2 source"
18
+ task :checkout do
19
+ sh "git submodule update --init"
20
+ end
21
+ Rake::Task[:compile].prerequisites.insert(0, :checkout)
22
+
17
23
  task :embedded_clean do
18
24
  lib_path = File.expand_path '../ext/rugged/libgit2_embed.a', __FILE__
19
25
  system "rm #{lib_path}"
@@ -30,14 +36,6 @@ end
30
36
  #
31
37
  task :default => [:compile, :test]
32
38
 
33
- task :pack_dist do
34
- dir = File.dirname(File.expand_path(__FILE__))
35
- output = File.join(dir, 'ext', 'rugged', 'vendor', 'libgit2-dist.tar.gz')
36
- Dir.chdir(ENV['LIBGIT2_PATH']) do
37
- `git archive --format=tar --prefix=libgit2-dist/ HEAD | gzip > #{output}`
38
- end
39
- end
40
-
41
39
  task :cover do
42
40
  ruby 'test/coverage/cover.rb'
43
41
  end
@@ -46,14 +44,15 @@ Rake::TestTask.new do |t|
46
44
  t.libs << 'lib:test'
47
45
  t.pattern = 'test/**/*_test.rb'
48
46
  t.verbose = false
47
+ t.warning = true
49
48
  end
50
49
 
51
50
  begin
52
51
  require 'rdoc/task'
53
52
  Rake::RDocTask.new do |rdoc|
54
- rdoc.rdoc_dir = 'rdoc'
55
- rdoc.rdoc_files.include('ext/**/*.c')
56
- rdoc.rdoc_files.include('lib/**/*.rb')
53
+ rdoc.rdoc_dir = 'rdoc'
54
+ rdoc.rdoc_files.include('ext/**/*.c')
55
+ rdoc.rdoc_files.include('lib/**/*.rb')
57
56
  end
58
57
  rescue LoadError
59
58
  end
@@ -16,31 +16,23 @@ end
16
16
  if p = ENV['LIBGIT2_PATH']
17
17
  $INCFLAGS[0,0] = " -I#{File.join(p, 'include')} "
18
18
  $LDFLAGS << " -L#{p} "
19
-
20
19
  unless have_library 'git2' and have_header 'git2.h'
21
20
  STDERR.puts "ERROR: Invalid `LIBGIT2_PATH` environment"
22
21
  exit(1)
23
22
  end
24
23
  else
25
24
  CWD = File.expand_path(File.dirname(__FILE__))
26
-
27
- LIBGIT2_DIST = 'libgit2-dist.tar.gz'
28
- LIBGIT2_DIR = File.basename(LIBGIT2_DIST, '.tar.gz')
25
+ LIBGIT2_DIR = File.join(CWD, '..', '..', 'vendor', 'libgit2')
29
26
  LIBGIT2_LIB_PATH = "#{CWD}/libgit2_embed.a"
30
27
 
31
28
  if !File.exists?(LIBGIT2_LIB_PATH)
32
- Dir.chdir("#{CWD}/vendor") do
33
- FileUtils.rm_rf(LIBGIT2_DIR) if File.exists?(LIBGIT2_DIR)
34
-
35
- sys("tar zxvf #{LIBGIT2_DIST}")
36
- Dir.chdir(LIBGIT2_DIR) do
37
- sys("make -f Makefile.embed")
38
- FileUtils.cp "libgit2.a", LIBGIT2_LIB_PATH
39
- end
29
+ Dir.chdir(LIBGIT2_DIR) do
30
+ sys("make -f Makefile.embed")
31
+ FileUtils.cp 'libgit2.a', LIBGIT2_LIB_PATH
40
32
  end
41
33
  end
42
34
 
43
- $INCFLAGS[0,0] = " -I#{CWD}/vendor/#{LIBGIT2_DIR}/include "
35
+ $INCFLAGS[0,0] = " -I#{LIBGIT2_DIR}/include "
44
36
  $LDFLAGS << " -L#{CWD} "
45
37
 
46
38
  unless have_library 'git2_embed' and have_header 'git2.h'
@@ -30,9 +30,6 @@ extern VALUE rb_cRuggedRepo;
30
30
  extern VALUE rb_cRuggedSignature;
31
31
  VALUE rb_cRuggedCommit;
32
32
 
33
- /*
34
- * Commit code
35
- */
36
33
  /*
37
34
  * call-seq:
38
35
  * commit.message -> msg
@@ -51,7 +48,7 @@ static VALUE rb_git_commit_message_GET(VALUE self)
51
48
  git_commit *commit;
52
49
 
53
50
  #ifdef HAVE_RUBY_ENCODING_H
54
- rb_encoding *encoding = NULL;
51
+ rb_encoding *encoding = rb_utf8_encoding();
55
52
  const char *encoding_name;
56
53
  #endif
57
54
 
@@ -292,7 +289,7 @@ static VALUE rb_git_commit_create(VALUE self, VALUE rb_repo, VALUE rb_data)
292
289
  Check_Type(rb_data, T_HASH);
293
290
 
294
291
  if (!rb_obj_is_kind_of(rb_repo, rb_cRuggedRepo))
295
- rb_raise(rb_eTypeError, "Expeting a Rugged::Repository instance");
292
+ rb_raise(rb_eTypeError, "Expecting a Rugged::Repository instance");
296
293
  Data_Get_Struct(rb_repo, git_repository, repo);
297
294
 
298
295
  rb_ref = rb_hash_aref(rb_data, CSTR2SYM("update_ref"));
@@ -72,7 +72,7 @@ static VALUE rb_git_ref_packall(VALUE klass, VALUE rb_repo)
72
72
 
73
73
  static int ref_foreach__block(const char *ref_name, void *opaque)
74
74
  {
75
- rb_funcall((VALUE)opaque, rb_intern("call"), 1, rugged_str_new2(ref_name, NULL));
75
+ rb_funcall((VALUE)opaque, rb_intern("call"), 1, rugged_str_new2(ref_name, rb_utf8_encoding()));
76
76
  return GIT_OK;
77
77
  }
78
78
 
@@ -240,7 +240,7 @@ static VALUE rb_git_ref_target(VALUE self)
240
240
  if (git_reference_type(ref) == GIT_REF_OID) {
241
241
  return rugged_create_oid(git_reference_oid(ref));
242
242
  } else {
243
- return rugged_str_new2(git_reference_target(ref), NULL);
243
+ return rugged_str_new2(git_reference_target(ref), rb_utf8_encoding());
244
244
  }
245
245
  }
246
246
 
@@ -351,7 +351,7 @@ static VALUE rb_git_ref_name(VALUE self)
351
351
  {
352
352
  git_reference *ref;
353
353
  UNPACK_REFERENCE(self, ref);
354
- return rugged_str_new2(git_reference_name(ref), NULL);
354
+ return rugged_str_new2(git_reference_name(ref), rb_utf8_encoding());
355
355
  }
356
356
 
357
357
  /*
@@ -456,10 +456,12 @@ static VALUE reflog_entry_new(const git_reflog_entry *entry)
456
456
  rugged_signature_new(git_reflog_entry_committer(entry), NULL)
457
457
  );
458
458
 
459
- rb_hash_aset(rb_entry,
460
- CSTR2SYM("message"),
461
- rugged_str_new2(git_reflog_entry_msg(entry), NULL)
462
- );
459
+ if (git_reflog_entry_msg(entry) != NULL) {
460
+ rb_hash_aset(rb_entry,
461
+ CSTR2SYM("message"),
462
+ rugged_str_new2(git_reflog_entry_msg(entry), NULL)
463
+ );
464
+ }
463
465
 
464
466
  return rb_entry;
465
467
  }
@@ -514,48 +516,47 @@ static VALUE rb_git_reflog(VALUE self)
514
516
 
515
517
  /*
516
518
  * call-seq:
517
- * reference.log!(old_oid, committer, message = nil)
519
+ * reference.log!(committer, message = nil)
518
520
  *
519
521
  * Log a modification for this reference to the reflog.
520
- * +old_oid+ may be +nil+ for newly created references.
521
522
  */
522
- static VALUE rb_git_reflog_write(
523
- VALUE self,
524
- VALUE rb_oid_old,
525
- VALUE rb_committer,
526
- VALUE rb_message)
523
+ static VALUE rb_git_reflog_write(int argc, VALUE *argv, VALUE self)
527
524
  {
528
525
  git_reference *ref;
526
+ git_reflog *reflog;
529
527
  int error;
528
+
529
+ VALUE rb_committer, rb_message;
530
+
530
531
  git_signature *committer;
531
532
  const char *message = NULL;
532
- git_oid oid_old;
533
+
534
+ git_oid oid;
533
535
 
534
536
  UNPACK_REFERENCE(self, ref);
535
537
 
538
+ rb_scan_args(argc, argv, "11", &rb_committer, &rb_message);
539
+
536
540
  if (!NIL_P(rb_message)) {
537
541
  Check_Type(rb_message, T_STRING);
538
542
  message = StringValueCStr(rb_message);
539
543
  }
540
544
 
541
- if (!NIL_P(rb_oid_old)) {
542
- Check_Type(rb_oid_old, T_STRING);
543
- error = git_oid_fromstr(&oid_old, StringValueCStr(rb_oid_old));
544
- rugged_exception_check(error);
545
- }
545
+ error = git_reflog_read(&reflog, ref);
546
+ rugged_exception_check(error);
546
547
 
547
548
  committer = rugged_signature_get(rb_committer);
548
549
 
549
- error = git_reflog_write(
550
- ref,
551
- NIL_P(rb_oid_old) ? NULL : &oid_old,
552
- committer,
553
- message
554
- );
550
+ error = git_reflog_append(reflog, git_reference_oid(ref), committer, message);
551
+ rugged_exception_check(error);
552
+
553
+ error = git_reflog_write(reflog);
554
+ rugged_exception_check(error);
555
+
556
+ git_reflog_free(reflog);
555
557
 
556
558
  git_signature_free(committer);
557
559
 
558
- rugged_exception_check(error);
559
560
  return Qnil;
560
561
  }
561
562
 
@@ -585,5 +586,5 @@ void Init_rugged_reference()
585
586
 
586
587
  rb_define_method(rb_cRuggedReference, "packed?", rb_git_ref_packed, 0);
587
588
  rb_define_method(rb_cRuggedReference, "log", rb_git_reflog, 0);
588
- rb_define_method(rb_cRuggedReference, "log!", rb_git_reflog_write, 3);
589
+ rb_define_method(rb_cRuggedReference, "log!", rb_git_reflog_write, -1);
589
590
  }
@@ -191,7 +191,7 @@ static VALUE rb_git_remote_update_tips(VALUE self)
191
191
  Data_Get_Struct(self, git_remote, remote);
192
192
 
193
193
  // TODO: Maybe allow passing down a block?
194
- error = git_remote_update_tips(remote, NULL);
194
+ error = git_remote_update_tips(remote);
195
195
  rugged_exception_check(error);
196
196
 
197
197
  return Qnil;
@@ -136,6 +136,9 @@ static VALUE rugged_repo_new(VALUE klass, git_repository *repo)
136
136
  rb_enc_from_encoding(rb_filesystem_encoding()));
137
137
  #endif
138
138
 
139
+ rb_iv_set(rb_repo, "@config", Qnil);
140
+ rb_iv_set(rb_repo, "@index", Qnil);
141
+
139
142
  return rb_repo;
140
143
  }
141
144
 
@@ -531,7 +534,7 @@ static VALUE rb_git_repo_set_workdir(VALUE self, VALUE rb_workdir)
531
534
  Check_Type(rb_workdir, T_STRING);
532
535
 
533
536
  rugged_exception_check(
534
- git_repository_set_workdir(repo, StringValueCStr(rb_workdir))
537
+ git_repository_set_workdir(repo, StringValueCStr(rb_workdir), 0)
535
538
  );
536
539
 
537
540
  return Qnil;
@@ -44,7 +44,7 @@ static VALUE rb_git_treeentry_fromC(const git_tree_entry *entry)
44
44
  rb_hash_aset(rb_entry, CSTR2SYM("name"), rugged_str_new2(git_tree_entry_name(entry), NULL));
45
45
  rb_hash_aset(rb_entry, CSTR2SYM("oid"), rugged_create_oid(git_tree_entry_id(entry)));
46
46
 
47
- rb_hash_aset(rb_entry, CSTR2SYM("attributes"), INT2FIX(git_tree_entry_attributes(entry)));
47
+ rb_hash_aset(rb_entry, CSTR2SYM("filemode"), INT2FIX(git_tree_entry_filemode(entry)));
48
48
 
49
49
  switch(git_tree_entry_type(entry)) {
50
50
  case GIT_OBJ_TREE:
@@ -96,9 +96,9 @@ static VALUE rb_git_tree_entrycount(VALUE self)
96
96
  *
97
97
  * If the entry doesn't exist, +nil+ will be returned.
98
98
  *
99
- * tree[3] #=> {:name => "foo.txt", :type => :blob, :oid => "d8786bfc97485e8d7b19b21fb88c8ef1f199fc3f", :attributes => 0}
99
+ * tree[3] #=> {:name => "foo.txt", :type => :blob, :oid => "d8786bfc97485e8d7b19b21fb88c8ef1f199fc3f", :filemode => 0}
100
100
  *
101
- * tree['bar.txt'] #=> {:name => "bar.txt", :type => :blob, :oid => "de5ba987198bcf2518885f0fc1350e5172cded78", :attributes => 0}
101
+ * tree['bar.txt'] #=> {:name => "bar.txt", :type => :blob, :oid => "de5ba987198bcf2518885f0fc1350e5172cded78", :filemode => 0}
102
102
  *
103
103
  * tree['baz.txt'] #=> nil
104
104
  */
@@ -132,8 +132,8 @@ static VALUE rb_git_tree_get_entry(VALUE self, VALUE entry_id)
132
132
  *
133
133
  * generates:
134
134
  *
135
- * {:name => "foo.txt", :type => :blob, :oid => "d8786bfc97485e8d7b19b21fb88c8ef1f199fc3f", :attributes => 0}
136
- * {:name => "bar.txt", :type => :blob, :oid => "de5ba987198bcf2518885f0fc1350e5172cded78", :attributes => 0}
135
+ * {:name => "foo.txt", :type => :blob, :oid => "d8786bfc97485e8d7b19b21fb88c8ef1f199fc3f", :filemode => 0}
136
+ * {:name => "bar.txt", :type => :blob, :oid => "de5ba987198bcf2518885f0fc1350e5172cded78", :filemode => 0}
137
137
  * ...
138
138
  */
139
139
  static VALUE rb_git_tree_each(VALUE self)
@@ -155,7 +155,7 @@ static VALUE rb_git_tree_each(VALUE self)
155
155
  return Qnil;
156
156
  }
157
157
 
158
- static int rugged__treewalk_cb(const char *root, git_tree_entry *entry, void *proc)
158
+ static int rugged__treewalk_cb(const char *root, const git_tree_entry *entry, void *proc)
159
159
  {
160
160
  rb_funcall((VALUE)proc, rb_intern("call"), 2,
161
161
  rugged_str_new2(root, NULL),
@@ -214,21 +214,22 @@ static VALUE rb_git_tree_walk(VALUE self, VALUE rb_mode)
214
214
  return Qnil;
215
215
  }
216
216
 
217
- static VALUE rb_git_tree_subtree(VALUE self, VALUE rb_path)
217
+ static VALUE rb_git_tree_path(VALUE self, VALUE rb_path)
218
218
  {
219
- int error;
220
- git_tree *tree, *subtree;
221
- VALUE owner;
219
+ int error;
220
+ git_tree *tree;
221
+ git_tree_entry *entry;
222
+ VALUE rb_entry;
223
+ Data_Get_Struct(self, git_tree, tree);
224
+ Check_Type(rb_path, T_STRING);
222
225
 
223
- Data_Get_Struct(self, git_tree, tree);
224
- owner = rugged_owner(self);
226
+ error = git_tree_entry_bypath(&entry, tree, StringValueCStr(rb_path));
227
+ rugged_exception_check(error);
225
228
 
226
- Check_Type(rb_path, T_STRING);
227
-
228
- error = git_tree_get_subtree(&subtree, tree, StringValueCStr(rb_path));
229
- rugged_exception_check(error);
229
+ rb_entry = rb_git_treeentry_fromC(entry);
230
+ git_tree_entry_free(entry);
230
231
 
231
- return rugged_object_new(owner, (git_object *)subtree);
232
+ return rb_entry;
232
233
  }
233
234
 
234
235
  static void rb_git_treebuilder_free(git_treebuilder *bld)
@@ -297,7 +298,7 @@ static VALUE rb_git_treebuilder_insert(VALUE self, VALUE rb_entry)
297
298
  Check_Type(rb_oid, T_STRING);
298
299
  rugged_exception_check(git_oid_fromstr(&oid, StringValueCStr(rb_oid)));
299
300
 
300
- rb_attr = rb_hash_aref(rb_entry, CSTR2SYM("attributes"));
301
+ rb_attr = rb_hash_aref(rb_entry, CSTR2SYM("filemode"));
301
302
  Check_Type(rb_attr, T_FIXNUM);
302
303
 
303
304
  error = git_treebuilder_insert(NULL,
@@ -372,7 +373,7 @@ void Init_rugged_tree()
372
373
  rb_define_method(rb_cRuggedTree, "count", rb_git_tree_entrycount, 0);
373
374
  rb_define_method(rb_cRuggedTree, "length", rb_git_tree_entrycount, 0);
374
375
  rb_define_method(rb_cRuggedTree, "get_entry", rb_git_tree_get_entry, 1);
375
- rb_define_method(rb_cRuggedTree, "get_subtree", rb_git_tree_subtree, 1);
376
+ rb_define_method(rb_cRuggedTree, "path", rb_git_tree_path, 1);
376
377
  rb_define_method(rb_cRuggedTree, "[]", rb_git_tree_get_entry, 1);
377
378
  rb_define_method(rb_cRuggedTree, "each", rb_git_tree_each, 0);
378
379
  rb_define_method(rb_cRuggedTree, "walk", rb_git_tree_walk, 1);
data/lib/rugged/commit.rb CHANGED
@@ -2,7 +2,7 @@ module Rugged
2
2
  class Commit
3
3
 
4
4
  def inspect
5
- "#<Rugged::Commit:#{object_id} {message: #{message.inspect}, tree: #{tree.inspect}, parents: #{parent_oids.inspect}>"
5
+ "#<Rugged::Commit:#{object_id} {message: #{message.inspect}, tree: #{tree.inspect}, parents: #{parent_ids}>"
6
6
  end
7
7
 
8
8
  # The time when this commit was made effective. This is the same value
@@ -22,6 +22,10 @@ module Rugged
22
22
  :parents => parents,
23
23
  }
24
24
  end
25
+
26
+ def parent_ids
27
+ parents.map { |parent| parent.oid }
28
+ end
25
29
 
26
30
  def modify(new_args, update_ref=nil)
27
31
  args = self.to_hash.merge(new_args)
@@ -129,11 +129,13 @@ module Rugged
129
129
  # Returns a String.
130
130
  def file_at(revision, path)
131
131
  tree = Rugged::Commit.lookup(self, revision).tree
132
- subtree = tree.get_subtree(path)
133
- blob_data = subtree.get_entry(File.basename path)
134
- return nil unless blob_data
132
+ begin
133
+ blob_data = tree.path(path)
134
+ rescue Rugged::IndexerError
135
+ return nil
136
+ end
135
137
  blob = Rugged::Blob.lookup(self, blob_data[:oid])
136
- blob.content
138
+ (blob.type == :blob) ? blob.content : nil
137
139
  end
138
140
  end
139
141
  end
@@ -1,3 +1,3 @@
1
1
  module Rugged
2
- Version = VERSION = '0.17.0b2'
2
+ Version = VERSION = '0.17.0.b6'
3
3
  end
data/test/config_test.rb CHANGED
@@ -30,7 +30,7 @@ context "Rugged::Config tests" do
30
30
  assert_equal 'my value', config2['custom.value']
31
31
 
32
32
  content = File.read(File.join(@repo.path, 'config'))
33
- assert_match /value = my value/, content
33
+ assert_match(/value = my value/, content)
34
34
  end
35
35
 
36
36
  test "can delete config values" do
data/test/index_test.rb CHANGED
@@ -92,6 +92,8 @@ context "Rugged::Index reading stuff" do
92
92
  @index.add(e)
93
93
  new_e = @index[e[:path]]
94
94
 
95
+ # git only sets executable bit based on owner
96
+ e[:mode] = 33188
95
97
  assert_equal e, new_e
96
98
  end
97
99
 
@@ -99,7 +101,7 @@ context "Rugged::Index reading stuff" do
99
101
  e = new_index_entry
100
102
  @index << e
101
103
  assert_equal 3, @index.count
102
- itr_test = @index.sort { |a, b| a[:oid] <=> b[:oid] }.map { |e| e[:path] }.join(':')
104
+ itr_test = @index.sort { |a, b| a[:oid] <=> b[:oid] }.map { |x| x[:path] }.join(':')
103
105
  assert_equal "README:new_path:new.txt", itr_test
104
106
  end
105
107
  end
@@ -129,7 +131,7 @@ context "Rugged::Index writing stuff" do
129
131
 
130
132
  index2 = Rugged::Index.new(@tmppath)
131
133
 
132
- itr_test = index2.sort { |a, b| a[:oid] <=> b[:oid] }.map { |e| e[:path] }.join(':')
134
+ itr_test = index2.sort { |a, b| a[:oid] <=> b[:oid] }.map { |x| x[:path] }.join(':')
133
135
  assert_equal "README:else.txt:new_path:new.txt", itr_test
134
136
  assert_equal 4, index2.count
135
137
  end
data/test/object_test.rb CHANGED
@@ -8,8 +8,8 @@ context "Rugged::Object stuff" do
8
8
  end
9
9
 
10
10
  test "cannot lookup a non-existant object" do
11
- assert_raise Rugged::OdbError do
12
- obj = @repo.lookup("a496071c1b46c854b31185ea97743be6a8774479")
11
+ assert_raises Rugged::OdbError do
12
+ @repo.lookup("a496071c1b46c854b31185ea97743be6a8774479")
13
13
  end
14
14
  end
15
15
 
@@ -40,7 +40,7 @@ context "Rugged::Object stuff" do
40
40
  test "can lookup just an object's oid by revision string" do
41
41
  oid = @repo.rev_parse_oid("v1.0")
42
42
  assert "0c37a5391bbff43c37f0d0371823a5509eed5b1d", oid
43
- obj = @repo.rev_parse_oid("v1.0^1")
43
+ @repo.rev_parse_oid("v1.0^1")
44
44
  assert "8496071c1b46c854b31185ea97743be6a8774479", oid
45
45
  end
46
46
  end