rugged 1.3.2.3 → 1.4.2

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 (329) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rugged/extconf.rb +1 -1
  3. data/ext/rugged/rugged_config.c +7 -2
  4. data/ext/rugged/rugged_remote.c +17 -0
  5. data/lib/rugged/version.rb +1 -1
  6. data/vendor/libgit2/CMakeLists.txt +103 -276
  7. data/vendor/libgit2/COPYING +36 -19
  8. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  9. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  10. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  11. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  12. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  13. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  14. data/vendor/libgit2/cmake/{FindHTTP_Parser.cmake → FindHTTPParser.cmake} +17 -17
  15. data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
  16. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  17. data/vendor/libgit2/cmake/FindPCRE.cmake +13 -13
  18. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  19. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  20. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  21. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  22. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  23. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  24. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  25. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  26. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  27. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  28. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +19 -0
  29. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
  30. data/vendor/libgit2/cmake/SelectHashes.cmake +39 -49
  31. data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
  32. data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
  33. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
  34. data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
  35. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  36. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +31 -31
  37. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +1 -1
  38. data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
  39. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  40. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  41. data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
  42. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  43. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  44. data/vendor/libgit2/deps/zlib/crc32.c +288 -975
  45. data/vendor/libgit2/deps/zlib/crc32.h +436 -9441
  46. data/vendor/libgit2/deps/zlib/deflate.c +31 -83
  47. data/vendor/libgit2/deps/zlib/deflate.h +15 -12
  48. data/vendor/libgit2/deps/zlib/gzguts.h +2 -3
  49. data/vendor/libgit2/deps/zlib/infback.c +1 -2
  50. data/vendor/libgit2/deps/zlib/inffast.c +14 -14
  51. data/vendor/libgit2/deps/zlib/inflate.c +8 -39
  52. data/vendor/libgit2/deps/zlib/inflate.h +2 -3
  53. data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
  54. data/vendor/libgit2/deps/zlib/trees.c +48 -27
  55. data/vendor/libgit2/deps/zlib/zlib.h +100 -126
  56. data/vendor/libgit2/deps/zlib/zutil.c +2 -2
  57. data/vendor/libgit2/deps/zlib/zutil.h +9 -12
  58. data/vendor/libgit2/include/git2/apply.h +16 -2
  59. data/vendor/libgit2/include/git2/attr.h +11 -2
  60. data/vendor/libgit2/include/git2/blame.h +4 -1
  61. data/vendor/libgit2/include/git2/blob.h +14 -1
  62. data/vendor/libgit2/include/git2/branch.h +2 -0
  63. data/vendor/libgit2/include/git2/buffer.h +18 -78
  64. data/vendor/libgit2/include/git2/cert.h +2 -2
  65. data/vendor/libgit2/include/git2/checkout.h +5 -2
  66. data/vendor/libgit2/include/git2/clone.h +3 -3
  67. data/vendor/libgit2/include/git2/commit.h +2 -0
  68. data/vendor/libgit2/include/git2/common.h +5 -12
  69. data/vendor/libgit2/include/git2/config.h +19 -3
  70. data/vendor/libgit2/include/git2/credential.h +2 -1
  71. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  72. data/vendor/libgit2/include/git2/deprecated.h +1 -1
  73. data/vendor/libgit2/include/git2/describe.h +7 -2
  74. data/vendor/libgit2/include/git2/diff.h +17 -9
  75. data/vendor/libgit2/include/git2/email.h +1 -1
  76. data/vendor/libgit2/include/git2/errors.h +1 -2
  77. data/vendor/libgit2/include/git2/filter.h +7 -2
  78. data/vendor/libgit2/include/git2/graph.h +1 -0
  79. data/vendor/libgit2/include/git2/ignore.h +1 -1
  80. data/vendor/libgit2/include/git2/index.h +11 -5
  81. data/vendor/libgit2/include/git2/indexer.h +19 -0
  82. data/vendor/libgit2/include/git2/merge.h +23 -3
  83. data/vendor/libgit2/include/git2/message.h +2 -0
  84. data/vendor/libgit2/include/git2/object.h +23 -0
  85. data/vendor/libgit2/include/git2/odb.h +37 -7
  86. data/vendor/libgit2/include/git2/odb_backend.h +1 -1
  87. data/vendor/libgit2/include/git2/pack.h +24 -8
  88. data/vendor/libgit2/include/git2/patch.h +8 -0
  89. data/vendor/libgit2/include/git2/pathspec.h +1 -1
  90. data/vendor/libgit2/include/git2/proxy.h +1 -1
  91. data/vendor/libgit2/include/git2/rebase.h +9 -1
  92. data/vendor/libgit2/include/git2/refdb.h +3 -0
  93. data/vendor/libgit2/include/git2/reflog.h +1 -1
  94. data/vendor/libgit2/include/git2/refs.h +2 -2
  95. data/vendor/libgit2/include/git2/remote.h +184 -37
  96. data/vendor/libgit2/include/git2/repository.h +14 -9
  97. data/vendor/libgit2/include/git2/reset.h +2 -2
  98. data/vendor/libgit2/include/git2/revparse.h +1 -1
  99. data/vendor/libgit2/include/git2/revwalk.h +4 -1
  100. data/vendor/libgit2/include/git2/signature.h +1 -1
  101. data/vendor/libgit2/include/git2/stash.h +3 -3
  102. data/vendor/libgit2/include/git2/status.h +9 -3
  103. data/vendor/libgit2/include/git2/submodule.h +7 -2
  104. data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
  105. data/vendor/libgit2/include/git2/sys/odb_backend.h +2 -5
  106. data/vendor/libgit2/include/git2/sys/remote.h +31 -0
  107. data/vendor/libgit2/include/git2/sys/stream.h +1 -1
  108. data/vendor/libgit2/include/git2/sys/transport.h +25 -34
  109. data/vendor/libgit2/include/git2/tag.h +1 -0
  110. data/vendor/libgit2/include/git2/tree.h +4 -3
  111. data/vendor/libgit2/include/git2/types.h +7 -7
  112. data/vendor/libgit2/include/git2/version.h +3 -3
  113. data/vendor/libgit2/include/git2/worktree.h +12 -2
  114. data/vendor/libgit2/src/CMakeLists.txt +189 -315
  115. data/vendor/libgit2/src/annotated_commit.h +1 -1
  116. data/vendor/libgit2/src/apply.c +18 -18
  117. data/vendor/libgit2/src/apply.h +2 -2
  118. data/vendor/libgit2/src/attr.c +18 -18
  119. data/vendor/libgit2/src/attr_file.c +17 -17
  120. data/vendor/libgit2/src/attr_file.h +4 -4
  121. data/vendor/libgit2/src/attrcache.c +17 -12
  122. data/vendor/libgit2/src/blame_git.c +1 -1
  123. data/vendor/libgit2/src/blob.c +33 -26
  124. data/vendor/libgit2/src/blob.h +1 -1
  125. data/vendor/libgit2/src/branch.c +150 -109
  126. data/vendor/libgit2/src/branch.h +15 -3
  127. data/vendor/libgit2/src/buf.c +126 -0
  128. data/vendor/libgit2/src/buf.h +50 -0
  129. data/vendor/libgit2/src/cc-compat.h +1 -1
  130. data/vendor/libgit2/src/checkout.c +74 -68
  131. data/vendor/libgit2/src/cherrypick.c +10 -10
  132. data/vendor/libgit2/src/clone.c +66 -66
  133. data/vendor/libgit2/src/commit.c +128 -58
  134. data/vendor/libgit2/src/commit.h +24 -1
  135. data/vendor/libgit2/src/commit_graph.c +68 -53
  136. data/vendor/libgit2/src/commit_graph.h +10 -3
  137. data/vendor/libgit2/src/commit_list.c +2 -3
  138. data/vendor/libgit2/src/common.h +10 -3
  139. data/vendor/libgit2/src/config.c +99 -77
  140. data/vendor/libgit2/src/config.h +15 -2
  141. data/vendor/libgit2/src/config_file.c +103 -91
  142. data/vendor/libgit2/src/config_mem.c +9 -9
  143. data/vendor/libgit2/src/config_parse.c +27 -23
  144. data/vendor/libgit2/src/crlf.c +24 -21
  145. data/vendor/libgit2/src/date.c +10 -17
  146. data/vendor/libgit2/src/date.h +33 -0
  147. data/vendor/libgit2/src/describe.c +27 -19
  148. data/vendor/libgit2/src/diff.c +25 -8
  149. data/vendor/libgit2/src/diff.h +2 -4
  150. data/vendor/libgit2/src/diff_driver.c +34 -36
  151. data/vendor/libgit2/src/diff_driver.h +3 -3
  152. data/vendor/libgit2/src/diff_file.c +29 -20
  153. data/vendor/libgit2/src/diff_generate.c +30 -6
  154. data/vendor/libgit2/src/diff_generate.h +5 -3
  155. data/vendor/libgit2/src/diff_print.c +102 -95
  156. data/vendor/libgit2/src/diff_stats.c +40 -29
  157. data/vendor/libgit2/src/{message.h → diff_stats.h} +7 -6
  158. data/vendor/libgit2/src/diff_tform.c +9 -8
  159. data/vendor/libgit2/src/diff_xdiff.c +3 -8
  160. data/vendor/libgit2/src/email.c +54 -38
  161. data/vendor/libgit2/src/email.h +1 -1
  162. data/vendor/libgit2/src/errors.c +18 -18
  163. data/vendor/libgit2/src/features.h.in +6 -1
  164. data/vendor/libgit2/src/fetch.c +69 -24
  165. data/vendor/libgit2/src/fetch.h +1 -1
  166. data/vendor/libgit2/src/fetchhead.c +19 -19
  167. data/vendor/libgit2/src/filebuf.c +28 -28
  168. data/vendor/libgit2/src/filebuf.h +1 -1
  169. data/vendor/libgit2/src/filter.c +96 -52
  170. data/vendor/libgit2/src/filter.h +26 -5
  171. data/vendor/libgit2/src/fs_path.c +1912 -0
  172. data/vendor/libgit2/src/fs_path.h +752 -0
  173. data/vendor/libgit2/src/futils.c +91 -85
  174. data/vendor/libgit2/src/futils.h +26 -14
  175. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +2 -2
  176. data/vendor/libgit2/src/hash/sha1/common_crypto.c +2 -2
  177. data/vendor/libgit2/src/hash/sha1/generic.c +2 -2
  178. data/vendor/libgit2/src/hash/sha1/mbedtls.c +2 -2
  179. data/vendor/libgit2/src/hash/sha1/openssl.c +2 -2
  180. data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +1 -1
  181. data/vendor/libgit2/src/hash/sha1/win32.c +6 -6
  182. data/vendor/libgit2/src/hash/sha1.h +3 -1
  183. data/vendor/libgit2/src/hash.c +67 -35
  184. data/vendor/libgit2/src/hash.h +12 -12
  185. data/vendor/libgit2/src/ident.c +18 -18
  186. data/vendor/libgit2/src/ignore.c +35 -34
  187. data/vendor/libgit2/src/ignore.h +2 -2
  188. data/vendor/libgit2/src/index.c +79 -80
  189. data/vendor/libgit2/src/index.h +6 -3
  190. data/vendor/libgit2/src/indexer.c +75 -57
  191. data/vendor/libgit2/src/iterator.c +64 -56
  192. data/vendor/libgit2/src/iterator.h +5 -5
  193. data/vendor/libgit2/src/khash.h +1 -1
  194. data/vendor/libgit2/src/libgit2.c +22 -19
  195. data/vendor/libgit2/src/mailmap.c +38 -36
  196. data/vendor/libgit2/src/merge.c +27 -27
  197. data/vendor/libgit2/src/merge.h +1 -14
  198. data/vendor/libgit2/src/merge_driver.c +2 -2
  199. data/vendor/libgit2/src/merge_file.c +13 -3
  200. data/vendor/libgit2/src/message.c +21 -10
  201. data/vendor/libgit2/src/midx.c +83 -66
  202. data/vendor/libgit2/src/midx.h +3 -3
  203. data/vendor/libgit2/src/mwindow.c +1 -1
  204. data/vendor/libgit2/src/net.c +278 -68
  205. data/vendor/libgit2/src/net.h +10 -3
  206. data/vendor/libgit2/src/netops.c +1 -1
  207. data/vendor/libgit2/src/netops.h +1 -1
  208. data/vendor/libgit2/src/notes.c +20 -29
  209. data/vendor/libgit2/src/object.c +49 -9
  210. data/vendor/libgit2/src/object.h +1 -1
  211. data/vendor/libgit2/src/odb.c +35 -32
  212. data/vendor/libgit2/src/odb.h +1 -1
  213. data/vendor/libgit2/src/odb_loose.c +68 -68
  214. data/vendor/libgit2/src/odb_mempack.c +18 -5
  215. data/vendor/libgit2/src/odb_pack.c +43 -43
  216. data/vendor/libgit2/src/oid.c +11 -4
  217. data/vendor/libgit2/src/oid.h +15 -0
  218. data/vendor/libgit2/src/pack-objects.c +41 -26
  219. data/vendor/libgit2/src/pack-objects.h +11 -6
  220. data/vendor/libgit2/src/pack.c +10 -10
  221. data/vendor/libgit2/src/patch.c +3 -3
  222. data/vendor/libgit2/src/patch.h +1 -0
  223. data/vendor/libgit2/src/patch_generate.c +27 -11
  224. data/vendor/libgit2/src/patch_generate.h +5 -5
  225. data/vendor/libgit2/src/patch_parse.c +24 -24
  226. data/vendor/libgit2/src/path.c +76 -1951
  227. data/vendor/libgit2/src/path.h +34 -741
  228. data/vendor/libgit2/src/pathspec.c +6 -6
  229. data/vendor/libgit2/src/pathspec.h +2 -2
  230. data/vendor/libgit2/src/posix.c +3 -3
  231. data/vendor/libgit2/src/posix.h +1 -0
  232. data/vendor/libgit2/src/pqueue.h +1 -1
  233. data/vendor/libgit2/src/proxy.c +4 -1
  234. data/vendor/libgit2/src/proxy.h +1 -1
  235. data/vendor/libgit2/src/push.c +30 -35
  236. data/vendor/libgit2/src/push.h +4 -16
  237. data/vendor/libgit2/src/rand.c +226 -0
  238. data/vendor/libgit2/src/rand.h +37 -0
  239. data/vendor/libgit2/src/reader.c +8 -8
  240. data/vendor/libgit2/src/reader.h +2 -2
  241. data/vendor/libgit2/src/rebase.c +89 -88
  242. data/vendor/libgit2/src/refdb_fs.c +447 -173
  243. data/vendor/libgit2/src/refs.c +32 -32
  244. data/vendor/libgit2/src/refs.h +2 -2
  245. data/vendor/libgit2/src/refspec.c +32 -37
  246. data/vendor/libgit2/src/refspec.h +5 -2
  247. data/vendor/libgit2/src/regexp.c +1 -1
  248. data/vendor/libgit2/src/remote.c +713 -419
  249. data/vendor/libgit2/src/remote.h +15 -10
  250. data/vendor/libgit2/src/repository.c +350 -467
  251. data/vendor/libgit2/src/repository.h +11 -10
  252. data/vendor/libgit2/src/reset.c +8 -5
  253. data/vendor/libgit2/src/revert.c +10 -10
  254. data/vendor/libgit2/src/revparse.c +48 -35
  255. data/vendor/libgit2/src/revwalk.c +7 -7
  256. data/vendor/libgit2/src/signature.c +12 -6
  257. data/vendor/libgit2/src/signature.h +1 -1
  258. data/vendor/libgit2/src/sortedcache.c +1 -1
  259. data/vendor/libgit2/src/sortedcache.h +1 -1
  260. data/vendor/libgit2/src/stash.c +36 -37
  261. data/vendor/libgit2/src/status.c +4 -1
  262. data/vendor/libgit2/src/{buffer.c → str.c} +157 -151
  263. data/vendor/libgit2/src/str.h +357 -0
  264. data/vendor/libgit2/src/streams/mbedtls.c +8 -6
  265. data/vendor/libgit2/src/streams/openssl_dynamic.h +3 -3
  266. data/vendor/libgit2/src/submodule.c +171 -159
  267. data/vendor/libgit2/src/submodule.h +1 -1
  268. data/vendor/libgit2/src/sysdir.c +68 -52
  269. data/vendor/libgit2/src/sysdir.h +15 -10
  270. data/vendor/libgit2/src/tag.c +29 -27
  271. data/vendor/libgit2/src/thread.h +3 -3
  272. data/vendor/libgit2/src/threadstate.c +3 -3
  273. data/vendor/libgit2/src/threadstate.h +1 -1
  274. data/vendor/libgit2/src/trace.c +1 -14
  275. data/vendor/libgit2/src/trace.h +5 -22
  276. data/vendor/libgit2/src/trailer.c +1 -1
  277. data/vendor/libgit2/src/transaction.c +1 -1
  278. data/vendor/libgit2/src/transport.c +10 -10
  279. data/vendor/libgit2/src/transports/auth.c +7 -9
  280. data/vendor/libgit2/src/transports/auth.h +2 -3
  281. data/vendor/libgit2/src/transports/auth_negotiate.c +12 -13
  282. data/vendor/libgit2/src/transports/auth_ntlm.c +10 -10
  283. data/vendor/libgit2/src/transports/auth_ntlm.h +0 -1
  284. data/vendor/libgit2/src/transports/git.c +9 -11
  285. data/vendor/libgit2/src/transports/http.c +37 -17
  286. data/vendor/libgit2/src/transports/http.h +2 -3
  287. data/vendor/libgit2/src/transports/httpclient.c +65 -65
  288. data/vendor/libgit2/src/transports/local.c +124 -116
  289. data/vendor/libgit2/src/transports/smart.c +51 -139
  290. data/vendor/libgit2/src/transports/smart.h +25 -31
  291. data/vendor/libgit2/src/transports/smart_pkt.c +33 -33
  292. data/vendor/libgit2/src/transports/smart_protocol.c +57 -39
  293. data/vendor/libgit2/src/transports/ssh.c +47 -112
  294. data/vendor/libgit2/src/transports/winhttp.c +50 -56
  295. data/vendor/libgit2/src/tree-cache.c +5 -5
  296. data/vendor/libgit2/src/tree-cache.h +2 -2
  297. data/vendor/libgit2/src/tree.c +59 -48
  298. data/vendor/libgit2/src/tree.h +1 -1
  299. data/vendor/libgit2/src/unix/map.c +0 -2
  300. data/vendor/libgit2/src/unix/posix.h +1 -4
  301. data/vendor/libgit2/src/unix/realpath.c +0 -2
  302. data/vendor/libgit2/src/util.c +14 -14
  303. data/vendor/libgit2/src/util.h +2 -28
  304. data/vendor/libgit2/src/vector.h +1 -1
  305. data/vendor/libgit2/src/win32/findfile.c +172 -116
  306. data/vendor/libgit2/src/win32/findfile.h +7 -4
  307. data/vendor/libgit2/src/win32/path_w32.c +140 -9
  308. data/vendor/libgit2/src/win32/path_w32.h +2 -0
  309. data/vendor/libgit2/src/win32/posix.h +0 -1
  310. data/vendor/libgit2/src/win32/posix_w32.c +11 -27
  311. data/vendor/libgit2/src/win32/w32_buffer.c +2 -3
  312. data/vendor/libgit2/src/win32/w32_buffer.h +2 -3
  313. data/vendor/libgit2/src/win32/w32_leakcheck.c +1 -1
  314. data/vendor/libgit2/src/worktree.c +116 -94
  315. data/vendor/libgit2/src/worktree.h +1 -1
  316. data/vendor/libgit2/src/xdiff/git-xdiff.h +53 -0
  317. data/vendor/libgit2/src/xdiff/xdiff.h +15 -15
  318. data/vendor/libgit2/src/xdiff/xdiffi.c +134 -108
  319. data/vendor/libgit2/src/xdiff/xemit.c +23 -7
  320. data/vendor/libgit2/src/xdiff/xhistogram.c +87 -78
  321. data/vendor/libgit2/src/xdiff/xinclude.h +1 -12
  322. data/vendor/libgit2/src/xdiff/xmerge.c +104 -117
  323. data/vendor/libgit2/src/xdiff/xpatience.c +6 -17
  324. data/vendor/libgit2/src/xdiff/xprepare.c +15 -20
  325. data/vendor/libgit2/src/xdiff/xutils.c +18 -7
  326. data/vendor/libgit2/src/zstream.c +5 -5
  327. data/vendor/libgit2/src/zstream.h +4 -4
  328. metadata +25 -10
  329. data/vendor/libgit2/src/buffer.h +0 -374
@@ -69,7 +69,7 @@ typedef enum {
69
69
  * just test if there were any matches at all or in combination with
70
70
  * GIT_PATHSPEC_FIND_FAILURES to validate a pathspec.
71
71
  */
72
- GIT_PATHSPEC_FAILURES_ONLY = (1u << 5),
72
+ GIT_PATHSPEC_FAILURES_ONLY = (1u << 5)
73
73
  } git_pathspec_flag_t;
74
74
 
75
75
  /**
@@ -32,7 +32,7 @@ typedef enum {
32
32
  /**
33
33
  * Connect via the URL given in the options
34
34
  */
35
- GIT_PROXY_SPECIFIED,
35
+ GIT_PROXY_SPECIFIED
36
36
  } git_proxy_t;
37
37
 
38
38
  /**
@@ -152,7 +152,7 @@ typedef enum {
152
152
  * No commit will be cherry-picked. The client should run the given
153
153
  * command and (if successful) continue.
154
154
  */
155
- GIT_REBASE_OPERATION_EXEC,
155
+ GIT_REBASE_OPERATION_EXEC
156
156
  } git_rebase_operation_t;
157
157
 
158
158
  #define GIT_REBASE_OPTIONS_VERSION 1
@@ -242,6 +242,7 @@ GIT_EXTERN(int) git_rebase_open(
242
242
  /**
243
243
  * Gets the original `HEAD` ref name for merge rebases.
244
244
  *
245
+ * @param rebase The in-progress rebase.
245
246
  * @return The original `HEAD` ref name
246
247
  */
247
248
  GIT_EXTERN(const char *) git_rebase_orig_head_name(git_rebase *rebase);
@@ -249,6 +250,7 @@ GIT_EXTERN(const char *) git_rebase_orig_head_name(git_rebase *rebase);
249
250
  /**
250
251
  * Gets the original `HEAD` id for merge rebases.
251
252
  *
253
+ * @param rebase The in-progress rebase.
252
254
  * @return The original `HEAD` id
253
255
  */
254
256
  GIT_EXTERN(const git_oid *) git_rebase_orig_head_id(git_rebase *rebase);
@@ -256,6 +258,7 @@ GIT_EXTERN(const git_oid *) git_rebase_orig_head_id(git_rebase *rebase);
256
258
  /**
257
259
  * Gets the `onto` ref name for merge rebases.
258
260
  *
261
+ * @param rebase The in-progress rebase.
259
262
  * @return The `onto` ref name
260
263
  */
261
264
  GIT_EXTERN(const char *) git_rebase_onto_name(git_rebase *rebase);
@@ -263,6 +266,7 @@ GIT_EXTERN(const char *) git_rebase_onto_name(git_rebase *rebase);
263
266
  /**
264
267
  * Gets the `onto` id for merge rebases.
265
268
  *
269
+ * @param rebase The in-progress rebase.
266
270
  * @return The `onto` id
267
271
  */
268
272
  GIT_EXTERN(const git_oid *) git_rebase_onto_id(git_rebase *rebase);
@@ -322,6 +326,10 @@ GIT_EXTERN(int) git_rebase_next(
322
326
  * This is only applicable for in-memory rebases; for rebases within
323
327
  * a working directory, the changes were applied to the repository's
324
328
  * index.
329
+ *
330
+ * @param index The result index of the last operation.
331
+ * @param rebase The in-progress rebase.
332
+ * @return 0 or an error code
325
333
  */
326
334
  GIT_EXTERN(int) git_rebase_inmemory_index(
327
335
  git_index **index,
@@ -52,6 +52,9 @@ GIT_EXTERN(int) git_refdb_open(git_refdb **out, git_repository *repo);
52
52
  * Suggests that the given refdb compress or optimize its references.
53
53
  * This mechanism is implementation specific. For on-disk reference
54
54
  * databases, for example, this may pack all loose references.
55
+ *
56
+ * @param refdb The reference database to optimize.
57
+ * @return 0 or an error code.
55
58
  */
56
59
  GIT_EXTERN(int) git_refdb_compress(git_refdb *refdb);
57
60
 
@@ -31,7 +31,7 @@ GIT_BEGIN_DECL
31
31
  * git_reflog_free().
32
32
  *
33
33
  * @param out pointer to reflog
34
- * @param repo the repostiory
34
+ * @param repo the repository
35
35
  * @param name reference to look up
36
36
  * @return 0 or an error code
37
37
  */
@@ -57,7 +57,7 @@ GIT_EXTERN(int) git_reference_name_to_id(
57
57
  /**
58
58
  * Lookup a reference by DWIMing its short name
59
59
  *
60
- * Apply the git precendence rules to the given shorthand to determine
60
+ * Apply the git precedence rules to the given shorthand to determine
61
61
  * which reference the user is referring to.
62
62
  *
63
63
  * @param out pointer in which to store the reference
@@ -686,7 +686,7 @@ typedef enum {
686
686
  * so the `ONELEVEL` naming rules aren't enforced and 'master'
687
687
  * becomes a valid name.
688
688
  */
689
- GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND = (1u << 2),
689
+ GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND = (1u << 2)
690
690
  } git_reference_format_t;
691
691
 
692
692
  /**
@@ -41,6 +41,30 @@ GIT_EXTERN(int) git_remote_create(
41
41
  const char *name,
42
42
  const char *url);
43
43
 
44
+ /**
45
+ * Remote redirection settings; whether redirects to another host
46
+ * are permitted. By default, git will follow a redirect on the
47
+ * initial request (`/info/refs`), but not subsequent requests.
48
+ */
49
+ typedef enum {
50
+ /**
51
+ * Do not follow any off-site redirects at any stage of
52
+ * the fetch or push.
53
+ */
54
+ GIT_REMOTE_REDIRECT_NONE = (1 << 0),
55
+
56
+ /**
57
+ * Allow off-site redirects only upon the initial request.
58
+ * This is the default.
59
+ */
60
+ GIT_REMOTE_REDIRECT_INITIAL = (1 << 1),
61
+
62
+ /**
63
+ * Allow redirects at any stage in the fetch or push.
64
+ */
65
+ GIT_REMOTE_REDIRECT_ALL = (1 << 2)
66
+ } git_remote_redirect_t;
67
+
44
68
  /**
45
69
  * Remote creation options flags
46
70
  */
@@ -49,7 +73,7 @@ typedef enum {
49
73
  GIT_REMOTE_CREATE_SKIP_INSTEADOF = (1 << 0),
50
74
 
51
75
  /** Don't build a fetchspec from the name if none is set */
52
- GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC = (1 << 1),
76
+ GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC = (1 << 1)
53
77
  } git_remote_create_flags;
54
78
 
55
79
  /**
@@ -300,6 +324,7 @@ GIT_EXTERN(int) git_remote_add_fetch(git_repository *repo, const char *remote, c
300
324
  *
301
325
  * @param array pointer to the array in which to store the strings
302
326
  * @param remote the remote to query
327
+ * @return 0 or an error code.
303
328
  */
304
329
  GIT_EXTERN(int) git_remote_get_fetch_refspecs(git_strarray *array, const git_remote *remote);
305
330
 
@@ -324,6 +349,7 @@ GIT_EXTERN(int) git_remote_add_push(git_repository *repo, const char *remote, co
324
349
  *
325
350
  * @param array pointer to the array in which to store the strings
326
351
  * @param remote the remote to query
352
+ * @return 0 or an error code.
327
353
  */
328
354
  GIT_EXTERN(int) git_remote_get_push_refspecs(git_strarray *array, const git_remote *remote);
329
355
 
@@ -344,23 +370,6 @@ GIT_EXTERN(size_t) git_remote_refspec_count(const git_remote *remote);
344
370
  */
345
371
  GIT_EXTERN(const git_refspec *)git_remote_get_refspec(const git_remote *remote, size_t n);
346
372
 
347
- /**
348
- * Open a connection to a remote
349
- *
350
- * The transport is selected based on the URL. The direction argument
351
- * is due to a limitation of the git protocol (over TCP or SSH) which
352
- * starts up a specific binary which can only do the one or the other.
353
- *
354
- * @param remote the remote to connect to
355
- * @param direction GIT_DIRECTION_FETCH if you want to fetch or
356
- * GIT_DIRECTION_PUSH if you want to push
357
- * @param callbacks the callbacks to use for this connection
358
- * @param proxy_opts proxy settings
359
- * @param custom_headers extra HTTP headers to use in this connection
360
- * @return 0 or an error code
361
- */
362
- GIT_EXTERN(int) git_remote_connect(git_remote *remote, git_direction direction, const git_remote_callbacks *callbacks, const git_proxy_options *proxy_opts, const git_strarray *custom_headers);
363
-
364
373
  /**
365
374
  * Get the remote repository's reference advertisement list
366
375
  *
@@ -443,7 +452,7 @@ GIT_EXTERN(int) git_remote_list(git_strarray *out, git_repository *repo);
443
452
  typedef enum git_remote_completion_t {
444
453
  GIT_REMOTE_COMPLETION_DOWNLOAD,
445
454
  GIT_REMOTE_COMPLETION_INDEXING,
446
- GIT_REMOTE_COMPLETION_ERROR,
455
+ GIT_REMOTE_COMPLETION_ERROR
447
456
  } git_remote_completion_t;
448
457
 
449
458
  /** Push network progress notification function */
@@ -665,7 +674,7 @@ typedef enum {
665
674
  /**
666
675
  * Force pruning off
667
676
  */
668
- GIT_FETCH_NO_PRUNE,
677
+ GIT_FETCH_NO_PRUNE
669
678
  } git_fetch_prune_t;
670
679
 
671
680
  /**
@@ -690,7 +699,7 @@ typedef enum {
690
699
  /**
691
700
  * Ask for the all the tags.
692
701
  */
693
- GIT_REMOTE_DOWNLOAD_TAGS_ALL,
702
+ GIT_REMOTE_DOWNLOAD_TAGS_ALL
694
703
  } git_remote_autotag_option_t;
695
704
 
696
705
  /**
@@ -734,6 +743,13 @@ typedef struct {
734
743
  */
735
744
  git_proxy_options proxy_opts;
736
745
 
746
+ /**
747
+ * Whether to allow off-site redirects. If this is not
748
+ * specified, the `http.followRedirects` configuration setting
749
+ * will be consulted.
750
+ */
751
+ git_remote_redirect_t follow_redirects;
752
+
737
753
  /**
738
754
  * Extra headers for this fetch operation
739
755
  */
@@ -785,6 +801,13 @@ typedef struct {
785
801
  */
786
802
  git_proxy_options proxy_opts;
787
803
 
804
+ /**
805
+ * Whether to allow off-site redirects. If this is not
806
+ * specified, the `http.followRedirects` configuration setting
807
+ * will be consulted.
808
+ */
809
+ git_remote_redirect_t follow_redirects;
810
+
788
811
  /**
789
812
  * Extra headers for this push operation
790
813
  */
@@ -809,7 +832,100 @@ GIT_EXTERN(int) git_push_options_init(
809
832
  unsigned int version);
810
833
 
811
834
  /**
812
- * Download and index the packfile
835
+ * Remote creation options structure
836
+ *
837
+ * Initialize with `GIT_REMOTE_CREATE_OPTIONS_INIT`. Alternatively, you can
838
+ * use `git_remote_create_options_init`.
839
+ *
840
+ */
841
+ typedef struct {
842
+ unsigned int version;
843
+
844
+ /** Callbacks to use for this connection */
845
+ git_remote_callbacks callbacks;
846
+
847
+ /** HTTP Proxy settings */
848
+ git_proxy_options proxy_opts;
849
+
850
+ /**
851
+ * Whether to allow off-site redirects. If this is not
852
+ * specified, the `http.followRedirects` configuration setting
853
+ * will be consulted.
854
+ */
855
+ git_remote_redirect_t follow_redirects;
856
+
857
+ /** Extra HTTP headers to use in this connection */
858
+ git_strarray custom_headers;
859
+ } git_remote_connect_options;
860
+
861
+ #define GIT_REMOTE_CONNECT_OPTIONS_VERSION 1
862
+ #define GIT_REMOTE_CONNECT_OPTIONS_INIT { \
863
+ GIT_REMOTE_CONNECT_OPTIONS_VERSION, \
864
+ GIT_REMOTE_CALLBACKS_INIT, \
865
+ GIT_PROXY_OPTIONS_INIT }
866
+
867
+ /**
868
+ * Initialize git_remote_connect_options structure.
869
+ *
870
+ * Initializes a `git_remote_connect_options` with default values.
871
+ * Equivalent to creating an instance with
872
+ * `GIT_REMOTE_CONNECT_OPTIONS_INIT`.
873
+ *
874
+ * @param opts The `git_remote_connect_options` struct to initialize.
875
+ * @param version The struct version; pass `GIT_REMOTE_CONNECT_OPTIONS_VERSION`.
876
+ * @return Zero on success; -1 on failure.
877
+ */
878
+ GIT_EXTERN(int) git_remote_connect_options_init(
879
+ git_remote_connect_options *opts,
880
+ unsigned int version);
881
+
882
+ /**
883
+ * Open a connection to a remote.
884
+ *
885
+ * The transport is selected based on the URL; the direction argument
886
+ * is due to a limitation of the git protocol which starts up a
887
+ * specific binary which can only do the one or the other.
888
+ *
889
+ * @param remote the remote to connect to
890
+ * @param direction GIT_DIRECTION_FETCH if you want to fetch or
891
+ * GIT_DIRECTION_PUSH if you want to push
892
+ * @param callbacks the callbacks to use for this connection
893
+ * @param proxy_opts proxy settings
894
+ * @param custom_headers extra HTTP headers to use in this connection
895
+ * @return 0 or an error code
896
+ */
897
+ GIT_EXTERN(int) git_remote_connect(
898
+ git_remote *remote,
899
+ git_direction direction,
900
+ const git_remote_callbacks *callbacks,
901
+ const git_proxy_options *proxy_opts,
902
+ const git_strarray *custom_headers);
903
+
904
+ /**
905
+ * Open a connection to a remote with extended options.
906
+ *
907
+ * The transport is selected based on the URL; the direction argument
908
+ * is due to a limitation of the git protocol which starts up a
909
+ * specific binary which can only do the one or the other.
910
+ *
911
+ * The given options structure will form the defaults for connection
912
+ * options and callback setup. Callers may override these defaults
913
+ * by specifying `git_fetch_options` or `git_push_options` in
914
+ * subsequent calls.
915
+ *
916
+ * @param remote the remote to connect to
917
+ * @param direction GIT_DIRECTION_FETCH if you want to fetch or
918
+ * GIT_DIRECTION_PUSH if you want to push
919
+ * @param opts the remote connection options
920
+ * @return 0 or an error code
921
+ */
922
+ GIT_EXTERN(int) git_remote_connect_ext(
923
+ git_remote *remote,
924
+ git_direction direction,
925
+ const git_remote_connect_options *opts);
926
+
927
+ /**
928
+ * Download and index the packfile.
813
929
  *
814
930
  * Connect to the remote if it hasn't been done yet, negotiate with
815
931
  * the remote git which objects are missing, download and index the
@@ -818,19 +934,31 @@ GIT_EXTERN(int) git_push_options_init(
818
934
  * The .idx file will be created and both it and the packfile with be
819
935
  * renamed to their final name.
820
936
  *
937
+ * If options are specified and this remote is already connected then
938
+ * the existing remote connection options will be discarded and the
939
+ * remote will now use the new options.
940
+ *
821
941
  * @param remote the remote
822
942
  * @param refspecs the refspecs to use for this negotiation and
823
943
  * download. Use NULL or an empty array to use the base refspecs
824
- * @param opts the options to use for this fetch
944
+ * @param opts the options to use for this fetch or NULL
825
945
  * @return 0 or an error code
826
946
  */
827
- GIT_EXTERN(int) git_remote_download(git_remote *remote, const git_strarray *refspecs, const git_fetch_options *opts);
947
+ GIT_EXTERN(int) git_remote_download(
948
+ git_remote *remote,
949
+ const git_strarray *refspecs,
950
+ const git_fetch_options *opts);
828
951
 
829
952
  /**
830
953
  * Create a packfile and send it to the server
831
954
  *
832
955
  * Connect to the remote if it hasn't been done yet, negotiate with
833
- * the remote git which objects are missing, create a packfile with the missing objects and send it.
956
+ * the remote git which objects are missing, create a packfile with
957
+ * the missing objects and send it.
958
+ *
959
+ * If options are specified and this remote is already connected then
960
+ * the existing remote connection options will be discarded and the
961
+ * remote will now use the new options.
834
962
  *
835
963
  * @param remote the remote
836
964
  * @param refspecs the refspecs to use for this negotiation and
@@ -838,17 +966,23 @@ GIT_EXTERN(int) git_push_options_init(
838
966
  * @param opts the options to use for this push
839
967
  * @return 0 or an error code
840
968
  */
841
- GIT_EXTERN(int) git_remote_upload(git_remote *remote, const git_strarray *refspecs, const git_push_options *opts);
969
+ GIT_EXTERN(int) git_remote_upload(
970
+ git_remote *remote,
971
+ const git_strarray *refspecs,
972
+ const git_push_options *opts);
842
973
 
843
974
  /**
844
- * Update the tips to the new state
975
+ * Update the tips to the new state.
976
+ *
977
+ * If callbacks are not specified then the callbacks specified to
978
+ * `git_remote_connect` will be used (if it was called).
845
979
  *
846
980
  * @param remote the remote to update
847
981
  * @param reflog_message The message to insert into the reflogs. If
848
982
  * NULL and fetching, the default is "fetch <name>", where <name> is
849
983
  * the name of the remote (or its url, for in-memory remotes). This
850
984
  * parameter is ignored when pushing.
851
- * @param callbacks pointer to the callback structure to use
985
+ * @param callbacks pointer to the callback structure to use or NULL
852
986
  * @param update_fetchhead whether to write to FETCH_HEAD. Pass 1 to behave like git.
853
987
  * @param download_tags what the behaviour for downloading tags is for this fetch. This is
854
988
  * ignored for push. This must be the same value passed to `git_remote_download()`.
@@ -862,15 +996,19 @@ GIT_EXTERN(int) git_remote_update_tips(
862
996
  const char *reflog_message);
863
997
 
864
998
  /**
865
- * Download new data and update tips
999
+ * Download new data and update tips.
866
1000
  *
867
1001
  * Convenience function to connect to a remote, download the data,
868
1002
  * disconnect and update the remote-tracking branches.
869
1003
  *
1004
+ * If options are specified and this remote is already connected then
1005
+ * the existing remote connection options will be discarded and the
1006
+ * remote will now use the new options.
1007
+ *
870
1008
  * @param remote the remote to fetch from
871
1009
  * @param refspecs the refspecs to use for this fetch. Pass NULL or an
872
1010
  * empty array to use the base refspecs.
873
- * @param opts options to use for this fetch
1011
+ * @param opts options to use for this fetch or NULL
874
1012
  * @param reflog_message The message to insert into the reflogs. If NULL, the
875
1013
  * default is "fetch"
876
1014
  * @return 0 or an error code
@@ -882,27 +1020,36 @@ GIT_EXTERN(int) git_remote_fetch(
882
1020
  const char *reflog_message);
883
1021
 
884
1022
  /**
885
- * Prune tracking refs that are no longer present on remote
1023
+ * Prune tracking refs that are no longer present on remote.
1024
+ *
1025
+ * If callbacks are not specified then the callbacks specified to
1026
+ * `git_remote_connect` will be used (if it was called).
886
1027
  *
887
1028
  * @param remote the remote to prune
888
1029
  * @param callbacks callbacks to use for this prune
889
1030
  * @return 0 or an error code
890
1031
  */
891
- GIT_EXTERN(int) git_remote_prune(git_remote *remote, const git_remote_callbacks *callbacks);
1032
+ GIT_EXTERN(int) git_remote_prune(
1033
+ git_remote *remote,
1034
+ const git_remote_callbacks *callbacks);
892
1035
 
893
1036
  /**
894
- * Perform a push
1037
+ * Perform a push.
895
1038
  *
896
- * Peform all the steps from a push.
1039
+ * If options are specified and this remote is already connected then
1040
+ * the existing remote connection options will be discarded and the
1041
+ * remote will now use the new options.
897
1042
  *
898
1043
  * @param remote the remote to push to
899
1044
  * @param refspecs the refspecs to use for pushing. If NULL or an empty
900
1045
  * array, the configured refspecs will be used
901
1046
  * @param opts options to use for this push
1047
+ * @return 0 or an error code.
902
1048
  */
903
- GIT_EXTERN(int) git_remote_push(git_remote *remote,
904
- const git_strarray *refspecs,
905
- const git_push_options *opts);
1049
+ GIT_EXTERN(int) git_remote_push(
1050
+ git_remote *remote,
1051
+ const git_strarray *refspecs,
1052
+ const git_push_options *opts);
906
1053
 
907
1054
  /**
908
1055
  * Get the statistics structure that is filled in by the fetch operation.
@@ -141,7 +141,7 @@ typedef enum {
141
141
  * `git_repository_open_ext` with this flag will error out if either
142
142
  * $GIT_WORK_TREE or $GIT_COMMON_DIR is set.
143
143
  */
144
- GIT_REPOSITORY_OPEN_FROM_ENV = (1 << 4),
144
+ GIT_REPOSITORY_OPEN_FROM_ENV = (1 << 4)
145
145
  } git_repository_open_flag_t;
146
146
 
147
147
  /**
@@ -267,7 +267,7 @@ typedef enum {
267
267
  * If an alternate workdir is specified, use relative paths for the gitdir
268
268
  * and core.worktree.
269
269
  */
270
- GIT_REPOSITORY_INIT_RELATIVE_GITLINK = (1u << 6),
270
+ GIT_REPOSITORY_INIT_RELATIVE_GITLINK = (1u << 6)
271
271
  } git_repository_init_flag_t;
272
272
 
273
273
  /**
@@ -292,7 +292,7 @@ typedef enum {
292
292
  /**
293
293
  * Use "--shared=all" behavior, adding world readability.
294
294
  */
295
- GIT_REPOSITORY_INIT_SHARED_ALL = 0002777,
295
+ GIT_REPOSITORY_INIT_SHARED_ALL = 0002777
296
296
  } git_repository_init_mode_t;
297
297
 
298
298
  /**
@@ -673,6 +673,9 @@ GIT_EXTERN(int) git_repository_message(git_buf *out, git_repository *repo);
673
673
  * Remove git's prepared message.
674
674
  *
675
675
  * Remove the message that `git_repository_message` retrieves.
676
+ *
677
+ * @param repo Repository to remove prepared message from.
678
+ * @return 0 or an error code.
676
679
  */
677
680
  GIT_EXTERN(int) git_repository_message_remove(git_repository *repo);
678
681
 
@@ -808,19 +811,19 @@ GIT_EXTERN(int) git_repository_set_head(
808
811
  * If the provided committish cannot be found in the repository, the HEAD
809
812
  * is unaltered and GIT_ENOTFOUND is returned.
810
813
  *
811
- * If the provided commitish cannot be peeled into a commit, the HEAD
814
+ * If the provided committish cannot be peeled into a commit, the HEAD
812
815
  * is unaltered and -1 is returned.
813
816
  *
814
817
  * Otherwise, the HEAD will eventually be detached and will directly point to
815
818
  * the peeled Commit.
816
819
  *
817
820
  * @param repo Repository pointer
818
- * @param commitish Object id of the Commit the HEAD should point to
821
+ * @param committish Object id of the Commit the HEAD should point to
819
822
  * @return 0 on success, or an error code
820
823
  */
821
824
  GIT_EXTERN(int) git_repository_set_head_detached(
822
825
  git_repository *repo,
823
- const git_oid *commitish);
826
+ const git_oid *committish);
824
827
 
825
828
  /**
826
829
  * Make the repository HEAD directly point to the Commit.
@@ -836,7 +839,7 @@ GIT_EXTERN(int) git_repository_set_head_detached(
836
839
  */
837
840
  GIT_EXTERN(int) git_repository_set_head_detached_from_annotated(
838
841
  git_repository *repo,
839
- const git_annotated_commit *commitish);
842
+ const git_annotated_commit *committish);
840
843
 
841
844
  /**
842
845
  * Detach the HEAD.
@@ -846,7 +849,7 @@ GIT_EXTERN(int) git_repository_set_head_detached_from_annotated(
846
849
  * If the HEAD is already detached and points to a Tag, the HEAD is
847
850
  * updated into making it point to the peeled Commit, and 0 is returned.
848
851
  *
849
- * If the HEAD is already detached and points to a non commitish, the HEAD is
852
+ * If the HEAD is already detached and points to a non committish, the HEAD is
850
853
  * unaltered, and -1 is returned.
851
854
  *
852
855
  * Otherwise, the HEAD will be detached and point to the peeled Commit.
@@ -876,7 +879,7 @@ typedef enum {
876
879
  GIT_REPOSITORY_STATE_REBASE_INTERACTIVE,
877
880
  GIT_REPOSITORY_STATE_REBASE_MERGE,
878
881
  GIT_REPOSITORY_STATE_APPLY_MAILBOX,
879
- GIT_REPOSITORY_STATE_APPLY_MAILBOX_OR_REBASE,
882
+ GIT_REPOSITORY_STATE_APPLY_MAILBOX_OR_REBASE
880
883
  } git_repository_state_t;
881
884
 
882
885
  /**
@@ -928,6 +931,7 @@ GIT_EXTERN(int) git_repository_is_shallow(git_repository *repo);
928
931
  * @param name where to store the pointer to the name
929
932
  * @param email where to store the pointer to the email
930
933
  * @param repo the repository
934
+ * @return 0 or an error code
931
935
  */
932
936
  GIT_EXTERN(int) git_repository_ident(const char **name, const char **email, const git_repository *repo);
933
937
 
@@ -941,6 +945,7 @@ GIT_EXTERN(int) git_repository_ident(const char **name, const char **email, cons
941
945
  * @param repo the repository to configure
942
946
  * @param name the name to use for the reflog entries
943
947
  * @param email the email to use for the reflog entries
948
+ * @return 0 or an error code.
944
949
  */
945
950
  GIT_EXTERN(int) git_repository_set_ident(git_repository *repo, const char *name, const char *email);
946
951
 
@@ -26,7 +26,7 @@ GIT_BEGIN_DECL
26
26
  typedef enum {
27
27
  GIT_RESET_SOFT = 1, /**< Move the head to the given commit */
28
28
  GIT_RESET_MIXED = 2, /**< SOFT plus reset index to the commit */
29
- GIT_RESET_HARD = 3, /**< MIXED plus changes in working tree discarded */
29
+ GIT_RESET_HARD = 3 /**< MIXED plus changes in working tree discarded */
30
30
  } git_reset_t;
31
31
 
32
32
  /**
@@ -48,7 +48,7 @@ typedef enum {
48
48
  *
49
49
  * @param target Committish to which the Head should be moved to. This object
50
50
  * must belong to the given `repo` and can either be a git_commit or a
51
- * git_tag. When a git_tag is being passed, it should be dereferencable
51
+ * git_tag. When a git_tag is being passed, it should be dereferenceable
52
52
  * to a git_commit which oid will be used as the target of the branch.
53
53
  *
54
54
  * @param reset_type Kind of reset operation to perform.
@@ -74,7 +74,7 @@ typedef enum {
74
74
  /** The spec targeted a range of commits. */
75
75
  GIT_REVSPEC_RANGE = 1 << 1,
76
76
  /** The spec used the '...' operator, which invokes special semantics. */
77
- GIT_REVSPEC_MERGE_BASE = 1 << 2,
77
+ GIT_REVSPEC_MERGE_BASE = 1 << 2
78
78
  } git_revspec_t;
79
79
 
80
80
  /**
@@ -49,7 +49,7 @@ typedef enum {
49
49
  * order; this sorting mode can be combined with
50
50
  * any of the above.
51
51
  */
52
- GIT_SORT_REVERSE = 1 << 2,
52
+ GIT_SORT_REVERSE = 1 << 2
53
53
  } git_sort_t;
54
54
 
55
55
  /**
@@ -249,6 +249,7 @@ GIT_EXTERN(int) git_revwalk_push_range(git_revwalk *walk, const char *range);
249
249
  *
250
250
  * No parents other than the first for each commit will be enqueued.
251
251
  *
252
+ * @param walk The revision walker.
252
253
  * @return 0 or an error code
253
254
  */
254
255
  GIT_EXTERN(int) git_revwalk_simplify_first_parent(git_revwalk *walk);
@@ -277,6 +278,7 @@ GIT_EXTERN(git_repository *) git_revwalk_repository(git_revwalk *walk);
277
278
  *
278
279
  * @param commit_id oid of Commit
279
280
  * @param payload User-specified pointer to data to be passed as data payload
281
+ * @return non-zero to hide the commmit and it parent.
280
282
  */
281
283
  typedef int GIT_CALLBACK(git_revwalk_hide_cb)(
282
284
  const git_oid *commit_id,
@@ -288,6 +290,7 @@ typedef int GIT_CALLBACK(git_revwalk_hide_cb)(
288
290
  * @param walk the revision walker
289
291
  * @param hide_cb callback function to hide a commit and its parents
290
292
  * @param payload data payload to be passed to callback function
293
+ * @return 0 or an error code.
291
294
  */
292
295
  GIT_EXTERN(int) git_revwalk_add_hide_cb(
293
296
  git_revwalk *walk,
@@ -71,7 +71,7 @@ GIT_EXTERN(int) git_signature_default(git_signature **out, git_repository *repo)
71
71
  *
72
72
  * @param out new signature
73
73
  * @param buf signature string
74
- * @return 0 on success, or an error code
74
+ * @return 0 on success, GIT_EINVALID if the signature is not parseable, or an error code
75
75
  */
76
76
  GIT_EXTERN(int) git_signature_from_buffer(git_signature **out, const char *buf);
77
77
 
@@ -44,7 +44,7 @@ typedef enum {
44
44
  * All ignored files are also stashed and then cleaned up from
45
45
  * the working directory
46
46
  */
47
- GIT_STASH_INCLUDE_IGNORED = (1 << 2),
47
+ GIT_STASH_INCLUDE_IGNORED = (1 << 2)
48
48
  } git_stash_flags;
49
49
 
50
50
  /**
@@ -78,7 +78,7 @@ typedef enum {
78
78
  /* Try to reinstate not only the working tree's changes,
79
79
  * but also the index's changes.
80
80
  */
81
- GIT_STASH_APPLY_REINSTATE_INDEX = (1 << 0),
81
+ GIT_STASH_APPLY_REINSTATE_INDEX = (1 << 0)
82
82
  } git_stash_apply_flags;
83
83
 
84
84
  /** Stash apply progression states */
@@ -104,7 +104,7 @@ typedef enum {
104
104
  GIT_STASH_APPLY_PROGRESS_CHECKOUT_MODIFIED,
105
105
 
106
106
  /** The stash was applied successfully. */
107
- GIT_STASH_APPLY_PROGRESS_DONE,
107
+ GIT_STASH_APPLY_PROGRESS_DONE
108
108
  } git_stash_apply_progress_t;
109
109
 
110
110
  /**