rugged 1.7.2 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
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