rugged 0.17.0b2 → 0.17.0.b6

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,43 +0,0 @@
1
- #ifndef __CLAR_TEST_ATTR_EXPECT__
2
- #define __CLAR_TEST_ATTR_EXPECT__
3
-
4
- enum attr_expect_t {
5
- EXPECT_FALSE,
6
- EXPECT_TRUE,
7
- EXPECT_UNDEFINED,
8
- EXPECT_STRING
9
- };
10
-
11
- struct attr_expected {
12
- const char *path;
13
- const char *attr;
14
- enum attr_expect_t expected;
15
- const char *expected_str;
16
- };
17
-
18
- GIT_INLINE(void) attr_check_expected(
19
- enum attr_expect_t expected,
20
- const char *expected_str,
21
- const char *name,
22
- const char *value)
23
- {
24
- switch (expected) {
25
- case EXPECT_TRUE:
26
- cl_assert_(GIT_ATTR_TRUE(value), name);
27
- break;
28
-
29
- case EXPECT_FALSE:
30
- cl_assert_(GIT_ATTR_FALSE(value), name);
31
- break;
32
-
33
- case EXPECT_UNDEFINED:
34
- cl_assert_(GIT_ATTR_UNSPECIFIED(value), name);
35
- break;
36
-
37
- case EXPECT_STRING:
38
- cl_assert_equal_s(expected_str, value);
39
- break;
40
- }
41
- }
42
-
43
- #endif
@@ -1,226 +0,0 @@
1
- #include "clar_libgit2.h"
2
- #include "attr_file.h"
3
- #include "attr_expect.h"
4
-
5
- #define get_rule(X) ((git_attr_rule *)git_vector_get(&file->rules,(X)))
6
- #define get_assign(R,Y) ((git_attr_assignment *)git_vector_get(&(R)->assigns,(Y)))
7
-
8
- void test_attr_file__simple_read(void)
9
- {
10
- git_attr_file *file;
11
- git_attr_assignment *assign;
12
- git_attr_rule *rule;
13
-
14
- cl_git_pass(git_attr_file__new_and_load(&file, cl_fixture("attr/attr0")));
15
-
16
- cl_assert_equal_s(cl_fixture("attr/attr0"), file->key + 2);
17
- cl_assert(file->rules.length == 1);
18
-
19
- rule = get_rule(0);
20
- cl_assert(rule != NULL);
21
- cl_assert_equal_s("*", rule->match.pattern);
22
- cl_assert(rule->match.length == 1);
23
- cl_assert((rule->match.flags & GIT_ATTR_FNMATCH_HASWILD) != 0);
24
-
25
- cl_assert(rule->assigns.length == 1);
26
- assign = get_assign(rule, 0);
27
- cl_assert(assign != NULL);
28
- cl_assert_equal_s("binary", assign->name);
29
- cl_assert(GIT_ATTR_TRUE(assign->value));
30
-
31
- git_attr_file__free(file);
32
- }
33
-
34
- void test_attr_file__match_variants(void)
35
- {
36
- git_attr_file *file;
37
- git_attr_rule *rule;
38
- git_attr_assignment *assign;
39
-
40
- cl_git_pass(git_attr_file__new_and_load(&file, cl_fixture("attr/attr1")));
41
-
42
- cl_assert_equal_s(cl_fixture("attr/attr1"), file->key + 2);
43
- cl_assert(file->rules.length == 10);
44
-
45
- /* let's do a thorough check of this rule, then just verify
46
- * the things that are unique for the later rules
47
- */
48
- rule = get_rule(0);
49
- cl_assert(rule);
50
- cl_assert_equal_s("pat0", rule->match.pattern);
51
- cl_assert(rule->match.length == strlen("pat0"));
52
- cl_assert(rule->match.flags == 0);
53
- cl_assert(rule->assigns.length == 1);
54
- assign = get_assign(rule,0);
55
- cl_assert_equal_s("attr0", assign->name);
56
- cl_assert(assign->name_hash == git_attr_file__name_hash(assign->name));
57
- cl_assert(GIT_ATTR_TRUE(assign->value));
58
-
59
- rule = get_rule(1);
60
- cl_assert_equal_s("pat1", rule->match.pattern);
61
- cl_assert(rule->match.length == strlen("pat1"));
62
- cl_assert(rule->match.flags == GIT_ATTR_FNMATCH_NEGATIVE);
63
-
64
- rule = get_rule(2);
65
- cl_assert_equal_s("pat2", rule->match.pattern);
66
- cl_assert(rule->match.length == strlen("pat2"));
67
- cl_assert(rule->match.flags == GIT_ATTR_FNMATCH_DIRECTORY);
68
-
69
- rule = get_rule(3);
70
- cl_assert_equal_s("pat3dir/pat3file", rule->match.pattern);
71
- cl_assert(rule->match.flags == GIT_ATTR_FNMATCH_FULLPATH);
72
-
73
- rule = get_rule(4);
74
- cl_assert_equal_s("pat4.*", rule->match.pattern);
75
- cl_assert((rule->match.flags & GIT_ATTR_FNMATCH_HASWILD) != 0);
76
-
77
- rule = get_rule(5);
78
- cl_assert_equal_s("*.pat5", rule->match.pattern);
79
- cl_assert((rule->match.flags & GIT_ATTR_FNMATCH_HASWILD) != 0);
80
-
81
- rule = get_rule(7);
82
- cl_assert_equal_s("pat7[a-e]??[xyz]", rule->match.pattern);
83
- cl_assert(rule->assigns.length == 1);
84
- cl_assert((rule->match.flags & GIT_ATTR_FNMATCH_HASWILD) != 0);
85
- assign = get_assign(rule,0);
86
- cl_assert_equal_s("attr7", assign->name);
87
- cl_assert(GIT_ATTR_TRUE(assign->value));
88
-
89
- rule = get_rule(8);
90
- cl_assert_equal_s("pat8 with spaces", rule->match.pattern);
91
- cl_assert(rule->match.length == strlen("pat8 with spaces"));
92
- cl_assert(rule->match.flags == 0);
93
-
94
- rule = get_rule(9);
95
- cl_assert_equal_s("pat9", rule->match.pattern);
96
-
97
- git_attr_file__free(file);
98
- }
99
-
100
- static void check_one_assign(
101
- git_attr_file *file,
102
- int rule_idx,
103
- int assign_idx,
104
- const char *pattern,
105
- const char *name,
106
- enum attr_expect_t expected,
107
- const char *expected_str)
108
- {
109
- git_attr_rule *rule = get_rule(rule_idx);
110
- git_attr_assignment *assign = get_assign(rule, assign_idx);
111
-
112
- cl_assert_equal_s(pattern, rule->match.pattern);
113
- cl_assert(rule->assigns.length == 1);
114
- cl_assert_equal_s(name, assign->name);
115
- cl_assert(assign->name_hash == git_attr_file__name_hash(assign->name));
116
-
117
- attr_check_expected(expected, expected_str, assign->name, assign->value);
118
- }
119
-
120
- void test_attr_file__assign_variants(void)
121
- {
122
- git_attr_file *file;
123
- git_attr_rule *rule;
124
- git_attr_assignment *assign;
125
-
126
- cl_git_pass(git_attr_file__new_and_load(&file, cl_fixture("attr/attr2")));
127
-
128
- cl_assert_equal_s(cl_fixture("attr/attr2"), file->key + 2);
129
- cl_assert(file->rules.length == 11);
130
-
131
- check_one_assign(file, 0, 0, "pat0", "simple", EXPECT_TRUE, NULL);
132
- check_one_assign(file, 1, 0, "pat1", "neg", EXPECT_FALSE, NULL);
133
- check_one_assign(file, 2, 0, "*", "notundef", EXPECT_TRUE, NULL);
134
- check_one_assign(file, 3, 0, "pat2", "notundef", EXPECT_UNDEFINED, NULL);
135
- check_one_assign(file, 4, 0, "pat3", "assigned", EXPECT_STRING, "test-value");
136
- check_one_assign(file, 5, 0, "pat4", "rule-with-more-chars", EXPECT_STRING, "value-with-more-chars");
137
- check_one_assign(file, 6, 0, "pat5", "empty", EXPECT_TRUE, NULL);
138
- check_one_assign(file, 7, 0, "pat6", "negempty", EXPECT_FALSE, NULL);
139
-
140
- rule = get_rule(8);
141
- cl_assert_equal_s("pat7", rule->match.pattern);
142
- cl_assert(rule->assigns.length == 5);
143
- /* assignments will be sorted by hash value, so we have to do
144
- * lookups by search instead of by position
145
- */
146
- assign = git_attr_rule__lookup_assignment(rule, "multiple");
147
- cl_assert(assign);
148
- cl_assert_equal_s("multiple", assign->name);
149
- cl_assert(GIT_ATTR_TRUE(assign->value));
150
- assign = git_attr_rule__lookup_assignment(rule, "single");
151
- cl_assert(assign);
152
- cl_assert_equal_s("single", assign->name);
153
- cl_assert(GIT_ATTR_FALSE(assign->value));
154
- assign = git_attr_rule__lookup_assignment(rule, "values");
155
- cl_assert(assign);
156
- cl_assert_equal_s("values", assign->name);
157
- cl_assert_equal_s("1", assign->value);
158
- assign = git_attr_rule__lookup_assignment(rule, "also");
159
- cl_assert(assign);
160
- cl_assert_equal_s("also", assign->name);
161
- cl_assert_equal_s("a-really-long-value/*", assign->value);
162
- assign = git_attr_rule__lookup_assignment(rule, "happy");
163
- cl_assert(assign);
164
- cl_assert_equal_s("happy", assign->name);
165
- cl_assert_equal_s("yes!", assign->value);
166
- assign = git_attr_rule__lookup_assignment(rule, "other");
167
- cl_assert(!assign);
168
-
169
- rule = get_rule(9);
170
- cl_assert_equal_s("pat8", rule->match.pattern);
171
- cl_assert(rule->assigns.length == 2);
172
- assign = git_attr_rule__lookup_assignment(rule, "again");
173
- cl_assert(assign);
174
- cl_assert_equal_s("again", assign->name);
175
- cl_assert(GIT_ATTR_TRUE(assign->value));
176
- assign = git_attr_rule__lookup_assignment(rule, "another");
177
- cl_assert(assign);
178
- cl_assert_equal_s("another", assign->name);
179
- cl_assert_equal_s("12321", assign->value);
180
-
181
- check_one_assign(file, 10, 0, "pat9", "at-eof", EXPECT_FALSE, NULL);
182
-
183
- git_attr_file__free(file);
184
- }
185
-
186
- void test_attr_file__check_attr_examples(void)
187
- {
188
- git_attr_file *file;
189
- git_attr_rule *rule;
190
- git_attr_assignment *assign;
191
-
192
- cl_git_pass(git_attr_file__new_and_load(&file, cl_fixture("attr/attr3")));
193
- cl_assert_equal_s(cl_fixture("attr/attr3"), file->key + 2);
194
- cl_assert(file->rules.length == 3);
195
-
196
- rule = get_rule(0);
197
- cl_assert_equal_s("*.java", rule->match.pattern);
198
- cl_assert(rule->assigns.length == 3);
199
- assign = git_attr_rule__lookup_assignment(rule, "diff");
200
- cl_assert_equal_s("diff", assign->name);
201
- cl_assert_equal_s("java", assign->value);
202
- assign = git_attr_rule__lookup_assignment(rule, "crlf");
203
- cl_assert_equal_s("crlf", assign->name);
204
- cl_assert(GIT_ATTR_FALSE(assign->value));
205
- assign = git_attr_rule__lookup_assignment(rule, "myAttr");
206
- cl_assert_equal_s("myAttr", assign->name);
207
- cl_assert(GIT_ATTR_TRUE(assign->value));
208
- assign = git_attr_rule__lookup_assignment(rule, "missing");
209
- cl_assert(assign == NULL);
210
-
211
- rule = get_rule(1);
212
- cl_assert_equal_s("NoMyAttr.java", rule->match.pattern);
213
- cl_assert(rule->assigns.length == 1);
214
- assign = get_assign(rule, 0);
215
- cl_assert_equal_s("myAttr", assign->name);
216
- cl_assert(GIT_ATTR_UNSPECIFIED(assign->value));
217
-
218
- rule = get_rule(2);
219
- cl_assert_equal_s("README", rule->match.pattern);
220
- cl_assert(rule->assigns.length == 1);
221
- assign = get_assign(rule, 0);
222
- cl_assert_equal_s("caveat", assign->name);
223
- cl_assert_equal_s("unspecified", assign->value);
224
-
225
- git_attr_file__free(file);
226
- }
@@ -1,108 +0,0 @@
1
- #include "clar_libgit2.h"
2
- #include "git2/attr.h"
3
-
4
- void test_attr_flags__cleanup(void)
5
- {
6
- cl_git_sandbox_cleanup();
7
- }
8
-
9
- void test_attr_flags__bare(void)
10
- {
11
- git_repository *repo = cl_git_sandbox_init("testrepo.git");
12
- const char *value;
13
-
14
- cl_assert(git_repository_is_bare(repo));
15
-
16
- cl_git_pass(git_attr_get(
17
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM, "README.md", "diff"));
18
- cl_assert(GIT_ATTR_UNSPECIFIED(value));
19
- }
20
-
21
- void test_attr_flags__index_vs_workdir(void)
22
- {
23
- git_repository *repo = cl_git_sandbox_init("attr_index");
24
- const char *value;
25
-
26
- cl_assert(!git_repository_is_bare(repo));
27
-
28
- /* wd then index */
29
- cl_git_pass(git_attr_get(
30
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
31
- "README.md", "bar"));
32
- cl_assert(GIT_ATTR_FALSE(value));
33
-
34
- cl_git_pass(git_attr_get(
35
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
36
- "README.md", "blargh"));
37
- cl_assert_equal_s(value, "goop");
38
-
39
- cl_git_pass(git_attr_get(
40
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
41
- "README.txt", "foo"));
42
- cl_assert(GIT_ATTR_FALSE(value));
43
-
44
- /* index then wd */
45
- cl_git_pass(git_attr_get(
46
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
47
- "README.md", "bar"));
48
- cl_assert(GIT_ATTR_TRUE(value));
49
-
50
- cl_git_pass(git_attr_get(
51
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
52
- "README.md", "blargh"));
53
- cl_assert_equal_s(value, "garble");
54
-
55
- cl_git_pass(git_attr_get(
56
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
57
- "README.txt", "foo"));
58
- cl_assert(GIT_ATTR_TRUE(value));
59
- }
60
-
61
- void test_attr_flags__subdir(void)
62
- {
63
- git_repository *repo = cl_git_sandbox_init("attr_index");
64
- const char *value;
65
-
66
- /* wd then index */
67
- cl_git_pass(git_attr_get(
68
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
69
- "sub/sub/README.md", "bar"));
70
- cl_assert_equal_s(value, "1234");
71
-
72
- cl_git_pass(git_attr_get(
73
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
74
- "sub/sub/README.txt", "another"));
75
- cl_assert_equal_s(value, "one");
76
-
77
- cl_git_pass(git_attr_get(
78
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
79
- "sub/sub/README.txt", "again"));
80
- cl_assert(GIT_ATTR_TRUE(value));
81
-
82
- cl_git_pass(git_attr_get(
83
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_FILE_THEN_INDEX,
84
- "sub/sub/README.txt", "beep"));
85
- cl_assert_equal_s(value, "10");
86
-
87
- /* index then wd */
88
- cl_git_pass(git_attr_get(
89
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
90
- "sub/sub/README.md", "bar"));
91
- cl_assert_equal_s(value, "1337");
92
-
93
- cl_git_pass(git_attr_get(
94
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
95
- "sub/sub/README.txt", "another"));
96
- cl_assert_equal_s(value, "one");
97
-
98
- cl_git_pass(git_attr_get(
99
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
100
- "sub/sub/README.txt", "again"));
101
- cl_assert(GIT_ATTR_TRUE(value));
102
-
103
- cl_git_pass(git_attr_get(
104
- &value, repo, GIT_ATTR_CHECK_NO_SYSTEM | GIT_ATTR_CHECK_INDEX_THEN_FILE,
105
- "sub/sub/README.txt", "beep"));
106
- cl_assert_equal_s(value, "5");
107
- }
108
-
@@ -1,262 +0,0 @@
1
- #include "clar_libgit2.h"
2
- #include "attr_file.h"
3
-
4
- #include "attr_expect.h"
5
-
6
- void test_attr_lookup__simple(void)
7
- {
8
- git_attr_file *file;
9
- git_attr_path path;
10
- const char *value = NULL;
11
-
12
- cl_git_pass(git_attr_file__new_and_load(&file, cl_fixture("attr/attr0")));
13
- cl_assert_equal_s(cl_fixture("attr/attr0"), file->key + 2);
14
- cl_assert(file->rules.length == 1);
15
-
16
- cl_git_pass(git_attr_path__init(&path, "test", NULL));
17
- cl_assert_equal_s("test", path.path);
18
- cl_assert_equal_s("test", path.basename);
19
- cl_assert(!path.is_dir);
20
-
21
- cl_git_pass(git_attr_file__lookup_one(file,&path,"binary",&value));
22
- cl_assert(GIT_ATTR_TRUE(value));
23
-
24
- cl_git_pass(git_attr_file__lookup_one(file,&path,"missing",&value));
25
- cl_assert(!value);
26
-
27
- git_attr_path__free(&path);
28
- git_attr_file__free(file);
29
- }
30
-
31
- static void run_test_cases(git_attr_file *file, struct attr_expected *cases, int force_dir)
32
- {
33
- git_attr_path path;
34
- const char *value = NULL;
35
- struct attr_expected *c;
36
- int error;
37
-
38
- for (c = cases; c->path != NULL; c++) {
39
- cl_git_pass(git_attr_path__init(&path, c->path, NULL));
40
-
41
- if (force_dir)
42
- path.is_dir = 1;
43
-
44
- error = git_attr_file__lookup_one(file,&path,c->attr,&value);
45
- cl_git_pass(error);
46
-
47
- attr_check_expected(c->expected, c->expected_str, c->attr, value);
48
-
49
- git_attr_path__free(&path);
50
- }
51
- }
52
-
53
- void test_attr_lookup__match_variants(void)
54
- {
55
- git_attr_file *file;
56
- git_attr_path path;
57
-
58
- struct attr_expected dir_cases[] = {
59
- { "pat2", "attr2", EXPECT_TRUE, NULL },
60
- { "/testing/for/pat2", "attr2", EXPECT_TRUE, NULL },
61
- { "/not/pat2/yousee", "attr2", EXPECT_UNDEFINED, NULL },
62
- { "/fun/fun/fun/pat4.dir", "attr4", EXPECT_TRUE, NULL },
63
- { "foo.pat5", "attr5", EXPECT_TRUE, NULL },
64
- { NULL, NULL, 0, NULL }
65
- };
66
-
67
- struct attr_expected cases[] = {
68
- /* pat0 -> simple match */
69
- { "pat0", "attr0", EXPECT_TRUE, NULL },
70
- { "/testing/for/pat0", "attr0", EXPECT_TRUE, NULL },
71
- { "relative/to/pat0", "attr0", EXPECT_TRUE, NULL },
72
- { "this-contains-pat0-inside", "attr0", EXPECT_UNDEFINED, NULL },
73
- { "this-aint-right", "attr0", EXPECT_UNDEFINED, NULL },
74
- { "/this/pat0/dont/match", "attr0", EXPECT_UNDEFINED, NULL },
75
- /* negative match */
76
- { "pat0", "attr1", EXPECT_TRUE, NULL },
77
- { "pat1", "attr1", EXPECT_UNDEFINED, NULL },
78
- { "/testing/for/pat1", "attr1", EXPECT_UNDEFINED, NULL },
79
- { "/testing/for/pat0", "attr1", EXPECT_TRUE, NULL },
80
- { "/testing/for/pat1/inside", "attr1", EXPECT_TRUE, NULL },
81
- { "misc", "attr1", EXPECT_TRUE, NULL },
82
- /* dir match */
83
- { "pat2", "attr2", EXPECT_UNDEFINED, NULL },
84
- { "/testing/for/pat2", "attr2", EXPECT_UNDEFINED, NULL },
85
- { "/not/pat2/yousee", "attr2", EXPECT_UNDEFINED, NULL },
86
- /* path match */
87
- { "pat3file", "attr3", EXPECT_UNDEFINED, NULL },
88
- { "/pat3dir/pat3file", "attr3", EXPECT_TRUE, NULL },
89
- { "pat3dir/pat3file", "attr3", EXPECT_TRUE, NULL },
90
- /* pattern* match */
91
- { "pat4.txt", "attr4", EXPECT_TRUE, NULL },
92
- { "/fun/fun/fun/pat4.c", "attr4", EXPECT_TRUE, NULL },
93
- { "pat4.", "attr4", EXPECT_TRUE, NULL },
94
- { "pat4", "attr4", EXPECT_UNDEFINED, NULL },
95
- /* *pattern match */
96
- { "foo.pat5", "attr5", EXPECT_TRUE, NULL },
97
- { "/this/is/ok.pat5", "attr5", EXPECT_TRUE, NULL },
98
- { "/this/is/bad.pat5/yousee.txt", "attr5", EXPECT_UNDEFINED, NULL },
99
- { "foo.pat5", "attr100", EXPECT_UNDEFINED, NULL },
100
- /* glob match with slashes */
101
- { "foo.pat6", "attr6", EXPECT_UNDEFINED, NULL },
102
- { "pat6/pat6/foobar.pat6", "attr6", EXPECT_TRUE, NULL },
103
- { "pat6/pat6/.pat6", "attr6", EXPECT_TRUE, NULL },
104
- { "pat6/pat6/extra/foobar.pat6", "attr6", EXPECT_UNDEFINED, NULL },
105
- { "/prefix/pat6/pat6/foobar.pat6", "attr6", EXPECT_UNDEFINED, NULL },
106
- { "/pat6/pat6/foobar.pat6", "attr6", EXPECT_TRUE, NULL },
107
- /* complex pattern */
108
- { "pat7a12z", "attr7", EXPECT_TRUE, NULL },
109
- { "pat7e__x", "attr7", EXPECT_TRUE, NULL },
110
- { "pat7b/1y", "attr7", EXPECT_UNDEFINED, NULL }, /* ? does not match / */
111
- { "pat7e_x", "attr7", EXPECT_UNDEFINED, NULL },
112
- { "pat7aaaa", "attr7", EXPECT_UNDEFINED, NULL },
113
- { "pat7zzzz", "attr7", EXPECT_UNDEFINED, NULL },
114
- { "/this/can/be/anything/pat7a12z", "attr7", EXPECT_TRUE, NULL },
115
- { "but/it/still/must/match/pat7aaaa", "attr7", EXPECT_UNDEFINED, NULL },
116
- { "pat7aaay.fail", "attr7", EXPECT_UNDEFINED, NULL },
117
- /* pattern with spaces */
118
- { "pat8 with spaces", "attr8", EXPECT_TRUE, NULL },
119
- { "/gotta love/pat8 with spaces", "attr8", EXPECT_TRUE, NULL },
120
- { "failing pat8 with spaces", "attr8", EXPECT_UNDEFINED, NULL },
121
- { "spaces", "attr8", EXPECT_UNDEFINED, NULL },
122
- /* pattern at eof */
123
- { "pat9", "attr9", EXPECT_TRUE, NULL },
124
- { "/eof/pat9", "attr9", EXPECT_TRUE, NULL },
125
- { "pat", "attr9", EXPECT_UNDEFINED, NULL },
126
- { "at9", "attr9", EXPECT_UNDEFINED, NULL },
127
- { "pat9.fail", "attr9", EXPECT_UNDEFINED, NULL },
128
- /* sentinel at end */
129
- { NULL, NULL, 0, NULL }
130
- };
131
-
132
- cl_git_pass(git_attr_file__new_and_load(&file, cl_fixture("attr/attr1")));
133
- cl_assert_equal_s(cl_fixture("attr/attr1"), file->key + 2);
134
- cl_assert(file->rules.length == 10);
135
-
136
- cl_git_pass(git_attr_path__init(&path, "/testing/for/pat0", NULL));
137
- cl_assert_equal_s("pat0", path.basename);
138
-
139
- run_test_cases(file, cases, 0);
140
- run_test_cases(file, dir_cases, 1);
141
-
142
- git_attr_file__free(file);
143
- git_attr_path__free(&path);
144
- }
145
-
146
- void test_attr_lookup__assign_variants(void)
147
- {
148
- git_attr_file *file;
149
-
150
- struct attr_expected cases[] = {
151
- /* pat0 -> simple assign */
152
- { "pat0", "simple", EXPECT_TRUE, NULL },
153
- { "/testing/pat0", "simple", EXPECT_TRUE, NULL },
154
- { "pat0", "fail", EXPECT_UNDEFINED, NULL },
155
- { "/testing/pat0", "fail", EXPECT_UNDEFINED, NULL },
156
- /* negative assign */
157
- { "pat1", "neg", EXPECT_FALSE, NULL },
158
- { "/testing/pat1", "neg", EXPECT_FALSE, NULL },
159
- { "pat1", "fail", EXPECT_UNDEFINED, NULL },
160
- { "/testing/pat1", "fail", EXPECT_UNDEFINED, NULL },
161
- /* forced undef */
162
- { "pat1", "notundef", EXPECT_TRUE, NULL },
163
- { "pat2", "notundef", EXPECT_UNDEFINED, NULL },
164
- { "/lead/in/pat1", "notundef", EXPECT_TRUE, NULL },
165
- { "/lead/in/pat2", "notundef", EXPECT_UNDEFINED, NULL },
166
- /* assign value */
167
- { "pat3", "assigned", EXPECT_STRING, "test-value" },
168
- { "pat3", "notassigned", EXPECT_UNDEFINED, NULL },
169
- /* assign value */
170
- { "pat4", "rule-with-more-chars", EXPECT_STRING, "value-with-more-chars" },
171
- { "pat4", "notassigned-rule-with-more-chars", EXPECT_UNDEFINED, NULL },
172
- /* empty assignments */
173
- { "pat5", "empty", EXPECT_TRUE, NULL },
174
- { "pat6", "negempty", EXPECT_FALSE, NULL },
175
- /* multiple assignment */
176
- { "pat7", "multiple", EXPECT_TRUE, NULL },
177
- { "pat7", "single", EXPECT_FALSE, NULL },
178
- { "pat7", "values", EXPECT_STRING, "1" },
179
- { "pat7", "also", EXPECT_STRING, "a-really-long-value/*" },
180
- { "pat7", "happy", EXPECT_STRING, "yes!" },
181
- { "pat8", "again", EXPECT_TRUE, NULL },
182
- { "pat8", "another", EXPECT_STRING, "12321" },
183
- /* bad assignment */
184
- { "patbad0", "simple", EXPECT_UNDEFINED, NULL },
185
- { "patbad0", "notundef", EXPECT_TRUE, NULL },
186
- { "patbad1", "simple", EXPECT_UNDEFINED, NULL },
187
- /* eof assignment */
188
- { "pat9", "at-eof", EXPECT_FALSE, NULL },
189
- /* sentinel at end */
190
- { NULL, NULL, 0, NULL }
191
- };
192
-
193
- cl_git_pass(git_attr_file__new_and_load(&file, cl_fixture("attr/attr2")));
194
- cl_assert(file->rules.length == 11);
195
-
196
- run_test_cases(file, cases, 0);
197
-
198
- git_attr_file__free(file);
199
- }
200
-
201
- void test_attr_lookup__check_attr_examples(void)
202
- {
203
- git_attr_file *file;
204
-
205
- struct attr_expected cases[] = {
206
- { "foo.java", "diff", EXPECT_STRING, "java" },
207
- { "foo.java", "crlf", EXPECT_FALSE, NULL },
208
- { "foo.java", "myAttr", EXPECT_TRUE, NULL },
209
- { "foo.java", "other", EXPECT_UNDEFINED, NULL },
210
- { "/prefix/dir/foo.java", "diff", EXPECT_STRING, "java" },
211
- { "/prefix/dir/foo.java", "crlf", EXPECT_FALSE, NULL },
212
- { "/prefix/dir/foo.java", "myAttr", EXPECT_TRUE, NULL },
213
- { "/prefix/dir/foo.java", "other", EXPECT_UNDEFINED, NULL },
214
- { "NoMyAttr.java", "crlf", EXPECT_FALSE, NULL },
215
- { "NoMyAttr.java", "myAttr", EXPECT_UNDEFINED, NULL },
216
- { "NoMyAttr.java", "other", EXPECT_UNDEFINED, NULL },
217
- { "/prefix/dir/NoMyAttr.java", "crlf", EXPECT_FALSE, NULL },
218
- { "/prefix/dir/NoMyAttr.java", "myAttr", EXPECT_UNDEFINED, NULL },
219
- { "/prefix/dir/NoMyAttr.java", "other", EXPECT_UNDEFINED, NULL },
220
- { "README", "caveat", EXPECT_STRING, "unspecified" },
221
- { "/specific/path/README", "caveat", EXPECT_STRING, "unspecified" },
222
- { "README", "missing", EXPECT_UNDEFINED, NULL },
223
- { "/specific/path/README", "missing", EXPECT_UNDEFINED, NULL },
224
- /* sentinel at end */
225
- { NULL, NULL, 0, NULL }
226
- };
227
-
228
- cl_git_pass(git_attr_file__new_and_load(&file, cl_fixture("attr/attr3")));
229
- cl_assert(file->rules.length == 3);
230
-
231
- run_test_cases(file, cases, 0);
232
-
233
- git_attr_file__free(file);
234
- }
235
-
236
- void test_attr_lookup__from_buffer(void)
237
- {
238
- git_attr_file *file;
239
-
240
- struct attr_expected cases[] = {
241
- { "abc", "foo", EXPECT_TRUE, NULL },
242
- { "abc", "bar", EXPECT_TRUE, NULL },
243
- { "abc", "baz", EXPECT_TRUE, NULL },
244
- { "aaa", "foo", EXPECT_TRUE, NULL },
245
- { "aaa", "bar", EXPECT_UNDEFINED, NULL },
246
- { "aaa", "baz", EXPECT_TRUE, NULL },
247
- { "qqq", "foo", EXPECT_UNDEFINED, NULL },
248
- { "qqq", "bar", EXPECT_UNDEFINED, NULL },
249
- { "qqq", "baz", EXPECT_TRUE, NULL },
250
- { NULL, NULL, 0, NULL }
251
- };
252
-
253
- cl_git_pass(git_attr_file__new(&file, 0, NULL, NULL));
254
-
255
- cl_git_pass(git_attr_file__parse_buffer(NULL, "a* foo\nabc bar\n* baz", file));
256
-
257
- cl_assert(file->rules.length == 3);
258
-
259
- run_test_cases(file, cases, 0);
260
-
261
- git_attr_file__free(file);
262
- }