rugged 0.28.4.1 → 1.0.1

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 (391) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/ext/rugged/extconf.rb +3 -1
  4. data/ext/rugged/rugged.c +35 -31
  5. data/ext/rugged/rugged.h +13 -0
  6. data/ext/rugged/rugged_blob.c +11 -9
  7. data/ext/rugged/rugged_commit.c +17 -15
  8. data/ext/rugged/rugged_config.c +1 -1
  9. data/ext/rugged/rugged_diff.c +4 -26
  10. data/ext/rugged/rugged_index.c +4 -2
  11. data/ext/rugged/rugged_note.c +5 -3
  12. data/ext/rugged/rugged_object.c +57 -10
  13. data/ext/rugged/rugged_rebase.c +3 -1
  14. data/ext/rugged/rugged_remote.c +32 -8
  15. data/ext/rugged/rugged_repo.c +232 -17
  16. data/ext/rugged/rugged_tag.c +8 -6
  17. data/ext/rugged/rugged_tree.c +18 -16
  18. data/lib/rugged/commit.rb +1 -2
  19. data/lib/rugged/repository.rb +5 -6
  20. data/lib/rugged/submodule_collection.rb +4 -4
  21. data/lib/rugged/version.rb +1 -1
  22. data/vendor/libgit2/AUTHORS +1 -0
  23. data/vendor/libgit2/CMakeLists.txt +39 -19
  24. data/vendor/libgit2/COPYING +28 -0
  25. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +5 -1
  26. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  27. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  28. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
  29. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
  30. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
  31. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  32. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
  33. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +77 -0
  34. data/vendor/libgit2/cmake/Modules/SanitizeBool.cmake +20 -0
  35. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +56 -0
  36. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +127 -0
  37. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +69 -0
  38. data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
  39. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +23 -0
  40. data/vendor/libgit2/deps/ntlmclient/compat.h +55 -0
  41. data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
  42. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
  43. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
  44. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
  45. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
  46. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
  47. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
  48. data/vendor/libgit2/deps/ntlmclient/ntlm.c +1422 -0
  49. data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
  50. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
  51. data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
  52. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
  53. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
  54. data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
  55. data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
  56. data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
  57. data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
  58. data/vendor/libgit2/deps/pcre/COPYING +5 -0
  59. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  60. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
  61. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  62. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
  63. data/vendor/libgit2/deps/pcre/config.h.in +57 -0
  64. data/vendor/libgit2/deps/pcre/pcre.h +641 -0
  65. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
  66. data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
  67. data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
  68. data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
  69. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
  70. data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
  71. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
  72. data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
  73. data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
  74. data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
  75. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
  76. data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
  77. data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
  78. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
  79. data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
  80. data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
  81. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
  82. data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
  83. data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
  84. data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
  85. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
  86. data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
  87. data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
  88. data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
  89. data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
  90. data/vendor/libgit2/deps/pcre/ucp.h +224 -0
  91. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  92. data/vendor/libgit2/deps/zlib/crc32.c +0 -7
  93. data/vendor/libgit2/include/git2.h +2 -0
  94. data/vendor/libgit2/include/git2/apply.h +22 -2
  95. data/vendor/libgit2/include/git2/attr.h +23 -13
  96. data/vendor/libgit2/include/git2/blame.h +2 -2
  97. data/vendor/libgit2/include/git2/blob.h +44 -12
  98. data/vendor/libgit2/include/git2/branch.h +74 -57
  99. data/vendor/libgit2/include/git2/buffer.h +20 -14
  100. data/vendor/libgit2/include/git2/cert.h +135 -0
  101. data/vendor/libgit2/include/git2/checkout.h +46 -14
  102. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  103. data/vendor/libgit2/include/git2/clone.h +2 -2
  104. data/vendor/libgit2/include/git2/commit.h +23 -1
  105. data/vendor/libgit2/include/git2/common.h +15 -6
  106. data/vendor/libgit2/include/git2/config.h +12 -12
  107. data/vendor/libgit2/include/git2/cred_helpers.h +4 -42
  108. data/vendor/libgit2/include/git2/credential.h +314 -0
  109. data/vendor/libgit2/include/git2/credential_helpers.h +52 -0
  110. data/vendor/libgit2/include/git2/deprecated.h +321 -3
  111. data/vendor/libgit2/include/git2/describe.h +4 -4
  112. data/vendor/libgit2/include/git2/diff.h +16 -14
  113. data/vendor/libgit2/include/git2/errors.h +4 -2
  114. data/vendor/libgit2/include/git2/filter.h +8 -0
  115. data/vendor/libgit2/include/git2/index.h +2 -1
  116. data/vendor/libgit2/include/git2/indexer.h +48 -4
  117. data/vendor/libgit2/include/git2/merge.h +6 -10
  118. data/vendor/libgit2/include/git2/net.h +0 -5
  119. data/vendor/libgit2/include/git2/object.h +2 -14
  120. data/vendor/libgit2/include/git2/odb.h +3 -2
  121. data/vendor/libgit2/include/git2/odb_backend.h +5 -4
  122. data/vendor/libgit2/include/git2/oid.h +11 -6
  123. data/vendor/libgit2/include/git2/pack.h +12 -1
  124. data/vendor/libgit2/include/git2/proxy.h +6 -4
  125. data/vendor/libgit2/include/git2/rebase.h +46 -2
  126. data/vendor/libgit2/include/git2/refs.h +19 -0
  127. data/vendor/libgit2/include/git2/remote.h +40 -15
  128. data/vendor/libgit2/include/git2/repository.h +29 -6
  129. data/vendor/libgit2/include/git2/revert.h +1 -1
  130. data/vendor/libgit2/include/git2/revwalk.h +7 -3
  131. data/vendor/libgit2/include/git2/stash.h +4 -4
  132. data/vendor/libgit2/include/git2/status.h +25 -16
  133. data/vendor/libgit2/include/git2/submodule.h +20 -3
  134. data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
  135. data/vendor/libgit2/include/git2/sys/cred.h +15 -0
  136. data/vendor/libgit2/include/git2/sys/credential.h +90 -0
  137. data/vendor/libgit2/include/git2/sys/index.h +4 -2
  138. data/vendor/libgit2/include/git2/sys/mempack.h +2 -1
  139. data/vendor/libgit2/include/git2/sys/merge.h +1 -1
  140. data/vendor/libgit2/include/git2/sys/odb_backend.h +48 -4
  141. data/vendor/libgit2/include/git2/sys/refdb_backend.h +164 -21
  142. data/vendor/libgit2/include/git2/sys/repository.h +17 -6
  143. data/vendor/libgit2/include/git2/sys/transport.h +4 -4
  144. data/vendor/libgit2/include/git2/tag.h +11 -2
  145. data/vendor/libgit2/include/git2/trace.h +2 -2
  146. data/vendor/libgit2/include/git2/transport.h +11 -340
  147. data/vendor/libgit2/include/git2/tree.h +5 -3
  148. data/vendor/libgit2/include/git2/types.h +4 -89
  149. data/vendor/libgit2/include/git2/version.h +5 -5
  150. data/vendor/libgit2/include/git2/worktree.h +5 -5
  151. data/vendor/libgit2/src/CMakeLists.txt +99 -236
  152. data/vendor/libgit2/src/alloc.c +2 -14
  153. data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +3 -4
  154. data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
  155. data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
  156. data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
  157. data/vendor/libgit2/src/apply.c +60 -30
  158. data/vendor/libgit2/src/attr.c +70 -64
  159. data/vendor/libgit2/src/attr_file.c +189 -96
  160. data/vendor/libgit2/src/attr_file.h +9 -9
  161. data/vendor/libgit2/src/attrcache.c +48 -48
  162. data/vendor/libgit2/src/attrcache.h +2 -1
  163. data/vendor/libgit2/src/blame.c +17 -5
  164. data/vendor/libgit2/src/blame.h +1 -1
  165. data/vendor/libgit2/src/blame_git.c +21 -7
  166. data/vendor/libgit2/src/blob.c +81 -17
  167. data/vendor/libgit2/src/blob.h +2 -2
  168. data/vendor/libgit2/src/branch.c +60 -32
  169. data/vendor/libgit2/src/buffer.c +19 -7
  170. data/vendor/libgit2/src/buffer.h +1 -0
  171. data/vendor/libgit2/src/cache.c +33 -36
  172. data/vendor/libgit2/src/cache.h +1 -1
  173. data/vendor/libgit2/src/cc-compat.h +5 -0
  174. data/vendor/libgit2/src/checkout.c +26 -16
  175. data/vendor/libgit2/src/cherrypick.c +9 -3
  176. data/vendor/libgit2/src/clone.c +29 -7
  177. data/vendor/libgit2/src/clone.h +4 -0
  178. data/vendor/libgit2/src/commit.c +70 -22
  179. data/vendor/libgit2/src/commit.h +6 -0
  180. data/vendor/libgit2/src/commit_list.c +28 -76
  181. data/vendor/libgit2/src/commit_list.h +2 -2
  182. data/vendor/libgit2/src/common.h +3 -75
  183. data/vendor/libgit2/src/config.c +31 -40
  184. data/vendor/libgit2/src/config.h +7 -6
  185. data/vendor/libgit2/src/config_backend.h +12 -0
  186. data/vendor/libgit2/src/config_cache.c +39 -39
  187. data/vendor/libgit2/src/config_entries.c +69 -99
  188. data/vendor/libgit2/src/config_entries.h +1 -0
  189. data/vendor/libgit2/src/config_file.c +346 -380
  190. data/vendor/libgit2/src/config_mem.c +12 -16
  191. data/vendor/libgit2/src/config_parse.c +49 -29
  192. data/vendor/libgit2/src/config_parse.h +13 -12
  193. data/vendor/libgit2/src/config_snapshot.c +206 -0
  194. data/vendor/libgit2/src/crlf.c +14 -14
  195. data/vendor/libgit2/src/describe.c +21 -20
  196. data/vendor/libgit2/src/diff.c +43 -58
  197. data/vendor/libgit2/src/diff.h +4 -3
  198. data/vendor/libgit2/src/diff_driver.c +37 -38
  199. data/vendor/libgit2/src/diff_file.c +12 -10
  200. data/vendor/libgit2/src/diff_file.h +2 -2
  201. data/vendor/libgit2/src/diff_generate.c +148 -98
  202. data/vendor/libgit2/src/diff_generate.h +2 -2
  203. data/vendor/libgit2/src/diff_parse.c +1 -1
  204. data/vendor/libgit2/src/diff_print.c +25 -13
  205. data/vendor/libgit2/src/diff_stats.c +1 -1
  206. data/vendor/libgit2/src/diff_tform.c +11 -11
  207. data/vendor/libgit2/src/errors.c +21 -25
  208. data/vendor/libgit2/src/errors.h +81 -0
  209. data/vendor/libgit2/src/features.h.in +9 -2
  210. data/vendor/libgit2/src/fetch.c +7 -2
  211. data/vendor/libgit2/src/fetchhead.c +36 -4
  212. data/vendor/libgit2/src/filebuf.c +6 -10
  213. data/vendor/libgit2/src/filebuf.h +2 -2
  214. data/vendor/libgit2/src/filter.c +16 -8
  215. data/vendor/libgit2/src/{fileops.c → futils.c} +21 -17
  216. data/vendor/libgit2/src/{fileops.h → futils.h} +5 -5
  217. data/vendor/libgit2/src/global.c +12 -40
  218. data/vendor/libgit2/src/global.h +0 -2
  219. data/vendor/libgit2/src/hash.c +61 -0
  220. data/vendor/libgit2/src/hash.h +19 -21
  221. data/vendor/libgit2/src/hash/sha1.h +38 -0
  222. data/vendor/libgit2/src/hash/{hash_collisiondetect.h → sha1/collisiondetect.c} +14 -17
  223. data/vendor/libgit2/src/{sha1_lookup.h → hash/sha1/collisiondetect.h} +8 -8
  224. data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +15 -19
  225. data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
  226. data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
  227. data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -14
  228. data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
  229. data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -11
  230. data/vendor/libgit2/src/hash/{hash_openssl.h → sha1/openssl.c} +14 -18
  231. data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
  232. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
  233. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
  234. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
  235. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
  236. data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +34 -24
  237. data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
  238. data/vendor/libgit2/src/hashsig.c +1 -1
  239. data/vendor/libgit2/src/idxmap.c +91 -65
  240. data/vendor/libgit2/src/idxmap.h +151 -15
  241. data/vendor/libgit2/src/ignore.c +32 -38
  242. data/vendor/libgit2/src/index.c +105 -83
  243. data/vendor/libgit2/src/index.h +1 -1
  244. data/vendor/libgit2/src/indexer.c +71 -72
  245. data/vendor/libgit2/src/integer.h +39 -4
  246. data/vendor/libgit2/src/iterator.c +40 -35
  247. data/vendor/libgit2/src/iterator.h +8 -8
  248. data/vendor/libgit2/src/map.h +1 -1
  249. data/vendor/libgit2/src/merge.c +78 -51
  250. data/vendor/libgit2/src/merge.h +2 -2
  251. data/vendor/libgit2/src/merge_driver.c +5 -5
  252. data/vendor/libgit2/src/merge_file.c +1 -1
  253. data/vendor/libgit2/src/mwindow.c +18 -23
  254. data/vendor/libgit2/src/mwindow.h +4 -4
  255. data/vendor/libgit2/src/net.c +411 -0
  256. data/vendor/libgit2/src/net.h +57 -0
  257. data/vendor/libgit2/src/netops.c +6 -193
  258. data/vendor/libgit2/src/netops.h +1 -34
  259. data/vendor/libgit2/src/notes.c +8 -5
  260. data/vendor/libgit2/src/object.c +3 -3
  261. data/vendor/libgit2/src/object.h +2 -0
  262. data/vendor/libgit2/src/odb.c +41 -23
  263. data/vendor/libgit2/src/odb.h +3 -2
  264. data/vendor/libgit2/src/odb_loose.c +17 -10
  265. data/vendor/libgit2/src/odb_mempack.c +13 -24
  266. data/vendor/libgit2/src/odb_pack.c +4 -5
  267. data/vendor/libgit2/src/offmap.c +43 -55
  268. data/vendor/libgit2/src/offmap.h +102 -24
  269. data/vendor/libgit2/src/oid.c +19 -8
  270. data/vendor/libgit2/src/oidmap.c +39 -57
  271. data/vendor/libgit2/src/oidmap.h +99 -19
  272. data/vendor/libgit2/src/pack-objects.c +28 -33
  273. data/vendor/libgit2/src/pack-objects.h +1 -1
  274. data/vendor/libgit2/src/pack.c +117 -129
  275. data/vendor/libgit2/src/pack.h +15 -18
  276. data/vendor/libgit2/src/parse.c +10 -0
  277. data/vendor/libgit2/src/parse.h +3 -3
  278. data/vendor/libgit2/src/patch.c +1 -1
  279. data/vendor/libgit2/src/patch_generate.c +2 -2
  280. data/vendor/libgit2/src/patch_parse.c +130 -33
  281. data/vendor/libgit2/src/path.c +43 -6
  282. data/vendor/libgit2/src/path.h +2 -0
  283. data/vendor/libgit2/src/pathspec.c +14 -14
  284. data/vendor/libgit2/src/pool.c +26 -22
  285. data/vendor/libgit2/src/pool.h +7 -7
  286. data/vendor/libgit2/src/posix.c +7 -7
  287. data/vendor/libgit2/src/posix.h +12 -1
  288. data/vendor/libgit2/src/proxy.c +7 -2
  289. data/vendor/libgit2/src/push.c +13 -7
  290. data/vendor/libgit2/src/reader.c +2 -2
  291. data/vendor/libgit2/src/rebase.c +87 -28
  292. data/vendor/libgit2/src/refdb.c +12 -0
  293. data/vendor/libgit2/src/refdb_fs.c +219 -167
  294. data/vendor/libgit2/src/reflog.c +11 -13
  295. data/vendor/libgit2/src/refs.c +39 -23
  296. data/vendor/libgit2/src/refs.h +8 -1
  297. data/vendor/libgit2/src/refspec.c +9 -16
  298. data/vendor/libgit2/src/regexp.c +221 -0
  299. data/vendor/libgit2/src/regexp.h +97 -0
  300. data/vendor/libgit2/src/remote.c +57 -55
  301. data/vendor/libgit2/src/remote.h +2 -2
  302. data/vendor/libgit2/src/repository.c +187 -154
  303. data/vendor/libgit2/src/repository.h +49 -40
  304. data/vendor/libgit2/src/revert.c +8 -3
  305. data/vendor/libgit2/src/revparse.c +18 -19
  306. data/vendor/libgit2/src/revwalk.c +72 -34
  307. data/vendor/libgit2/src/revwalk.h +20 -0
  308. data/vendor/libgit2/src/settings.c +13 -1
  309. data/vendor/libgit2/src/sortedcache.c +12 -26
  310. data/vendor/libgit2/src/sortedcache.h +1 -1
  311. data/vendor/libgit2/src/stash.c +47 -67
  312. data/vendor/libgit2/src/status.c +17 -11
  313. data/vendor/libgit2/src/streams/openssl.c +54 -2
  314. data/vendor/libgit2/src/streams/socket.c +2 -2
  315. data/vendor/libgit2/src/strmap.c +37 -84
  316. data/vendor/libgit2/src/strmap.h +105 -33
  317. data/vendor/libgit2/src/submodule.c +151 -126
  318. data/vendor/libgit2/src/submodule.h +1 -1
  319. data/vendor/libgit2/src/sysdir.c +11 -1
  320. data/vendor/libgit2/src/tag.c +10 -2
  321. data/vendor/libgit2/src/trace.c +1 -1
  322. data/vendor/libgit2/src/trace.h +3 -3
  323. data/vendor/libgit2/src/trailer.c +46 -32
  324. data/vendor/libgit2/src/transaction.c +10 -9
  325. data/vendor/libgit2/src/transports/auth.c +16 -15
  326. data/vendor/libgit2/src/transports/auth.h +18 -11
  327. data/vendor/libgit2/src/transports/auth_negotiate.c +64 -33
  328. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  329. data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
  330. data/vendor/libgit2/src/transports/auth_ntlm.h +38 -0
  331. data/vendor/libgit2/src/transports/credential.c +476 -0
  332. data/vendor/libgit2/src/transports/{cred_helpers.c → credential_helpers.c} +21 -8
  333. data/vendor/libgit2/src/transports/git.c +11 -16
  334. data/vendor/libgit2/src/transports/http.c +488 -1248
  335. data/vendor/libgit2/src/transports/http.h +4 -1
  336. data/vendor/libgit2/src/transports/httpclient.c +1549 -0
  337. data/vendor/libgit2/src/transports/httpclient.h +190 -0
  338. data/vendor/libgit2/src/transports/local.c +10 -10
  339. data/vendor/libgit2/src/transports/smart.c +19 -19
  340. data/vendor/libgit2/src/transports/smart.h +3 -3
  341. data/vendor/libgit2/src/transports/smart_pkt.c +1 -1
  342. data/vendor/libgit2/src/transports/smart_protocol.c +40 -64
  343. data/vendor/libgit2/src/transports/ssh.c +77 -59
  344. data/vendor/libgit2/src/transports/winhttp.c +272 -242
  345. data/vendor/libgit2/src/tree-cache.c +14 -7
  346. data/vendor/libgit2/src/tree.c +16 -26
  347. data/vendor/libgit2/src/unix/map.c +1 -1
  348. data/vendor/libgit2/src/unix/posix.h +2 -12
  349. data/vendor/libgit2/src/userdiff.h +3 -1
  350. data/vendor/libgit2/src/util.c +51 -53
  351. data/vendor/libgit2/src/util.h +16 -21
  352. data/vendor/libgit2/src/wildmatch.c +320 -0
  353. data/vendor/libgit2/src/wildmatch.h +23 -0
  354. data/vendor/libgit2/src/win32/map.c +3 -5
  355. data/vendor/libgit2/src/win32/path_w32.c +40 -3
  356. data/vendor/libgit2/src/win32/path_w32.h +15 -29
  357. data/vendor/libgit2/src/win32/posix.h +1 -4
  358. data/vendor/libgit2/src/win32/posix_w32.c +47 -5
  359. data/vendor/libgit2/src/win32/precompiled.h +0 -2
  360. data/vendor/libgit2/src/win32/thread.c +5 -10
  361. data/vendor/libgit2/src/win32/w32_buffer.c +7 -3
  362. data/vendor/libgit2/src/win32/w32_common.h +39 -0
  363. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +0 -93
  364. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
  365. data/vendor/libgit2/src/win32/w32_stack.c +4 -9
  366. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  367. data/vendor/libgit2/src/win32/w32_util.c +31 -0
  368. data/vendor/libgit2/src/win32/w32_util.h +6 -32
  369. data/vendor/libgit2/src/worktree.c +79 -49
  370. data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
  371. data/vendor/libgit2/src/xdiff/xmerge.c +12 -0
  372. data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
  373. data/vendor/libgit2/src/zstream.c +5 -0
  374. data/vendor/libgit2/src/zstream.h +1 -0
  375. metadata +108 -41
  376. data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
  377. data/vendor/libgit2/deps/regex/COPYING +0 -502
  378. data/vendor/libgit2/deps/regex/config.h +0 -7
  379. data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
  380. data/vendor/libgit2/deps/regex/regex.c +0 -92
  381. data/vendor/libgit2/deps/regex/regex.h +0 -582
  382. data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
  383. data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
  384. data/vendor/libgit2/deps/regex/regexec.c +0 -4369
  385. data/vendor/libgit2/include/git2/inttypes.h +0 -309
  386. data/vendor/libgit2/include/git2/sys/time.h +0 -31
  387. data/vendor/libgit2/libgit2.pc.in +0 -13
  388. data/vendor/libgit2/src/fnmatch.c +0 -248
  389. data/vendor/libgit2/src/fnmatch.h +0 -48
  390. data/vendor/libgit2/src/sha1_lookup.c +0 -35
  391. data/vendor/libgit2/src/transports/cred.c +0 -390
@@ -64,13 +64,13 @@ GIT_INLINE(char) *fmt_one(char *str, unsigned int val)
64
64
  return str;
65
65
  }
66
66
 
67
- void git_oid_nfmt(char *str, size_t n, const git_oid *oid)
67
+ int git_oid_nfmt(char *str, size_t n, const git_oid *oid)
68
68
  {
69
69
  size_t i, max_i;
70
70
 
71
71
  if (!oid) {
72
72
  memset(str, 0, n);
73
- return;
73
+ return 0;
74
74
  }
75
75
  if (n > GIT_OID_HEXSZ) {
76
76
  memset(&str[GIT_OID_HEXSZ], 0, n - GIT_OID_HEXSZ);
@@ -84,14 +84,16 @@ void git_oid_nfmt(char *str, size_t n, const git_oid *oid)
84
84
 
85
85
  if (n & 1)
86
86
  *str++ = to_hex[oid->id[i] >> 4];
87
+
88
+ return 0;
87
89
  }
88
90
 
89
- void git_oid_fmt(char *str, const git_oid *oid)
91
+ int git_oid_fmt(char *str, const git_oid *oid)
90
92
  {
91
- git_oid_nfmt(str, GIT_OID_HEXSZ, oid);
93
+ return git_oid_nfmt(str, GIT_OID_HEXSZ, oid);
92
94
  }
93
95
 
94
- void git_oid_pathfmt(char *str, const git_oid *oid)
96
+ int git_oid_pathfmt(char *str, const git_oid *oid)
95
97
  {
96
98
  size_t i;
97
99
 
@@ -99,6 +101,8 @@ void git_oid_pathfmt(char *str, const git_oid *oid)
99
101
  *str++ = '/';
100
102
  for (i = 1; i < sizeof(oid->id); i++)
101
103
  str = fmt_one(str, oid->id[i]);
104
+
105
+ return 0;
102
106
  }
103
107
 
104
108
  char *git_oid_tostr_s(const git_oid *oid)
@@ -167,14 +171,16 @@ void git_oid__writebuf(git_buf *buf, const char *header, const git_oid *oid)
167
171
  git_buf_putc(buf, '\n');
168
172
  }
169
173
 
170
- void git_oid_fromraw(git_oid *out, const unsigned char *raw)
174
+ int git_oid_fromraw(git_oid *out, const unsigned char *raw)
171
175
  {
172
176
  memcpy(out->id, raw, sizeof(out->id));
177
+ return 0;
173
178
  }
174
179
 
175
- void git_oid_cpy(git_oid *out, const git_oid *src)
180
+ int git_oid_cpy(git_oid *out, const git_oid *src)
176
181
  {
177
182
  memcpy(out->id, src->id, sizeof(out->id));
183
+ return 0;
178
184
  }
179
185
 
180
186
  int git_oid_cmp(const git_oid *a, const git_oid *b)
@@ -237,7 +243,7 @@ int git_oid_streq(const git_oid *oid_a, const char *str)
237
243
  return git_oid_strcmp(oid_a, str) == 0 ? 0 : -1;
238
244
  }
239
245
 
240
- int git_oid_iszero(const git_oid *oid_a)
246
+ int git_oid_is_zero(const git_oid *oid_a)
241
247
  {
242
248
  const unsigned char *a = oid_a->id;
243
249
  unsigned int i;
@@ -247,6 +253,11 @@ int git_oid_iszero(const git_oid *oid_a)
247
253
  return 1;
248
254
  }
249
255
 
256
+ int git_oid_iszero(const git_oid *oid_a)
257
+ {
258
+ return git_oid_is_zero(oid_a);
259
+ }
260
+
250
261
  typedef short node_index;
251
262
 
252
263
  typedef union {
@@ -25,9 +25,12 @@ GIT_INLINE(khint_t) git_oidmap_hash(const git_oid *oid)
25
25
 
26
26
  __KHASH_IMPL(oid, static kh_inline, const git_oid *, void *, 1, git_oidmap_hash, git_oid_equal)
27
27
 
28
- git_oidmap *git_oidmap_alloc()
28
+ int git_oidmap_new(git_oidmap **out)
29
29
  {
30
- return kh_init(oid);
30
+ *out = kh_init(oid);
31
+ GIT_ERROR_CHECK_ALLOC(*out);
32
+
33
+ return 0;
31
34
  }
32
35
 
33
36
  void git_oidmap_free(git_oidmap *map)
@@ -45,81 +48,60 @@ size_t git_oidmap_size(git_oidmap *map)
45
48
  return kh_size(map);
46
49
  }
47
50
 
48
- size_t git_oidmap_lookup_index(git_oidmap *map, const git_oid *key)
49
- {
50
- return kh_get(oid, map, key);
51
- }
52
-
53
- int git_oidmap_valid_index(git_oidmap *map, size_t idx)
54
- {
55
- return idx != kh_end(map);
56
- }
57
-
58
- int git_oidmap_exists(git_oidmap *map, const git_oid *key)
51
+ void *git_oidmap_get(git_oidmap *map, const git_oid *key)
59
52
  {
60
- return kh_get(oid, map, key) != kh_end(map);
61
- }
62
-
63
- int git_oidmap_has_data(git_oidmap *map, size_t idx)
64
- {
65
- return kh_exist(map, idx);
53
+ size_t idx = kh_get(oid, map, key);
54
+ if (idx == kh_end(map) || !kh_exist(map, idx))
55
+ return NULL;
56
+ return kh_val(map, idx);
66
57
  }
67
58
 
68
- const git_oid *git_oidmap_key(git_oidmap *map, size_t idx)
59
+ int git_oidmap_set(git_oidmap *map, const git_oid *key, void *value)
69
60
  {
70
- return kh_key(map, idx);
71
- }
61
+ size_t idx;
62
+ int rval;
72
63
 
73
- void git_oidmap_set_key_at(git_oidmap *map, size_t idx, git_oid *key)
74
- {
75
- kh_key(map, idx) = key;
76
- }
64
+ idx = kh_put(oid, map, key, &rval);
65
+ if (rval < 0)
66
+ return -1;
77
67
 
78
- void *git_oidmap_value_at(git_oidmap *map, size_t idx)
79
- {
80
- return kh_val(map, idx);
81
- }
68
+ if (rval == 0)
69
+ kh_key(map, idx) = key;
82
70
 
83
- void git_oidmap_set_value_at(git_oidmap *map, size_t idx, void *value)
84
- {
85
71
  kh_val(map, idx) = value;
72
+
73
+ return 0;
86
74
  }
87
75
 
88
- void git_oidmap_delete_at(git_oidmap *map, size_t idx)
76
+ int git_oidmap_delete(git_oidmap *map, const git_oid *key)
89
77
  {
78
+ khiter_t idx = kh_get(oid, map, key);
79
+ if (idx == kh_end(map))
80
+ return GIT_ENOTFOUND;
90
81
  kh_del(oid, map, idx);
82
+ return 0;
91
83
  }
92
84
 
93
- int git_oidmap_put(git_oidmap *map, const git_oid *key, int *err)
85
+ int git_oidmap_exists(git_oidmap *map, const git_oid *key)
94
86
  {
95
- return kh_put(oid, map, key, err);
87
+ return kh_get(oid, map, key) != kh_end(map);
96
88
  }
97
89
 
98
- void git_oidmap_insert(git_oidmap *map, const git_oid *key, void *value, int *rval)
90
+ int git_oidmap_iterate(void **value, git_oidmap *map, size_t *iter, const git_oid **key)
99
91
  {
100
- khiter_t idx = kh_put(oid, map, key, rval);
92
+ size_t i = *iter;
101
93
 
102
- if ((*rval) >= 0) {
103
- if ((*rval) == 0)
104
- kh_key(map, idx) = key;
105
- kh_val(map, idx) = value;
106
- }
107
- }
94
+ while (i < map->n_buckets && !kh_exist(map, i))
95
+ i++;
108
96
 
109
- void git_oidmap_delete(git_oidmap *map, const git_oid *key)
110
- {
111
- khiter_t idx = git_oidmap_lookup_index(map, key);
112
- if (git_oidmap_valid_index(map, idx))
113
- git_oidmap_delete_at(map, idx);
114
- }
97
+ if (i >= map->n_buckets)
98
+ return GIT_ITEROVER;
115
99
 
116
- size_t git_oidmap_begin(git_oidmap *map)
117
- {
118
- GIT_UNUSED(map);
119
- return 0;
120
- }
100
+ if (key)
101
+ *key = kh_key(map, i);
102
+ if (value)
103
+ *value = kh_value(map, i);
104
+ *iter = ++i;
121
105
 
122
- size_t git_oidmap_end(git_oidmap *map)
123
- {
124
- return map->n_buckets;
106
+ return 0;
125
107
  }
@@ -11,37 +11,117 @@
11
11
 
12
12
  #include "git2/oid.h"
13
13
 
14
+ /** A map with `git_oid`s as key. */
14
15
  typedef struct kh_oid_s git_oidmap;
15
16
 
16
- git_oidmap *git_oidmap_alloc(void);
17
+ /**
18
+ * Allocate a new OID map.
19
+ *
20
+ * @param out Pointer to the map that shall be allocated.
21
+ * @return 0 on success, an error code if allocation has failed.
22
+ */
23
+ int git_oidmap_new(git_oidmap **out);
24
+
25
+ /**
26
+ * Free memory associated with the map.
27
+ *
28
+ * Note that this function will _not_ free values added to this
29
+ * map.
30
+ *
31
+ * @param map Pointer to the map that is to be free'd. May be
32
+ * `NULL`.
33
+ */
17
34
  void git_oidmap_free(git_oidmap *map);
35
+
36
+ /**
37
+ * Clear all entries from the map.
38
+ *
39
+ * This function will remove all entries from the associated map.
40
+ * Memory associated with it will not be released, though.
41
+ *
42
+ * @param map Pointer to the map that shall be cleared. May be
43
+ * `NULL`.
44
+ */
18
45
  void git_oidmap_clear(git_oidmap *map);
19
46
 
47
+ /**
48
+ * Return the number of elements in the map.
49
+ *
50
+ * @parameter map map containing the elements
51
+ * @return number of elements in the map
52
+ */
20
53
  size_t git_oidmap_size(git_oidmap *map);
21
54
 
22
- size_t git_oidmap_lookup_index(git_oidmap *map, const git_oid *key);
23
- int git_oidmap_valid_index(git_oidmap *map, size_t idx);
55
+ /**
56
+ * Return value associated with the given key.
57
+ *
58
+ * @param map map to search key in
59
+ * @param key key to search for
60
+ * @return value associated with the given key or NULL if the key was not found
61
+ */
62
+ void *git_oidmap_get(git_oidmap *map, const git_oid *key);
24
63
 
25
- int git_oidmap_exists(git_oidmap *map, const git_oid *key);
26
- int git_oidmap_has_data(git_oidmap *map, size_t idx);
64
+ /**
65
+ * Set the entry for key to value.
66
+ *
67
+ * If the map has no corresponding entry for the given key, a new
68
+ * entry will be created with the given value. If an entry exists
69
+ * already, its value will be updated to match the given value.
70
+ *
71
+ * @param map map to create new entry in
72
+ * @param key key to set
73
+ * @param value value to associate the key with; may be NULL
74
+ * @return zero if the key was successfully set, a negative error
75
+ * code otherwise
76
+ */
77
+ int git_oidmap_set(git_oidmap *map, const git_oid *key, void *value);
27
78
 
28
- const git_oid *git_oidmap_key(git_oidmap *map, size_t idx);
29
- void git_oidmap_set_key_at(git_oidmap *map, size_t idx, git_oid *key);
30
- void *git_oidmap_value_at(git_oidmap *map, size_t idx);
31
- void git_oidmap_set_value_at(git_oidmap *map, size_t idx, void *value);
32
- void git_oidmap_delete_at(git_oidmap *map, size_t idx);
79
+ /**
80
+ * Delete an entry from the map.
81
+ *
82
+ * Delete the given key and its value from the map. If no such
83
+ * key exists, this will do nothing.
84
+ *
85
+ * @param map map to delete key in
86
+ * @param key key to delete
87
+ * @return `0` if the key has been deleted, GIT_ENOTFOUND if no
88
+ * such key was found, a negative code in case of an
89
+ * error
90
+ */
91
+ int git_oidmap_delete(git_oidmap *map, const git_oid *key);
33
92
 
34
- int git_oidmap_put(git_oidmap *map, const git_oid *key, int *err);
35
- void git_oidmap_insert(git_oidmap *map, const git_oid *key, void *value, int *rval);
36
- void git_oidmap_delete(git_oidmap *map, const git_oid *key);
93
+ /**
94
+ * Check whether a key exists in the given map.
95
+ *
96
+ * @param map map to query for the key
97
+ * @param key key to search for
98
+ * @return 0 if the key has not been found, 1 otherwise
99
+ */
100
+ int git_oidmap_exists(git_oidmap *map, const git_oid *key);
37
101
 
38
- size_t git_oidmap_begin(git_oidmap *map);
39
- size_t git_oidmap_end(git_oidmap *map);
102
+ /**
103
+ * Iterate over entries of the map.
104
+ *
105
+ * This functions allows to iterate over all key-value entries of
106
+ * the map. The current position is stored in the `iter` variable
107
+ * and should be initialized to `0` before the first call to this
108
+ * function.
109
+ *
110
+ * @param map map to iterate over
111
+ * @param value pointer to the variable where to store the current
112
+ * value. May be NULL.
113
+ * @param iter iterator storing the current position. Initialize
114
+ * with zero previous to the first call.
115
+ * @param key pointer to the variable where to store the current
116
+ * key. May be NULL.
117
+ * @return `0` if the next entry was correctly retrieved.
118
+ * GIT_ITEROVER if no entries are left. A negative error
119
+ * code otherwise.
120
+ */
121
+ int git_oidmap_iterate(void **value, git_oidmap *map, size_t *iter, const git_oid **key);
40
122
 
41
- #define git_oidmap_foreach_value(h, vvar, code) { size_t __i; \
42
- for (__i = git_oidmap_begin(h); __i != git_oidmap_end(h); ++__i) { \
43
- if (!git_oidmap_has_data(h,__i)) continue; \
44
- (vvar) = git_oidmap_value_at(h,__i); \
123
+ #define git_oidmap_foreach_value(h, vvar, code) { size_t __i = 0; \
124
+ while (git_oidmap_iterate((void **) &(vvar), h, &__i, NULL) == 0) { \
45
125
  code; \
46
126
  } }
47
127
 
@@ -38,7 +38,7 @@ struct tree_walk_context {
38
38
 
39
39
  struct pack_write_context {
40
40
  git_indexer *indexer;
41
- git_transfer_progress *stats;
41
+ git_indexer_progress *stats;
42
42
  };
43
43
 
44
44
  struct walk_object {
@@ -141,12 +141,10 @@ int git_packbuilder_new(git_packbuilder **out, git_repository *repo)
141
141
  pb = git__calloc(1, sizeof(*pb));
142
142
  GIT_ERROR_CHECK_ALLOC(pb);
143
143
 
144
- pb->object_ix = git_oidmap_alloc();
145
- if (!pb->object_ix)
144
+ if (git_oidmap_new(&pb->object_ix) < 0)
146
145
  goto on_error;
147
146
 
148
- pb->walk_objects = git_oidmap_alloc();
149
- if (!pb->walk_objects)
147
+ if (git_oidmap_new(&pb->walk_objects) < 0)
150
148
  goto on_error;
151
149
 
152
150
  git_pool_init(&pb->object_pool, sizeof(struct walk_object));
@@ -194,24 +192,26 @@ unsigned int git_packbuilder_set_threads(git_packbuilder *pb, unsigned int n)
194
192
  return pb->nr_threads;
195
193
  }
196
194
 
197
- static void rehash(git_packbuilder *pb)
195
+ static int rehash(git_packbuilder *pb)
198
196
  {
199
197
  git_pobject *po;
200
- size_t pos, i;
201
- int ret;
198
+ size_t i;
202
199
 
203
200
  git_oidmap_clear(pb->object_ix);
201
+
204
202
  for (i = 0, po = pb->object_list; i < pb->nr_objects; i++, po++) {
205
- pos = git_oidmap_put(pb->object_ix, &po->id, &ret);
206
- git_oidmap_set_value_at(pb->object_ix, pos, po);
203
+ if (git_oidmap_set(pb->object_ix, &po->id, po) < 0)
204
+ return -1;
207
205
  }
206
+
207
+ return 0;
208
208
  }
209
209
 
210
210
  int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
211
211
  const char *name)
212
212
  {
213
213
  git_pobject *po;
214
- size_t newsize, pos;
214
+ size_t newsize;
215
215
  int ret;
216
216
 
217
217
  assert(pb && oid);
@@ -223,7 +223,7 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
223
223
 
224
224
  if (pb->nr_objects >= pb->nr_alloc) {
225
225
  GIT_ERROR_CHECK_ALLOC_ADD(&newsize, pb->nr_alloc, 1024);
226
- GIT_ERROR_CHECK_ALLOC_MULTIPLY(&newsize, newsize, 3 / 2);
226
+ GIT_ERROR_CHECK_ALLOC_MULTIPLY(&newsize, newsize / 2, 3);
227
227
 
228
228
  if (!git__is_uint32(newsize)) {
229
229
  git_error_set(GIT_ERROR_NOMEMORY, "packfile too large to fit in memory.");
@@ -235,7 +235,9 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
235
235
  pb->object_list = git__reallocarray(pb->object_list,
236
236
  pb->nr_alloc, sizeof(*po));
237
237
  GIT_ERROR_CHECK_ALLOC(pb->object_list);
238
- rehash(pb);
238
+
239
+ if (rehash(pb) < 0)
240
+ return -1;
239
241
  }
240
242
 
241
243
  po = pb->object_list + pb->nr_objects;
@@ -248,13 +250,10 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
248
250
  git_oid_cpy(&po->id, oid);
249
251
  po->hash = name_hash(name);
250
252
 
251
- pos = git_oidmap_put(pb->object_ix, &po->id, &ret);
252
- if (ret < 0) {
253
+ if (git_oidmap_set(pb->object_ix, &po->id, po) < 0) {
253
254
  git_error_set_oom();
254
- return ret;
255
+ return -1;
255
256
  }
256
- assert(ret != 0);
257
- git_oidmap_set_value_at(pb->object_ix, pos, po);
258
257
 
259
258
  pb->done = false;
260
259
 
@@ -375,7 +374,9 @@ static int write_object(
375
374
  GIT_ERROR_CHECK_ALLOC(zbuf);
376
375
 
377
376
  git_zstream_reset(&pb->zstream);
378
- git_zstream_set_input(&pb->zstream, data, data_len);
377
+
378
+ if ((error = git_zstream_set_input(&pb->zstream, data, data_len)) < 0)
379
+ goto done;
379
380
 
380
381
  while (!git_zstream_done(&pb->zstream)) {
381
382
  if ((error = git_zstream_get_output(zbuf, &zbuf_len, &pb->zstream)) < 0 ||
@@ -514,15 +515,12 @@ static int cb_tag_foreach(const char *name, git_oid *oid, void *data)
514
515
  {
515
516
  git_packbuilder *pb = data;
516
517
  git_pobject *po;
517
- size_t pos;
518
518
 
519
519
  GIT_UNUSED(name);
520
520
 
521
- pos = git_oidmap_lookup_index(pb->object_ix, oid);
522
- if (!git_oidmap_valid_index(pb->object_ix, pos))
521
+ if ((po = git_oidmap_get(pb->object_ix, oid)) == NULL)
523
522
  return 0;
524
523
 
525
- po = git_oidmap_value_at(pb->object_ix, pos);
526
524
  po->tagged = 1;
527
525
 
528
526
  /* TODO: peel objects */
@@ -1383,12 +1381,12 @@ int git_packbuilder_write(
1383
1381
  git_packbuilder *pb,
1384
1382
  const char *path,
1385
1383
  unsigned int mode,
1386
- git_transfer_progress_cb progress_cb,
1384
+ git_indexer_progress_cb progress_cb,
1387
1385
  void *progress_cb_payload)
1388
1386
  {
1389
1387
  git_indexer_options opts = GIT_INDEXER_OPTIONS_INIT;
1390
1388
  git_indexer *indexer;
1391
- git_transfer_progress stats;
1389
+ git_indexer_progress stats;
1392
1390
  struct pack_write_context ctx;
1393
1391
  int t;
1394
1392
 
@@ -1401,7 +1399,7 @@ int git_packbuilder_write(
1401
1399
  &indexer, path, mode, pb->odb, &opts) < 0)
1402
1400
  return -1;
1403
1401
 
1404
- if (!git_repository__cvar(&t, pb->repo, GIT_CVAR_FSYNCOBJECTFILES) && t)
1402
+ if (!git_repository__configmap_lookup(&t, pb->repo, GIT_CONFIGMAP_FSYNCOBJECTFILES) && t)
1405
1403
  git_indexer__set_fsync(indexer, 1);
1406
1404
 
1407
1405
  ctx.indexer = indexer;
@@ -1539,18 +1537,15 @@ static int lookup_walk_object(struct walk_object **out, git_packbuilder *pb, con
1539
1537
 
1540
1538
  static int retrieve_object(struct walk_object **out, git_packbuilder *pb, const git_oid *id)
1541
1539
  {
1542
- int error;
1543
- size_t pos;
1544
1540
  struct walk_object *obj;
1541
+ int error;
1545
1542
 
1546
- pos = git_oidmap_lookup_index(pb->walk_objects, id);
1547
- if (git_oidmap_valid_index(pb->walk_objects, pos)) {
1548
- obj = git_oidmap_value_at(pb->walk_objects, pos);
1549
- } else {
1543
+ if ((obj = git_oidmap_get(pb->walk_objects, id)) == NULL) {
1550
1544
  if ((error = lookup_walk_object(&obj, pb, id)) < 0)
1551
1545
  return error;
1552
1546
 
1553
- git_oidmap_insert(pb->walk_objects, &obj->id, obj, &error);
1547
+ if ((error = git_oidmap_set(pb->walk_objects, &obj->id, obj)) < 0)
1548
+ return error;
1554
1549
  }
1555
1550
 
1556
1551
  *out = obj;