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
@@ -8,7 +8,6 @@
8
8
  #include "transaction.h"
9
9
 
10
10
  #include "repository.h"
11
- #include "strmap.h"
12
11
  #include "refdb.h"
13
12
  #include "pool.h"
14
13
  #include "reflog.h"
@@ -23,7 +22,7 @@
23
22
  typedef enum {
24
23
  TRANSACTION_NONE,
25
24
  TRANSACTION_REFS,
26
- TRANSACTION_CONFIG,
25
+ TRANSACTION_CONFIG
27
26
  } transaction_t;
28
27
 
29
28
  typedef struct {
@@ -44,17 +43,23 @@ typedef struct {
44
43
  remove :1;
45
44
  } transaction_node;
46
45
 
46
+ GIT_HASHMAP_STR_SETUP(git_transaction_nodemap, transaction_node *);
47
+
47
48
  struct git_transaction {
48
49
  transaction_t type;
49
50
  git_repository *repo;
50
51
  git_refdb *db;
51
52
  git_config *cfg;
53
+ void *cfg_data;
52
54
 
53
- git_strmap *locks;
55
+ git_transaction_nodemap locks;
54
56
  git_pool pool;
55
57
  };
56
58
 
57
- int git_transaction_config_new(git_transaction **out, git_config *cfg)
59
+ int git_transaction_config_new(
60
+ git_transaction **out,
61
+ git_config *cfg,
62
+ void *data)
58
63
  {
59
64
  git_transaction *tx;
60
65
 
@@ -66,6 +71,8 @@ int git_transaction_config_new(git_transaction **out, git_config *cfg)
66
71
 
67
72
  tx->type = TRANSACTION_CONFIG;
68
73
  tx->cfg = cfg;
74
+ tx->cfg_data = data;
75
+
69
76
  *out = tx;
70
77
  return 0;
71
78
  }
@@ -88,11 +95,6 @@ int git_transaction_new(git_transaction **out, git_repository *repo)
88
95
  goto on_error;
89
96
  }
90
97
 
91
- if ((error = git_strmap_new(&tx->locks)) < 0) {
92
- error = -1;
93
- goto on_error;
94
- }
95
-
96
98
  if ((error = git_repository_refdb(&tx->db, repo)) < 0)
97
99
  goto on_error;
98
100
 
@@ -124,7 +126,7 @@ int git_transaction_lock_ref(git_transaction *tx, const char *refname)
124
126
  if ((error = git_refdb_lock(&node->payload, tx->db, refname)) < 0)
125
127
  return error;
126
128
 
127
- if ((error = git_strmap_set(tx->locks, node->name, node)) < 0)
129
+ if ((error = git_transaction_nodemap_put(&tx->locks, node->name, node)) < 0)
128
130
  goto cleanup;
129
131
 
130
132
  return 0;
@@ -138,8 +140,11 @@ cleanup:
138
140
  static int find_locked(transaction_node **out, git_transaction *tx, const char *refname)
139
141
  {
140
142
  transaction_node *node;
143
+ int error;
144
+
145
+ error = git_transaction_nodemap_get(&node, &tx->locks, refname);
141
146
 
142
- if ((node = git_strmap_get(tx->locks, refname)) == NULL) {
147
+ if (error != 0) {
143
148
  git_error_set(GIT_ERROR_REFERENCE, "the specified reference is not locked");
144
149
  return GIT_ENOTFOUND;
145
150
  }
@@ -328,18 +333,20 @@ static int update_target(git_refdb *db, transaction_node *node)
328
333
  int git_transaction_commit(git_transaction *tx)
329
334
  {
330
335
  transaction_node *node;
336
+ git_hashmap_iter_t iter = GIT_HASHMAP_ITER_INIT;
331
337
  int error = 0;
332
338
 
333
339
  GIT_ASSERT_ARG(tx);
334
340
 
335
341
  if (tx->type == TRANSACTION_CONFIG) {
336
- error = git_config_unlock(tx->cfg, true);
342
+ error = git_config_unlock(tx->cfg, tx->cfg_data, true);
337
343
  tx->cfg = NULL;
344
+ tx->cfg_data = NULL;
338
345
 
339
346
  return error;
340
347
  }
341
348
 
342
- git_strmap_foreach_value(tx->locks, node, {
349
+ while (git_transaction_nodemap_iterate(&iter, NULL, &node, &tx->locks) == 0) {
343
350
  if (node->reflog) {
344
351
  if ((error = tx->db->backend->reflog_write(tx->db->backend, node->reflog)) < 0)
345
352
  return error;
@@ -355,7 +362,7 @@ int git_transaction_commit(git_transaction *tx)
355
362
  if ((error = update_target(tx->db, node)) < 0)
356
363
  return error;
357
364
  }
358
- });
365
+ }
359
366
 
360
367
  return 0;
361
368
  }
@@ -364,30 +371,29 @@ void git_transaction_free(git_transaction *tx)
364
371
  {
365
372
  transaction_node *node;
366
373
  git_pool pool;
374
+ git_hashmap_iter_t iter = GIT_HASHMAP_ITER_INIT;
367
375
 
368
376
  if (!tx)
369
377
  return;
370
378
 
371
379
  if (tx->type == TRANSACTION_CONFIG) {
372
- if (tx->cfg) {
373
- git_config_unlock(tx->cfg, false);
374
- git_config_free(tx->cfg);
375
- }
380
+ if (tx->cfg)
381
+ git_config_unlock(tx->cfg, tx->cfg_data, false);
376
382
 
377
383
  git__free(tx);
378
384
  return;
379
385
  }
380
386
 
381
387
  /* start by unlocking the ones we've left hanging, if any */
382
- git_strmap_foreach_value(tx->locks, node, {
388
+ while (git_transaction_nodemap_iterate(&iter, NULL, &node, &tx->locks) == 0) {
383
389
  if (node->committed)
384
390
  continue;
385
391
 
386
392
  git_refdb_unlock(tx->db, node->payload, false, false, NULL, NULL, NULL);
387
- });
393
+ }
388
394
 
389
395
  git_refdb_free(tx->db);
390
- git_strmap_free(tx->locks);
396
+ git_transaction_nodemap_dispose(&tx->locks);
391
397
 
392
398
  /* tx is inside the pool, so we need to extract the data */
393
399
  memcpy(&pool, &tx->pool, sizeof(git_pool));
@@ -9,6 +9,9 @@
9
9
 
10
10
  #include "common.h"
11
11
 
12
- int git_transaction_config_new(git_transaction **out, git_config *cfg);
12
+ int git_transaction_config_new(
13
+ git_transaction **out,
14
+ git_config *cfg,
15
+ void *data);
13
16
 
14
17
  #endif
@@ -12,7 +12,7 @@
12
12
  #include "git2/net.h"
13
13
  #include "git2/transport.h"
14
14
  #include "git2/sys/transport.h"
15
- #include "path.h"
15
+ #include "fs_path.h"
16
16
 
17
17
  typedef struct transport_definition {
18
18
  char *prefix;
@@ -22,6 +22,7 @@ typedef struct transport_definition {
22
22
 
23
23
  static git_smart_subtransport_definition http_subtransport_definition = { git_smart_subtransport_http, 1, NULL };
24
24
  static git_smart_subtransport_definition git_subtransport_definition = { git_smart_subtransport_git, 0, NULL };
25
+
25
26
  #ifdef GIT_SSH
26
27
  static git_smart_subtransport_definition ssh_subtransport_definition = { git_smart_subtransport_ssh, 0, NULL };
27
28
  #endif
@@ -33,11 +34,13 @@ static transport_definition transports[] = {
33
34
  { "http://", git_transport_smart, &http_subtransport_definition },
34
35
  { "https://", git_transport_smart, &http_subtransport_definition },
35
36
  { "file://", git_transport_local, NULL },
37
+
36
38
  #ifdef GIT_SSH
37
39
  { "ssh://", git_transport_smart, &ssh_subtransport_definition },
38
40
  { "ssh+git://", git_transport_smart, &ssh_subtransport_definition },
39
41
  { "git+ssh://", git_transport_smart, &ssh_subtransport_definition },
40
42
  #endif
43
+
41
44
  { NULL, 0, 0 }
42
45
  };
43
46
 
@@ -82,7 +85,7 @@ static int transport_find_fn(
82
85
  * to a directory and if so assume local path, else assume SSH */
83
86
 
84
87
  /* Check to see if the path points to a file on the local file system */
85
- if (!definition && git_path_exists(url) && git_path_isdir(url))
88
+ if (!definition && git_fs_path_exists(url) && git_fs_path_isdir(url))
86
89
  definition = &local_transport_definition;
87
90
  #endif
88
91
 
@@ -98,7 +101,7 @@ static int transport_find_fn(
98
101
 
99
102
  #ifndef GIT_WIN32
100
103
  /* Check to see if the path points to a file on the local file system */
101
- if (!definition && git_path_exists(url) && git_path_isdir(url))
104
+ if (!definition && git_fs_path_exists(url) && git_fs_path_isdir(url))
102
105
  definition = &local_transport_definition;
103
106
  #endif
104
107
 
@@ -143,7 +146,7 @@ int git_transport_register(
143
146
  git_transport_cb cb,
144
147
  void *param)
145
148
  {
146
- git_buf prefix = GIT_BUF_INIT;
149
+ git_str prefix = GIT_STR_INIT;
147
150
  transport_definition *d, *definition = NULL;
148
151
  size_t i;
149
152
  int error = 0;
@@ -151,7 +154,7 @@ int git_transport_register(
151
154
  GIT_ASSERT_ARG(scheme);
152
155
  GIT_ASSERT_ARG(cb);
153
156
 
154
- if ((error = git_buf_printf(&prefix, "%s://", scheme)) < 0)
157
+ if ((error = git_str_printf(&prefix, "%s://", scheme)) < 0)
155
158
  goto on_error;
156
159
 
157
160
  git_vector_foreach(&custom_transports, i, d) {
@@ -164,7 +167,7 @@ int git_transport_register(
164
167
  definition = git__calloc(1, sizeof(transport_definition));
165
168
  GIT_ERROR_CHECK_ALLOC(definition);
166
169
 
167
- definition->prefix = git_buf_detach(&prefix);
170
+ definition->prefix = git_str_detach(&prefix);
168
171
  definition->fn = cb;
169
172
  definition->param = param;
170
173
 
@@ -174,21 +177,21 @@ int git_transport_register(
174
177
  return 0;
175
178
 
176
179
  on_error:
177
- git_buf_dispose(&prefix);
180
+ git_str_dispose(&prefix);
178
181
  git__free(definition);
179
182
  return error;
180
183
  }
181
184
 
182
185
  int git_transport_unregister(const char *scheme)
183
186
  {
184
- git_buf prefix = GIT_BUF_INIT;
187
+ git_str prefix = GIT_STR_INIT;
185
188
  transport_definition *d;
186
189
  size_t i;
187
190
  int error = 0;
188
191
 
189
192
  GIT_ASSERT_ARG(scheme);
190
193
 
191
- if ((error = git_buf_printf(&prefix, "%s://", scheme)) < 0)
194
+ if ((error = git_str_printf(&prefix, "%s://", scheme)) < 0)
192
195
  goto done;
193
196
 
194
197
  git_vector_foreach(&custom_transports, i, d) {
@@ -200,7 +203,7 @@ int git_transport_unregister(const char *scheme)
200
203
  git__free(d);
201
204
 
202
205
  if (!custom_transports.length)
203
- git_vector_free(&custom_transports);
206
+ git_vector_dispose(&custom_transports);
204
207
 
205
208
  error = 0;
206
209
  goto done;
@@ -210,7 +213,7 @@ int git_transport_unregister(const char *scheme)
210
213
  error = GIT_ENOTFOUND;
211
214
 
212
215
  done:
213
- git_buf_dispose(&prefix);
216
+ git_str_dispose(&prefix);
214
217
  return error;
215
218
  }
216
219
 
@@ -7,17 +7,15 @@
7
7
 
8
8
  #include "auth.h"
9
9
 
10
- #include "git2.h"
11
- #include "buffer.h"
12
10
  #include "git2/sys/credential.h"
13
11
 
14
12
  static int basic_next_token(
15
- git_buf *out,
13
+ git_str *out,
16
14
  git_http_auth_context *ctx,
17
15
  git_credential *c)
18
16
  {
19
17
  git_credential_userpass_plaintext *cred;
20
- git_buf raw = GIT_BUF_INIT;
18
+ git_str raw = GIT_STR_INIT;
21
19
  int error = GIT_EAUTH;
22
20
 
23
21
  GIT_UNUSED(ctx);
@@ -29,11 +27,11 @@ static int basic_next_token(
29
27
 
30
28
  cred = (git_credential_userpass_plaintext *)c;
31
29
 
32
- git_buf_printf(&raw, "%s:%s", cred->username, cred->password);
30
+ git_str_printf(&raw, "%s:%s", cred->username, cred->password);
33
31
 
34
- if (git_buf_oom(&raw) ||
35
- git_buf_puts(out, "Basic ") < 0 ||
36
- git_buf_encode_base64(out, git_buf_cstr(&raw), raw.size) < 0)
32
+ if (git_str_oom(&raw) ||
33
+ git_str_puts(out, "Basic ") < 0 ||
34
+ git_str_encode_base64(out, git_str_cstr(&raw), raw.size) < 0)
37
35
  goto on_error;
38
36
 
39
37
  error = 0;
@@ -42,7 +40,7 @@ on_error:
42
40
  if (raw.size)
43
41
  git__memzero(raw.ptr, raw.size);
44
42
 
45
- git_buf_dispose(&raw);
43
+ git_str_dispose(&raw);
46
44
  return error;
47
45
  }
48
46
 
@@ -9,14 +9,12 @@
9
9
  #define INCLUDE_transports_auth_h__
10
10
 
11
11
  #include "common.h"
12
-
13
- #include "git2.h"
14
- #include "netops.h"
12
+ #include "net.h"
15
13
 
16
14
  typedef enum {
17
15
  GIT_HTTP_AUTH_BASIC = 1,
18
16
  GIT_HTTP_AUTH_NEGOTIATE = 2,
19
- GIT_HTTP_AUTH_NTLM = 4,
17
+ GIT_HTTP_AUTH_NTLM = 4
20
18
  } git_http_auth_t;
21
19
 
22
20
  typedef struct git_http_auth_context git_http_auth_context;
@@ -35,7 +33,7 @@ struct git_http_auth_context {
35
33
  int (*set_challenge)(git_http_auth_context *ctx, const char *challenge);
36
34
 
37
35
  /** Gets the next authentication token from the context */
38
- int (*next_token)(git_buf *out, git_http_auth_context *ctx, git_credential *cred);
36
+ int (*next_token)(git_str *out, git_http_auth_context *ctx, git_credential *cred);
39
37
 
40
38
  /** Examines if all tokens have been presented. */
41
39
  int (*is_complete)(git_http_auth_context *ctx);
@@ -10,7 +10,6 @@
10
10
  #if defined(GIT_GSSAPI) || defined(GIT_GSSFRAMEWORK)
11
11
 
12
12
  #include "git2.h"
13
- #include "buffer.h"
14
13
  #include "auth.h"
15
14
  #include "git2/sys/credential.h"
16
15
 
@@ -21,25 +20,25 @@
21
20
  #include <krb5.h>
22
21
  #endif
23
22
 
24
- static gss_OID_desc negotiate_oid_spnego =
23
+ static gss_OID_desc gssapi_oid_spnego =
25
24
  { 6, (void *) "\x2b\x06\x01\x05\x05\x02" };
26
- static gss_OID_desc negotiate_oid_krb5 =
25
+ static gss_OID_desc gssapi_oid_krb5 =
27
26
  { 9, (void *) "\x2a\x86\x48\x86\xf7\x12\x01\x02\x02" };
28
27
 
29
- static gss_OID negotiate_oids[] =
30
- { &negotiate_oid_spnego, &negotiate_oid_krb5, NULL };
28
+ static gss_OID gssapi_oids[] =
29
+ { &gssapi_oid_spnego, &gssapi_oid_krb5, NULL };
31
30
 
32
31
  typedef struct {
33
32
  git_http_auth_context parent;
34
33
  unsigned configured : 1,
35
34
  complete : 1;
36
- git_buf target;
35
+ git_str target;
37
36
  char *challenge;
38
37
  gss_ctx_id_t gss_context;
39
38
  gss_OID oid;
40
- } http_auth_negotiate_context;
39
+ } http_auth_gssapi_context;
41
40
 
42
- static void negotiate_err_set(
41
+ static void gssapi_err_set(
43
42
  OM_uint32 status_major,
44
43
  OM_uint32 status_minor,
45
44
  const char *message)
@@ -59,11 +58,11 @@ static void negotiate_err_set(
59
58
  }
60
59
  }
61
60
 
62
- static int negotiate_set_challenge(
61
+ static int gssapi_set_challenge(
63
62
  git_http_auth_context *c,
64
63
  const char *challenge)
65
64
  {
66
- http_auth_negotiate_context *ctx = (http_auth_negotiate_context *)c;
65
+ http_auth_gssapi_context *ctx = (http_auth_gssapi_context *)c;
67
66
 
68
67
  GIT_ASSERT_ARG(ctx);
69
68
  GIT_ASSERT_ARG(challenge);
@@ -77,7 +76,7 @@ static int negotiate_set_challenge(
77
76
  return 0;
78
77
  }
79
78
 
80
- static void negotiate_context_dispose(http_auth_negotiate_context *ctx)
79
+ static void gssapi_context_dispose(http_auth_gssapi_context *ctx)
81
80
  {
82
81
  OM_uint32 status_minor;
83
82
 
@@ -87,24 +86,24 @@ static void negotiate_context_dispose(http_auth_negotiate_context *ctx)
87
86
  ctx->gss_context = GSS_C_NO_CONTEXT;
88
87
  }
89
88
 
90
- git_buf_dispose(&ctx->target);
89
+ git_str_dispose(&ctx->target);
91
90
 
92
91
  git__free(ctx->challenge);
93
92
  ctx->challenge = NULL;
94
93
  }
95
94
 
96
- static int negotiate_next_token(
97
- git_buf *buf,
95
+ static int gssapi_next_token(
96
+ git_str *buf,
98
97
  git_http_auth_context *c,
99
98
  git_credential *cred)
100
99
  {
101
- http_auth_negotiate_context *ctx = (http_auth_negotiate_context *)c;
100
+ http_auth_gssapi_context *ctx = (http_auth_gssapi_context *)c;
102
101
  OM_uint32 status_major, status_minor;
103
102
  gss_buffer_desc target_buffer = GSS_C_EMPTY_BUFFER,
104
103
  input_token = GSS_C_EMPTY_BUFFER,
105
104
  output_token = GSS_C_EMPTY_BUFFER;
106
105
  gss_buffer_t input_token_ptr = GSS_C_NO_BUFFER;
107
- git_buf input_buf = GIT_BUF_INIT;
106
+ git_str input_buf = GIT_STR_INIT;
108
107
  gss_name_t server = NULL;
109
108
  gss_OID mech;
110
109
  size_t challenge_len;
@@ -127,7 +126,7 @@ static int negotiate_next_token(
127
126
  GSS_C_NT_HOSTBASED_SERVICE, &server);
128
127
 
129
128
  if (GSS_ERROR(status_major)) {
130
- negotiate_err_set(status_major, status_minor,
129
+ gssapi_err_set(status_major, status_minor,
131
130
  "could not parse principal");
132
131
  error = -1;
133
132
  goto done;
@@ -142,7 +141,7 @@ static int negotiate_next_token(
142
141
  }
143
142
 
144
143
  if (challenge_len > 9) {
145
- if (git_buf_decode_base64(&input_buf,
144
+ if (git_str_decode_base64(&input_buf,
146
145
  ctx->challenge + 10, challenge_len - 10) < 0) {
147
146
  git_error_set(GIT_ERROR_NET, "invalid negotiate challenge from server");
148
147
  error = -1;
@@ -153,10 +152,10 @@ static int negotiate_next_token(
153
152
  input_token.length = input_buf.size;
154
153
  input_token_ptr = &input_token;
155
154
  } else if (ctx->gss_context != GSS_C_NO_CONTEXT) {
156
- negotiate_context_dispose(ctx);
155
+ gssapi_context_dispose(ctx);
157
156
  }
158
157
 
159
- mech = &negotiate_oid_spnego;
158
+ mech = &gssapi_oid_spnego;
160
159
 
161
160
  status_major = gss_init_sec_context(
162
161
  &status_minor,
@@ -174,14 +173,14 @@ static int negotiate_next_token(
174
173
  NULL);
175
174
 
176
175
  if (GSS_ERROR(status_major)) {
177
- negotiate_err_set(status_major, status_minor, "negotiate failure");
176
+ gssapi_err_set(status_major, status_minor, "negotiate failure");
178
177
  error = -1;
179
178
  goto done;
180
179
  }
181
180
 
182
181
  /* This message merely told us auth was complete; we do not respond. */
183
182
  if (status_major == GSS_S_COMPLETE) {
184
- negotiate_context_dispose(ctx);
183
+ gssapi_context_dispose(ctx);
185
184
  ctx->complete = 1;
186
185
  goto done;
187
186
  }
@@ -192,33 +191,33 @@ static int negotiate_next_token(
192
191
  goto done;
193
192
  }
194
193
 
195
- git_buf_puts(buf, "Negotiate ");
196
- git_buf_encode_base64(buf, output_token.value, output_token.length);
194
+ git_str_puts(buf, "Negotiate ");
195
+ git_str_encode_base64(buf, output_token.value, output_token.length);
197
196
 
198
- if (git_buf_oom(buf))
197
+ if (git_str_oom(buf))
199
198
  error = -1;
200
199
 
201
200
  done:
202
201
  gss_release_name(&status_minor, &server);
203
202
  gss_release_buffer(&status_minor, (gss_buffer_t) &output_token);
204
- git_buf_dispose(&input_buf);
203
+ git_str_dispose(&input_buf);
205
204
  return error;
206
205
  }
207
206
 
208
- static int negotiate_is_complete(git_http_auth_context *c)
207
+ static int gssapi_is_complete(git_http_auth_context *c)
209
208
  {
210
- http_auth_negotiate_context *ctx = (http_auth_negotiate_context *)c;
209
+ http_auth_gssapi_context *ctx = (http_auth_gssapi_context *)c;
211
210
 
212
211
  GIT_ASSERT_ARG(ctx);
213
212
 
214
213
  return (ctx->complete == 1);
215
214
  }
216
215
 
217
- static void negotiate_context_free(git_http_auth_context *c)
216
+ static void gssapi_context_free(git_http_auth_context *c)
218
217
  {
219
- http_auth_negotiate_context *ctx = (http_auth_negotiate_context *)c;
218
+ http_auth_gssapi_context *ctx = (http_auth_gssapi_context *)c;
220
219
 
221
- negotiate_context_dispose(ctx);
220
+ gssapi_context_dispose(ctx);
222
221
 
223
222
  ctx->configured = 0;
224
223
  ctx->complete = 0;
@@ -227,8 +226,8 @@ static void negotiate_context_free(git_http_auth_context *c)
227
226
  git__free(ctx);
228
227
  }
229
228
 
230
- static int negotiate_init_context(
231
- http_auth_negotiate_context *ctx,
229
+ static int gssapi_init_context(
230
+ http_auth_gssapi_context *ctx,
232
231
  const git_net_url *url)
233
232
  {
234
233
  OM_uint32 status_major, status_minor;
@@ -240,13 +239,13 @@ static int negotiate_init_context(
240
239
  status_major = gss_indicate_mechs(&status_minor, &mechanism_list);
241
240
 
242
241
  if (GSS_ERROR(status_major)) {
243
- negotiate_err_set(status_major, status_minor,
242
+ gssapi_err_set(status_major, status_minor,
244
243
  "could not query mechanisms");
245
244
  return -1;
246
245
  }
247
246
 
248
247
  if (mechanism_list) {
249
- for (oid = negotiate_oids; *oid; oid++) {
248
+ for (oid = gssapi_oids; *oid; oid++) {
250
249
  for (i = 0; i < mechanism_list->count; i++) {
251
250
  item = &mechanism_list->elements[i];
252
251
 
@@ -270,10 +269,10 @@ static int negotiate_init_context(
270
269
  return GIT_EAUTH;
271
270
  }
272
271
 
273
- git_buf_puts(&ctx->target, "HTTP@");
274
- git_buf_puts(&ctx->target, url->host);
272
+ git_str_puts(&ctx->target, "HTTP@");
273
+ git_str_puts(&ctx->target, url->host);
275
274
 
276
- if (git_buf_oom(&ctx->target))
275
+ if (git_str_oom(&ctx->target))
277
276
  return -1;
278
277
 
279
278
  ctx->gss_context = GSS_C_NO_CONTEXT;
@@ -286,14 +285,14 @@ int git_http_auth_negotiate(
286
285
  git_http_auth_context **out,
287
286
  const git_net_url *url)
288
287
  {
289
- http_auth_negotiate_context *ctx;
288
+ http_auth_gssapi_context *ctx;
290
289
 
291
290
  *out = NULL;
292
291
 
293
- ctx = git__calloc(1, sizeof(http_auth_negotiate_context));
292
+ ctx = git__calloc(1, sizeof(http_auth_gssapi_context));
294
293
  GIT_ERROR_CHECK_ALLOC(ctx);
295
294
 
296
- if (negotiate_init_context(ctx, url) < 0) {
295
+ if (gssapi_init_context(ctx, url) < 0) {
297
296
  git__free(ctx);
298
297
  return -1;
299
298
  }
@@ -301,10 +300,10 @@ int git_http_auth_negotiate(
301
300
  ctx->parent.type = GIT_HTTP_AUTH_NEGOTIATE;
302
301
  ctx->parent.credtypes = GIT_CREDENTIAL_DEFAULT;
303
302
  ctx->parent.connection_affinity = 1;
304
- ctx->parent.set_challenge = negotiate_set_challenge;
305
- ctx->parent.next_token = negotiate_next_token;
306
- ctx->parent.is_complete = negotiate_is_complete;
307
- ctx->parent.free = negotiate_context_free;
303
+ ctx->parent.set_challenge = gssapi_set_challenge;
304
+ ctx->parent.next_token = gssapi_next_token;
305
+ ctx->parent.is_complete = gssapi_is_complete;
306
+ ctx->parent.free = gssapi_context_free;
308
307
 
309
308
  *out = (git_http_auth_context *)ctx;
310
309
 
@@ -12,7 +12,7 @@
12
12
  #include "git2.h"
13
13
  #include "auth.h"
14
14
 
15
- #if defined(GIT_GSSAPI) || defined(GIT_GSSFRAMEWORK)
15
+ #if defined(GIT_GSSAPI) || defined(GIT_GSSFRAMEWORK) || defined(GIT_WIN32)
16
16
 
17
17
  extern int git_http_auth_negotiate(
18
18
  git_http_auth_context **out,
@@ -8,13 +8,12 @@
8
8
  #ifndef INCLUDE_transports_auth_ntlm_h__
9
9
  #define INCLUDE_transports_auth_ntlm_h__
10
10
 
11
- #include "git2.h"
12
11
  #include "auth.h"
13
12
 
14
13
  /* NTLM requires a full request/challenge/response */
15
14
  #define GIT_AUTH_STEPS_NTLM 2
16
15
 
17
- #ifdef GIT_NTLM
16
+ #if defined(GIT_NTLM) || defined(GIT_WIN32)
18
17
 
19
18
  #if defined(GIT_OPENSSL)
20
19
  # define CRYPT_OPENSSL