rugged 1.3.2.3 → 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (329) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rugged/extconf.rb +1 -1
  3. data/ext/rugged/rugged_config.c +7 -2
  4. data/ext/rugged/rugged_remote.c +17 -0
  5. data/lib/rugged/version.rb +1 -1
  6. data/vendor/libgit2/CMakeLists.txt +103 -276
  7. data/vendor/libgit2/COPYING +36 -19
  8. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  9. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  10. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  11. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  12. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  13. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  14. data/vendor/libgit2/cmake/{FindHTTP_Parser.cmake → FindHTTPParser.cmake} +17 -17
  15. data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
  16. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  17. data/vendor/libgit2/cmake/FindPCRE.cmake +13 -13
  18. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  19. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  20. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  21. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  22. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  23. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  24. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  25. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  26. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  27. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  28. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +19 -0
  29. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
  30. data/vendor/libgit2/cmake/SelectHashes.cmake +39 -49
  31. data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
  32. data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
  33. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
  34. data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
  35. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  36. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +31 -31
  37. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +1 -1
  38. data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
  39. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  40. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  41. data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
  42. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  43. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  44. data/vendor/libgit2/deps/zlib/crc32.c +288 -975
  45. data/vendor/libgit2/deps/zlib/crc32.h +436 -9441
  46. data/vendor/libgit2/deps/zlib/deflate.c +31 -83
  47. data/vendor/libgit2/deps/zlib/deflate.h +15 -12
  48. data/vendor/libgit2/deps/zlib/gzguts.h +2 -3
  49. data/vendor/libgit2/deps/zlib/infback.c +1 -2
  50. data/vendor/libgit2/deps/zlib/inffast.c +14 -14
  51. data/vendor/libgit2/deps/zlib/inflate.c +8 -39
  52. data/vendor/libgit2/deps/zlib/inflate.h +2 -3
  53. data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
  54. data/vendor/libgit2/deps/zlib/trees.c +48 -27
  55. data/vendor/libgit2/deps/zlib/zlib.h +100 -126
  56. data/vendor/libgit2/deps/zlib/zutil.c +2 -2
  57. data/vendor/libgit2/deps/zlib/zutil.h +9 -12
  58. data/vendor/libgit2/include/git2/apply.h +16 -2
  59. data/vendor/libgit2/include/git2/attr.h +11 -2
  60. data/vendor/libgit2/include/git2/blame.h +4 -1
  61. data/vendor/libgit2/include/git2/blob.h +14 -1
  62. data/vendor/libgit2/include/git2/branch.h +2 -0
  63. data/vendor/libgit2/include/git2/buffer.h +18 -78
  64. data/vendor/libgit2/include/git2/cert.h +2 -2
  65. data/vendor/libgit2/include/git2/checkout.h +5 -2
  66. data/vendor/libgit2/include/git2/clone.h +3 -3
  67. data/vendor/libgit2/include/git2/commit.h +2 -0
  68. data/vendor/libgit2/include/git2/common.h +5 -12
  69. data/vendor/libgit2/include/git2/config.h +19 -3
  70. data/vendor/libgit2/include/git2/credential.h +2 -1
  71. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  72. data/vendor/libgit2/include/git2/deprecated.h +1 -1
  73. data/vendor/libgit2/include/git2/describe.h +7 -2
  74. data/vendor/libgit2/include/git2/diff.h +17 -9
  75. data/vendor/libgit2/include/git2/email.h +1 -1
  76. data/vendor/libgit2/include/git2/errors.h +1 -2
  77. data/vendor/libgit2/include/git2/filter.h +7 -2
  78. data/vendor/libgit2/include/git2/graph.h +1 -0
  79. data/vendor/libgit2/include/git2/ignore.h +1 -1
  80. data/vendor/libgit2/include/git2/index.h +11 -5
  81. data/vendor/libgit2/include/git2/indexer.h +19 -0
  82. data/vendor/libgit2/include/git2/merge.h +23 -3
  83. data/vendor/libgit2/include/git2/message.h +2 -0
  84. data/vendor/libgit2/include/git2/object.h +23 -0
  85. data/vendor/libgit2/include/git2/odb.h +37 -7
  86. data/vendor/libgit2/include/git2/odb_backend.h +1 -1
  87. data/vendor/libgit2/include/git2/pack.h +24 -8
  88. data/vendor/libgit2/include/git2/patch.h +8 -0
  89. data/vendor/libgit2/include/git2/pathspec.h +1 -1
  90. data/vendor/libgit2/include/git2/proxy.h +1 -1
  91. data/vendor/libgit2/include/git2/rebase.h +9 -1
  92. data/vendor/libgit2/include/git2/refdb.h +3 -0
  93. data/vendor/libgit2/include/git2/reflog.h +1 -1
  94. data/vendor/libgit2/include/git2/refs.h +2 -2
  95. data/vendor/libgit2/include/git2/remote.h +184 -37
  96. data/vendor/libgit2/include/git2/repository.h +14 -9
  97. data/vendor/libgit2/include/git2/reset.h +2 -2
  98. data/vendor/libgit2/include/git2/revparse.h +1 -1
  99. data/vendor/libgit2/include/git2/revwalk.h +4 -1
  100. data/vendor/libgit2/include/git2/signature.h +1 -1
  101. data/vendor/libgit2/include/git2/stash.h +3 -3
  102. data/vendor/libgit2/include/git2/status.h +9 -3
  103. data/vendor/libgit2/include/git2/submodule.h +7 -2
  104. data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
  105. data/vendor/libgit2/include/git2/sys/odb_backend.h +2 -5
  106. data/vendor/libgit2/include/git2/sys/remote.h +31 -0
  107. data/vendor/libgit2/include/git2/sys/stream.h +1 -1
  108. data/vendor/libgit2/include/git2/sys/transport.h +25 -34
  109. data/vendor/libgit2/include/git2/tag.h +1 -0
  110. data/vendor/libgit2/include/git2/tree.h +4 -3
  111. data/vendor/libgit2/include/git2/types.h +7 -7
  112. data/vendor/libgit2/include/git2/version.h +3 -3
  113. data/vendor/libgit2/include/git2/worktree.h +12 -2
  114. data/vendor/libgit2/src/CMakeLists.txt +189 -315
  115. data/vendor/libgit2/src/annotated_commit.h +1 -1
  116. data/vendor/libgit2/src/apply.c +18 -18
  117. data/vendor/libgit2/src/apply.h +2 -2
  118. data/vendor/libgit2/src/attr.c +18 -18
  119. data/vendor/libgit2/src/attr_file.c +17 -17
  120. data/vendor/libgit2/src/attr_file.h +4 -4
  121. data/vendor/libgit2/src/attrcache.c +17 -12
  122. data/vendor/libgit2/src/blame_git.c +1 -1
  123. data/vendor/libgit2/src/blob.c +33 -26
  124. data/vendor/libgit2/src/blob.h +1 -1
  125. data/vendor/libgit2/src/branch.c +150 -109
  126. data/vendor/libgit2/src/branch.h +15 -3
  127. data/vendor/libgit2/src/buf.c +126 -0
  128. data/vendor/libgit2/src/buf.h +50 -0
  129. data/vendor/libgit2/src/cc-compat.h +1 -1
  130. data/vendor/libgit2/src/checkout.c +74 -68
  131. data/vendor/libgit2/src/cherrypick.c +10 -10
  132. data/vendor/libgit2/src/clone.c +66 -66
  133. data/vendor/libgit2/src/commit.c +128 -58
  134. data/vendor/libgit2/src/commit.h +24 -1
  135. data/vendor/libgit2/src/commit_graph.c +68 -53
  136. data/vendor/libgit2/src/commit_graph.h +10 -3
  137. data/vendor/libgit2/src/commit_list.c +2 -3
  138. data/vendor/libgit2/src/common.h +10 -3
  139. data/vendor/libgit2/src/config.c +99 -77
  140. data/vendor/libgit2/src/config.h +15 -2
  141. data/vendor/libgit2/src/config_file.c +103 -91
  142. data/vendor/libgit2/src/config_mem.c +9 -9
  143. data/vendor/libgit2/src/config_parse.c +27 -23
  144. data/vendor/libgit2/src/crlf.c +24 -21
  145. data/vendor/libgit2/src/date.c +10 -17
  146. data/vendor/libgit2/src/date.h +33 -0
  147. data/vendor/libgit2/src/describe.c +27 -19
  148. data/vendor/libgit2/src/diff.c +25 -8
  149. data/vendor/libgit2/src/diff.h +2 -4
  150. data/vendor/libgit2/src/diff_driver.c +34 -36
  151. data/vendor/libgit2/src/diff_driver.h +3 -3
  152. data/vendor/libgit2/src/diff_file.c +29 -20
  153. data/vendor/libgit2/src/diff_generate.c +30 -6
  154. data/vendor/libgit2/src/diff_generate.h +5 -3
  155. data/vendor/libgit2/src/diff_print.c +102 -95
  156. data/vendor/libgit2/src/diff_stats.c +40 -29
  157. data/vendor/libgit2/src/{message.h → diff_stats.h} +7 -6
  158. data/vendor/libgit2/src/diff_tform.c +9 -8
  159. data/vendor/libgit2/src/diff_xdiff.c +3 -8
  160. data/vendor/libgit2/src/email.c +54 -38
  161. data/vendor/libgit2/src/email.h +1 -1
  162. data/vendor/libgit2/src/errors.c +18 -18
  163. data/vendor/libgit2/src/features.h.in +6 -1
  164. data/vendor/libgit2/src/fetch.c +69 -24
  165. data/vendor/libgit2/src/fetch.h +1 -1
  166. data/vendor/libgit2/src/fetchhead.c +19 -19
  167. data/vendor/libgit2/src/filebuf.c +28 -28
  168. data/vendor/libgit2/src/filebuf.h +1 -1
  169. data/vendor/libgit2/src/filter.c +96 -52
  170. data/vendor/libgit2/src/filter.h +26 -5
  171. data/vendor/libgit2/src/fs_path.c +1912 -0
  172. data/vendor/libgit2/src/fs_path.h +752 -0
  173. data/vendor/libgit2/src/futils.c +91 -85
  174. data/vendor/libgit2/src/futils.h +26 -14
  175. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +2 -2
  176. data/vendor/libgit2/src/hash/sha1/common_crypto.c +2 -2
  177. data/vendor/libgit2/src/hash/sha1/generic.c +2 -2
  178. data/vendor/libgit2/src/hash/sha1/mbedtls.c +2 -2
  179. data/vendor/libgit2/src/hash/sha1/openssl.c +2 -2
  180. data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +1 -1
  181. data/vendor/libgit2/src/hash/sha1/win32.c +6 -6
  182. data/vendor/libgit2/src/hash/sha1.h +3 -1
  183. data/vendor/libgit2/src/hash.c +67 -35
  184. data/vendor/libgit2/src/hash.h +12 -12
  185. data/vendor/libgit2/src/ident.c +18 -18
  186. data/vendor/libgit2/src/ignore.c +35 -34
  187. data/vendor/libgit2/src/ignore.h +2 -2
  188. data/vendor/libgit2/src/index.c +79 -80
  189. data/vendor/libgit2/src/index.h +6 -3
  190. data/vendor/libgit2/src/indexer.c +75 -57
  191. data/vendor/libgit2/src/iterator.c +64 -56
  192. data/vendor/libgit2/src/iterator.h +5 -5
  193. data/vendor/libgit2/src/khash.h +1 -1
  194. data/vendor/libgit2/src/libgit2.c +22 -19
  195. data/vendor/libgit2/src/mailmap.c +38 -36
  196. data/vendor/libgit2/src/merge.c +27 -27
  197. data/vendor/libgit2/src/merge.h +1 -14
  198. data/vendor/libgit2/src/merge_driver.c +2 -2
  199. data/vendor/libgit2/src/merge_file.c +13 -3
  200. data/vendor/libgit2/src/message.c +21 -10
  201. data/vendor/libgit2/src/midx.c +83 -66
  202. data/vendor/libgit2/src/midx.h +3 -3
  203. data/vendor/libgit2/src/mwindow.c +1 -1
  204. data/vendor/libgit2/src/net.c +278 -68
  205. data/vendor/libgit2/src/net.h +10 -3
  206. data/vendor/libgit2/src/netops.c +1 -1
  207. data/vendor/libgit2/src/netops.h +1 -1
  208. data/vendor/libgit2/src/notes.c +20 -29
  209. data/vendor/libgit2/src/object.c +49 -9
  210. data/vendor/libgit2/src/object.h +1 -1
  211. data/vendor/libgit2/src/odb.c +35 -32
  212. data/vendor/libgit2/src/odb.h +1 -1
  213. data/vendor/libgit2/src/odb_loose.c +68 -68
  214. data/vendor/libgit2/src/odb_mempack.c +18 -5
  215. data/vendor/libgit2/src/odb_pack.c +43 -43
  216. data/vendor/libgit2/src/oid.c +11 -4
  217. data/vendor/libgit2/src/oid.h +15 -0
  218. data/vendor/libgit2/src/pack-objects.c +41 -26
  219. data/vendor/libgit2/src/pack-objects.h +11 -6
  220. data/vendor/libgit2/src/pack.c +10 -10
  221. data/vendor/libgit2/src/patch.c +3 -3
  222. data/vendor/libgit2/src/patch.h +1 -0
  223. data/vendor/libgit2/src/patch_generate.c +27 -11
  224. data/vendor/libgit2/src/patch_generate.h +5 -5
  225. data/vendor/libgit2/src/patch_parse.c +24 -24
  226. data/vendor/libgit2/src/path.c +76 -1951
  227. data/vendor/libgit2/src/path.h +34 -741
  228. data/vendor/libgit2/src/pathspec.c +6 -6
  229. data/vendor/libgit2/src/pathspec.h +2 -2
  230. data/vendor/libgit2/src/posix.c +3 -3
  231. data/vendor/libgit2/src/posix.h +1 -0
  232. data/vendor/libgit2/src/pqueue.h +1 -1
  233. data/vendor/libgit2/src/proxy.c +4 -1
  234. data/vendor/libgit2/src/proxy.h +1 -1
  235. data/vendor/libgit2/src/push.c +30 -35
  236. data/vendor/libgit2/src/push.h +4 -16
  237. data/vendor/libgit2/src/rand.c +226 -0
  238. data/vendor/libgit2/src/rand.h +37 -0
  239. data/vendor/libgit2/src/reader.c +8 -8
  240. data/vendor/libgit2/src/reader.h +2 -2
  241. data/vendor/libgit2/src/rebase.c +89 -88
  242. data/vendor/libgit2/src/refdb_fs.c +447 -173
  243. data/vendor/libgit2/src/refs.c +32 -32
  244. data/vendor/libgit2/src/refs.h +2 -2
  245. data/vendor/libgit2/src/refspec.c +32 -37
  246. data/vendor/libgit2/src/refspec.h +5 -2
  247. data/vendor/libgit2/src/regexp.c +1 -1
  248. data/vendor/libgit2/src/remote.c +713 -419
  249. data/vendor/libgit2/src/remote.h +15 -10
  250. data/vendor/libgit2/src/repository.c +350 -467
  251. data/vendor/libgit2/src/repository.h +11 -10
  252. data/vendor/libgit2/src/reset.c +8 -5
  253. data/vendor/libgit2/src/revert.c +10 -10
  254. data/vendor/libgit2/src/revparse.c +48 -35
  255. data/vendor/libgit2/src/revwalk.c +7 -7
  256. data/vendor/libgit2/src/signature.c +12 -6
  257. data/vendor/libgit2/src/signature.h +1 -1
  258. data/vendor/libgit2/src/sortedcache.c +1 -1
  259. data/vendor/libgit2/src/sortedcache.h +1 -1
  260. data/vendor/libgit2/src/stash.c +36 -37
  261. data/vendor/libgit2/src/status.c +4 -1
  262. data/vendor/libgit2/src/{buffer.c → str.c} +157 -151
  263. data/vendor/libgit2/src/str.h +357 -0
  264. data/vendor/libgit2/src/streams/mbedtls.c +8 -6
  265. data/vendor/libgit2/src/streams/openssl_dynamic.h +3 -3
  266. data/vendor/libgit2/src/submodule.c +171 -159
  267. data/vendor/libgit2/src/submodule.h +1 -1
  268. data/vendor/libgit2/src/sysdir.c +68 -52
  269. data/vendor/libgit2/src/sysdir.h +15 -10
  270. data/vendor/libgit2/src/tag.c +29 -27
  271. data/vendor/libgit2/src/thread.h +3 -3
  272. data/vendor/libgit2/src/threadstate.c +3 -3
  273. data/vendor/libgit2/src/threadstate.h +1 -1
  274. data/vendor/libgit2/src/trace.c +1 -14
  275. data/vendor/libgit2/src/trace.h +5 -22
  276. data/vendor/libgit2/src/trailer.c +1 -1
  277. data/vendor/libgit2/src/transaction.c +1 -1
  278. data/vendor/libgit2/src/transport.c +10 -10
  279. data/vendor/libgit2/src/transports/auth.c +7 -9
  280. data/vendor/libgit2/src/transports/auth.h +2 -3
  281. data/vendor/libgit2/src/transports/auth_negotiate.c +12 -13
  282. data/vendor/libgit2/src/transports/auth_ntlm.c +10 -10
  283. data/vendor/libgit2/src/transports/auth_ntlm.h +0 -1
  284. data/vendor/libgit2/src/transports/git.c +9 -11
  285. data/vendor/libgit2/src/transports/http.c +37 -17
  286. data/vendor/libgit2/src/transports/http.h +2 -3
  287. data/vendor/libgit2/src/transports/httpclient.c +65 -65
  288. data/vendor/libgit2/src/transports/local.c +124 -116
  289. data/vendor/libgit2/src/transports/smart.c +51 -139
  290. data/vendor/libgit2/src/transports/smart.h +25 -31
  291. data/vendor/libgit2/src/transports/smart_pkt.c +33 -33
  292. data/vendor/libgit2/src/transports/smart_protocol.c +57 -39
  293. data/vendor/libgit2/src/transports/ssh.c +47 -112
  294. data/vendor/libgit2/src/transports/winhttp.c +50 -56
  295. data/vendor/libgit2/src/tree-cache.c +5 -5
  296. data/vendor/libgit2/src/tree-cache.h +2 -2
  297. data/vendor/libgit2/src/tree.c +59 -48
  298. data/vendor/libgit2/src/tree.h +1 -1
  299. data/vendor/libgit2/src/unix/map.c +0 -2
  300. data/vendor/libgit2/src/unix/posix.h +1 -4
  301. data/vendor/libgit2/src/unix/realpath.c +0 -2
  302. data/vendor/libgit2/src/util.c +14 -14
  303. data/vendor/libgit2/src/util.h +2 -28
  304. data/vendor/libgit2/src/vector.h +1 -1
  305. data/vendor/libgit2/src/win32/findfile.c +172 -116
  306. data/vendor/libgit2/src/win32/findfile.h +7 -4
  307. data/vendor/libgit2/src/win32/path_w32.c +140 -9
  308. data/vendor/libgit2/src/win32/path_w32.h +2 -0
  309. data/vendor/libgit2/src/win32/posix.h +0 -1
  310. data/vendor/libgit2/src/win32/posix_w32.c +11 -27
  311. data/vendor/libgit2/src/win32/w32_buffer.c +2 -3
  312. data/vendor/libgit2/src/win32/w32_buffer.h +2 -3
  313. data/vendor/libgit2/src/win32/w32_leakcheck.c +1 -1
  314. data/vendor/libgit2/src/worktree.c +116 -94
  315. data/vendor/libgit2/src/worktree.h +1 -1
  316. data/vendor/libgit2/src/xdiff/git-xdiff.h +53 -0
  317. data/vendor/libgit2/src/xdiff/xdiff.h +15 -15
  318. data/vendor/libgit2/src/xdiff/xdiffi.c +134 -108
  319. data/vendor/libgit2/src/xdiff/xemit.c +23 -7
  320. data/vendor/libgit2/src/xdiff/xhistogram.c +87 -78
  321. data/vendor/libgit2/src/xdiff/xinclude.h +1 -12
  322. data/vendor/libgit2/src/xdiff/xmerge.c +104 -117
  323. data/vendor/libgit2/src/xdiff/xpatience.c +6 -17
  324. data/vendor/libgit2/src/xdiff/xprepare.c +15 -20
  325. data/vendor/libgit2/src/xdiff/xutils.c +18 -7
  326. data/vendor/libgit2/src/zstream.c +5 -5
  327. data/vendor/libgit2/src/zstream.h +4 -4
  328. metadata +25 -10
  329. data/vendor/libgit2/src/buffer.h +0 -374
@@ -20,8 +20,6 @@
20
20
  *
21
21
  */
22
22
  #include "xinclude.h"
23
- #include "xtypes.h"
24
- #include "xdiff.h"
25
23
 
26
24
  /*
27
25
  * The basic idea of patience diff is to find lines that are unique in
@@ -78,7 +76,7 @@ struct hashmap {
78
76
 
79
77
  static int is_anchor(xpparam_t const *xpp, const char *line)
80
78
  {
81
- unsigned long i;
79
+ int i;
82
80
  for (i = 0; i < xpp->anchors_nr; i++) {
83
81
  if (!strncmp(line, xpp->anchors[i], strlen(xpp->anchors[i])))
84
82
  return 1;
@@ -92,7 +90,7 @@ static void insert_record(xpparam_t const *xpp, int line, struct hashmap *map,
92
90
  {
93
91
  xrecord_t **records = pass == 1 ?
94
92
  map->env->xdf1.recs : map->env->xdf2.recs;
95
- xrecord_t *record = records[line - 1], *other;
93
+ xrecord_t *record = records[line - 1];
96
94
  /*
97
95
  * After xdl_prepare_env() (or more precisely, due to
98
96
  * xdl_classify_record()), the "ha" member of the records (AKA lines)
@@ -106,11 +104,7 @@ static void insert_record(xpparam_t const *xpp, int line, struct hashmap *map,
106
104
  int index = (int)((record->ha << 1) % map->alloc);
107
105
 
108
106
  while (map->entries[index].line1) {
109
- other = map->env->xdf1.recs[map->entries[index].line1 - 1];
110
- if (map->entries[index].hash != record->ha ||
111
- !xdl_recmatch(record->ptr, record->size,
112
- other->ptr, other->size,
113
- map->xpp->flags)) {
107
+ if (map->entries[index].hash != record->ha) {
114
108
  if (++index >= map->alloc)
115
109
  index = 0;
116
110
  continue;
@@ -217,9 +211,6 @@ static struct entry *find_longest_common_sequence(struct hashmap *map)
217
211
  */
218
212
  int anchor_i = -1;
219
213
 
220
- if (!sequence)
221
- return NULL;
222
-
223
214
  for (entry = map->first; entry; entry = entry->next) {
224
215
  if (!entry->line2 || entry->line2 == NON_UNIQUE)
225
216
  continue;
@@ -258,8 +249,7 @@ static int match(struct hashmap *map, int line1, int line2)
258
249
  {
259
250
  xrecord_t *record1 = map->env->xdf1.recs[line1 - 1];
260
251
  xrecord_t *record2 = map->env->xdf2.recs[line2 - 1];
261
- return xdl_recmatch(record1->ptr, record1->size,
262
- record2->ptr, record2->size, map->xpp->flags);
252
+ return record1->ha == record2->ha;
263
253
  }
264
254
 
265
255
  static int patience_diff(mmfile_t *file1, mmfile_t *file2,
@@ -294,9 +284,6 @@ static int walk_common_sequence(struct hashmap *map, struct entry *first,
294
284
 
295
285
  /* Recurse */
296
286
  if (next1 > line1 || next2 > line2) {
297
- struct hashmap submap;
298
-
299
- memset(&submap, 0, sizeof(submap));
300
287
  if (patience_diff(map->file1, map->file2,
301
288
  map->xpp, map->env,
302
289
  line1, next1 - line1,
@@ -323,6 +310,8 @@ static int fall_back_to_classic_diff(struct hashmap *map,
323
310
  int line1, int count1, int line2, int count2)
324
311
  {
325
312
  xpparam_t xpp;
313
+
314
+ memset(&xpp, 0, sizeof(xpp));
326
315
  xpp.flags = map->xpp->flags & ~XDF_DIFF_ALGORITHM_MASK;
327
316
 
328
317
  return xdl_fall_back_diff(map->env, &xpp,
@@ -181,15 +181,11 @@ static int xdl_prepare_ctx(unsigned int pass, mmfile_t *mf, long narec, xpparam_
181
181
  if (!(recs = (xrecord_t **) xdl_malloc(narec * sizeof(xrecord_t *))))
182
182
  goto abort;
183
183
 
184
- if (XDF_DIFF_ALG(xpp->flags) == XDF_HISTOGRAM_DIFF)
185
- hbits = hsize = 0;
186
- else {
187
- hbits = xdl_hashbits((unsigned int) narec);
188
- hsize = 1 << hbits;
189
- if (!(rhash = (xrecord_t **) xdl_malloc(hsize * sizeof(xrecord_t *))))
190
- goto abort;
191
- memset(rhash, 0, hsize * sizeof(xrecord_t *));
192
- }
184
+ hbits = xdl_hashbits((unsigned int) narec);
185
+ hsize = 1 << hbits;
186
+ if (!(rhash = (xrecord_t **) xdl_malloc(hsize * sizeof(xrecord_t *))))
187
+ goto abort;
188
+ memset(rhash, 0, hsize * sizeof(xrecord_t *));
193
189
 
194
190
  nrec = 0;
195
191
  if ((cur = blk = xdl_mmfile_first(mf, &bsize)) != NULL) {
@@ -208,9 +204,7 @@ static int xdl_prepare_ctx(unsigned int pass, mmfile_t *mf, long narec, xpparam_
208
204
  crec->size = (long) (cur - prev);
209
205
  crec->ha = hav;
210
206
  recs[nrec++] = crec;
211
-
212
- if ((XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF) &&
213
- xdl_classify_record(pass, cf, rhash, hbits, crec) < 0)
207
+ if (xdl_classify_record(pass, cf, rhash, hbits, crec) < 0)
214
208
  goto abort;
215
209
  }
216
210
  }
@@ -219,10 +213,13 @@ static int xdl_prepare_ctx(unsigned int pass, mmfile_t *mf, long narec, xpparam_
219
213
  goto abort;
220
214
  memset(rchg, 0, (nrec + 2) * sizeof(char));
221
215
 
222
- if (!(rindex = (long *) xdl_malloc((nrec + 1) * sizeof(long))))
223
- goto abort;
224
- if (!(ha = (unsigned long *) xdl_malloc((nrec + 1) * sizeof(unsigned long))))
225
- goto abort;
216
+ if ((XDF_DIFF_ALG(xpp->flags) != XDF_PATIENCE_DIFF) &&
217
+ (XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF)) {
218
+ if (!(rindex = xdl_malloc((nrec + 1) * sizeof(*rindex))))
219
+ goto abort;
220
+ if (!(ha = xdl_malloc((nrec + 1) * sizeof(*ha))))
221
+ goto abort;
222
+ }
226
223
 
227
224
  xdf->nrec = nrec;
228
225
  xdf->recs = recs;
@@ -279,8 +276,7 @@ int xdl_prepare_env(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
279
276
  enl1 = xdl_guess_lines(mf1, sample) + 1;
280
277
  enl2 = xdl_guess_lines(mf2, sample) + 1;
281
278
 
282
- if (XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF &&
283
- xdl_init_classifier(&cf, enl1 + enl2 + 1, xpp->flags) < 0)
279
+ if (xdl_init_classifier(&cf, enl1 + enl2 + 1, xpp->flags) < 0)
284
280
  return -1;
285
281
 
286
282
  if (xdl_prepare_ctx(1, mf1, enl1, xpp, &cf, &xe->xdf1) < 0) {
@@ -305,8 +301,7 @@ int xdl_prepare_env(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
305
301
  return -1;
306
302
  }
307
303
 
308
- if (XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF)
309
- xdl_free_classifier(&cf);
304
+ xdl_free_classifier(&cf);
310
305
 
311
306
  return 0;
312
307
  }
@@ -23,8 +23,6 @@
23
23
  #include "xinclude.h"
24
24
 
25
25
 
26
-
27
-
28
26
  long xdl_bogosqrt(long n) {
29
27
  long i;
30
28
 
@@ -52,7 +50,7 @@ int xdl_emit_diffrec(char const *rec, long size, char const *pre, long psize,
52
50
  mb[2].size = strlen(mb[2].ptr);
53
51
  i++;
54
52
  }
55
- if (ecb->outf(ecb->priv, mb, i) < 0) {
53
+ if (ecb->out_line(ecb->priv, mb, i) < 0) {
56
54
 
57
55
  return -1;
58
56
  }
@@ -342,8 +340,9 @@ int xdl_num_out(char *out, long val) {
342
340
  return str - out;
343
341
  }
344
342
 
345
- int xdl_emit_hunk_hdr(long s1, long c1, long s2, long c2,
346
- const char *func, long funclen, xdemitcb_t *ecb) {
343
+ static int xdl_format_hunk_hdr(long s1, long c1, long s2, long c2,
344
+ const char *func, long funclen,
345
+ xdemitcb_t *ecb) {
347
346
  int nb = 0;
348
347
  mmbuffer_t mb;
349
348
  char buf[128];
@@ -376,7 +375,7 @@ int xdl_emit_hunk_hdr(long s1, long c1, long s2, long c2,
376
375
  nb += 3;
377
376
  if (func && funclen) {
378
377
  buf[nb++] = ' ';
379
- if (funclen > (long)(sizeof(buf) - nb - 1))
378
+ if (funclen > sizeof(buf) - nb - 1)
380
379
  funclen = sizeof(buf) - nb - 1;
381
380
  memcpy(buf + nb, func, funclen);
382
381
  nb += funclen;
@@ -385,9 +384,21 @@ int xdl_emit_hunk_hdr(long s1, long c1, long s2, long c2,
385
384
 
386
385
  mb.ptr = buf;
387
386
  mb.size = nb;
388
- if (ecb->outf(ecb->priv, &mb, 1) < 0)
387
+ if (ecb->out_line(ecb->priv, &mb, 1) < 0)
389
388
  return -1;
389
+ return 0;
390
+ }
390
391
 
392
+ int xdl_emit_hunk_hdr(long s1, long c1, long s2, long c2,
393
+ const char *func, long funclen,
394
+ xdemitcb_t *ecb) {
395
+ if (!ecb->out_hunk)
396
+ return xdl_format_hunk_hdr(s1, c1, s2, c2, func, funclen, ecb);
397
+ if (ecb->out_hunk(ecb->priv,
398
+ c1 ? s1 : s1 - 1, c1,
399
+ c2 ? s2 : s2 - 1, c2,
400
+ func, funclen) < 0)
401
+ return -1;
391
402
  return 0;
392
403
  }
393
404
 
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include <zlib.h>
11
11
 
12
- #include "buffer.h"
12
+ #include "str.h"
13
13
 
14
14
  #define ZSTREAM_BUFFER_SIZE (1024 * 1024)
15
15
  #define ZSTREAM_BUFFER_MIN_EXTRA 8
@@ -164,7 +164,7 @@ int git_zstream_get_output(void *out, size_t *out_len, git_zstream *zstream)
164
164
  return 0;
165
165
  }
166
166
 
167
- static int zstream_buf(git_buf *out, const void *in, size_t in_len, git_zstream_t type)
167
+ static int zstream_buf(git_str *out, const void *in, size_t in_len, git_zstream_t type)
168
168
  {
169
169
  git_zstream zs = GIT_ZSTREAM_INIT;
170
170
  int error = 0;
@@ -178,7 +178,7 @@ static int zstream_buf(git_buf *out, const void *in, size_t in_len, git_zstream_
178
178
  while (!git_zstream_done(&zs)) {
179
179
  size_t step = git_zstream_suggest_output_len(&zs), written;
180
180
 
181
- if ((error = git_buf_grow_by(out, step)) < 0)
181
+ if ((error = git_str_grow_by(out, step)) < 0)
182
182
  goto done;
183
183
 
184
184
  written = out->asize - out->size;
@@ -199,12 +199,12 @@ done:
199
199
  return error;
200
200
  }
201
201
 
202
- int git_zstream_deflatebuf(git_buf *out, const void *in, size_t in_len)
202
+ int git_zstream_deflatebuf(git_str *out, const void *in, size_t in_len)
203
203
  {
204
204
  return zstream_buf(out, in, in_len, GIT_ZSTREAM_DEFLATE);
205
205
  }
206
206
 
207
- int git_zstream_inflatebuf(git_buf *out, const void *in, size_t in_len)
207
+ int git_zstream_inflatebuf(git_str *out, const void *in, size_t in_len)
208
208
  {
209
209
  return zstream_buf(out, in, in_len, GIT_ZSTREAM_INFLATE);
210
210
  }
@@ -11,11 +11,11 @@
11
11
 
12
12
  #include <zlib.h>
13
13
 
14
- #include "buffer.h"
14
+ #include "str.h"
15
15
 
16
16
  typedef enum {
17
17
  GIT_ZSTREAM_INFLATE,
18
- GIT_ZSTREAM_DEFLATE,
18
+ GIT_ZSTREAM_DEFLATE
19
19
  } git_zstream_t;
20
20
 
21
21
  typedef struct {
@@ -48,7 +48,7 @@ bool git_zstream_eos(git_zstream *zstream);
48
48
 
49
49
  void git_zstream_reset(git_zstream *zstream);
50
50
 
51
- int git_zstream_deflatebuf(git_buf *out, const void *in, size_t in_len);
52
- int git_zstream_inflatebuf(git_buf *out, const void *in, size_t in_len);
51
+ int git_zstream_deflatebuf(git_str *out, const void *in, size_t in_len);
52
+ int git_zstream_inflatebuf(git_str *out, const void *in, size_t in_len);
53
53
 
54
54
  #endif
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rugged
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2.3
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Chacon
8
8
  - Vicent Marti
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-07-13 00:00:00.000000000 Z
12
+ date: 2022-02-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake-compiler
@@ -124,11 +124,12 @@ files:
124
124
  - vendor/libgit2/CMakeLists.txt
125
125
  - vendor/libgit2/COPYING
126
126
  - vendor/libgit2/cmake/AddCFlagIfSupported.cmake
127
+ - vendor/libgit2/cmake/DefaultCFlags.cmake
127
128
  - vendor/libgit2/cmake/EnableWarnings.cmake
128
129
  - vendor/libgit2/cmake/FindCoreFoundation.cmake
129
130
  - vendor/libgit2/cmake/FindGSSAPI.cmake
130
131
  - vendor/libgit2/cmake/FindGSSFramework.cmake
131
- - vendor/libgit2/cmake/FindHTTP_Parser.cmake
132
+ - vendor/libgit2/cmake/FindHTTPParser.cmake
132
133
  - vendor/libgit2/cmake/FindIconv.cmake
133
134
  - vendor/libgit2/cmake/FindLibSSH2.cmake
134
135
  - vendor/libgit2/cmake/FindPCRE.cmake
@@ -142,8 +143,13 @@ files:
142
143
  - vendor/libgit2/cmake/PkgBuildConfig.cmake
143
144
  - vendor/libgit2/cmake/SanitizeBool.cmake
144
145
  - vendor/libgit2/cmake/SelectGSSAPI.cmake
146
+ - vendor/libgit2/cmake/SelectHTTPParser.cmake
145
147
  - vendor/libgit2/cmake/SelectHTTPSBackend.cmake
146
148
  - vendor/libgit2/cmake/SelectHashes.cmake
149
+ - vendor/libgit2/cmake/SelectRegex.cmake
150
+ - vendor/libgit2/cmake/SelectSSH.cmake
151
+ - vendor/libgit2/cmake/SelectWinHTTP.cmake
152
+ - vendor/libgit2/cmake/SelectZlib.cmake
147
153
  - vendor/libgit2/deps/chromium-zlib/CMakeLists.txt
148
154
  - vendor/libgit2/deps/http-parser/CMakeLists.txt
149
155
  - vendor/libgit2/deps/http-parser/COPYING
@@ -313,6 +319,7 @@ files:
313
319
  - vendor/libgit2/include/git2/sys/refdb_backend.h
314
320
  - vendor/libgit2/include/git2/sys/reflog.h
315
321
  - vendor/libgit2/include/git2/sys/refs.h
322
+ - vendor/libgit2/include/git2/sys/remote.h
316
323
  - vendor/libgit2/include/git2/sys/repository.h
317
324
  - vendor/libgit2/include/git2/sys/stream.h
318
325
  - vendor/libgit2/include/git2/sys/transport.h
@@ -354,8 +361,8 @@ files:
354
361
  - vendor/libgit2/src/blob.h
355
362
  - vendor/libgit2/src/branch.c
356
363
  - vendor/libgit2/src/branch.h
357
- - vendor/libgit2/src/buffer.c
358
- - vendor/libgit2/src/buffer.h
364
+ - vendor/libgit2/src/buf.c
365
+ - vendor/libgit2/src/buf.h
359
366
  - vendor/libgit2/src/cache.c
360
367
  - vendor/libgit2/src/cache.h
361
368
  - vendor/libgit2/src/cc-compat.h
@@ -384,6 +391,7 @@ files:
384
391
  - vendor/libgit2/src/config_snapshot.c
385
392
  - vendor/libgit2/src/crlf.c
386
393
  - vendor/libgit2/src/date.c
394
+ - vendor/libgit2/src/date.h
387
395
  - vendor/libgit2/src/delta.c
388
396
  - vendor/libgit2/src/delta.h
389
397
  - vendor/libgit2/src/describe.c
@@ -399,6 +407,7 @@ files:
399
407
  - vendor/libgit2/src/diff_parse.h
400
408
  - vendor/libgit2/src/diff_print.c
401
409
  - vendor/libgit2/src/diff_stats.c
410
+ - vendor/libgit2/src/diff_stats.h
402
411
  - vendor/libgit2/src/diff_tform.c
403
412
  - vendor/libgit2/src/diff_tform.h
404
413
  - vendor/libgit2/src/diff_xdiff.c
@@ -416,6 +425,8 @@ files:
416
425
  - vendor/libgit2/src/filebuf.h
417
426
  - vendor/libgit2/src/filter.c
418
427
  - vendor/libgit2/src/filter.h
428
+ - vendor/libgit2/src/fs_path.c
429
+ - vendor/libgit2/src/fs_path.h
419
430
  - vendor/libgit2/src/futils.c
420
431
  - vendor/libgit2/src/futils.h
421
432
  - vendor/libgit2/src/graph.c
@@ -463,7 +474,6 @@ files:
463
474
  - vendor/libgit2/src/merge_driver.h
464
475
  - vendor/libgit2/src/merge_file.c
465
476
  - vendor/libgit2/src/message.c
466
- - vendor/libgit2/src/message.h
467
477
  - vendor/libgit2/src/midx.c
468
478
  - vendor/libgit2/src/midx.h
469
479
  - vendor/libgit2/src/mwindow.c
@@ -516,6 +526,8 @@ files:
516
526
  - vendor/libgit2/src/proxy.h
517
527
  - vendor/libgit2/src/push.c
518
528
  - vendor/libgit2/src/push.h
529
+ - vendor/libgit2/src/rand.c
530
+ - vendor/libgit2/src/rand.h
519
531
  - vendor/libgit2/src/reader.c
520
532
  - vendor/libgit2/src/reader.h
521
533
  - vendor/libgit2/src/rebase.c
@@ -550,6 +562,8 @@ files:
550
562
  - vendor/libgit2/src/stash.c
551
563
  - vendor/libgit2/src/status.c
552
564
  - vendor/libgit2/src/status.h
565
+ - vendor/libgit2/src/str.c
566
+ - vendor/libgit2/src/str.h
553
567
  - vendor/libgit2/src/strarray.c
554
568
  - vendor/libgit2/src/stream.h
555
569
  - vendor/libgit2/src/streams/mbedtls.c
@@ -660,6 +674,7 @@ files:
660
674
  - vendor/libgit2/src/win32/win32-compat.h
661
675
  - vendor/libgit2/src/worktree.c
662
676
  - vendor/libgit2/src/worktree.h
677
+ - vendor/libgit2/src/xdiff/git-xdiff.h
663
678
  - vendor/libgit2/src/xdiff/xdiff.h
664
679
  - vendor/libgit2/src/xdiff/xdiffi.c
665
680
  - vendor/libgit2/src/xdiff/xdiffi.h
@@ -682,7 +697,7 @@ licenses:
682
697
  - MIT
683
698
  metadata:
684
699
  msys2_mingw_dependencies: libssh2 cmake
685
- post_install_message:
700
+ post_install_message:
686
701
  rdoc_options: []
687
702
  require_paths:
688
703
  - lib
@@ -697,8 +712,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
697
712
  - !ruby/object:Gem::Version
698
713
  version: '0'
699
714
  requirements: []
700
- rubygems_version: 3.3.7
701
- signing_key:
715
+ rubygems_version: 3.1.2
716
+ signing_key:
702
717
  specification_version: 4
703
718
  summary: Rugged is a Ruby binding to the libgit2 linkable library
704
719
  test_files: []