rugged 1.3.1 → 1.9.0

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 (656) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -2
  3. data/ext/rugged/extconf.rb +6 -3
  4. data/ext/rugged/rugged.c +16 -0
  5. data/ext/rugged/rugged.h +4 -0
  6. data/ext/rugged/rugged_allocator.c +0 -54
  7. data/ext/rugged/rugged_blame.c +2 -0
  8. data/ext/rugged/rugged_blob.c +3 -0
  9. data/ext/rugged/rugged_commit.c +1 -0
  10. data/ext/rugged/rugged_config.c +9 -2
  11. data/ext/rugged/rugged_diff.c +1 -0
  12. data/ext/rugged/rugged_index.c +2 -0
  13. data/ext/rugged/rugged_patch.c +1 -0
  14. data/ext/rugged/rugged_rebase.c +1 -0
  15. data/ext/rugged/rugged_reference.c +1 -0
  16. data/ext/rugged/rugged_remote.c +28 -10
  17. data/ext/rugged/rugged_repo.c +7 -9
  18. data/ext/rugged/rugged_revwalk.c +5 -1
  19. data/ext/rugged/rugged_settings.c +5 -0
  20. data/ext/rugged/rugged_submodule.c +1 -0
  21. data/ext/rugged/rugged_tag.c +1 -0
  22. data/ext/rugged/rugged_tree.c +4 -0
  23. data/lib/rugged/index.rb +1 -1
  24. data/lib/rugged/tree.rb +5 -1
  25. data/lib/rugged/version.rb +1 -1
  26. data/vendor/libgit2/AUTHORS +1 -0
  27. data/vendor/libgit2/CMakeLists.txt +141 -289
  28. data/vendor/libgit2/COPYING +301 -20
  29. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  30. data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
  31. data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
  32. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  33. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  34. data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
  35. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  36. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  37. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  38. data/vendor/libgit2/cmake/FindHTTP_Parser.cmake +17 -17
  39. data/vendor/libgit2/cmake/FindIntlIconv.cmake +51 -0
  40. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  41. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  42. data/vendor/libgit2/cmake/FindPCRE.cmake +12 -13
  43. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  44. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  45. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  46. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  47. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  48. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  49. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  50. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  51. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  52. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  53. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +34 -0
  54. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +129 -101
  55. data/vendor/libgit2/cmake/SelectHashes.cmake +113 -54
  56. data/vendor/libgit2/cmake/SelectRegex.cmake +56 -0
  57. data/vendor/libgit2/cmake/SelectSSH.cmake +46 -0
  58. data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
  59. data/vendor/libgit2/cmake/SelectZlib.cmake +38 -0
  60. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  61. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  62. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  63. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  64. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  65. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  66. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  67. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
  68. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  69. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  70. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  71. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +7 -5
  72. data/vendor/libgit2/deps/ntlmclient/ntlm.c +25 -25
  73. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  74. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  75. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  76. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  77. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  78. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  79. data/vendor/libgit2/deps/pcre/CMakeLists.txt +89 -88
  80. data/vendor/libgit2/deps/pcre/LICENCE +5 -5
  81. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  82. data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
  83. data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
  84. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  85. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
  86. data/vendor/libgit2/deps/xdiff/git-xdiff.h +56 -0
  87. data/vendor/libgit2/{src → deps}/xdiff/xdiff.h +15 -15
  88. data/vendor/libgit2/{src → deps}/xdiff/xdiffi.c +152 -125
  89. data/vendor/libgit2/{src → deps}/xdiff/xdiffi.h +2 -4
  90. data/vendor/libgit2/{src → deps}/xdiff/xemit.c +26 -10
  91. data/vendor/libgit2/{src → deps}/xdiff/xhistogram.c +92 -94
  92. data/vendor/libgit2/{src → deps}/xdiff/xinclude.h +1 -12
  93. data/vendor/libgit2/{src → deps}/xdiff/xmacros.h +18 -1
  94. data/vendor/libgit2/{src → deps}/xdiff/xmerge.c +126 -137
  95. data/vendor/libgit2/{src → deps}/xdiff/xpatience.c +26 -46
  96. data/vendor/libgit2/{src → deps}/xdiff/xprepare.c +24 -46
  97. data/vendor/libgit2/{src → deps}/xdiff/xutils.c +36 -8
  98. data/vendor/libgit2/{src → deps}/xdiff/xutils.h +2 -1
  99. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  100. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  101. data/vendor/libgit2/deps/zlib/adler32.c +7 -22
  102. data/vendor/libgit2/deps/zlib/crc32.c +931 -317
  103. data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
  104. data/vendor/libgit2/deps/zlib/deflate.c +428 -453
  105. data/vendor/libgit2/deps/zlib/deflate.h +51 -23
  106. data/vendor/libgit2/deps/zlib/gzguts.h +15 -19
  107. data/vendor/libgit2/deps/zlib/infback.c +19 -31
  108. data/vendor/libgit2/deps/zlib/inffast.c +15 -18
  109. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  110. data/vendor/libgit2/deps/zlib/inflate.c +75 -110
  111. data/vendor/libgit2/deps/zlib/inflate.h +3 -2
  112. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  113. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  114. data/vendor/libgit2/deps/zlib/trees.c +294 -380
  115. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  116. data/vendor/libgit2/deps/zlib/zlib.h +310 -284
  117. data/vendor/libgit2/deps/zlib/zutil.c +20 -46
  118. data/vendor/libgit2/deps/zlib/zutil.h +24 -41
  119. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  120. data/vendor/libgit2/include/git2/apply.h +43 -8
  121. data/vendor/libgit2/include/git2/attr.h +28 -6
  122. data/vendor/libgit2/include/git2/blame.h +137 -29
  123. data/vendor/libgit2/include/git2/blob.h +85 -29
  124. data/vendor/libgit2/include/git2/branch.h +25 -16
  125. data/vendor/libgit2/include/git2/buffer.h +24 -82
  126. data/vendor/libgit2/include/git2/cert.h +4 -3
  127. data/vendor/libgit2/include/git2/checkout.h +88 -34
  128. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  129. data/vendor/libgit2/include/git2/clone.h +28 -12
  130. data/vendor/libgit2/include/git2/commit.h +134 -3
  131. data/vendor/libgit2/include/git2/common.h +172 -59
  132. data/vendor/libgit2/include/git2/config.h +118 -32
  133. data/vendor/libgit2/include/git2/credential.h +32 -3
  134. data/vendor/libgit2/include/git2/credential_helpers.h +2 -0
  135. data/vendor/libgit2/include/git2/deprecated.h +141 -3
  136. data/vendor/libgit2/include/git2/describe.h +20 -3
  137. data/vendor/libgit2/include/git2/diff.h +95 -19
  138. data/vendor/libgit2/include/git2/email.h +10 -30
  139. data/vendor/libgit2/include/git2/errors.h +51 -61
  140. data/vendor/libgit2/include/git2/experimental.h +20 -0
  141. data/vendor/libgit2/include/git2/filter.h +21 -9
  142. data/vendor/libgit2/include/git2/global.h +8 -1
  143. data/vendor/libgit2/include/git2/graph.h +4 -2
  144. data/vendor/libgit2/include/git2/ignore.h +11 -1
  145. data/vendor/libgit2/include/git2/index.h +111 -11
  146. data/vendor/libgit2/include/git2/indexer.h +67 -2
  147. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  148. data/vendor/libgit2/include/git2/merge.h +70 -5
  149. data/vendor/libgit2/include/git2/message.h +4 -2
  150. data/vendor/libgit2/include/git2/net.h +3 -1
  151. data/vendor/libgit2/include/git2/notes.h +9 -6
  152. data/vendor/libgit2/include/git2/object.h +57 -7
  153. data/vendor/libgit2/include/git2/odb.h +156 -33
  154. data/vendor/libgit2/include/git2/odb_backend.h +132 -16
  155. data/vendor/libgit2/include/git2/oid.h +116 -17
  156. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  157. data/vendor/libgit2/include/git2/pack.h +37 -9
  158. data/vendor/libgit2/include/git2/patch.h +10 -3
  159. data/vendor/libgit2/include/git2/pathspec.h +10 -1
  160. data/vendor/libgit2/include/git2/proxy.h +11 -1
  161. data/vendor/libgit2/include/git2/rebase.h +18 -7
  162. data/vendor/libgit2/include/git2/refdb.h +5 -2
  163. data/vendor/libgit2/include/git2/reflog.h +4 -3
  164. data/vendor/libgit2/include/git2/refs.h +11 -8
  165. data/vendor/libgit2/include/git2/refspec.h +14 -4
  166. data/vendor/libgit2/include/git2/remote.h +295 -54
  167. data/vendor/libgit2/include/git2/repository.h +95 -25
  168. data/vendor/libgit2/include/git2/reset.h +18 -5
  169. data/vendor/libgit2/include/git2/revert.h +9 -4
  170. data/vendor/libgit2/include/git2/revparse.h +4 -4
  171. data/vendor/libgit2/include/git2/revwalk.h +7 -3
  172. data/vendor/libgit2/include/git2/signature.h +47 -2
  173. data/vendor/libgit2/include/git2/stash.h +78 -10
  174. data/vendor/libgit2/include/git2/status.h +24 -11
  175. data/vendor/libgit2/include/git2/stdint.h +87 -85
  176. data/vendor/libgit2/include/git2/strarray.h +2 -16
  177. data/vendor/libgit2/include/git2/submodule.h +27 -11
  178. data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
  179. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  180. data/vendor/libgit2/include/git2/sys/commit_graph.h +110 -59
  181. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  182. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  183. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  184. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  185. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  186. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  187. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  188. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  189. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  190. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  191. data/vendor/libgit2/include/git2/sys/midx.h +47 -4
  192. data/vendor/libgit2/include/git2/sys/odb_backend.h +10 -9
  193. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  194. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  195. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  196. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  197. data/vendor/libgit2/include/git2/sys/remote.h +53 -0
  198. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  199. data/vendor/libgit2/include/git2/sys/stream.h +26 -3
  200. data/vendor/libgit2/include/git2/sys/transport.h +87 -41
  201. data/vendor/libgit2/include/git2/tag.h +4 -1
  202. data/vendor/libgit2/include/git2/trace.h +9 -3
  203. data/vendor/libgit2/include/git2/transaction.h +3 -2
  204. data/vendor/libgit2/include/git2/transport.h +11 -3
  205. data/vendor/libgit2/include/git2/tree.h +20 -8
  206. data/vendor/libgit2/include/git2/types.h +26 -10
  207. data/vendor/libgit2/include/git2/version.h +63 -6
  208. data/vendor/libgit2/include/git2/worktree.h +30 -8
  209. data/vendor/libgit2/include/git2.h +1 -0
  210. data/vendor/libgit2/src/CMakeLists.txt +203 -420
  211. data/vendor/libgit2/src/README.md +12 -0
  212. data/vendor/libgit2/src/cli/CMakeLists.txt +56 -0
  213. data/vendor/libgit2/src/cli/README.md +26 -0
  214. data/vendor/libgit2/src/{branch.h → cli/cmd.c} +10 -8
  215. data/vendor/libgit2/src/cli/cmd.h +37 -0
  216. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  217. data/vendor/libgit2/src/cli/cmd_cat_file.c +202 -0
  218. data/vendor/libgit2/src/cli/cmd_clone.c +190 -0
  219. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  220. data/vendor/libgit2/src/cli/cmd_hash_object.c +152 -0
  221. data/vendor/libgit2/src/cli/cmd_help.c +85 -0
  222. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  223. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  224. data/vendor/libgit2/src/cli/common.c +168 -0
  225. data/vendor/libgit2/src/cli/common.h +63 -0
  226. data/vendor/libgit2/src/cli/error.h +51 -0
  227. data/vendor/libgit2/src/cli/main.c +134 -0
  228. data/vendor/libgit2/src/cli/opt.c +695 -0
  229. data/vendor/libgit2/src/cli/opt.h +367 -0
  230. data/vendor/libgit2/src/cli/opt_usage.c +263 -0
  231. data/vendor/libgit2/src/cli/opt_usage.h +40 -0
  232. data/vendor/libgit2/src/cli/progress.c +395 -0
  233. data/vendor/libgit2/src/cli/progress.h +129 -0
  234. data/vendor/libgit2/src/cli/sighandler.h +20 -0
  235. data/vendor/libgit2/src/cli/unix/sighandler.c +37 -0
  236. data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
  237. data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
  238. data/vendor/libgit2/src/libgit2/CMakeLists.txt +140 -0
  239. data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +2 -2
  240. data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
  241. data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +32 -34
  242. data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
  243. data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +48 -31
  244. data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +25 -20
  245. data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +6 -4
  246. data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +87 -46
  247. data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +5 -9
  248. data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +152 -57
  249. data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +1 -0
  250. data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -2
  251. data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
  252. data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
  253. data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
  254. data/vendor/libgit2/src/libgit2/branch.h +31 -0
  255. data/vendor/libgit2/src/libgit2/buf.c +126 -0
  256. data/vendor/libgit2/src/libgit2/buf.h +50 -0
  257. data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +22 -17
  258. data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +7 -9
  259. data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +107 -91
  260. data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -2
  261. data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +14 -15
  262. data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +254 -203
  263. data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +4 -1
  264. data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +296 -77
  265. data/vendor/libgit2/src/libgit2/commit.h +87 -0
  266. data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +246 -135
  267. data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +33 -8
  268. data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +17 -7
  269. data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +1 -0
  270. data/vendor/libgit2/src/libgit2/common.h +55 -0
  271. data/vendor/libgit2/src/{config.c → libgit2/config.c} +490 -360
  272. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  273. data/vendor/libgit2/src/{config.h → libgit2/config.h} +24 -6
  274. data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +8 -10
  275. data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +4 -5
  276. data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +212 -183
  277. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  278. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  279. data/vendor/libgit2/src/libgit2/config_mem.c +374 -0
  280. data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +37 -32
  281. data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +24 -31
  282. data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
  283. data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +62 -51
  284. data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +44 -14
  285. data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +8 -10
  286. data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +46 -55
  287. data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +5 -5
  288. data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +45 -27
  289. data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +70 -20
  290. data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
  291. data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +22 -6
  292. data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +192 -105
  293. data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
  294. data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
  295. data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +49 -16
  296. data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
  297. data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +1 -1
  298. data/vendor/libgit2/src/{email.c → libgit2/email.c} +58 -40
  299. data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
  300. data/vendor/libgit2/src/{transports/ssh.h → libgit2/experimental.h.in} +3 -4
  301. data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +105 -30
  302. data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -3
  303. data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +30 -28
  304. data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +132 -58
  305. data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
  306. data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +3 -3
  307. data/vendor/libgit2/src/libgit2/grafts.c +270 -0
  308. data/vendor/libgit2/src/libgit2/grafts.h +35 -0
  309. data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +1 -1
  310. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  311. data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
  312. data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +44 -39
  313. data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
  314. data/vendor/libgit2/src/{index.c → libgit2/index.c} +460 -276
  315. data/vendor/libgit2/src/{index.h → libgit2/index.h} +21 -5
  316. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  317. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  318. data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +208 -124
  319. data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +102 -71
  320. data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +8 -5
  321. data/vendor/libgit2/src/libgit2/libgit2.c +268 -0
  322. data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +39 -37
  323. data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +83 -73
  324. data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
  325. data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +4 -4
  326. data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -5
  327. data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
  328. data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +174 -112
  329. data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +17 -6
  330. data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +53 -57
  331. data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +9 -2
  332. data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +29 -37
  333. data/vendor/libgit2/src/{object.c → libgit2/object.c} +166 -35
  334. data/vendor/libgit2/src/{object.h → libgit2/object.h} +17 -2
  335. data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +261 -88
  336. data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
  337. data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
  338. data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +67 -22
  339. data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +162 -89
  340. data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +171 -92
  341. data/vendor/libgit2/src/libgit2/oid.h +284 -0
  342. data/vendor/libgit2/src/libgit2/oidarray.c +89 -0
  343. data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +5 -1
  344. data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +126 -66
  345. data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +28 -12
  346. data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +146 -111
  347. data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +45 -25
  348. data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +8 -4
  349. data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +1 -1
  350. data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
  351. data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +8 -1
  352. data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +51 -16
  353. data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
  354. data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +42 -34
  355. data/vendor/libgit2/src/libgit2/path.c +375 -0
  356. data/vendor/libgit2/src/libgit2/path.h +68 -0
  357. data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +7 -7
  358. data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
  359. data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
  360. data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
  361. data/vendor/libgit2/src/{push.c → libgit2/push.c} +116 -60
  362. data/vendor/libgit2/src/{push.h → libgit2/push.h} +5 -16
  363. data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
  364. data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
  365. data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +147 -147
  366. data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +639 -254
  367. data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +8 -7
  368. data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +3 -2
  369. data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +67 -39
  370. data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +8 -3
  371. data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +60 -38
  372. data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +13 -2
  373. data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +821 -454
  374. data/vendor/libgit2/src/libgit2/remote.h +101 -0
  375. data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +1377 -594
  376. data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +43 -12
  377. data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
  378. data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +18 -22
  379. data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +76 -44
  380. data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +48 -19
  381. data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +3 -3
  382. data/vendor/libgit2/src/{libgit2.c → libgit2/settings.c} +162 -95
  383. data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +6 -2
  384. data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +144 -21
  385. data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -2
  386. data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +243 -68
  387. data/vendor/libgit2/src/{status.c → libgit2/status.c} +5 -2
  388. data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
  389. data/vendor/libgit2/src/libgit2/strarray.h +25 -0
  390. data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +62 -67
  391. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +41 -24
  392. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +2 -0
  393. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +11 -3
  394. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +6 -3
  395. data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
  396. data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
  397. data/vendor/libgit2/src/libgit2/streams/socket.c +428 -0
  398. data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +3 -1
  399. data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +79 -19
  400. data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +5 -0
  401. data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +279 -220
  402. data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +10 -11
  403. data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
  404. data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +55 -18
  405. data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +74 -43
  406. data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
  407. data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
  408. data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
  409. data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +7 -7
  410. data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +27 -21
  411. data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +4 -1
  412. data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +14 -11
  413. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
  414. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +3 -5
  415. data/vendor/libgit2/src/{transports/auth_negotiate.c → libgit2/transports/auth_gssapi.c} +44 -45
  416. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +1 -1
  417. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +1 -2
  418. data/vendor/libgit2/src/{transports/auth_ntlm.c → libgit2/transports/auth_ntlmclient.c} +22 -22
  419. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
  420. data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +1 -1
  421. data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +16 -19
  422. data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +49 -24
  423. data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +0 -11
  424. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +188 -134
  425. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
  426. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  427. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  428. data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +159 -127
  429. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +142 -165
  430. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +56 -36
  431. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +307 -74
  432. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +297 -97
  433. data/vendor/libgit2/src/libgit2/transports/ssh.c +85 -0
  434. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  435. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  436. data/vendor/libgit2/src/{transports/ssh.c → libgit2/transports/ssh_libssh2.c} +414 -268
  437. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  438. data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +101 -75
  439. data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +30 -20
  440. data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +7 -5
  441. data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +128 -110
  442. data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +7 -6
  443. data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +160 -121
  444. data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
  445. data/vendor/libgit2/src/util/CMakeLists.txt +77 -0
  446. data/vendor/libgit2/src/{alloc.c → util/alloc.c} +69 -7
  447. data/vendor/libgit2/src/util/alloc.h +65 -0
  448. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  449. data/vendor/libgit2/src/util/allocators/debugalloc.h +17 -0
  450. data/vendor/libgit2/src/util/allocators/failalloc.c +32 -0
  451. data/vendor/libgit2/src/util/allocators/failalloc.h +17 -0
  452. data/vendor/libgit2/src/util/allocators/stdalloc.c +37 -0
  453. data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
  454. data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +50 -0
  455. data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
  456. data/vendor/libgit2/src/{array.h → util/array.h} +25 -19
  457. data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
  458. data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +5 -1
  459. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  460. data/vendor/libgit2/src/{date.c → util/date.c} +35 -33
  461. data/vendor/libgit2/src/util/date.h +45 -0
  462. data/vendor/libgit2/src/util/errors.c +401 -0
  463. data/vendor/libgit2/src/{errors.h → util/errors.h} +22 -19
  464. data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +35 -30
  465. data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +21 -8
  466. data/vendor/libgit2/src/{path.c → util/fs_path.c} +591 -615
  467. data/vendor/libgit2/src/{path.h → util/fs_path.h} +257 -181
  468. data/vendor/libgit2/src/{futils.c → util/futils.c} +144 -95
  469. data/vendor/libgit2/src/{futils.h → util/futils.h} +40 -18
  470. data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +33 -2
  471. data/vendor/libgit2/src/{common.h → util/git2_util.h} +26 -59
  472. data/vendor/libgit2/src/util/hash/builtin.c +53 -0
  473. data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
  474. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
  475. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
  476. data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
  477. data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
  478. data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
  479. data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
  480. data/vendor/libgit2/src/util/hash/openssl.c +347 -0
  481. data/vendor/libgit2/src/util/hash/openssl.h +61 -0
  482. data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
  483. data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
  484. data/vendor/libgit2/src/util/hash/sha.h +73 -0
  485. data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
  486. data/vendor/libgit2/src/util/hash/win32.c +549 -0
  487. data/vendor/libgit2/src/util/hash/win32.h +60 -0
  488. data/vendor/libgit2/src/util/hash.c +158 -0
  489. data/vendor/libgit2/src/util/hash.h +61 -0
  490. data/vendor/libgit2/src/util/hashmap.h +424 -0
  491. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  492. data/vendor/libgit2/src/{integer.h → util/integer.h} +3 -1
  493. data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
  494. data/vendor/libgit2/src/util/net.c +1160 -0
  495. data/vendor/libgit2/src/{net.h → util/net.h} +45 -4
  496. data/vendor/libgit2/src/{pool.c → util/pool.c} +1 -1
  497. data/vendor/libgit2/src/{pool.h → util/pool.h} +6 -1
  498. data/vendor/libgit2/src/{posix.c → util/posix.c} +57 -3
  499. data/vendor/libgit2/src/{posix.h → util/posix.h} +26 -1
  500. data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +3 -3
  501. data/vendor/libgit2/src/util/process.h +222 -0
  502. data/vendor/libgit2/src/util/rand.c +230 -0
  503. data/vendor/libgit2/src/util/rand.h +37 -0
  504. data/vendor/libgit2/src/{regexp.c → util/regexp.c} +5 -5
  505. data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
  506. data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
  507. data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
  508. data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +15 -14
  509. data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +5 -5
  510. data/vendor/libgit2/src/util/staticstr.h +66 -0
  511. data/vendor/libgit2/src/{buffer.c → util/str.c} +159 -153
  512. data/vendor/libgit2/src/util/str.h +357 -0
  513. data/vendor/libgit2/src/util/strlist.c +108 -0
  514. data/vendor/libgit2/src/util/strlist.h +36 -0
  515. data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
  516. data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
  517. data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
  518. data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
  519. data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -6
  520. data/vendor/libgit2/src/util/unix/process.c +629 -0
  521. data/vendor/libgit2/src/{unix → util/unix}/realpath.c +24 -8
  522. data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
  523. data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
  524. data/vendor/libgit2/src/{util.c → util/util.c} +24 -19
  525. data/vendor/libgit2/src/{util.h → util/util.h} +30 -81
  526. data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
  527. data/vendor/libgit2/src/{vector.c → util/vector.c} +3 -3
  528. data/vendor/libgit2/src/{vector.h → util/vector.h} +4 -4
  529. data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
  530. data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
  531. data/vendor/libgit2/src/{win32 → util/win32}/error.c +1 -1
  532. data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
  533. data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
  534. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +148 -17
  535. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
  536. data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
  537. data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +42 -35
  538. data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
  539. data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
  540. data/vendor/libgit2/src/util/win32/process.c +506 -0
  541. data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
  542. data/vendor/libgit2/src/util/win32/utf-conv.c +144 -0
  543. data/vendor/libgit2/src/util/win32/utf-conv.h +127 -0
  544. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
  545. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
  546. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
  547. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
  548. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +1 -1
  549. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
  550. data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
  551. data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
  552. metadata +431 -362
  553. data/vendor/libgit2/cmake/FindIconv.cmake +0 -45
  554. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  555. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  556. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  557. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  558. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  559. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  560. data/vendor/libgit2/src/alloc.h +0 -40
  561. data/vendor/libgit2/src/allocators/failalloc.c +0 -92
  562. data/vendor/libgit2/src/allocators/failalloc.h +0 -23
  563. data/vendor/libgit2/src/allocators/stdalloc.c +0 -150
  564. data/vendor/libgit2/src/allocators/win32_leakcheck.c +0 -118
  565. data/vendor/libgit2/src/buffer.h +0 -374
  566. data/vendor/libgit2/src/commit.h +0 -46
  567. data/vendor/libgit2/src/config_entries.c +0 -237
  568. data/vendor/libgit2/src/config_entries.h +0 -24
  569. data/vendor/libgit2/src/config_mem.c +0 -220
  570. data/vendor/libgit2/src/errors.c +0 -238
  571. data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
  572. data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
  573. data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
  574. data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
  575. data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
  576. data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
  577. data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
  578. data/vendor/libgit2/src/hash/sha1.h +0 -38
  579. data/vendor/libgit2/src/hash.c +0 -110
  580. data/vendor/libgit2/src/hash.h +0 -46
  581. data/vendor/libgit2/src/idxmap.c +0 -157
  582. data/vendor/libgit2/src/idxmap.h +0 -177
  583. data/vendor/libgit2/src/khash.h +0 -615
  584. data/vendor/libgit2/src/libgit2.h +0 -15
  585. data/vendor/libgit2/src/message.h +0 -17
  586. data/vendor/libgit2/src/net.c +0 -540
  587. data/vendor/libgit2/src/netops.c +0 -125
  588. data/vendor/libgit2/src/netops.h +0 -68
  589. data/vendor/libgit2/src/offmap.c +0 -101
  590. data/vendor/libgit2/src/offmap.h +0 -133
  591. data/vendor/libgit2/src/oid.h +0 -51
  592. data/vendor/libgit2/src/oidarray.c +0 -43
  593. data/vendor/libgit2/src/oidmap.c +0 -107
  594. data/vendor/libgit2/src/oidmap.h +0 -128
  595. data/vendor/libgit2/src/remote.h +0 -55
  596. data/vendor/libgit2/src/streams/socket.c +0 -239
  597. data/vendor/libgit2/src/strmap.c +0 -100
  598. data/vendor/libgit2/src/strmap.h +0 -131
  599. data/vendor/libgit2/src/sysdir.c +0 -347
  600. data/vendor/libgit2/src/threadstate.c +0 -84
  601. data/vendor/libgit2/src/threadstate.h +0 -24
  602. data/vendor/libgit2/src/win32/findfile.c +0 -230
  603. data/vendor/libgit2/src/win32/findfile.h +0 -19
  604. data/vendor/libgit2/src/win32/utf-conv.c +0 -146
  605. data/vendor/libgit2/src/win32/utf-conv.h +0 -60
  606. /data/vendor/libgit2/{src → deps}/xdiff/xemit.h +0 -0
  607. /data/vendor/libgit2/{src → deps}/xdiff/xprepare.h +0 -0
  608. /data/vendor/libgit2/{src → deps}/xdiff/xtypes.h +0 -0
  609. /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
  610. /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
  611. /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
  612. /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
  613. /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
  614. /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
  615. /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
  616. /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
  617. /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
  618. /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
  619. /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
  620. /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
  621. /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
  622. /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
  623. /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
  624. /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
  625. /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
  626. /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
  627. /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
  628. /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
  629. /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
  630. /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
  631. /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
  632. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
  633. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
  634. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
  635. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
  636. /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
  637. /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
  638. /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
  639. /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
  640. /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
  641. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
  642. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
  643. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
  644. /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
  645. /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
  646. /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
  647. /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
  648. /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
  649. /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
  650. /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
  651. /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
  652. /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
  653. /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
  654. /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
  655. /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
  656. /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
@@ -17,6 +17,7 @@
17
17
  #include "map.h"
18
18
  #include "mwindow.h"
19
19
  #include "odb.h"
20
+ #include "oid.h"
20
21
 
21
22
  /*
22
23
  * A multi-pack-index file.
@@ -40,7 +41,7 @@ typedef struct git_midx_file {
40
41
  uint32_t num_objects;
41
42
 
42
43
  /* The OID Lookup table. */
43
- git_oid *oid_lookup;
44
+ unsigned char *oid_lookup;
44
45
 
45
46
  /* The Object Offsets table. Each entry has two 4-byte fields with the pack index and the offset. */
46
47
  const unsigned char *object_offsets;
@@ -50,11 +51,17 @@ typedef struct git_midx_file {
50
51
  /* The number of entries in the Object Large Offsets table. Each entry has an 8-byte with an offset */
51
52
  size_t num_object_large_offsets;
52
53
 
53
- /* The trailer of the file. Contains the SHA1-checksum of the whole file. */
54
- git_oid checksum;
54
+ /*
55
+ * The trailer of the file. Contains the checksum of the whole
56
+ * file, in the repository's object format hash.
57
+ */
58
+ unsigned char checksum[GIT_HASH_MAX_SIZE];
59
+
60
+ /* The type of object IDs in the midx. */
61
+ git_oid_t oid_type;
55
62
 
56
63
  /* something like ".git/objects/pack/multi-pack-index". */
57
- git_buf filename;
64
+ git_str filename;
58
65
  } git_midx_file;
59
66
 
60
67
  /*
@@ -77,15 +84,19 @@ struct git_midx_writer {
77
84
  * The path of the directory where the .pack/.idx files are stored. The
78
85
  * `multi-pack-index` file will be written to the same directory.
79
86
  */
80
- git_buf pack_dir;
87
+ git_str pack_dir;
81
88
 
82
89
  /* The list of `git_pack_file`s. */
83
90
  git_vector packs;
91
+
92
+ /* The object ID type of the writer. */
93
+ git_oid_t oid_type;
84
94
  };
85
95
 
86
96
  int git_midx_open(
87
97
  git_midx_file **idx_out,
88
- const char *path);
98
+ const char *path,
99
+ git_oid_t oid_type);
89
100
  bool git_midx_needs_refresh(
90
101
  const git_midx_file *idx,
91
102
  const char *path);
@@ -11,7 +11,6 @@
11
11
  #include "futils.h"
12
12
  #include "map.h"
13
13
  #include "runtime.h"
14
- #include "strmap.h"
15
14
  #include "pack.h"
16
15
 
17
16
  #define DEFAULT_WINDOW_SIZE \
@@ -29,39 +28,36 @@ size_t git_mwindow__window_size = DEFAULT_WINDOW_SIZE;
29
28
  size_t git_mwindow__mapped_limit = DEFAULT_MAPPED_LIMIT;
30
29
  size_t git_mwindow__file_limit = DEFAULT_FILE_LIMIT;
31
30
 
32
- /* Mutex to control access to `git_mwindow__mem_ctl` and `git__pack_cache`. */
33
- git_mutex git__mwindow_mutex;
31
+ /* Mutex to control access to `git_mwindow__mem_ctl` and `git_mwindow__pack_cache`. */
32
+ git_mutex git_mwindow__mutex;
34
33
 
35
- /* Whenever you want to read or modify this, grab `git__mwindow_mutex` */
34
+ /* Whenever you want to read or modify this, grab `git_mwindow__mutex` */
36
35
  git_mwindow_ctl git_mwindow__mem_ctl;
37
36
 
38
37
  /* Global list of mwindow files, to open packs once across repos */
39
- git_strmap *git__pack_cache = NULL;
38
+ GIT_HASHMAP_STR_FUNCTIONS(git_mwindow_packmap, , struct git_pack_file *);
39
+ git_mwindow_packmap git_mwindow__pack_cache;
40
40
 
41
41
  static void git_mwindow_global_shutdown(void)
42
42
  {
43
- git_strmap *tmp = git__pack_cache;
44
-
45
- git_mutex_free(&git__mwindow_mutex);
46
-
47
- git__pack_cache = NULL;
48
- git_strmap_free(tmp);
43
+ git_mutex_free(&git_mwindow__mutex);
44
+ git_mwindow_packmap_dispose(&git_mwindow__pack_cache);
49
45
  }
50
46
 
51
47
  int git_mwindow_global_init(void)
52
48
  {
53
49
  int error;
54
50
 
55
- GIT_ASSERT(!git__pack_cache);
56
-
57
- if ((error = git_mutex_init(&git__mwindow_mutex)) < 0 ||
58
- (error = git_strmap_new(&git__pack_cache)) < 0)
51
+ if ((error = git_mutex_init(&git_mwindow__mutex)) < 0)
59
52
  return error;
60
53
 
61
54
  return git_runtime_shutdown_register(git_mwindow_global_shutdown);
62
55
  }
63
56
 
64
- int git_mwindow_get_pack(struct git_pack_file **out, const char *path)
57
+ int git_mwindow_get_pack(
58
+ struct git_pack_file **out,
59
+ const char *path,
60
+ git_oid_t oid_type)
65
61
  {
66
62
  struct git_pack_file *pack;
67
63
  char *packname;
@@ -70,31 +66,34 @@ int git_mwindow_get_pack(struct git_pack_file **out, const char *path)
70
66
  if ((error = git_packfile__name(&packname, path)) < 0)
71
67
  return error;
72
68
 
73
- if (git_mutex_lock(&git__mwindow_mutex) < 0) {
69
+ if (git_mutex_lock(&git_mwindow__mutex) < 0) {
74
70
  git_error_set(GIT_ERROR_OS, "failed to lock mwindow mutex");
75
71
  return -1;
76
72
  }
77
73
 
78
- pack = git_strmap_get(git__pack_cache, packname);
74
+ error = git_mwindow_packmap_get(&pack, &git_mwindow__pack_cache, packname);
79
75
  git__free(packname);
80
76
 
81
- if (pack != NULL) {
77
+ if (error == 0) {
82
78
  git_atomic32_inc(&pack->refcount);
83
- git_mutex_unlock(&git__mwindow_mutex);
79
+ git_mutex_unlock(&git_mwindow__mutex);
84
80
  *out = pack;
85
81
  return 0;
82
+ } else if (error != GIT_ENOTFOUND) {
83
+ return error;
86
84
  }
87
85
 
88
86
  /* If we didn't find it, we need to create it */
89
- if ((error = git_packfile_alloc(&pack, path)) < 0) {
90
- git_mutex_unlock(&git__mwindow_mutex);
87
+ if ((error = git_packfile_alloc(&pack, path, oid_type)) < 0) {
88
+ git_mutex_unlock(&git_mwindow__mutex);
91
89
  return error;
92
90
  }
93
91
 
94
92
  git_atomic32_inc(&pack->refcount);
95
93
 
96
- error = git_strmap_set(git__pack_cache, pack->pack_name, pack);
97
- git_mutex_unlock(&git__mwindow_mutex);
94
+ error = git_mwindow_packmap_put(&git_mwindow__pack_cache, pack->pack_name, pack);
95
+ git_mutex_unlock(&git_mwindow__mutex);
96
+
98
97
  if (error < 0) {
99
98
  git_packfile_free(pack, false);
100
99
  return error;
@@ -109,21 +108,18 @@ int git_mwindow_put_pack(struct git_pack_file *pack)
109
108
  int count, error;
110
109
  struct git_pack_file *pack_to_delete = NULL;
111
110
 
112
- if ((error = git_mutex_lock(&git__mwindow_mutex)) < 0)
111
+ if ((error = git_mutex_lock(&git_mwindow__mutex)) < 0)
113
112
  return error;
114
113
 
115
- /* put before get would be a corrupted state */
116
- GIT_ASSERT(git__pack_cache);
117
-
118
114
  /* if we cannot find it, the state is corrupted */
119
- GIT_ASSERT(git_strmap_exists(git__pack_cache, pack->pack_name));
115
+ GIT_ASSERT(git_mwindow_packmap_contains(&git_mwindow__pack_cache, pack->pack_name));
120
116
 
121
117
  count = git_atomic32_dec(&pack->refcount);
122
118
  if (count == 0) {
123
- git_strmap_delete(git__pack_cache, pack->pack_name);
119
+ git_mwindow_packmap_remove(&git_mwindow__pack_cache, pack->pack_name);
124
120
  pack_to_delete = pack;
125
121
  }
126
- git_mutex_unlock(&git__mwindow_mutex);
122
+ git_mutex_unlock(&git_mwindow__mutex);
127
123
  git_packfile_free(pack_to_delete, false);
128
124
 
129
125
  return 0;
@@ -131,7 +127,7 @@ int git_mwindow_put_pack(struct git_pack_file *pack)
131
127
 
132
128
  /*
133
129
  * Free all the windows in a sequence, typically because we're done
134
- * with the file. Needs to hold the git__mwindow_mutex.
130
+ * with the file. Needs to hold the git_mwindow__mutex.
135
131
  */
136
132
  static int git_mwindow_free_all_locked(git_mwindow_file *mwf)
137
133
  {
@@ -149,7 +145,7 @@ static int git_mwindow_free_all_locked(git_mwindow_file *mwf)
149
145
  }
150
146
 
151
147
  if (ctl->windowfiles.length == 0) {
152
- git_vector_free(&ctl->windowfiles);
148
+ git_vector_dispose(&ctl->windowfiles);
153
149
  ctl->windowfiles.contents = NULL;
154
150
  }
155
151
 
@@ -173,26 +169,29 @@ int git_mwindow_free_all(git_mwindow_file *mwf)
173
169
  {
174
170
  int error;
175
171
 
176
- if (git_mutex_lock(&git__mwindow_mutex)) {
172
+ if (git_mutex_lock(&git_mwindow__mutex)) {
177
173
  git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
178
174
  return -1;
179
175
  }
180
176
 
181
177
  error = git_mwindow_free_all_locked(mwf);
182
178
 
183
- git_mutex_unlock(&git__mwindow_mutex);
179
+ git_mutex_unlock(&git_mwindow__mutex);
184
180
 
185
181
  return error;
186
182
  }
187
183
 
188
184
  /*
189
- * Check if a window 'win' contains the address 'offset'
185
+ * Check if a window 'win' contains both the address 'offset' and 'extra'.
186
+ *
187
+ * 'extra' is the size of the hash we're using as we always want to make sure
188
+ * that it's contained.
190
189
  */
191
- int git_mwindow_contains(git_mwindow *win, off64_t offset)
190
+ int git_mwindow_contains(git_mwindow *win, off64_t offset, off64_t extra)
192
191
  {
193
192
  off64_t win_off = win->offset;
194
193
  return win_off <= offset
195
- && offset <= (off64_t)(win_off + win->window_map.len);
194
+ && (offset + extra) <= (off64_t)(win_off + win->window_map.len);
196
195
  }
197
196
 
198
197
  #define GIT_MWINDOW__LRU -1
@@ -237,9 +236,7 @@ static bool git_mwindow_scan_recently_used(
237
236
  * store it in the output parameter. If lru_window is NULL,
238
237
  * it's the first loop, so store it as well.
239
238
  */
240
- if (!lru_window ||
241
- (comparison_sign == GIT_MWINDOW__LRU && lru_window->last_used > w->last_used) ||
242
- (comparison_sign == GIT_MWINDOW__MRU && lru_window->last_used < w->last_used)) {
239
+ if (!lru_window || (comparison_sign * w->last_used) > lru_window->last_used) {
243
240
  lru_window = w;
244
241
  lru_last = w_last;
245
242
  found = true;
@@ -401,19 +398,18 @@ unsigned char *git_mwindow_open(
401
398
  git_mwindow_ctl *ctl = &git_mwindow__mem_ctl;
402
399
  git_mwindow *w = *cursor;
403
400
 
404
- if (git_mutex_lock(&git__mwindow_mutex)) {
401
+ if (git_mutex_lock(&git_mwindow__mutex)) {
405
402
  git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
406
403
  return NULL;
407
404
  }
408
405
 
409
- if (!w || !(git_mwindow_contains(w, offset) && git_mwindow_contains(w, offset + extra))) {
406
+ if (!w || !(git_mwindow_contains(w, offset, extra))) {
410
407
  if (w) {
411
408
  w->inuse_cnt--;
412
409
  }
413
410
 
414
411
  for (w = mwf->windows; w; w = w->next) {
415
- if (git_mwindow_contains(w, offset) &&
416
- git_mwindow_contains(w, offset + extra))
412
+ if (git_mwindow_contains(w, offset, extra))
417
413
  break;
418
414
  }
419
415
 
@@ -424,7 +420,7 @@ unsigned char *git_mwindow_open(
424
420
  if (!w) {
425
421
  w = new_window_locked(mwf->fd, mwf->size, offset);
426
422
  if (w == NULL) {
427
- git_mutex_unlock(&git__mwindow_mutex);
423
+ git_mutex_unlock(&git_mwindow__mutex);
428
424
  return NULL;
429
425
  }
430
426
  w->next = mwf->windows;
@@ -444,7 +440,7 @@ unsigned char *git_mwindow_open(
444
440
  if (left)
445
441
  *left = (unsigned int)(w->window_map.len - offset);
446
442
 
447
- git_mutex_unlock(&git__mwindow_mutex);
443
+ git_mutex_unlock(&git_mwindow__mutex);
448
444
  return (unsigned char *) w->window_map.data + offset;
449
445
  }
450
446
 
@@ -456,14 +452,14 @@ int git_mwindow_file_register(git_mwindow_file *mwf)
456
452
  size_t i;
457
453
  git_mwindow_file *closed_file = NULL;
458
454
 
459
- if (git_mutex_lock(&git__mwindow_mutex)) {
455
+ if (git_mutex_lock(&git_mwindow__mutex)) {
460
456
  git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
461
457
  return -1;
462
458
  }
463
459
 
464
460
  if (ctl->windowfiles.length == 0 &&
465
461
  (error = git_vector_init(&ctl->windowfiles, 8, NULL)) < 0) {
466
- git_mutex_unlock(&git__mwindow_mutex);
462
+ git_mutex_unlock(&git_mwindow__mutex);
467
463
  goto cleanup;
468
464
  }
469
465
 
@@ -473,7 +469,7 @@ int git_mwindow_file_register(git_mwindow_file *mwf)
473
469
  git_mwindow_find_lru_file_locked(&lru_file) == 0) {
474
470
  if ((error = git_vector_insert(&closed_files, lru_file)) < 0) {
475
471
  /*
476
- * Exceeding the file limit seems preferrable to being open to
472
+ * Exceeding the file limit seems preferable to being open to
477
473
  * data races that can end up corrupting the heap.
478
474
  */
479
475
  break;
@@ -483,7 +479,7 @@ int git_mwindow_file_register(git_mwindow_file *mwf)
483
479
  }
484
480
 
485
481
  error = git_vector_insert(&ctl->windowfiles, mwf);
486
- git_mutex_unlock(&git__mwindow_mutex);
482
+ git_mutex_unlock(&git_mwindow__mutex);
487
483
  if (error < 0)
488
484
  goto cleanup;
489
485
 
@@ -502,7 +498,7 @@ int git_mwindow_file_register(git_mwindow_file *mwf)
502
498
  }
503
499
 
504
500
  cleanup:
505
- git_vector_free(&closed_files);
501
+ git_vector_dispose(&closed_files);
506
502
  return error;
507
503
  }
508
504
 
@@ -512,30 +508,30 @@ void git_mwindow_file_deregister(git_mwindow_file *mwf)
512
508
  git_mwindow_file *cur;
513
509
  size_t i;
514
510
 
515
- if (git_mutex_lock(&git__mwindow_mutex))
511
+ if (git_mutex_lock(&git_mwindow__mutex))
516
512
  return;
517
513
 
518
514
  git_vector_foreach(&ctl->windowfiles, i, cur) {
519
515
  if (cur == mwf) {
520
516
  git_vector_remove(&ctl->windowfiles, i);
521
- git_mutex_unlock(&git__mwindow_mutex);
517
+ git_mutex_unlock(&git_mwindow__mutex);
522
518
  return;
523
519
  }
524
520
  }
525
- git_mutex_unlock(&git__mwindow_mutex);
521
+ git_mutex_unlock(&git_mwindow__mutex);
526
522
  }
527
523
 
528
524
  void git_mwindow_close(git_mwindow **window)
529
525
  {
530
526
  git_mwindow *w = *window;
531
527
  if (w) {
532
- if (git_mutex_lock(&git__mwindow_mutex)) {
528
+ if (git_mutex_lock(&git_mwindow__mutex)) {
533
529
  git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
534
530
  return;
535
531
  }
536
532
 
537
533
  w->inuse_cnt--;
538
- git_mutex_unlock(&git__mwindow_mutex);
534
+ git_mutex_unlock(&git_mwindow__mutex);
539
535
  *window = NULL;
540
536
  }
541
537
  }
@@ -12,6 +12,10 @@
12
12
 
13
13
  #include "map.h"
14
14
  #include "vector.h"
15
+ #include "hashmap_str.h"
16
+
17
+ GIT_HASHMAP_STR_STRUCT(git_mwindow_packmap, struct git_pack_file *);
18
+ GIT_HASHMAP_STR_PROTOTYPES(git_mwindow_packmap, struct git_pack_file *);
15
19
 
16
20
  typedef struct git_mwindow {
17
21
  struct git_mwindow *next;
@@ -38,7 +42,7 @@ typedef struct git_mwindow_ctl {
38
42
  git_vector windowfiles;
39
43
  } git_mwindow_ctl;
40
44
 
41
- int git_mwindow_contains(git_mwindow *win, off64_t offset);
45
+ int git_mwindow_contains(git_mwindow *win, off64_t offset, off64_t extra);
42
46
  int git_mwindow_free_all(git_mwindow_file *mwf); /* locks */
43
47
  unsigned char *git_mwindow_open(git_mwindow_file *mwf, git_mwindow **cursor, off64_t offset, size_t extra, unsigned int *left);
44
48
  int git_mwindow_file_register(git_mwindow_file *mwf);
@@ -48,7 +52,10 @@ void git_mwindow_close(git_mwindow **w_cursor);
48
52
  extern int git_mwindow_global_init(void);
49
53
 
50
54
  struct git_pack_file; /* just declaration to avoid cyclical includes */
51
- int git_mwindow_get_pack(struct git_pack_file **out, const char *path);
55
+ int git_mwindow_get_pack(
56
+ struct git_pack_file **out,
57
+ const char *path,
58
+ git_oid_t oid_type);
52
59
  int git_mwindow_put_pack(struct git_pack_file *pack);
53
60
 
54
61
  #endif
@@ -7,7 +7,7 @@
7
7
 
8
8
  #include "notes.h"
9
9
 
10
- #include "git2.h"
10
+ #include "buf.h"
11
11
  #include "refs.h"
12
12
  #include "config.h"
13
13
  #include "iterator.h"
@@ -407,7 +407,7 @@ cleanup:
407
407
  return error;
408
408
  }
409
409
 
410
- static int note_get_default_ref(git_buf *out, git_repository *repo)
410
+ static int note_get_default_ref(git_str *out, git_repository *repo)
411
411
  {
412
412
  git_config *cfg;
413
413
  int error;
@@ -415,25 +415,25 @@ static int note_get_default_ref(git_buf *out, git_repository *repo)
415
415
  if ((error = git_repository_config__weakptr(&cfg, repo)) < 0)
416
416
  return error;
417
417
 
418
- error = git_config_get_string_buf(out, cfg, "core.notesref");
418
+ error = git_config__get_string_buf(out, cfg, "core.notesref");
419
419
 
420
420
  if (error == GIT_ENOTFOUND)
421
- error = git_buf_puts(out, GIT_NOTES_DEFAULT_REF);
421
+ error = git_str_puts(out, GIT_NOTES_DEFAULT_REF);
422
422
 
423
423
  return error;
424
424
  }
425
425
 
426
- static int normalize_namespace(git_buf *out, git_repository *repo, const char *notes_ref)
426
+ static int normalize_namespace(git_str *out, git_repository *repo, const char *notes_ref)
427
427
  {
428
428
  if (notes_ref)
429
- return git_buf_puts(out, notes_ref);
429
+ return git_str_puts(out, notes_ref);
430
430
 
431
431
  return note_get_default_ref(out, repo);
432
432
  }
433
433
 
434
434
  static int retrieve_note_commit(
435
435
  git_commit **commit_out,
436
- git_buf *notes_ref_out,
436
+ git_str *notes_ref_out,
437
437
  git_repository *repo,
438
438
  const char *notes_ref)
439
439
  {
@@ -460,7 +460,7 @@ int git_note_commit_read(
460
460
  {
461
461
  int error;
462
462
  git_tree *tree = NULL;
463
- char target[GIT_OID_HEXSZ + 1];
463
+ char target[GIT_OID_MAX_HEXSIZE + 1];
464
464
 
465
465
  git_oid_tostr(target, sizeof(target), oid);
466
466
 
@@ -478,7 +478,7 @@ int git_note_read(git_note **out, git_repository *repo,
478
478
  const char *notes_ref_in, const git_oid *oid)
479
479
  {
480
480
  int error;
481
- git_buf notes_ref = GIT_BUF_INIT;
481
+ git_str notes_ref = GIT_STR_INIT;
482
482
  git_commit *commit = NULL;
483
483
 
484
484
  error = retrieve_note_commit(&commit, &notes_ref, repo, notes_ref_in);
@@ -489,7 +489,7 @@ int git_note_read(git_note **out, git_repository *repo,
489
489
  error = git_note_commit_read(out, repo, commit, oid);
490
490
 
491
491
  cleanup:
492
- git_buf_dispose(&notes_ref);
492
+ git_str_dispose(&notes_ref);
493
493
  git_commit_free(commit);
494
494
  return error;
495
495
  }
@@ -507,7 +507,7 @@ int git_note_commit_create(
507
507
  {
508
508
  int error;
509
509
  git_tree *tree = NULL;
510
- char target[GIT_OID_HEXSZ + 1];
510
+ char target[GIT_OID_MAX_HEXSIZE + 1];
511
511
 
512
512
  git_oid_tostr(target, sizeof(target), oid);
513
513
 
@@ -536,7 +536,7 @@ int git_note_create(
536
536
  int allow_note_overwrite)
537
537
  {
538
538
  int error;
539
- git_buf notes_ref = GIT_BUF_INIT;
539
+ git_str notes_ref = GIT_STR_INIT;
540
540
  git_commit *existing_notes_commit = NULL;
541
541
  git_reference *ref = NULL;
542
542
  git_oid notes_blob_oid, notes_commit_oid;
@@ -562,7 +562,7 @@ int git_note_create(
562
562
  git_oid_cpy(out, &notes_blob_oid);
563
563
 
564
564
  cleanup:
565
- git_buf_dispose(&notes_ref);
565
+ git_str_dispose(&notes_ref);
566
566
  git_commit_free(existing_notes_commit);
567
567
  git_reference_free(ref);
568
568
  return error;
@@ -578,7 +578,7 @@ int git_note_commit_remove(
578
578
  {
579
579
  int error;
580
580
  git_tree *tree = NULL;
581
- char target[GIT_OID_HEXSZ + 1];
581
+ char target[GIT_OID_MAX_HEXSIZE + 1];
582
582
 
583
583
  git_oid_tostr(target, sizeof(target), oid);
584
584
 
@@ -598,7 +598,7 @@ int git_note_remove(git_repository *repo, const char *notes_ref_in,
598
598
  const git_oid *oid)
599
599
  {
600
600
  int error;
601
- git_buf notes_ref_target = GIT_BUF_INIT;
601
+ git_str notes_ref_target = GIT_STR_INIT;
602
602
  git_commit *existing_notes_commit = NULL;
603
603
  git_oid new_notes_commit;
604
604
  git_reference *notes_ref = NULL;
@@ -618,7 +618,7 @@ int git_note_remove(git_repository *repo, const char *notes_ref_in,
618
618
  &new_notes_commit, 1, NULL);
619
619
 
620
620
  cleanup:
621
- git_buf_dispose(&notes_ref_target);
621
+ git_str_dispose(&notes_ref_target);
622
622
  git_reference_free(notes_ref);
623
623
  git_commit_free(existing_notes_commit);
624
624
  return error;
@@ -626,16 +626,7 @@ cleanup:
626
626
 
627
627
  int git_note_default_ref(git_buf *out, git_repository *repo)
628
628
  {
629
- int error;
630
-
631
- GIT_ASSERT_ARG(out);
632
- GIT_ASSERT_ARG(repo);
633
-
634
- if ((error = git_buf_sanitize(out)) < 0 ||
635
- (error = note_get_default_ref(out, repo)) < 0)
636
- git_buf_dispose(out);
637
-
638
- return error;
629
+ GIT_BUF_WRAP_PRIVATE(out, note_get_default_ref, repo);
639
630
  }
640
631
 
641
632
  const git_signature *git_note_committer(const git_note *note)
@@ -674,17 +665,18 @@ void git_note_free(git_note *note)
674
665
  }
675
666
 
676
667
  static int process_entry_path(
677
- const char *entry_path,
678
- git_oid *annotated_object_id)
668
+ git_oid *annotated_object_id,
669
+ git_note_iterator *it,
670
+ const char *entry_path)
679
671
  {
680
672
  int error = 0;
681
673
  size_t i = 0, j = 0, len;
682
- git_buf buf = GIT_BUF_INIT;
674
+ git_str buf = GIT_STR_INIT;
683
675
 
684
- if ((error = git_buf_puts(&buf, entry_path)) < 0)
676
+ if ((error = git_str_puts(&buf, entry_path)) < 0)
685
677
  goto cleanup;
686
678
 
687
- len = git_buf_len(&buf);
679
+ len = git_str_len(&buf);
688
680
 
689
681
  while (i < len) {
690
682
  if (buf.ptr[i] == '/') {
@@ -707,15 +699,15 @@ static int process_entry_path(
707
699
  buf.ptr[j] = '\0';
708
700
  buf.size = j;
709
701
 
710
- if (j != GIT_OID_HEXSZ) {
702
+ if (j != git_oid_hexsize(it->repo->oid_type)) {
711
703
  /* This is not a note entry */
712
704
  goto cleanup;
713
705
  }
714
706
 
715
- error = git_oid_fromstr(annotated_object_id, buf.ptr);
707
+ error = git_oid__fromstr(annotated_object_id, buf.ptr, it->repo->oid_type);
716
708
 
717
709
  cleanup:
718
- git_buf_dispose(&buf);
710
+ git_str_dispose(&buf);
719
711
  return error;
720
712
  }
721
713
 
@@ -780,7 +772,7 @@ int git_note_iterator_new(
780
772
  {
781
773
  int error;
782
774
  git_commit *commit = NULL;
783
- git_buf notes_ref = GIT_BUF_INIT;
775
+ git_str notes_ref = GIT_STR_INIT;
784
776
 
785
777
  error = retrieve_note_commit(&commit, &notes_ref, repo, notes_ref_in);
786
778
  if (error < 0)
@@ -789,7 +781,7 @@ int git_note_iterator_new(
789
781
  error = git_note_commit_iterator_new(it, commit);
790
782
 
791
783
  cleanup:
792
- git_buf_dispose(&notes_ref);
784
+ git_str_dispose(&notes_ref);
793
785
  git_commit_free(commit);
794
786
 
795
787
  return error;
@@ -808,7 +800,7 @@ int git_note_next(
808
800
 
809
801
  git_oid_cpy(note_id, &item->id);
810
802
 
811
- if ((error = process_entry_path(item->path, annotated_id)) < 0)
803
+ if ((error = process_entry_path(annotated_id, it, item->path)) < 0)
812
804
  return error;
813
805
 
814
806
  if ((error = git_iterator_advance(NULL, it)) < 0 && error != GIT_ITEROVER)