rugged 1.7.2 → 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 (361) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +1 -0
  4. data/vendor/libgit2/CMakeLists.txt +23 -10
  5. data/vendor/libgit2/COPYING +195 -1
  6. data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
  7. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  8. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +1 -1
  9. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
  10. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +17 -8
  11. data/vendor/libgit2/cmake/SelectHashes.cmake +28 -11
  12. data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
  13. data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
  14. data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
  15. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  16. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  17. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  18. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  19. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  20. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  21. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
  22. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  23. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  24. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  25. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
  26. data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
  27. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  28. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  29. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  30. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  31. data/vendor/libgit2/deps/pcre/CMakeLists.txt +1 -0
  32. data/vendor/libgit2/deps/xdiff/xmerge.c +2 -2
  33. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  34. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  35. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  36. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  37. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  38. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  39. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  40. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  41. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  42. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  43. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  44. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  45. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  46. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  47. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  48. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  49. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  50. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  51. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  52. data/vendor/libgit2/include/git2/apply.h +27 -6
  53. data/vendor/libgit2/include/git2/attr.h +17 -4
  54. data/vendor/libgit2/include/git2/blame.h +133 -28
  55. data/vendor/libgit2/include/git2/blob.h +71 -28
  56. data/vendor/libgit2/include/git2/branch.h +22 -15
  57. data/vendor/libgit2/include/git2/buffer.h +6 -4
  58. data/vendor/libgit2/include/git2/cert.h +2 -1
  59. data/vendor/libgit2/include/git2/checkout.h +83 -32
  60. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  61. data/vendor/libgit2/include/git2/clone.h +25 -9
  62. data/vendor/libgit2/include/git2/commit.h +132 -3
  63. data/vendor/libgit2/include/git2/common.h +120 -63
  64. data/vendor/libgit2/include/git2/config.h +93 -23
  65. data/vendor/libgit2/include/git2/credential.h +30 -2
  66. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  67. data/vendor/libgit2/include/git2/deprecated.h +133 -3
  68. data/vendor/libgit2/include/git2/describe.h +13 -1
  69. data/vendor/libgit2/include/git2/diff.h +38 -8
  70. data/vendor/libgit2/include/git2/email.h +9 -29
  71. data/vendor/libgit2/include/git2/errors.h +46 -73
  72. data/vendor/libgit2/include/git2/filter.h +14 -7
  73. data/vendor/libgit2/include/git2/global.h +8 -1
  74. data/vendor/libgit2/include/git2/graph.h +3 -2
  75. data/vendor/libgit2/include/git2/ignore.h +10 -0
  76. data/vendor/libgit2/include/git2/index.h +99 -14
  77. data/vendor/libgit2/include/git2/indexer.h +21 -4
  78. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  79. data/vendor/libgit2/include/git2/merge.h +46 -1
  80. data/vendor/libgit2/include/git2/message.h +2 -2
  81. data/vendor/libgit2/include/git2/net.h +3 -1
  82. data/vendor/libgit2/include/git2/notes.h +9 -6
  83. data/vendor/libgit2/include/git2/object.h +9 -8
  84. data/vendor/libgit2/include/git2/odb.h +91 -49
  85. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  86. data/vendor/libgit2/include/git2/oid.h +23 -24
  87. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  88. data/vendor/libgit2/include/git2/pack.h +13 -1
  89. data/vendor/libgit2/include/git2/patch.h +2 -3
  90. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  91. data/vendor/libgit2/include/git2/proxy.h +10 -0
  92. data/vendor/libgit2/include/git2/rebase.h +9 -6
  93. data/vendor/libgit2/include/git2/refdb.h +2 -2
  94. data/vendor/libgit2/include/git2/reflog.h +3 -2
  95. data/vendor/libgit2/include/git2/refs.h +9 -6
  96. data/vendor/libgit2/include/git2/refspec.h +14 -4
  97. data/vendor/libgit2/include/git2/remote.h +94 -18
  98. data/vendor/libgit2/include/git2/repository.h +57 -21
  99. data/vendor/libgit2/include/git2/reset.h +16 -3
  100. data/vendor/libgit2/include/git2/revert.h +9 -4
  101. data/vendor/libgit2/include/git2/revparse.h +3 -3
  102. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  103. data/vendor/libgit2/include/git2/signature.h +46 -1
  104. data/vendor/libgit2/include/git2/stash.h +17 -3
  105. data/vendor/libgit2/include/git2/status.h +10 -6
  106. data/vendor/libgit2/include/git2/stdint.h +87 -85
  107. data/vendor/libgit2/include/git2/strarray.h +2 -3
  108. data/vendor/libgit2/include/git2/submodule.h +20 -9
  109. data/vendor/libgit2/include/git2/sys/alloc.h +12 -0
  110. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  111. data/vendor/libgit2/include/git2/sys/commit_graph.h +103 -62
  112. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  113. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  114. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  115. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  116. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  117. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  118. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  119. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  120. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  121. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  122. data/vendor/libgit2/include/git2/sys/midx.h +43 -4
  123. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  124. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  125. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  126. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  127. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  128. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  129. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  130. data/vendor/libgit2/include/git2/sys/stream.h +11 -2
  131. data/vendor/libgit2/include/git2/sys/transport.h +24 -3
  132. data/vendor/libgit2/include/git2/tag.h +3 -1
  133. data/vendor/libgit2/include/git2/trace.h +9 -3
  134. data/vendor/libgit2/include/git2/transaction.h +3 -2
  135. data/vendor/libgit2/include/git2/transport.h +11 -3
  136. data/vendor/libgit2/include/git2/tree.h +16 -5
  137. data/vendor/libgit2/include/git2/types.h +19 -3
  138. data/vendor/libgit2/include/git2/version.h +44 -8
  139. data/vendor/libgit2/include/git2/worktree.h +16 -6
  140. data/vendor/libgit2/src/CMakeLists.txt +6 -4
  141. data/vendor/libgit2/src/cli/CMakeLists.txt +2 -2
  142. data/vendor/libgit2/src/cli/cmd.c +1 -1
  143. data/vendor/libgit2/src/cli/cmd.h +4 -0
  144. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  145. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  146. data/vendor/libgit2/src/cli/cmd_clone.c +5 -7
  147. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  148. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  149. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  150. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  151. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  152. data/vendor/libgit2/src/cli/common.c +168 -0
  153. data/vendor/libgit2/src/cli/common.h +63 -0
  154. data/vendor/libgit2/src/cli/error.h +1 -1
  155. data/vendor/libgit2/src/cli/main.c +52 -24
  156. data/vendor/libgit2/src/cli/opt.c +29 -3
  157. data/vendor/libgit2/src/cli/opt.h +21 -3
  158. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  159. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  160. data/vendor/libgit2/src/cli/progress.c +51 -2
  161. data/vendor/libgit2/src/cli/progress.h +12 -0
  162. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  163. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  164. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  165. data/vendor/libgit2/src/libgit2/CMakeLists.txt +26 -8
  166. data/vendor/libgit2/src/libgit2/apply.c +10 -13
  167. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  168. data/vendor/libgit2/src/libgit2/attr_file.c +7 -2
  169. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  170. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  171. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  172. data/vendor/libgit2/src/libgit2/blame.c +130 -44
  173. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  174. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  175. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  176. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  177. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  178. data/vendor/libgit2/src/libgit2/cherrypick.c +1 -2
  179. data/vendor/libgit2/src/libgit2/clone.c +186 -166
  180. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  181. data/vendor/libgit2/src/libgit2/commit.c +92 -0
  182. data/vendor/libgit2/src/libgit2/commit_graph.c +67 -56
  183. data/vendor/libgit2/src/libgit2/commit_graph.h +1 -2
  184. data/vendor/libgit2/src/libgit2/config.c +389 -298
  185. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  186. data/vendor/libgit2/src/libgit2/config.h +9 -4
  187. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  188. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  189. data/vendor/libgit2/src/libgit2/config_file.c +99 -88
  190. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  191. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  192. data/vendor/libgit2/src/libgit2/config_mem.c +194 -40
  193. data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
  194. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  195. data/vendor/libgit2/src/libgit2/describe.c +24 -24
  196. data/vendor/libgit2/src/libgit2/diff.c +1 -1
  197. data/vendor/libgit2/src/libgit2/diff_driver.c +12 -19
  198. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  199. data/vendor/libgit2/src/libgit2/diff_generate.c +3 -3
  200. data/vendor/libgit2/src/libgit2/diff_parse.c +2 -2
  201. data/vendor/libgit2/src/libgit2/diff_print.c +65 -9
  202. data/vendor/libgit2/src/libgit2/diff_tform.c +36 -8
  203. data/vendor/libgit2/src/libgit2/email.c +1 -0
  204. data/vendor/libgit2/src/libgit2/fetch.c +5 -3
  205. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  206. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  207. data/vendor/libgit2/src/libgit2/grafts.c +18 -20
  208. data/vendor/libgit2/src/libgit2/grafts.h +0 -1
  209. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  210. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  211. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  212. data/vendor/libgit2/src/libgit2/index.c +68 -90
  213. data/vendor/libgit2/src/libgit2/index.h +2 -2
  214. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  215. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  216. data/vendor/libgit2/src/libgit2/indexer.c +34 -38
  217. data/vendor/libgit2/src/libgit2/iterator.c +14 -8
  218. data/vendor/libgit2/src/libgit2/libgit2.c +153 -368
  219. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  220. data/vendor/libgit2/src/libgit2/merge.c +42 -37
  221. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  222. data/vendor/libgit2/src/libgit2/midx.c +28 -15
  223. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  224. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  225. data/vendor/libgit2/src/libgit2/object.c +6 -5
  226. data/vendor/libgit2/src/libgit2/odb.c +5 -4
  227. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  228. data/vendor/libgit2/src/libgit2/odb_pack.c +13 -5
  229. data/vendor/libgit2/src/libgit2/oid.c +32 -5
  230. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  231. data/vendor/libgit2/src/libgit2/pack-objects.c +58 -31
  232. data/vendor/libgit2/src/libgit2/pack-objects.h +12 -4
  233. data/vendor/libgit2/src/libgit2/pack.c +30 -24
  234. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  235. data/vendor/libgit2/src/libgit2/patch_parse.c +2 -2
  236. data/vendor/libgit2/src/libgit2/path.c +1 -1
  237. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  238. data/vendor/libgit2/src/libgit2/push.c +79 -28
  239. data/vendor/libgit2/src/libgit2/push.h +1 -0
  240. data/vendor/libgit2/src/libgit2/refdb_fs.c +128 -61
  241. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  242. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  243. data/vendor/libgit2/src/libgit2/refs.c +26 -7
  244. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  245. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  246. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  247. data/vendor/libgit2/src/libgit2/remote.c +121 -61
  248. data/vendor/libgit2/src/libgit2/repository.c +231 -51
  249. data/vendor/libgit2/src/libgit2/repository.h +10 -6
  250. data/vendor/libgit2/src/libgit2/revert.c +1 -2
  251. data/vendor/libgit2/src/libgit2/revparse.c +2 -2
  252. data/vendor/libgit2/src/libgit2/revwalk.c +13 -10
  253. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  254. data/vendor/libgit2/src/libgit2/settings.c +468 -0
  255. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  256. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  257. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  258. data/vendor/libgit2/src/libgit2/status.c +1 -1
  259. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -60
  260. data/vendor/libgit2/src/libgit2/streams/openssl.c +32 -7
  261. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  262. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  263. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  264. data/vendor/libgit2/src/libgit2/streams/stransport.c +39 -7
  265. data/vendor/libgit2/src/libgit2/submodule.c +106 -63
  266. data/vendor/libgit2/src/libgit2/submodule.h +6 -7
  267. data/vendor/libgit2/src/libgit2/tag.c +1 -1
  268. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  269. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  270. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  271. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  272. data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
  273. data/vendor/libgit2/src/libgit2/transports/http.c +1 -2
  274. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  275. data/vendor/libgit2/src/libgit2/transports/httpclient.c +112 -72
  276. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  277. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  278. data/vendor/libgit2/src/libgit2/transports/local.c +8 -7
  279. data/vendor/libgit2/src/libgit2/transports/smart.c +20 -8
  280. data/vendor/libgit2/src/libgit2/transports/smart.h +4 -2
  281. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +2 -2
  282. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +55 -10
  283. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  284. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  285. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  286. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
  287. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  288. data/vendor/libgit2/src/libgit2/transports/winhttp.c +35 -7
  289. data/vendor/libgit2/src/libgit2/tree.c +34 -26
  290. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  291. data/vendor/libgit2/src/libgit2/worktree.c +14 -17
  292. data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
  293. data/vendor/libgit2/src/util/alloc.c +4 -1
  294. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  295. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  296. data/vendor/libgit2/src/util/allocators/stdalloc.c +0 -10
  297. data/vendor/libgit2/src/util/array.h +18 -17
  298. data/vendor/libgit2/src/util/cc-compat.h +2 -0
  299. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  300. data/vendor/libgit2/src/util/date.c +22 -14
  301. data/vendor/libgit2/src/util/date.h +12 -0
  302. data/vendor/libgit2/src/util/errors.c +401 -0
  303. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  304. data/vendor/libgit2/src/util/fs_path.c +15 -4
  305. data/vendor/libgit2/src/util/fs_path.h +23 -0
  306. data/vendor/libgit2/src/util/futils.c +6 -5
  307. data/vendor/libgit2/src/util/futils.h +13 -4
  308. data/vendor/libgit2/src/util/git2_features.h.in +12 -1
  309. data/vendor/libgit2/src/util/git2_util.h +6 -0
  310. data/vendor/libgit2/src/util/hash/openssl.c +152 -0
  311. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  312. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  313. data/vendor/libgit2/src/util/hashmap.h +424 -0
  314. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  315. data/vendor/libgit2/src/util/integer.h +3 -1
  316. data/vendor/libgit2/src/util/net.c +13 -7
  317. data/vendor/libgit2/src/util/net.h +2 -0
  318. data/vendor/libgit2/src/util/pool.c +1 -1
  319. data/vendor/libgit2/src/util/pool.h +5 -0
  320. data/vendor/libgit2/src/util/pqueue.h +1 -1
  321. data/vendor/libgit2/src/util/process.h +222 -0
  322. data/vendor/libgit2/src/util/rand.c +1 -7
  323. data/vendor/libgit2/src/util/regexp.c +1 -1
  324. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  325. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  326. data/vendor/libgit2/src/util/str.c +2 -2
  327. data/vendor/libgit2/src/util/strlist.c +108 -0
  328. data/vendor/libgit2/src/util/strlist.h +36 -0
  329. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  330. data/vendor/libgit2/src/util/unix/process.c +629 -0
  331. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  332. data/vendor/libgit2/src/util/util.c +2 -2
  333. data/vendor/libgit2/src/util/util.h +4 -38
  334. data/vendor/libgit2/src/util/vector.c +3 -3
  335. data/vendor/libgit2/src/util/vector.h +2 -2
  336. data/vendor/libgit2/src/util/win32/posix_w32.c +29 -6
  337. data/vendor/libgit2/src/util/win32/process.c +506 -0
  338. metadata +45 -28
  339. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  340. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  341. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  342. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  343. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  344. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  345. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  346. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  347. data/vendor/libgit2/src/libgit2/errors.c +0 -293
  348. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  349. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  350. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  351. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  352. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  353. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  354. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  355. data/vendor/libgit2/src/libgit2/threadstate.c +0 -97
  356. data/vendor/libgit2/src/libgit2/threadstate.h +0 -22
  357. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  358. data/vendor/libgit2/src/util/khash.h +0 -615
  359. data/vendor/libgit2/src/util/strmap.c +0 -100
  360. data/vendor/libgit2/src/util/strmap.h +0 -131
  361. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
@@ -13,17 +13,13 @@
13
13
 
14
14
  /**
15
15
  * @file git2/backend.h
16
- * @brief Git custom backend functions
16
+ * @brief Object database backends manage the storage of git objects
17
17
  * @defgroup git_odb Git object database routines
18
18
  * @ingroup Git
19
19
  * @{
20
20
  */
21
21
  GIT_BEGIN_DECL
22
22
 
23
- /*
24
- * Constructors for in-box ODB backends.
25
- */
26
-
27
23
  /** Options for configuring a packfile object backend. */
28
24
  typedef struct {
29
25
  unsigned int version; /**< version for the struct */
@@ -35,56 +31,16 @@ typedef struct {
35
31
  git_oid_t oid_type;
36
32
  } git_odb_backend_pack_options;
37
33
 
38
- /* The current version of the diff options structure */
34
+ /** The current version of the diff options structure */
39
35
  #define GIT_ODB_BACKEND_PACK_OPTIONS_VERSION 1
40
36
 
41
- /* Stack initializer for odb pack backend options. Alternatively use
37
+ /**
38
+ * Stack initializer for odb pack backend options. Alternatively use
42
39
  * `git_odb_backend_pack_options_init` programmatic initialization.
43
40
  */
44
41
  #define GIT_ODB_BACKEND_PACK_OPTIONS_INIT \
45
42
  { GIT_ODB_BACKEND_PACK_OPTIONS_VERSION }
46
43
 
47
- /**
48
- * Create a backend for the packfiles.
49
- *
50
- * @param out location to store the odb backend pointer
51
- * @param objects_dir the Git repository's objects directory
52
- *
53
- * @return 0 or an error code
54
- */
55
- #ifdef GIT_EXPERIMENTAL_SHA256
56
- GIT_EXTERN(int) git_odb_backend_pack(
57
- git_odb_backend **out,
58
- const char *objects_dir,
59
- const git_odb_backend_pack_options *opts);
60
- #else
61
- GIT_EXTERN(int) git_odb_backend_pack(
62
- git_odb_backend **out,
63
- const char *objects_dir);
64
- #endif
65
-
66
- /**
67
- * Create a backend out of a single packfile
68
- *
69
- * This can be useful for inspecting the contents of a single
70
- * packfile.
71
- *
72
- * @param out location to store the odb backend pointer
73
- * @param index_file path to the packfile's .idx file
74
- *
75
- * @return 0 or an error code
76
- */
77
- #ifdef GIT_EXPERIMENTAL_SHA256
78
- GIT_EXTERN(int) git_odb_backend_one_pack(
79
- git_odb_backend **out,
80
- const char *index_file,
81
- const git_odb_backend_pack_options *opts);
82
- #else
83
- GIT_EXTERN(int) git_odb_backend_one_pack(
84
- git_odb_backend **out,
85
- const char *index_file);
86
- #endif
87
-
88
44
  typedef enum {
89
45
  GIT_ODB_BACKEND_LOOSE_FSYNC = (1 << 0)
90
46
  } git_odb_backend_loose_flag_t;
@@ -118,30 +74,100 @@ typedef struct {
118
74
  git_oid_t oid_type;
119
75
  } git_odb_backend_loose_options;
120
76
 
121
- /* The current version of the diff options structure */
77
+ /** The current version of the diff options structure */
122
78
  #define GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION 1
123
79
 
124
- /* Stack initializer for odb loose backend options. Alternatively use
80
+ /**
81
+ * Stack initializer for odb loose backend options. Alternatively use
125
82
  * `git_odb_backend_loose_options_init` programmatic initialization.
126
83
  */
127
84
  #define GIT_ODB_BACKEND_LOOSE_OPTIONS_INIT \
128
85
  { GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION, 0, -1 }
129
86
 
87
+ /*
88
+ * Constructors for in-box ODB backends.
89
+ */
90
+
91
+ #ifdef GIT_EXPERIMENTAL_SHA256
92
+
93
+ /**
94
+ * Create a backend for a directory containing packfiles.
95
+ *
96
+ * @param[out] out location to store the odb backend pointer
97
+ * @param objects_dir the Git repository's objects directory
98
+ * @param opts the options to use when creating the pack backend
99
+ * @return 0 or an error code
100
+ */
101
+ GIT_EXTERN(int) git_odb_backend_pack(
102
+ git_odb_backend **out,
103
+ const char *objects_dir,
104
+ const git_odb_backend_pack_options *opts);
105
+
106
+ /**
107
+ * Create a backend for a single packfile.
108
+ *
109
+ * @param[out] out location to store the odb backend pointer
110
+ * @param index_file path to the packfile's .idx file
111
+ * @param opts the options to use when creating the pack backend
112
+ * @return 0 or an error code
113
+ */
114
+ GIT_EXTERN(int) git_odb_backend_one_pack(
115
+ git_odb_backend **out,
116
+ const char *index_file,
117
+ const git_odb_backend_pack_options *opts);
118
+
130
119
  /**
131
120
  * Create a backend for loose objects
132
121
  *
133
- * @param out location to store the odb backend pointer
122
+ * @param[out] out location to store the odb backend pointer
134
123
  * @param objects_dir the Git repository's objects directory
135
124
  * @param opts options for the loose object backend or NULL
136
125
  *
137
126
  * @return 0 or an error code
138
127
  */
139
- #ifdef GIT_EXPERIMENTAL_SHA256
140
128
  GIT_EXTERN(int) git_odb_backend_loose(
141
129
  git_odb_backend **out,
142
130
  const char *objects_dir,
143
131
  git_odb_backend_loose_options *opts);
132
+
144
133
  #else
134
+
135
+ /**
136
+ * Create a backend for a directory containing packfiles.
137
+ *
138
+ * @param[out] out location to store the odb backend pointer
139
+ * @param objects_dir the Git repository's objects directory
140
+ * @return 0 or an error code
141
+ */
142
+ GIT_EXTERN(int) git_odb_backend_pack(
143
+ git_odb_backend **out,
144
+ const char *objects_dir);
145
+
146
+ /**
147
+ * Create a backend out of a single packfile
148
+ *
149
+ * This can be useful for inspecting the contents of a single
150
+ * packfile.
151
+ *
152
+ * @param[out] out location to store the odb backend pointer
153
+ * @param index_file path to the packfile's .idx file
154
+ * @return 0 or an error code
155
+ */
156
+ GIT_EXTERN(int) git_odb_backend_one_pack(
157
+ git_odb_backend **out,
158
+ const char *index_file);
159
+
160
+ /**
161
+ * Create a backend for loose objects
162
+ *
163
+ * @param[out] out location to store the odb backend pointer
164
+ * @param objects_dir the Git repository's objects directory
165
+ * @param compression_level zlib compression level (0-9), or -1 for the default
166
+ * @param do_fsync if non-zero, perform an fsync on write
167
+ * @param dir_mode permission to use when creating directories, or 0 for default
168
+ * @param file_mode permission to use when creating directories, or 0 for default
169
+ * @return 0 or an error code
170
+ */
145
171
  GIT_EXTERN(int) git_odb_backend_loose(
146
172
  git_odb_backend **out,
147
173
  const char *objects_dir,
@@ -149,6 +175,7 @@ GIT_EXTERN(int) git_odb_backend_loose(
149
175
  int do_fsync,
150
176
  unsigned int dir_mode,
151
177
  unsigned int file_mode);
178
+
152
179
  #endif
153
180
 
154
181
  /** Streaming mode */
@@ -218,6 +245,7 @@ struct git_odb_writepack {
218
245
  void GIT_CALLBACK(free)(git_odb_writepack *writepack);
219
246
  };
220
247
 
248
+ /** @} */
221
249
  GIT_END_DECL
222
250
 
223
251
  #endif
@@ -13,7 +13,7 @@
13
13
 
14
14
  /**
15
15
  * @file git2/oid.h
16
- * @brief Git object id routines
16
+ * @brief Object IDs
17
17
  * @defgroup git_oid Git object id routines
18
18
  * @ingroup Git
19
19
  * @{
@@ -82,13 +82,18 @@ typedef enum {
82
82
 
83
83
  #endif
84
84
 
85
- /* Maximum possible object ID size in raw / hex string format. */
86
- #ifndef GIT_EXPERIMENTAL_SHA256
87
- # define GIT_OID_MAX_SIZE GIT_OID_SHA1_SIZE
88
- # define GIT_OID_MAX_HEXSIZE GIT_OID_SHA1_HEXSIZE
89
- #else
85
+ /** Maximum possible object ID size in raw format */
86
+ #ifdef GIT_EXPERIMENTAL_SHA256
90
87
  # define GIT_OID_MAX_SIZE GIT_OID_SHA256_SIZE
88
+ #else
89
+ # define GIT_OID_MAX_SIZE GIT_OID_SHA1_SIZE
90
+ #endif
91
+
92
+ /** Maximum possible object ID size in hex format */
93
+ #ifdef GIT_EXPERIMENTAL_SHA256
91
94
  # define GIT_OID_MAX_HEXSIZE GIT_OID_SHA256_HEXSIZE
95
+ #else
96
+ # define GIT_OID_MAX_HEXSIZE GIT_OID_SHA1_HEXSIZE
92
97
  #endif
93
98
 
94
99
  /** Minimum length (in number of hex characters,
@@ -107,6 +112,15 @@ typedef struct git_oid {
107
112
  unsigned char id[GIT_OID_MAX_SIZE];
108
113
  } git_oid;
109
114
 
115
+ #ifdef GIT_EXPERIMENTAL_SHA256
116
+
117
+ GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str, git_oid_t type);
118
+ GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str, git_oid_t type);
119
+ GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length, git_oid_t type);
120
+ GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw, git_oid_t type);
121
+
122
+ #else
123
+
110
124
  /**
111
125
  * Parse a hex formatted object id into a git_oid.
112
126
  *
@@ -119,28 +133,18 @@ typedef struct git_oid {
119
133
  * the hex sequence and have at least the number of bytes
120
134
  * needed for an oid encoded in hex (40 bytes for sha1,
121
135
  * 256 bytes for sha256).
122
- * @param type the type of object id
123
136
  * @return 0 or an error code
124
137
  */
125
- #ifdef GIT_EXPERIMENTAL_SHA256
126
- GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str, git_oid_t type);
127
- #else
128
138
  GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str);
129
- #endif
130
139
 
131
140
  /**
132
141
  * Parse a hex formatted NUL-terminated string into a git_oid.
133
142
  *
134
143
  * @param out oid structure the result is written into.
135
144
  * @param str input hex string; must be null-terminated.
136
- * @param type the type of object id
137
145
  * @return 0 or an error code
138
146
  */
139
- #ifdef GIT_EXPERIMENTAL_SHA256
140
- GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str, git_oid_t type);
141
- #else
142
147
  GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str);
143
- #endif
144
148
 
145
149
  /**
146
150
  * Parse N characters of a hex formatted object id into a git_oid.
@@ -151,14 +155,9 @@ GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str);
151
155
  * @param out oid structure the result is written into.
152
156
  * @param str input hex string of at least size `length`
153
157
  * @param length length of the input string
154
- * @param type the type of object id
155
158
  * @return 0 or an error code
156
159
  */
157
- #ifdef GIT_EXPERIMENTAL_SHA256
158
- GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length, git_oid_t type);
159
- #else
160
160
  GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length);
161
- #endif
162
161
 
163
162
  /**
164
163
  * Copy an already raw oid into a git_oid structure.
@@ -167,10 +166,8 @@ GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length);
167
166
  * @param raw the raw input bytes to be copied.
168
167
  * @return 0 on success or error code
169
168
  */
170
- #ifdef GIT_EXPERIMENTAL_SHA256
171
- GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw, git_oid_t type);
172
- #else
173
169
  GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw);
170
+
174
171
  #endif
175
172
 
176
173
  /**
@@ -310,6 +307,7 @@ GIT_EXTERN(int) git_oid_strcmp(const git_oid *id, const char *str);
310
307
  /**
311
308
  * Check is an oid is all zeros.
312
309
  *
310
+ * @param id the object ID to check
313
311
  * @return 1 if all zeros, 0 otherwise.
314
312
  */
315
313
  GIT_EXTERN(int) git_oid_is_zero(const git_oid *id);
@@ -370,4 +368,5 @@ GIT_EXTERN(void) git_oid_shorten_free(git_oid_shorten *os);
370
368
 
371
369
  /** @} */
372
370
  GIT_END_DECL
371
+
373
372
  #endif
@@ -10,6 +10,13 @@
10
10
  #include "common.h"
11
11
  #include "oid.h"
12
12
 
13
+ /**
14
+ * @file git2/oidarray.h
15
+ * @brief An array of object IDs
16
+ * @defgroup git_oidarray Arrays of object IDs
17
+ * @ingroup Git
18
+ * @{
19
+ */
13
20
  GIT_BEGIN_DECL
14
21
 
15
22
  /** Array of object ids */
@@ -34,4 +41,3 @@ GIT_EXTERN(void) git_oidarray_dispose(git_oidarray *array);
34
41
  GIT_END_DECL
35
42
 
36
43
  #endif
37
-
@@ -233,7 +233,15 @@ GIT_EXTERN(size_t) git_packbuilder_object_count(git_packbuilder *pb);
233
233
  */
234
234
  GIT_EXTERN(size_t) git_packbuilder_written(git_packbuilder *pb);
235
235
 
236
- /** Packbuilder progress notification function */
236
+ /**
237
+ * Packbuilder progress notification function.
238
+ *
239
+ * @param stage the stage of the packbuilder
240
+ * @param current the current object
241
+ * @param total the total number of objects
242
+ * @param payload the callback payload
243
+ * @return 0 on success or an error code
244
+ */
237
245
  typedef int GIT_CALLBACK(git_packbuilder_progress)(
238
246
  int stage,
239
247
  uint32_t current,
@@ -247,6 +255,9 @@ typedef int GIT_CALLBACK(git_packbuilder_progress)(
247
255
  * @param progress_cb Function to call with progress information during
248
256
  * pack building. Be aware that this is called inline with pack building
249
257
  * operations, so performance may be affected.
258
+ * When progress_cb returns an error, the pack building process will be
259
+ * aborted and the error will be returned from the invoked function.
260
+ * `pb` must then be freed.
250
261
  * @param progress_cb_payload Payload for progress callback.
251
262
  * @return 0 or an error code
252
263
  */
@@ -264,4 +275,5 @@ GIT_EXTERN(void) git_packbuilder_free(git_packbuilder *pb);
264
275
 
265
276
  /** @} */
266
277
  GIT_END_DECL
278
+
267
279
  #endif
@@ -14,7 +14,7 @@
14
14
 
15
15
  /**
16
16
  * @file git2/patch.h
17
- * @brief Patch handling routines.
17
+ * @brief Patches store the textual diffs in a delta
18
18
  * @ingroup Git
19
19
  * @{
20
20
  */
@@ -283,8 +283,7 @@ GIT_EXTERN(int) git_patch_to_buf(
283
283
  git_buf *out,
284
284
  git_patch *patch);
285
285
 
286
- GIT_END_DECL
287
-
288
286
  /**@}*/
287
+ GIT_END_DECL
289
288
 
290
289
  #endif
@@ -12,6 +12,13 @@
12
12
  #include "strarray.h"
13
13
  #include "diff.h"
14
14
 
15
+ /**
16
+ * @file git2/pathspec.h
17
+ * @brief Specifiers for path matching
18
+ * @defgroup git_pathspec Specifiers for path matching
19
+ * @ingroup Git
20
+ * @{
21
+ */
15
22
  GIT_BEGIN_DECL
16
23
 
17
24
  /**
@@ -276,5 +283,7 @@ GIT_EXTERN(size_t) git_pathspec_match_list_failed_entrycount(
276
283
  GIT_EXTERN(const char *) git_pathspec_match_list_failed_entry(
277
284
  const git_pathspec_match_list *m, size_t pos);
278
285
 
286
+ /** @} */
279
287
  GIT_END_DECL
288
+
280
289
  #endif
@@ -12,6 +12,12 @@
12
12
  #include "cert.h"
13
13
  #include "credential.h"
14
14
 
15
+ /**
16
+ * @file git2/proxy.h
17
+ * @brief TLS proxies
18
+ * @ingroup Git
19
+ * @{
20
+ */
15
21
  GIT_BEGIN_DECL
16
22
 
17
23
  /**
@@ -78,7 +84,10 @@ typedef struct {
78
84
  void *payload;
79
85
  } git_proxy_options;
80
86
 
87
+ /** Current version for the `git_proxy_options` structure */
81
88
  #define GIT_PROXY_OPTIONS_VERSION 1
89
+
90
+ /** Static constructor for `git_proxy_options` */
82
91
  #define GIT_PROXY_OPTIONS_INIT {GIT_PROXY_OPTIONS_VERSION}
83
92
 
84
93
  /**
@@ -93,6 +102,7 @@ typedef struct {
93
102
  */
94
103
  GIT_EXTERN(int) git_proxy_options_init(git_proxy_options *opts, unsigned int version);
95
104
 
105
+ /** @} */
96
106
  GIT_END_DECL
97
107
 
98
108
  #endif
@@ -17,8 +17,8 @@
17
17
 
18
18
  /**
19
19
  * @file git2/rebase.h
20
- * @brief Git rebase routines
21
- * @defgroup git_rebase Git merge routines
20
+ * @brief Rebase manipulates commits, placing them on a new parent
21
+ * @defgroup git_rebase Rebase manipulates commits, placing them on a new parent
22
22
  * @ingroup Git
23
23
  * @{
24
24
  */
@@ -67,10 +67,9 @@ typedef struct {
67
67
 
68
68
  /**
69
69
  * Options to control how files are written during `git_rebase_init`,
70
- * `git_rebase_next` and `git_rebase_abort`. Note that a minimum
71
- * strategy of `GIT_CHECKOUT_SAFE` is defaulted in `init` and `next`,
72
- * and a minimum strategy of `GIT_CHECKOUT_FORCE` is defaulted in
73
- * `abort` to match git semantics.
70
+ * `git_rebase_next` and `git_rebase_abort`. Note that during
71
+ * `abort`, these options will add an implied `GIT_CHECKOUT_FORCE`
72
+ * to match git semantics.
74
73
  */
75
74
  git_checkout_options checkout_options;
76
75
 
@@ -155,7 +154,10 @@ typedef enum {
155
154
  GIT_REBASE_OPERATION_EXEC
156
155
  } git_rebase_operation_t;
157
156
 
157
+ /** Current version for the `git_rebase_options` structure */
158
158
  #define GIT_REBASE_OPTIONS_VERSION 1
159
+
160
+ /** Static constructor for `git_rebase_options` */
159
161
  #define GIT_REBASE_OPTIONS_INIT \
160
162
  { GIT_REBASE_OPTIONS_VERSION, 0, 0, NULL, GIT_MERGE_OPTIONS_INIT, \
161
163
  GIT_CHECKOUT_OPTIONS_INIT, NULL, NULL }
@@ -396,4 +398,5 @@ GIT_EXTERN(void) git_rebase_free(git_rebase *rebase);
396
398
 
397
399
  /** @} */
398
400
  GIT_END_DECL
401
+
399
402
  #endif
@@ -14,8 +14,8 @@
14
14
 
15
15
  /**
16
16
  * @file git2/refdb.h
17
- * @brief Git custom refs backend functions
18
- * @defgroup git_refdb Git custom refs backend API
17
+ * @brief A database for references (branches and tags)
18
+ * @defgroup git_refdb A database for references (branches and tags)
19
19
  * @ingroup Git
20
20
  * @{
21
21
  */
@@ -13,8 +13,8 @@
13
13
 
14
14
  /**
15
15
  * @file git2/reflog.h
16
- * @brief Git reflog management routines
17
- * @defgroup git_reflog Git reflog management routines
16
+ * @brief Reference logs store how references change
17
+ * @defgroup git_reflog Reference logs store how references change
18
18
  * @ingroup Git
19
19
  * @{
20
20
  */
@@ -167,4 +167,5 @@ GIT_EXTERN(void) git_reflog_free(git_reflog *reflog);
167
167
 
168
168
  /** @} */
169
169
  GIT_END_DECL
170
+
170
171
  #endif
@@ -14,8 +14,8 @@
14
14
 
15
15
  /**
16
16
  * @file git2/refs.h
17
- * @brief Git reference management routines
18
- * @defgroup git_reference Git reference management routines
17
+ * @brief References point to a commit; generally these are branches and tags
18
+ * @defgroup git_reference References point to a commit; generally these are branches and tags
19
19
  * @ingroup Git
20
20
  * @{
21
21
  */
@@ -29,7 +29,7 @@ GIT_BEGIN_DECL
29
29
  * The name will be checked for validity.
30
30
  * See `git_reference_symbolic_create()` for rules about valid names.
31
31
  *
32
- * @param out pointer to the looked-up reference
32
+ * @param[out] out pointer to the looked-up reference
33
33
  * @param repo the repository to look up the reference
34
34
  * @param name the long name for the reference (e.g. HEAD, refs/heads/master, refs/tags/v0.1.0, ...)
35
35
  * @return 0 on success, GIT_ENOTFOUND, GIT_EINVALIDSPEC or an error code.
@@ -371,6 +371,7 @@ GIT_EXTERN(int) git_reference_set_target(
371
371
  * reflog is enabled for the repository. We only rename
372
372
  * the reflog if it exists.
373
373
  *
374
+ * @param[out] new_ref The new reference
374
375
  * @param ref The reference to rename
375
376
  * @param new_name The new name for the reference
376
377
  * @param force Overwrite an existing reference
@@ -406,6 +407,7 @@ GIT_EXTERN(int) git_reference_delete(git_reference *ref);
406
407
  * This method removes the named reference from the repository without
407
408
  * looking at its old value.
408
409
  *
410
+ * @param repo The repository to remove the reference from
409
411
  * @param name The reference to remove
410
412
  * @return 0 or an error code
411
413
  */
@@ -518,7 +520,7 @@ GIT_EXTERN(int) git_reference_cmp(
518
520
  /**
519
521
  * Create an iterator for the repo's references
520
522
  *
521
- * @param out pointer in which to store the iterator
523
+ * @param[out] out pointer in which to store the iterator
522
524
  * @param repo the repository
523
525
  * @return 0 or an error code
524
526
  */
@@ -543,7 +545,7 @@ GIT_EXTERN(int) git_reference_iterator_glob_new(
543
545
  /**
544
546
  * Get the next reference
545
547
  *
546
- * @param out pointer in which to store the reference
548
+ * @param[out] out pointer in which to store the reference
547
549
  * @param iter the iterator
548
550
  * @return 0, GIT_ITEROVER if there are no more; or an error code
549
551
  */
@@ -724,7 +726,7 @@ GIT_EXTERN(int) git_reference_normalize_name(
724
726
  * If you pass `GIT_OBJECT_ANY` as the target type, then the object
725
727
  * will be peeled until a non-tag object is met.
726
728
  *
727
- * @param out Pointer to the peeled git_object
729
+ * @param[out] out Pointer to the peeled git_object
728
730
  * @param ref The reference to be processed
729
731
  * @param type The type of the requested object (GIT_OBJECT_COMMIT,
730
732
  * GIT_OBJECT_TAG, GIT_OBJECT_TREE, GIT_OBJECT_BLOB or GIT_OBJECT_ANY).
@@ -768,4 +770,5 @@ GIT_EXTERN(const char *) git_reference_shorthand(const git_reference *ref);
768
770
 
769
771
  /** @} */
770
772
  GIT_END_DECL
773
+
771
774
  #endif
@@ -14,8 +14,8 @@
14
14
 
15
15
  /**
16
16
  * @file git2/refspec.h
17
- * @brief Git refspec attributes
18
- * @defgroup git_refspec Git refspec attributes
17
+ * @brief Refspecs map local references to remote references
18
+ * @defgroup git_refspec Refspecs map local references to remote references
19
19
  * @ingroup Git
20
20
  * @{
21
21
  */
@@ -58,7 +58,7 @@ GIT_EXTERN(const char *) git_refspec_dst(const git_refspec *refspec);
58
58
  * Get the refspec's string
59
59
  *
60
60
  * @param refspec the refspec
61
- * @returns the refspec's original string
61
+ * @return the refspec's original string
62
62
  */
63
63
  GIT_EXTERN(const char *) git_refspec_string(const git_refspec *refspec);
64
64
 
@@ -79,7 +79,16 @@ GIT_EXTERN(int) git_refspec_force(const git_refspec *refspec);
79
79
  GIT_EXTERN(git_direction) git_refspec_direction(const git_refspec *spec);
80
80
 
81
81
  /**
82
- * Check if a refspec's source descriptor matches a reference
82
+ * Check if a refspec's source descriptor matches a negative reference
83
+ *
84
+ * @param refspec the refspec
85
+ * @param refname the name of the reference to check
86
+ * @return 1 if the refspec matches, 0 otherwise
87
+ */
88
+ GIT_EXTERN(int) git_refspec_src_matches_negative(const git_refspec *refspec, const char *refname);
89
+
90
+ /**
91
+ * Check if a refspec's source descriptor matches a reference
83
92
  *
84
93
  * @param refspec the refspec
85
94
  * @param refname the name of the reference to check
@@ -116,6 +125,7 @@ GIT_EXTERN(int) git_refspec_transform(git_buf *out, const git_refspec *spec, con
116
125
  */
117
126
  GIT_EXTERN(int) git_refspec_rtransform(git_buf *out, const git_refspec *spec, const char *name);
118
127
 
128
+ /** @} */
119
129
  GIT_END_DECL
120
130
 
121
131
  #endif