rugged 1.0.0 → 1.2.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 (338) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -0
  3. data/README.md +3 -3
  4. data/ext/rugged/rugged.c +7 -4
  5. data/ext/rugged/rugged_commit.c +1 -1
  6. data/ext/rugged/rugged_config.c +1 -1
  7. data/ext/rugged/rugged_object.c +1 -1
  8. data/ext/rugged/rugged_remote.c +32 -2
  9. data/ext/rugged/rugged_repo.c +13 -3
  10. data/lib/rugged/commit.rb +17 -4
  11. data/lib/rugged/repository.rb +7 -8
  12. data/lib/rugged/submodule_collection.rb +4 -4
  13. data/lib/rugged/version.rb +1 -1
  14. data/vendor/libgit2/CMakeLists.txt +41 -74
  15. data/vendor/libgit2/COPYING +109 -1
  16. data/vendor/libgit2/cmake/{Modules/AddCFlagIfSupported.cmake → AddCFlagIfSupported.cmake} +0 -0
  17. data/vendor/libgit2/cmake/{Modules/EnableWarnings.cmake → EnableWarnings.cmake} +0 -0
  18. data/vendor/libgit2/cmake/{Modules/FindCoreFoundation.cmake → FindCoreFoundation.cmake} +0 -0
  19. data/vendor/libgit2/cmake/{Modules/FindGSSAPI.cmake → FindGSSAPI.cmake} +0 -0
  20. data/vendor/libgit2/cmake/{Modules/FindGSSFramework.cmake → FindGSSFramework.cmake} +0 -0
  21. data/vendor/libgit2/cmake/{Modules/FindHTTP_Parser.cmake → FindHTTP_Parser.cmake} +0 -0
  22. data/vendor/libgit2/cmake/{Modules/FindIconv.cmake → FindIconv.cmake} +0 -0
  23. data/vendor/libgit2/cmake/{Modules/FindPCRE.cmake → FindPCRE.cmake} +0 -0
  24. data/vendor/libgit2/cmake/{Modules/FindPCRE2.cmake → FindPCRE2.cmake} +0 -0
  25. data/vendor/libgit2/cmake/{Modules/FindPkgLibraries.cmake → FindPkgLibraries.cmake} +0 -0
  26. data/vendor/libgit2/cmake/{Modules/FindSecurity.cmake → FindSecurity.cmake} +0 -0
  27. data/vendor/libgit2/cmake/{Modules/FindStatNsec.cmake → FindStatNsec.cmake} +0 -0
  28. data/vendor/libgit2/cmake/Findfutimens.cmake +14 -0
  29. data/vendor/libgit2/cmake/{Modules/FindmbedTLS.cmake → FindmbedTLS.cmake} +0 -0
  30. data/vendor/libgit2/cmake/{Modules/IdeSplitSources.cmake → IdeSplitSources.cmake} +0 -0
  31. data/vendor/libgit2/cmake/{Modules/PkgBuildConfig.cmake → PkgBuildConfig.cmake} +0 -0
  32. data/vendor/libgit2/cmake/{Modules/SanitizeBool.cmake → SanitizeBool.cmake} +0 -0
  33. data/vendor/libgit2/cmake/{Modules/SelectGSSAPI.cmake → SelectGSSAPI.cmake} +18 -26
  34. data/vendor/libgit2/cmake/{Modules/SelectHTTPSBackend.cmake → SelectHTTPSBackend.cmake} +29 -32
  35. data/vendor/libgit2/cmake/{Modules/SelectHashes.cmake → SelectHashes.cmake} +21 -28
  36. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
  37. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +4 -3
  38. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +24 -10
  39. data/vendor/libgit2/deps/ntlmclient/compat.h +0 -27
  40. data/vendor/libgit2/deps/ntlmclient/crypt.h +14 -9
  41. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +20 -20
  42. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +3 -3
  43. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +37 -36
  44. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +4 -3
  45. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +178 -51
  46. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +74 -5
  47. data/vendor/libgit2/deps/ntlmclient/ntlm.c +164 -135
  48. data/vendor/libgit2/deps/ntlmclient/ntlm.h +13 -9
  49. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +16 -3
  50. data/vendor/libgit2/deps/ntlmclient/unicode.h +10 -4
  51. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +16 -27
  52. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.h +20 -0
  53. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +28 -52
  54. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.h +22 -0
  55. data/vendor/libgit2/deps/ntlmclient/util.c +15 -1
  56. data/vendor/libgit2/deps/ntlmclient/util.h +2 -1
  57. data/vendor/libgit2/deps/pcre/LICENCE +93 -0
  58. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  59. data/vendor/libgit2/deps/pcre/pcre_compile.c +29 -17
  60. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +4 -4
  61. data/vendor/libgit2/deps/pcre/pcreposix.c +2 -3
  62. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -5
  63. data/vendor/libgit2/deps/zlib/deflate.c +1 -0
  64. data/vendor/libgit2/include/git2/annotated_commit.h +1 -1
  65. data/vendor/libgit2/include/git2/apply.h +2 -0
  66. data/vendor/libgit2/include/git2/attr.h +89 -0
  67. data/vendor/libgit2/include/git2/blame.h +95 -42
  68. data/vendor/libgit2/include/git2/blob.h +31 -3
  69. data/vendor/libgit2/include/git2/branch.h +25 -0
  70. data/vendor/libgit2/include/git2/cert.h +42 -5
  71. data/vendor/libgit2/include/git2/checkout.h +28 -12
  72. data/vendor/libgit2/include/git2/commit.h +35 -19
  73. data/vendor/libgit2/include/git2/common.h +33 -6
  74. data/vendor/libgit2/include/git2/config.h +1 -1
  75. data/vendor/libgit2/include/git2/deprecated.h +248 -8
  76. data/vendor/libgit2/include/git2/diff.h +35 -20
  77. data/vendor/libgit2/include/git2/errors.h +8 -7
  78. data/vendor/libgit2/include/git2/filter.h +57 -17
  79. data/vendor/libgit2/include/git2/graph.h +20 -2
  80. data/vendor/libgit2/include/git2/index.h +4 -5
  81. data/vendor/libgit2/include/git2/indexer.h +2 -1
  82. data/vendor/libgit2/include/git2/odb.h +44 -20
  83. data/vendor/libgit2/include/git2/pack.h +1 -1
  84. data/vendor/libgit2/include/git2/patch.h +8 -0
  85. data/vendor/libgit2/include/git2/rebase.h +25 -1
  86. data/vendor/libgit2/include/git2/refs.h +9 -5
  87. data/vendor/libgit2/include/git2/remote.h +59 -6
  88. data/vendor/libgit2/include/git2/repository.h +95 -52
  89. data/vendor/libgit2/include/git2/revparse.h +5 -5
  90. data/vendor/libgit2/include/git2/status.h +115 -59
  91. data/vendor/libgit2/include/git2/strarray.h +6 -10
  92. data/vendor/libgit2/include/git2/submodule.h +9 -0
  93. data/vendor/libgit2/include/git2/sys/commit_graph.h +174 -0
  94. data/vendor/libgit2/include/git2/sys/filter.h +49 -28
  95. data/vendor/libgit2/include/git2/sys/midx.h +74 -0
  96. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -0
  97. data/vendor/libgit2/include/git2/sys/transport.h +1 -0
  98. data/vendor/libgit2/include/git2/tag.h +12 -0
  99. data/vendor/libgit2/include/git2/transport.h +1 -1
  100. data/vendor/libgit2/include/git2/tree.h +2 -14
  101. data/vendor/libgit2/include/git2/types.h +9 -0
  102. data/vendor/libgit2/include/git2/version.h +3 -3
  103. data/vendor/libgit2/include/git2/worktree.h +1 -0
  104. data/vendor/libgit2/src/CMakeLists.txt +77 -44
  105. data/vendor/libgit2/src/alloc.c +21 -8
  106. data/vendor/libgit2/src/allocators/failalloc.c +92 -0
  107. data/vendor/libgit2/src/allocators/failalloc.h +23 -0
  108. data/vendor/libgit2/src/allocators/stdalloc.c +41 -10
  109. data/vendor/libgit2/src/allocators/win32_leakcheck.c +118 -0
  110. data/vendor/libgit2/src/allocators/{win32_crtdbg.h → win32_leakcheck.h} +3 -3
  111. data/vendor/libgit2/src/annotated_commit.c +21 -9
  112. data/vendor/libgit2/src/apply.c +21 -8
  113. data/vendor/libgit2/src/array.h +11 -11
  114. data/vendor/libgit2/src/assert_safe.h +58 -0
  115. data/vendor/libgit2/src/attr.c +181 -74
  116. data/vendor/libgit2/src/attr_file.c +92 -42
  117. data/vendor/libgit2/src/attr_file.h +32 -11
  118. data/vendor/libgit2/src/attrcache.c +44 -40
  119. data/vendor/libgit2/src/attrcache.h +4 -5
  120. data/vendor/libgit2/src/blame.c +28 -15
  121. data/vendor/libgit2/src/blame_git.c +6 -3
  122. data/vendor/libgit2/src/blob.c +46 -24
  123. data/vendor/libgit2/src/branch.c +87 -37
  124. data/vendor/libgit2/src/buffer.c +339 -27
  125. data/vendor/libgit2/src/buffer.h +153 -2
  126. data/vendor/libgit2/src/cache.c +3 -24
  127. data/vendor/libgit2/src/cache.h +7 -7
  128. data/vendor/libgit2/src/cc-compat.h +10 -2
  129. data/vendor/libgit2/src/checkout.c +97 -98
  130. data/vendor/libgit2/src/cherrypick.c +8 -2
  131. data/vendor/libgit2/src/clone.c +104 -29
  132. data/vendor/libgit2/src/commit.c +41 -28
  133. data/vendor/libgit2/src/commit_graph.c +1209 -0
  134. data/vendor/libgit2/src/commit_graph.h +162 -0
  135. data/vendor/libgit2/src/commit_list.c +46 -0
  136. data/vendor/libgit2/src/commit_list.h +2 -0
  137. data/vendor/libgit2/src/common.h +26 -2
  138. data/vendor/libgit2/src/config.c +40 -22
  139. data/vendor/libgit2/src/config_cache.c +9 -4
  140. data/vendor/libgit2/src/config_entries.c +35 -27
  141. data/vendor/libgit2/src/config_file.c +25 -8
  142. data/vendor/libgit2/src/config_parse.c +5 -7
  143. data/vendor/libgit2/src/config_snapshot.c +2 -1
  144. data/vendor/libgit2/src/crlf.c +16 -6
  145. data/vendor/libgit2/src/date.c +4 -3
  146. data/vendor/libgit2/src/delta.c +1 -1
  147. data/vendor/libgit2/src/describe.c +11 -4
  148. data/vendor/libgit2/src/diff.c +23 -19
  149. data/vendor/libgit2/src/diff_driver.c +21 -17
  150. data/vendor/libgit2/src/diff_file.c +5 -7
  151. data/vendor/libgit2/src/diff_generate.c +56 -28
  152. data/vendor/libgit2/src/diff_parse.c +2 -3
  153. data/vendor/libgit2/src/diff_print.c +81 -65
  154. data/vendor/libgit2/src/diff_stats.c +19 -16
  155. data/vendor/libgit2/src/diff_tform.c +13 -13
  156. data/vendor/libgit2/src/diff_xdiff.c +4 -2
  157. data/vendor/libgit2/src/diff_xdiff.h +1 -1
  158. data/vendor/libgit2/src/errors.c +26 -19
  159. data/vendor/libgit2/src/features.h.in +5 -1
  160. data/vendor/libgit2/src/fetch.c +7 -2
  161. data/vendor/libgit2/src/fetchhead.c +8 -4
  162. data/vendor/libgit2/src/filebuf.c +9 -7
  163. data/vendor/libgit2/src/filter.c +209 -113
  164. data/vendor/libgit2/src/filter.h +24 -5
  165. data/vendor/libgit2/src/futils.c +8 -8
  166. data/vendor/libgit2/src/futils.h +4 -4
  167. data/vendor/libgit2/src/graph.c +64 -9
  168. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +3 -3
  169. data/vendor/libgit2/src/hash/sha1/common_crypto.c +3 -3
  170. data/vendor/libgit2/src/hash/sha1/generic.h +1 -1
  171. data/vendor/libgit2/src/hash/sha1/mbedtls.c +12 -12
  172. data/vendor/libgit2/src/hash/sha1/openssl.c +3 -3
  173. data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +0 -2
  174. data/vendor/libgit2/src/hash/sha1/win32.c +15 -11
  175. data/vendor/libgit2/src/hash.c +16 -13
  176. data/vendor/libgit2/src/hash.h +1 -1
  177. data/vendor/libgit2/src/hashsig.c +23 -10
  178. data/vendor/libgit2/src/ident.c +13 -3
  179. data/vendor/libgit2/src/idxmap.c +0 -22
  180. data/vendor/libgit2/src/ignore.c +35 -19
  181. data/vendor/libgit2/src/index.c +126 -84
  182. data/vendor/libgit2/src/index.h +1 -1
  183. data/vendor/libgit2/src/indexer.c +60 -36
  184. data/vendor/libgit2/src/integer.h +79 -2
  185. data/vendor/libgit2/src/iterator.c +40 -28
  186. data/vendor/libgit2/src/iterator.h +1 -1
  187. data/vendor/libgit2/src/khash.h +2 -11
  188. data/vendor/libgit2/src/{settings.c → libgit2.c} +125 -49
  189. data/vendor/libgit2/src/libgit2.h +15 -0
  190. data/vendor/libgit2/src/mailmap.c +23 -10
  191. data/vendor/libgit2/src/map.h +3 -3
  192. data/vendor/libgit2/src/merge.c +108 -46
  193. data/vendor/libgit2/src/merge.h +2 -1
  194. data/vendor/libgit2/src/merge_driver.c +19 -13
  195. data/vendor/libgit2/src/merge_file.c +15 -9
  196. data/vendor/libgit2/src/message.c +3 -1
  197. data/vendor/libgit2/src/midx.c +879 -0
  198. data/vendor/libgit2/src/midx.h +110 -0
  199. data/vendor/libgit2/src/mwindow.c +214 -95
  200. data/vendor/libgit2/src/mwindow.h +3 -3
  201. data/vendor/libgit2/src/net.c +133 -4
  202. data/vendor/libgit2/src/net.h +16 -2
  203. data/vendor/libgit2/src/netops.c +6 -4
  204. data/vendor/libgit2/src/netops.h +2 -2
  205. data/vendor/libgit2/src/notes.c +10 -10
  206. data/vendor/libgit2/src/object.c +24 -15
  207. data/vendor/libgit2/src/odb.c +298 -57
  208. data/vendor/libgit2/src/odb.h +16 -2
  209. data/vendor/libgit2/src/odb_loose.c +31 -21
  210. data/vendor/libgit2/src/odb_mempack.c +3 -1
  211. data/vendor/libgit2/src/odb_pack.c +391 -114
  212. data/vendor/libgit2/src/oid.c +7 -4
  213. data/vendor/libgit2/src/pack-objects.c +83 -69
  214. data/vendor/libgit2/src/pack.c +383 -150
  215. data/vendor/libgit2/src/pack.h +44 -9
  216. data/vendor/libgit2/src/patch.c +14 -7
  217. data/vendor/libgit2/src/patch_generate.c +3 -5
  218. data/vendor/libgit2/src/patch_parse.c +6 -3
  219. data/vendor/libgit2/src/path.c +102 -57
  220. data/vendor/libgit2/src/path.h +79 -6
  221. data/vendor/libgit2/src/pathspec.c +12 -11
  222. data/vendor/libgit2/src/pool.c +34 -22
  223. data/vendor/libgit2/src/pool.h +9 -1
  224. data/vendor/libgit2/src/posix.c +43 -12
  225. data/vendor/libgit2/src/posix.h +9 -0
  226. data/vendor/libgit2/src/proxy.c +2 -0
  227. data/vendor/libgit2/src/push.c +2 -0
  228. data/vendor/libgit2/src/reader.c +10 -6
  229. data/vendor/libgit2/src/rebase.c +95 -49
  230. data/vendor/libgit2/src/refdb.c +165 -13
  231. data/vendor/libgit2/src/refdb.h +69 -0
  232. data/vendor/libgit2/src/refdb_fs.c +144 -152
  233. data/vendor/libgit2/src/reflog.c +21 -20
  234. data/vendor/libgit2/src/refs.c +151 -231
  235. data/vendor/libgit2/src/refs.h +2 -20
  236. data/vendor/libgit2/src/refspec.c +80 -44
  237. data/vendor/libgit2/src/regexp.c +2 -2
  238. data/vendor/libgit2/src/remote.c +312 -121
  239. data/vendor/libgit2/src/remote.h +2 -1
  240. data/vendor/libgit2/src/repository.c +351 -189
  241. data/vendor/libgit2/src/repository.h +23 -29
  242. data/vendor/libgit2/src/reset.c +7 -6
  243. data/vendor/libgit2/src/revert.c +8 -2
  244. data/vendor/libgit2/src/revparse.c +19 -13
  245. data/vendor/libgit2/src/revwalk.c +35 -20
  246. data/vendor/libgit2/src/runtime.c +162 -0
  247. data/vendor/libgit2/src/runtime.h +62 -0
  248. data/vendor/libgit2/src/{refdb_fs.h → settings.h} +3 -11
  249. data/vendor/libgit2/src/signature.c +6 -5
  250. data/vendor/libgit2/src/sortedcache.c +2 -3
  251. data/vendor/libgit2/src/sortedcache.h +10 -8
  252. data/vendor/libgit2/src/stash.c +7 -3
  253. data/vendor/libgit2/src/status.c +9 -4
  254. data/vendor/libgit2/src/strarray.c +64 -0
  255. data/vendor/libgit2/src/streams/mbedtls.c +14 -17
  256. data/vendor/libgit2/src/streams/mbedtls.h +1 -1
  257. data/vendor/libgit2/src/streams/openssl.c +113 -207
  258. data/vendor/libgit2/src/streams/openssl.h +9 -1
  259. data/vendor/libgit2/src/streams/openssl_dynamic.c +309 -0
  260. data/vendor/libgit2/src/streams/openssl_dynamic.h +348 -0
  261. data/vendor/libgit2/src/streams/openssl_legacy.c +203 -0
  262. data/vendor/libgit2/src/streams/openssl_legacy.h +63 -0
  263. data/vendor/libgit2/src/streams/registry.c +10 -9
  264. data/vendor/libgit2/src/streams/socket.c +6 -2
  265. data/vendor/libgit2/src/streams/stransport.c +6 -3
  266. data/vendor/libgit2/src/streams/tls.c +5 -3
  267. data/vendor/libgit2/src/submodule.c +134 -66
  268. data/vendor/libgit2/src/submodule.h +9 -9
  269. data/vendor/libgit2/src/sysdir.c +8 -26
  270. data/vendor/libgit2/src/sysdir.h +0 -11
  271. data/vendor/libgit2/src/tag.c +49 -11
  272. data/vendor/libgit2/src/thread.c +140 -0
  273. data/vendor/libgit2/src/thread.h +479 -0
  274. data/vendor/libgit2/src/threadstate.c +83 -0
  275. data/vendor/libgit2/src/threadstate.h +24 -0
  276. data/vendor/libgit2/src/trace.c +2 -2
  277. data/vendor/libgit2/src/trace.h +17 -13
  278. data/vendor/libgit2/src/transaction.c +21 -9
  279. data/vendor/libgit2/src/transport.c +3 -3
  280. data/vendor/libgit2/src/transports/auth.c +1 -1
  281. data/vendor/libgit2/src/transports/auth_negotiate.c +11 -4
  282. data/vendor/libgit2/src/transports/auth_ntlm.c +10 -6
  283. data/vendor/libgit2/src/transports/credential.c +17 -7
  284. data/vendor/libgit2/src/transports/credential_helpers.c +2 -0
  285. data/vendor/libgit2/src/transports/git.c +1 -3
  286. data/vendor/libgit2/src/transports/http.c +19 -17
  287. data/vendor/libgit2/src/transports/http.h +1 -0
  288. data/vendor/libgit2/src/transports/httpclient.c +84 -42
  289. data/vendor/libgit2/src/transports/httpclient.h +1 -1
  290. data/vendor/libgit2/src/transports/local.c +5 -5
  291. data/vendor/libgit2/src/transports/smart.c +14 -9
  292. data/vendor/libgit2/src/transports/smart.h +1 -1
  293. data/vendor/libgit2/src/transports/smart_protocol.c +11 -5
  294. data/vendor/libgit2/src/transports/ssh.c +51 -17
  295. data/vendor/libgit2/src/transports/winhttp.c +156 -88
  296. data/vendor/libgit2/src/tree.c +100 -77
  297. data/vendor/libgit2/src/tree.h +1 -0
  298. data/vendor/libgit2/src/tsort.c +0 -2
  299. data/vendor/libgit2/src/unix/map.c +3 -1
  300. data/vendor/libgit2/src/unix/posix.h +16 -1
  301. data/vendor/libgit2/src/unix/pthread.h +2 -1
  302. data/vendor/libgit2/src/utf8.c +150 -0
  303. data/vendor/libgit2/src/utf8.h +52 -0
  304. data/vendor/libgit2/src/util.c +74 -183
  305. data/vendor/libgit2/src/util.h +33 -39
  306. data/vendor/libgit2/src/vector.c +23 -19
  307. data/vendor/libgit2/src/vector.h +4 -2
  308. data/vendor/libgit2/src/win32/findfile.c +4 -2
  309. data/vendor/libgit2/src/win32/git2.rc +18 -3
  310. data/vendor/libgit2/src/win32/map.c +1 -1
  311. data/vendor/libgit2/src/win32/msvc-compat.h +9 -1
  312. data/vendor/libgit2/src/win32/path_w32.c +23 -25
  313. data/vendor/libgit2/src/win32/path_w32.h +0 -1
  314. data/vendor/libgit2/src/win32/posix_w32.c +77 -1
  315. data/vendor/libgit2/src/win32/precompiled.h +0 -1
  316. data/vendor/libgit2/src/win32/reparse.h +4 -4
  317. data/vendor/libgit2/src/win32/thread.c +24 -15
  318. data/vendor/libgit2/src/win32/thread.h +1 -1
  319. data/vendor/libgit2/src/win32/w32_buffer.c +3 -3
  320. data/vendor/libgit2/src/win32/w32_common.h +18 -9
  321. data/vendor/libgit2/src/win32/{w32_crtdbg_stacktrace.c → w32_leakcheck.c} +269 -33
  322. data/vendor/libgit2/src/win32/w32_leakcheck.h +222 -0
  323. data/vendor/libgit2/src/win32/w32_util.h +6 -6
  324. data/vendor/libgit2/src/worktree.c +37 -15
  325. data/vendor/libgit2/src/zstream.c +1 -1
  326. metadata +56 -38
  327. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +0 -29
  328. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +0 -96
  329. data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
  330. data/vendor/libgit2/src/buf_text.c +0 -316
  331. data/vendor/libgit2/src/buf_text.h +0 -122
  332. data/vendor/libgit2/src/global.c +0 -361
  333. data/vendor/libgit2/src/global.h +0 -41
  334. data/vendor/libgit2/src/thread-utils.c +0 -58
  335. data/vendor/libgit2/src/thread-utils.h +0 -246
  336. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -127
  337. data/vendor/libgit2/src/win32/w32_stack.c +0 -188
  338. data/vendor/libgit2/src/win32/w32_stack.h +0 -140
@@ -126,7 +126,10 @@ int git_cherrypick_commit(
126
126
  git_tree *parent_tree = NULL, *our_tree = NULL, *cherrypick_tree = NULL;
127
127
  int parent = 0, error = 0;
128
128
 
129
- assert(out && repo && cherrypick_commit && our_commit);
129
+ GIT_ASSERT_ARG(out);
130
+ GIT_ASSERT_ARG(repo);
131
+ GIT_ASSERT_ARG(cherrypick_commit);
132
+ GIT_ASSERT_ARG(our_commit);
130
133
 
131
134
  if (git_commit_parentcount(cherrypick_commit) > 1) {
132
135
  if (!mainline)
@@ -177,7 +180,8 @@ int git_cherrypick(
177
180
  git_indexwriter indexwriter = GIT_INDEXWRITER_INIT;
178
181
  int error = 0;
179
182
 
180
- assert(repo && commit);
183
+ GIT_ASSERT_ARG(repo);
184
+ GIT_ASSERT_ARG(commit);
181
185
 
182
186
  GIT_ERROR_CHECK_VERSION(given_opts, GIT_CHERRYPICK_OPTIONS_VERSION, "git_cherrypick_options");
183
187
 
@@ -229,8 +233,10 @@ int git_cherrypick_options_init(
229
233
  return 0;
230
234
  }
231
235
 
236
+ #ifndef GIT_DEPRECATE_HARD
232
237
  int git_cherrypick_init_options(
233
238
  git_cherrypick_options *opts, unsigned int version)
234
239
  {
235
240
  return git_cherrypick_options_init(opts, version);
236
241
  }
242
+ #endif
@@ -137,6 +137,80 @@ static int update_head_to_new_branch(
137
137
  return error;
138
138
  }
139
139
 
140
+ static int update_head_to_default(git_repository *repo)
141
+ {
142
+ git_buf initialbranch = GIT_BUF_INIT;
143
+ const char *branch_name;
144
+ int error = 0;
145
+
146
+ if ((error = git_repository_initialbranch(&initialbranch, repo)) < 0)
147
+ goto done;
148
+
149
+ if (git__prefixcmp(initialbranch.ptr, GIT_REFS_HEADS_DIR) != 0) {
150
+ git_error_set(GIT_ERROR_INVALID, "invalid initial branch '%s'", initialbranch.ptr);
151
+ error = -1;
152
+ goto done;
153
+ }
154
+
155
+ branch_name = initialbranch.ptr + strlen(GIT_REFS_HEADS_DIR);
156
+
157
+ error = setup_tracking_config(repo, branch_name, GIT_REMOTE_ORIGIN,
158
+ initialbranch.ptr);
159
+
160
+ done:
161
+ git_buf_dispose(&initialbranch);
162
+ return error;
163
+ }
164
+
165
+ static int update_remote_head(
166
+ git_repository *repo,
167
+ git_remote *remote,
168
+ git_buf *target,
169
+ const char *reflog_message)
170
+ {
171
+ git_refspec *refspec;
172
+ git_reference *remote_head = NULL;
173
+ git_buf remote_head_name = GIT_BUF_INIT;
174
+ git_buf remote_branch_name = GIT_BUF_INIT;
175
+ int error;
176
+
177
+ /* Determine the remote tracking ref name from the local branch */
178
+ refspec = git_remote__matching_refspec(remote, git_buf_cstr(target));
179
+
180
+ if (refspec == NULL) {
181
+ git_error_set(GIT_ERROR_NET, "the remote's default branch does not fit the refspec configuration");
182
+ error = GIT_EINVALIDSPEC;
183
+ goto cleanup;
184
+ }
185
+
186
+ if ((error = git_refspec_transform(
187
+ &remote_branch_name,
188
+ refspec,
189
+ git_buf_cstr(target))) < 0)
190
+ goto cleanup;
191
+
192
+ if ((error = git_buf_printf(&remote_head_name,
193
+ "%s%s/%s",
194
+ GIT_REFS_REMOTES_DIR,
195
+ git_remote_name(remote),
196
+ GIT_HEAD_FILE)) < 0)
197
+ goto cleanup;
198
+
199
+ error = git_reference_symbolic_create(
200
+ &remote_head,
201
+ repo,
202
+ git_buf_cstr(&remote_head_name),
203
+ git_buf_cstr(&remote_branch_name),
204
+ true,
205
+ reflog_message);
206
+
207
+ cleanup:
208
+ git_reference_free(remote_head);
209
+ git_buf_dispose(&remote_branch_name);
210
+ git_buf_dispose(&remote_head_name);
211
+ return error;
212
+ }
213
+
140
214
  static int update_head_to_remote(
141
215
  git_repository *repo,
142
216
  git_remote *remote,
@@ -144,10 +218,8 @@ static int update_head_to_remote(
144
218
  {
145
219
  int error = 0;
146
220
  size_t refs_len;
147
- git_refspec *refspec;
148
221
  const git_remote_head *remote_head, **refs;
149
222
  const git_oid *remote_head_id;
150
- git_buf remote_master_name = GIT_BUF_INIT;
151
223
  git_buf branch = GIT_BUF_INIT;
152
224
 
153
225
  if ((error = git_remote_ls(&refs, &refs_len, remote)) < 0)
@@ -155,12 +227,11 @@ static int update_head_to_remote(
155
227
 
156
228
  /* We cloned an empty repository or one with an unborn HEAD */
157
229
  if (refs_len == 0 || strcmp(refs[0]->name, GIT_HEAD_FILE))
158
- return setup_tracking_config(
159
- repo, "master", GIT_REMOTE_ORIGIN, GIT_REFS_HEADS_MASTER_FILE);
230
+ return update_head_to_default(repo);
160
231
 
161
232
  /* We know we have HEAD, let's see where it points */
162
233
  remote_head = refs[0];
163
- assert(remote_head);
234
+ GIT_ASSERT(remote_head);
164
235
 
165
236
  remote_head_id = &remote_head->oid;
166
237
 
@@ -171,19 +242,7 @@ static int update_head_to_remote(
171
242
  goto cleanup;
172
243
  }
173
244
 
174
- refspec = git_remote__matching_refspec(remote, git_buf_cstr(&branch));
175
-
176
- if (refspec == NULL) {
177
- git_error_set(GIT_ERROR_NET, "the remote's default branch does not fit the refspec configuration");
178
- error = GIT_EINVALIDSPEC;
179
- goto cleanup;
180
- }
181
-
182
- /* Determine the remote tracking reference name from the local master */
183
- if ((error = git_refspec_transform(
184
- &remote_master_name,
185
- refspec,
186
- git_buf_cstr(&branch))) < 0)
245
+ if ((error = update_remote_head(repo, remote, &branch, reflog_message)) < 0)
187
246
  goto cleanup;
188
247
 
189
248
  error = update_head_to_new_branch(
@@ -193,7 +252,6 @@ static int update_head_to_remote(
193
252
  reflog_message);
194
253
 
195
254
  cleanup:
196
- git_buf_dispose(&remote_master_name);
197
255
  git_buf_dispose(&branch);
198
256
 
199
257
  return error;
@@ -201,29 +259,41 @@ cleanup:
201
259
 
202
260
  static int update_head_to_branch(
203
261
  git_repository *repo,
204
- const char *remote_name,
262
+ git_remote *remote,
205
263
  const char *branch,
206
264
  const char *reflog_message)
207
265
  {
208
266
  int retcode;
209
267
  git_buf remote_branch_name = GIT_BUF_INIT;
210
268
  git_reference* remote_ref = NULL;
269
+ git_buf default_branch = GIT_BUF_INIT;
211
270
 
212
- assert(remote_name && branch);
271
+ GIT_ASSERT_ARG(remote);
272
+ GIT_ASSERT_ARG(branch);
213
273
 
214
274
  if ((retcode = git_buf_printf(&remote_branch_name, GIT_REFS_REMOTES_DIR "%s/%s",
215
- remote_name, branch)) < 0 )
275
+ git_remote_name(remote), branch)) < 0 )
216
276
  goto cleanup;
217
277
 
218
278
  if ((retcode = git_reference_lookup(&remote_ref, repo, git_buf_cstr(&remote_branch_name))) < 0)
219
279
  goto cleanup;
220
280
 
221
- retcode = update_head_to_new_branch(repo, git_reference_target(remote_ref), branch,
222
- reflog_message);
281
+ if ((retcode = update_head_to_new_branch(repo, git_reference_target(remote_ref), branch,
282
+ reflog_message)) < 0)
283
+ goto cleanup;
284
+
285
+ if ((retcode = git_remote_default_branch(&default_branch, remote)) < 0)
286
+ goto cleanup;
287
+
288
+ if (!git_remote__matching_refspec(remote, git_buf_cstr(&default_branch)))
289
+ goto cleanup;
290
+
291
+ retcode = update_remote_head(repo, remote, &default_branch, reflog_message);
223
292
 
224
293
  cleanup:
225
294
  git_reference_free(remote_ref);
226
295
  git_buf_dispose(&remote_branch_name);
296
+ git_buf_dispose(&default_branch);
227
297
  return retcode;
228
298
  }
229
299
 
@@ -308,8 +378,7 @@ static int checkout_branch(git_repository *repo, git_remote *remote, const git_c
308
378
  int error;
309
379
 
310
380
  if (branch)
311
- error = update_head_to_branch(repo, git_remote_name(remote), branch,
312
- reflog_message);
381
+ error = update_head_to_branch(repo, remote, branch, reflog_message);
313
382
  /* Point HEAD to the same ref as the remote's head */
314
383
  else
315
384
  error = update_head_to_remote(repo, remote, reflog_message);
@@ -327,7 +396,8 @@ static int clone_into(git_repository *repo, git_remote *_remote, const git_fetch
327
396
  git_fetch_options fetch_opts;
328
397
  git_remote *remote;
329
398
 
330
- assert(repo && _remote);
399
+ GIT_ASSERT_ARG(repo);
400
+ GIT_ASSERT_ARG(_remote);
331
401
 
332
402
  if (!git_repository_is_empty(repo)) {
333
403
  git_error_set(GIT_ERROR_INVALID, "the repository is not empty");
@@ -394,7 +464,9 @@ static int git__clone(
394
464
  uint32_t rmdir_flags = GIT_RMDIR_REMOVE_FILES;
395
465
  git_repository_create_cb repository_cb;
396
466
 
397
- assert(out && url && local_path);
467
+ GIT_ASSERT_ARG(out);
468
+ GIT_ASSERT_ARG(url);
469
+ GIT_ASSERT_ARG(local_path);
398
470
 
399
471
  if (_options)
400
472
  memcpy(&options, _options, sizeof(git_clone_options));
@@ -479,10 +551,12 @@ int git_clone_options_init(git_clone_options *opts, unsigned int version)
479
551
  return 0;
480
552
  }
481
553
 
554
+ #ifndef GIT_DEPRECATE_HARD
482
555
  int git_clone_init_options(git_clone_options *opts, unsigned int version)
483
556
  {
484
557
  return git_clone_options_init(opts, version);
485
558
  }
559
+ #endif
486
560
 
487
561
  static bool can_link(const char *src, const char *dst, int link)
488
562
  {
@@ -515,7 +589,8 @@ static int clone_local_into(git_repository *repo, git_remote *remote, const git_
515
589
  git_buf src_odb = GIT_BUF_INIT, dst_odb = GIT_BUF_INIT, src_path = GIT_BUF_INIT;
516
590
  git_buf reflog_message = GIT_BUF_INIT;
517
591
 
518
- assert(repo && remote);
592
+ GIT_ASSERT_ARG(repo);
593
+ GIT_ASSERT_ARG(remote);
519
594
 
520
595
  if (!git_repository_is_empty(repo)) {
521
596
  git_error_set(GIT_ERROR_INVALID, "the repository is not empty");
@@ -53,7 +53,8 @@ static int git_commit__create_buffer_internal(
53
53
  size_t i = 0;
54
54
  const git_oid *parent;
55
55
 
56
- assert(out && tree);
56
+ GIT_ASSERT_ARG(out);
57
+ GIT_ASSERT_ARG(tree);
57
58
 
58
59
  git_oid__writebuf(out, "tree ", tree);
59
60
 
@@ -229,7 +230,8 @@ int git_commit_create_v(
229
230
  int error = 0;
230
231
  commit_parent_varargs data;
231
232
 
232
- assert(tree && git_tree_owner(tree) == repo);
233
+ GIT_ASSERT_ARG(tree);
234
+ GIT_ASSERT_ARG(git_tree_owner(tree) == repo);
233
235
 
234
236
  data.total = parent_count;
235
237
  va_start(data.args, parent_count);
@@ -306,7 +308,8 @@ int git_commit_create(
306
308
  {
307
309
  commit_parent_data data = { parent_count, parents, repo };
308
310
 
309
- assert(tree && git_tree_owner(tree) == repo);
311
+ GIT_ASSERT_ARG(tree);
312
+ GIT_ASSERT_ARG(git_tree_owner(tree) == repo);
310
313
 
311
314
  return git_commit__create_internal(
312
315
  id, repo, update_ref, author, committer,
@@ -337,7 +340,8 @@ int git_commit_amend(
337
340
  git_reference *ref;
338
341
  int error;
339
342
 
340
- assert(id && commit_to_amend);
343
+ GIT_ASSERT_ARG(id);
344
+ GIT_ASSERT_ARG(commit_to_amend);
341
345
 
342
346
  repo = git_commit_owner(commit_to_amend);
343
347
 
@@ -356,7 +360,7 @@ int git_commit_amend(
356
360
  git_oid_cpy(&tree_id, git_tree_id(old_tree));
357
361
  git_tree_free(old_tree);
358
362
  } else {
359
- assert(git_tree_owner(tree) == repo);
363
+ GIT_ASSERT_ARG(git_tree_owner(tree) == repo);
360
364
  git_oid_cpy(&tree_id, git_tree_id(tree));
361
365
  }
362
366
 
@@ -392,7 +396,8 @@ static int commit_parse(git_commit *commit, const char *data, size_t size, unsig
392
396
  size_t header_len;
393
397
  git_signature dummy_sig;
394
398
 
395
- assert(commit && data);
399
+ GIT_ASSERT_ARG(commit);
400
+ GIT_ASSERT_ARG(data);
396
401
 
397
402
  buffer = buffer_start;
398
403
 
@@ -506,28 +511,28 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
506
511
  return git_commit__parse_ext(_commit, odb_obj, 0);
507
512
  }
508
513
 
509
- #define GIT_COMMIT_GETTER(_rvalue, _name, _return) \
514
+ #define GIT_COMMIT_GETTER(_rvalue, _name, _return, _invalid) \
510
515
  _rvalue git_commit_##_name(const git_commit *commit) \
511
516
  {\
512
- assert(commit); \
517
+ GIT_ASSERT_ARG_WITH_RETVAL(commit, _invalid); \
513
518
  return _return; \
514
519
  }
515
520
 
516
- GIT_COMMIT_GETTER(const git_signature *, author, commit->author)
517
- GIT_COMMIT_GETTER(const git_signature *, committer, commit->committer)
518
- GIT_COMMIT_GETTER(const char *, message_raw, commit->raw_message)
519
- GIT_COMMIT_GETTER(const char *, message_encoding, commit->message_encoding)
520
- GIT_COMMIT_GETTER(const char *, raw_header, commit->raw_header)
521
- GIT_COMMIT_GETTER(git_time_t, time, commit->committer->when.time)
522
- GIT_COMMIT_GETTER(int, time_offset, commit->committer->when.offset)
523
- GIT_COMMIT_GETTER(unsigned int, parentcount, (unsigned int)git_array_size(commit->parent_ids))
524
- GIT_COMMIT_GETTER(const git_oid *, tree_id, &commit->tree_id)
521
+ GIT_COMMIT_GETTER(const git_signature *, author, commit->author, NULL)
522
+ GIT_COMMIT_GETTER(const git_signature *, committer, commit->committer, NULL)
523
+ GIT_COMMIT_GETTER(const char *, message_raw, commit->raw_message, NULL)
524
+ GIT_COMMIT_GETTER(const char *, message_encoding, commit->message_encoding, NULL)
525
+ GIT_COMMIT_GETTER(const char *, raw_header, commit->raw_header, NULL)
526
+ GIT_COMMIT_GETTER(git_time_t, time, commit->committer->when.time, INT64_MIN)
527
+ GIT_COMMIT_GETTER(int, time_offset, commit->committer->when.offset, -1)
528
+ GIT_COMMIT_GETTER(unsigned int, parentcount, (unsigned int)git_array_size(commit->parent_ids), 0)
529
+ GIT_COMMIT_GETTER(const git_oid *, tree_id, &commit->tree_id, NULL)
525
530
 
526
531
  const char *git_commit_message(const git_commit *commit)
527
532
  {
528
533
  const char *message;
529
534
 
530
- assert(commit);
535
+ GIT_ASSERT_ARG_WITH_RETVAL(commit, NULL);
531
536
 
532
537
  message = commit->raw_message;
533
538
 
@@ -544,7 +549,7 @@ const char *git_commit_summary(git_commit *commit)
544
549
  const char *msg, *space;
545
550
  bool space_contains_newline = false;
546
551
 
547
- assert(commit);
552
+ GIT_ASSERT_ARG_WITH_RETVAL(commit, NULL);
548
553
 
549
554
  if (!commit->summary) {
550
555
  for (msg = git_commit_message(commit), space = NULL; *msg; ++msg) {
@@ -587,7 +592,7 @@ const char *git_commit_body(git_commit *commit)
587
592
  {
588
593
  const char *msg, *end;
589
594
 
590
- assert(commit);
595
+ GIT_ASSERT_ARG_WITH_RETVAL(commit, NULL);
591
596
 
592
597
  if (!commit->body) {
593
598
  /* search for end of summary */
@@ -612,14 +617,14 @@ const char *git_commit_body(git_commit *commit)
612
617
 
613
618
  int git_commit_tree(git_tree **tree_out, const git_commit *commit)
614
619
  {
615
- assert(commit);
620
+ GIT_ASSERT_ARG(commit);
616
621
  return git_tree_lookup(tree_out, commit->object.repo, &commit->tree_id);
617
622
  }
618
623
 
619
624
  const git_oid *git_commit_parent_id(
620
625
  const git_commit *commit, unsigned int n)
621
626
  {
622
- assert(commit);
627
+ GIT_ASSERT_ARG_WITH_RETVAL(commit, NULL);
623
628
 
624
629
  return git_array_get(commit->parent_ids, n);
625
630
  }
@@ -628,7 +633,7 @@ int git_commit_parent(
628
633
  git_commit **parent, const git_commit *commit, unsigned int n)
629
634
  {
630
635
  const git_oid *parent_id;
631
- assert(commit);
636
+ GIT_ASSERT_ARG(commit);
632
637
 
633
638
  parent_id = git_commit_parent_id(commit, n);
634
639
  if (parent_id == NULL) {
@@ -647,7 +652,8 @@ int git_commit_nth_gen_ancestor(
647
652
  git_commit *current, *parent = NULL;
648
653
  int error;
649
654
 
650
- assert(ancestor && commit);
655
+ GIT_ASSERT_ARG(ancestor);
656
+ GIT_ASSERT_ARG(commit);
651
657
 
652
658
  if (git_commit_dup(&current, (git_commit *)commit) < 0)
653
659
  return -1;
@@ -840,7 +846,8 @@ int git_commit_create_buffer(git_buf *out,
840
846
  git_array_oid_t parents_arr = GIT_ARRAY_INIT;
841
847
  const git_oid *tree_id;
842
848
 
843
- assert(tree && git_tree_owner(tree) == repo);
849
+ GIT_ASSERT_ARG(tree);
850
+ GIT_ASSERT_ARG(git_tree_owner(tree) == repo);
844
851
 
845
852
  tree_id = git_tree_id(tree);
846
853
 
@@ -859,11 +866,13 @@ int git_commit_create_buffer(git_buf *out,
859
866
  /**
860
867
  * Append to 'out' properly marking continuations when there's a newline in 'content'
861
868
  */
862
- static void format_header_field(git_buf *out, const char *field, const char *content)
869
+ static int format_header_field(git_buf *out, const char *field, const char *content)
863
870
  {
864
871
  const char *lf;
865
872
 
866
- assert(out && field && content);
873
+ GIT_ASSERT_ARG(out);
874
+ GIT_ASSERT_ARG(field);
875
+ GIT_ASSERT_ARG(content);
867
876
 
868
877
  git_buf_puts(out, field);
869
878
  git_buf_putc(out, ' ');
@@ -876,6 +885,8 @@ static void format_header_field(git_buf *out, const char *field, const char *con
876
885
 
877
886
  git_buf_puts(out, content);
878
887
  git_buf_putc(out, '\n');
888
+
889
+ return git_buf_oom(out) ? -1 : 0;
879
890
  }
880
891
 
881
892
  static const git_oid *commit_parent_from_commit(size_t n, void *payload)
@@ -926,7 +937,9 @@ int git_commit_create_with_signature(
926
937
 
927
938
  if (signature != NULL) {
928
939
  field = signature_field ? signature_field : "gpgsig";
929
- format_header_field(&commit, field, signature);
940
+
941
+ if ((error = format_header_field(&commit, field, signature)) < 0)
942
+ goto cleanup;
930
943
  }
931
944
 
932
945
  git_buf_puts(&commit, header_end);