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
@@ -48,7 +48,7 @@ typedef enum {
48
48
  GIT_STATUS_WT_UNREADABLE = (1u << 12),
49
49
 
50
50
  GIT_STATUS_IGNORED = (1u << 14),
51
- GIT_STATUS_CONFLICTED = (1u << 15),
51
+ GIT_STATUS_CONFLICTED = (1u << 15)
52
52
  } git_status_t;
53
53
 
54
54
  /**
@@ -87,7 +87,7 @@ typedef enum {
87
87
  * Only gives status based on index to working directory comparison,
88
88
  * not comparing the index to the HEAD.
89
89
  */
90
- GIT_STATUS_SHOW_WORKDIR_ONLY = 2,
90
+ GIT_STATUS_SHOW_WORKDIR_ONLY = 2
91
91
  } git_status_show_t;
92
92
 
93
93
  /**
@@ -204,7 +204,7 @@ typedef enum {
204
204
  * Unreadable files will be detected and given the status
205
205
  * untracked instead of unreadable.
206
206
  */
207
- GIT_STATUS_OPT_INCLUDE_UNREADABLE_AS_UNTRACKED = (1u << 15),
207
+ GIT_STATUS_OPT_INCLUDE_UNREADABLE_AS_UNTRACKED = (1u << 15)
208
208
  } git_status_opt_t;
209
209
 
210
210
  #define GIT_STATUS_OPT_DEFAULTS \
@@ -250,6 +250,12 @@ typedef struct {
250
250
  * working directory and index; defaults to HEAD.
251
251
  */
252
252
  git_tree *baseline;
253
+
254
+ /**
255
+ * Threshold above which similar files will be considered renames.
256
+ * This is equivalent to the -M option. Defaults to 50.
257
+ */
258
+ uint16_t rename_threshold;
253
259
  } git_status_options;
254
260
 
255
261
  #define GIT_STATUS_OPTIONS_VERSION 1
@@ -85,7 +85,7 @@ typedef enum {
85
85
  GIT_SUBMODULE_STATUS_WD_MODIFIED = (1u << 10),
86
86
  GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED = (1u << 11),
87
87
  GIT_SUBMODULE_STATUS_WD_WD_MODIFIED = (1u << 12),
88
- GIT_SUBMODULE_STATUS_WD_UNTRACKED = (1u << 13),
88
+ GIT_SUBMODULE_STATUS_WD_UNTRACKED = (1u << 13)
89
89
  } git_submodule_status_t;
90
90
 
91
91
  #define GIT_SUBMODULE_STATUS__IN_FLAGS 0x000Fu
@@ -181,7 +181,7 @@ GIT_EXTERN(int) git_submodule_update_options_init(
181
181
  * @param submodule Submodule object
182
182
  * @param init If the submodule is not initialized, setting this flag to true
183
183
  * will initialize the submodule before updating. Otherwise, this will
184
- * return an error if attempting to update an uninitialzed repository.
184
+ * return an error if attempting to update an uninitialized repository.
185
185
  * but setting this to true forces them to be updated.
186
186
  * @param options configuration options for the update. If NULL, the
187
187
  * function works as though GIT_SUBMODULE_UPDATE_OPTIONS_INIT was passed.
@@ -229,6 +229,7 @@ GIT_EXTERN(int) git_submodule_lookup(
229
229
  *
230
230
  * @param out Pointer to store the copy of the submodule.
231
231
  * @param source Original submodule to copy.
232
+ * @return 0
232
233
  */
233
234
  GIT_EXTERN(int) git_submodule_dup(git_submodule **out, git_submodule *source);
234
235
 
@@ -320,6 +321,7 @@ GIT_EXTERN(int) git_submodule_clone(
320
321
  * (but doesn't actually do the commit).
321
322
  *
322
323
  * @param submodule The submodule to finish adding.
324
+ * @return 0 or an error code.
323
325
  */
324
326
  GIT_EXTERN(int) git_submodule_add_finalize(git_submodule *submodule);
325
327
 
@@ -589,6 +591,9 @@ GIT_EXTERN(int) git_submodule_repo_init(
589
591
  * submodule config, acting like "git submodule sync". This is useful if
590
592
  * you have altered the URL for the submodule (or it has been altered by a
591
593
  * fetch of upstream changes) and you need to update your local repo.
594
+ *
595
+ * @param submodule The submodule to copy.
596
+ * @return 0 or an error code.
592
597
  */
593
598
  GIT_EXTERN(int) git_submodule_sync(git_submodule *submodule);
594
599
 
@@ -94,7 +94,7 @@ typedef enum {
94
94
  * Do not split commit-graph files. The other split strategy-related option
95
95
  * fields are ignored.
96
96
  */
97
- GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0,
97
+ GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0
98
98
  } git_commit_graph_split_strategy_t;
99
99
 
100
100
  /**
@@ -69,11 +69,8 @@ struct git_odb_backend {
69
69
  * If the backend implements a refreshing mechanism, it should be exposed
70
70
  * through this endpoint. Each call to `git_odb_refresh()` will invoke it.
71
71
  *
72
- * However, the backend implementation should try to stay up-to-date as much
73
- * as possible by itself as libgit2 will not automatically invoke
74
- * `git_odb_refresh()`. For instance, a potential strategy for the backend
75
- * implementation to achieve this could be to internally invoke this
76
- * endpoint on failed lookups (ie. `exists()`, `read()`, `read_header()`).
72
+ * The odb layer will automatically call this when needed on failed
73
+ * lookups (ie. `exists()`, `read()`, `read_header()`).
77
74
  */
78
75
  int GIT_CALLBACK(refresh)(git_odb_backend *);
79
76
 
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Copyright (C) the libgit2 contributors. All rights reserved.
3
+ *
4
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
5
+ * a Linking Exception. For full terms see the included COPYING file.
6
+ */
7
+
8
+ #ifndef INCLUDE_sys_git_remote_h
9
+ #define INCLUDE_sys_git_remote_h
10
+
11
+ /**
12
+ * @file git2/sys/remote.h
13
+ * @brief Low-level remote functionality for custom transports
14
+ * @defgroup git_remote Low-level remote functionality
15
+ * @ingroup Git
16
+ * @{
17
+ */
18
+
19
+ GIT_BEGIN_DECL
20
+
21
+ typedef enum {
22
+ /** Remote supports fetching an advertised object by ID. */
23
+ GIT_REMOTE_CAPABILITY_TIP_OID = (1 << 0),
24
+
25
+ /** Remote supports fetching an individual reachable object. */
26
+ GIT_REMOTE_CAPABILITY_REACHABLE_OID = (1 << 1),
27
+ } git_remote_capability_t;
28
+
29
+ /** @} */
30
+ GIT_END_DECL
31
+ #endif
@@ -79,7 +79,7 @@ typedef enum {
79
79
  GIT_STREAM_STANDARD = 1,
80
80
 
81
81
  /** A TLS-encrypted socket. */
82
- GIT_STREAM_TLS = 2,
82
+ GIT_STREAM_TLS = 2
83
83
  } git_stream_t;
84
84
 
85
85
  /**
@@ -24,31 +24,9 @@
24
24
 
25
25
  GIT_BEGIN_DECL
26
26
 
27
- /**
28
- * Flags to pass to transport
29
- *
30
- * Currently unused.
31
- */
32
- typedef enum {
33
- GIT_TRANSPORTFLAGS_NONE = 0,
34
- } git_transport_flags_t;
35
-
36
27
  struct git_transport {
37
28
  unsigned int version; /**< The struct version */
38
29
 
39
- /** Set progress and error callbacks */
40
- int GIT_CALLBACK(set_callbacks)(
41
- git_transport *transport,
42
- git_transport_message_cb progress_cb,
43
- git_transport_message_cb error_cb,
44
- git_transport_certificate_check_cb certificate_check_cb,
45
- void *payload);
46
-
47
- /** Set custom headers for HTTP requests */
48
- int GIT_CALLBACK(set_custom_headers)(
49
- git_transport *transport,
50
- const git_strarray *custom_headers);
51
-
52
30
  /**
53
31
  * Connect the transport to the remote repository, using the given
54
32
  * direction.
@@ -56,11 +34,27 @@ struct git_transport {
56
34
  int GIT_CALLBACK(connect)(
57
35
  git_transport *transport,
58
36
  const char *url,
59
- git_credential_acquire_cb cred_acquire_cb,
60
- void *cred_acquire_payload,
61
- const git_proxy_options *proxy_opts,
62
37
  int direction,
63
- int flags);
38
+ const git_remote_connect_options *connect_opts);
39
+
40
+ /**
41
+ * Resets the connect options for the given transport. This
42
+ * is useful for updating settings or callbacks for an already
43
+ * connected transport.
44
+ */
45
+ int GIT_CALLBACK(set_connect_opts)(
46
+ git_transport *transport,
47
+ const git_remote_connect_options *connect_opts);
48
+
49
+ /**
50
+ * Gets the capabilities for this remote repository.
51
+ *
52
+ * This function may be called after a successful call to
53
+ * `connect()`.
54
+ */
55
+ int GIT_CALLBACK(capabilities)(
56
+ unsigned int *capabilities,
57
+ git_transport *transport);
64
58
 
65
59
  /**
66
60
  * Get the list of available references in the remote repository.
@@ -75,7 +69,9 @@ struct git_transport {
75
69
  git_transport *transport);
76
70
 
77
71
  /** Executes the push whose context is in the git_push object. */
78
- int GIT_CALLBACK(push)(git_transport *transport, git_push *push, const git_remote_callbacks *callbacks);
72
+ int GIT_CALLBACK(push)(
73
+ git_transport *transport,
74
+ git_push *push);
79
75
 
80
76
  /**
81
77
  * Negotiate a fetch with the remote repository.
@@ -99,16 +95,11 @@ struct git_transport {
99
95
  int GIT_CALLBACK(download_pack)(
100
96
  git_transport *transport,
101
97
  git_repository *repo,
102
- git_indexer_progress *stats,
103
- git_indexer_progress_cb progress_cb,
104
- void *progress_payload);
98
+ git_indexer_progress *stats);
105
99
 
106
100
  /** Checks to see if the transport is connected */
107
101
  int GIT_CALLBACK(is_connected)(git_transport *transport);
108
102
 
109
- /** Reads the flags value previously passed into connect() */
110
- int GIT_CALLBACK(read_flags)(git_transport *transport, int *flags);
111
-
112
103
  /** Cancels any outstanding transport operation */
113
104
  void GIT_CALLBACK(cancel)(git_transport *transport);
114
105
 
@@ -289,7 +280,7 @@ typedef enum {
289
280
  GIT_SERVICE_UPLOADPACK_LS = 1,
290
281
  GIT_SERVICE_UPLOADPACK = 2,
291
282
  GIT_SERVICE_RECEIVEPACK_LS = 3,
292
- GIT_SERVICE_RECEIVEPACK = 4,
283
+ GIT_SERVICE_RECEIVEPACK = 4
293
284
  } git_smart_service_t;
294
285
 
295
286
  typedef struct git_smart_subtransport git_smart_subtransport;
@@ -362,6 +362,7 @@ GIT_EXTERN(int) git_tag_peel(
362
362
  *
363
363
  * @param out Pointer to store the copy of the tag
364
364
  * @param source Original tag to copy
365
+ * @return 0
365
366
  */
366
367
  GIT_EXTERN(int) git_tag_dup(git_tag **out, git_tag *source);
367
368
 
@@ -255,7 +255,7 @@ GIT_EXTERN(int) git_treebuilder_new(
255
255
  git_treebuilder **out, git_repository *repo, const git_tree *source);
256
256
 
257
257
  /**
258
- * Clear all the entires in the builder
258
+ * Clear all the entries in the builder
259
259
  *
260
260
  * @param bld Builder to clear
261
261
  * @return 0 on success; error code otherwise
@@ -386,7 +386,7 @@ typedef int GIT_CALLBACK(git_treewalk_cb)(
386
386
  /** Tree traversal modes */
387
387
  typedef enum {
388
388
  GIT_TREEWALK_PRE = 0, /* Pre-order */
389
- GIT_TREEWALK_POST = 1, /* Post-order */
389
+ GIT_TREEWALK_POST = 1 /* Post-order */
390
390
  } git_treewalk_mode;
391
391
 
392
392
  /**
@@ -418,6 +418,7 @@ GIT_EXTERN(int) git_tree_walk(
418
418
  *
419
419
  * @param out Pointer to store the copy of the tree
420
420
  * @param source Original tree to copy
421
+ * @return 0
421
422
  */
422
423
  GIT_EXTERN(int) git_tree_dup(git_tree **out, git_tree *source);
423
424
 
@@ -428,7 +429,7 @@ typedef enum {
428
429
  /** Update or insert an entry at the specified path */
429
430
  GIT_TREE_UPDATE_UPSERT,
430
431
  /** Remove an entry from the specified path */
431
- GIT_TREE_UPDATE_REMOVE,
432
+ GIT_TREE_UPDATE_REMOVE
432
433
  } git_tree_update_t;
433
434
 
434
435
  /**
@@ -78,7 +78,7 @@ typedef enum {
78
78
  GIT_OBJECT_BLOB = 3, /**< A file revision object. */
79
79
  GIT_OBJECT_TAG = 4, /**< An annotated tag object. */
80
80
  GIT_OBJECT_OFS_DELTA = 6, /**< A delta, base is given by an offset. */
81
- GIT_OBJECT_REF_DELTA = 7, /**< A delta, base is given by object id. */
81
+ GIT_OBJECT_REF_DELTA = 7 /**< A delta, base is given by object id. */
82
82
  } git_object_t;
83
83
 
84
84
  /** An open object database handle. */
@@ -208,14 +208,14 @@ typedef enum {
208
208
  GIT_REFERENCE_INVALID = 0, /**< Invalid reference */
209
209
  GIT_REFERENCE_DIRECT = 1, /**< A reference that points at an object id */
210
210
  GIT_REFERENCE_SYMBOLIC = 2, /**< A reference that points at another reference */
211
- GIT_REFERENCE_ALL = GIT_REFERENCE_DIRECT | GIT_REFERENCE_SYMBOLIC,
211
+ GIT_REFERENCE_ALL = GIT_REFERENCE_DIRECT | GIT_REFERENCE_SYMBOLIC
212
212
  } git_reference_t;
213
213
 
214
214
  /** Basic type of any Git branch. */
215
215
  typedef enum {
216
216
  GIT_BRANCH_LOCAL = 1,
217
217
  GIT_BRANCH_REMOTE = 2,
218
- GIT_BRANCH_ALL = GIT_BRANCH_LOCAL|GIT_BRANCH_REMOTE,
218
+ GIT_BRANCH_ALL = GIT_BRANCH_LOCAL|GIT_BRANCH_REMOTE
219
219
  } git_branch_t;
220
220
 
221
221
  /** Valid modes for index and tree entries. */
@@ -225,7 +225,7 @@ typedef enum {
225
225
  GIT_FILEMODE_BLOB = 0100644,
226
226
  GIT_FILEMODE_BLOB_EXECUTABLE = 0100755,
227
227
  GIT_FILEMODE_LINK = 0120000,
228
- GIT_FILEMODE_COMMIT = 0160000,
228
+ GIT_FILEMODE_COMMIT = 0160000
229
229
  } git_filemode_t;
230
230
 
231
231
  /**
@@ -236,7 +236,7 @@ typedef struct git_refspec git_refspec;
236
236
 
237
237
  /**
238
238
  * Git's idea of a remote repository. A remote can be anonymous (in
239
- * which case it does not have backing configuration entires).
239
+ * which case it does not have backing configuration entries).
240
240
  */
241
241
  typedef struct git_remote git_remote;
242
242
 
@@ -334,7 +334,7 @@ typedef enum {
334
334
  GIT_SUBMODULE_IGNORE_NONE = 1, /**< any change or untracked == dirty */
335
335
  GIT_SUBMODULE_IGNORE_UNTRACKED = 2, /**< dirty if tracked files change */
336
336
  GIT_SUBMODULE_IGNORE_DIRTY = 3, /**< only dirty if HEAD moved */
337
- GIT_SUBMODULE_IGNORE_ALL = 4, /**< never dirty */
337
+ GIT_SUBMODULE_IGNORE_ALL = 4 /**< never dirty */
338
338
  } git_submodule_ignore_t;
339
339
 
340
340
  /**
@@ -350,7 +350,7 @@ typedef enum {
350
350
  typedef enum {
351
351
  GIT_SUBMODULE_RECURSE_NO = 0,
352
352
  GIT_SUBMODULE_RECURSE_YES = 1,
353
- GIT_SUBMODULE_RECURSE_ONDEMAND = 2,
353
+ GIT_SUBMODULE_RECURSE_ONDEMAND = 2
354
354
  } git_submodule_recurse_t;
355
355
 
356
356
  typedef struct git_writestream git_writestream;
@@ -7,12 +7,12 @@
7
7
  #ifndef INCLUDE_git_version_h__
8
8
  #define INCLUDE_git_version_h__
9
9
 
10
- #define LIBGIT2_VERSION "1.3.2"
10
+ #define LIBGIT2_VERSION "1.4.2"
11
11
  #define LIBGIT2_VER_MAJOR 1
12
- #define LIBGIT2_VER_MINOR 3
12
+ #define LIBGIT2_VER_MINOR 4
13
13
  #define LIBGIT2_VER_REVISION 2
14
14
  #define LIBGIT2_VER_PATCH 0
15
15
 
16
- #define LIBGIT2_SOVERSION "1.3"
16
+ #define LIBGIT2_SOVERSION "1.4"
17
17
 
18
18
  #endif
@@ -52,6 +52,7 @@ GIT_EXTERN(int) git_worktree_lookup(git_worktree **out, git_repository *repo, co
52
52
  *
53
53
  * @param out Out-pointer for the newly allocated worktree
54
54
  * @param repo Repository to look up worktree for
55
+ * @return 0 or an error code
55
56
  */
56
57
  GIT_EXTERN(int) git_worktree_open_from_repository(git_worktree **out, git_repository *repo);
57
58
 
@@ -86,10 +87,15 @@ typedef struct git_worktree_add_options {
86
87
 
87
88
  int lock; /**< lock newly created worktree */
88
89
  git_reference *ref; /**< reference to use for the new worktree HEAD */
90
+
91
+ /**
92
+ * Options for the checkout.
93
+ */
94
+ git_checkout_options checkout_options;
89
95
  } git_worktree_add_options;
90
96
 
91
97
  #define GIT_WORKTREE_ADD_OPTIONS_VERSION 1
92
- #define GIT_WORKTREE_ADD_OPTIONS_INIT {GIT_WORKTREE_ADD_OPTIONS_VERSION,0,NULL}
98
+ #define GIT_WORKTREE_ADD_OPTIONS_INIT {GIT_WORKTREE_ADD_OPTIONS_VERSION,0,NULL,GIT_CHECKOUT_OPTIONS_INIT}
93
99
 
94
100
  /**
95
101
  * Initialize git_worktree_add_options structure
@@ -185,7 +191,7 @@ typedef enum {
185
191
  /* Prune working tree even if it is locked */
186
192
  GIT_WORKTREE_PRUNE_LOCKED = 1u << 1,
187
193
  /* Prune checked out working tree */
188
- GIT_WORKTREE_PRUNE_WORKING_TREE = 1u << 2,
194
+ GIT_WORKTREE_PRUNE_WORKING_TREE = 1u << 2
189
195
  } git_worktree_prune_t;
190
196
 
191
197
  /**
@@ -232,6 +238,10 @@ GIT_EXTERN(int) git_worktree_prune_options_init(
232
238
  * If the worktree is not valid and not locked or if the above
233
239
  * flags have been passed in, this function will return a
234
240
  * positive value.
241
+ *
242
+ * @param wt Worktree to check.
243
+ * @param opts The prunable options.
244
+ * @return 1 if the worktree is prunable, 0 otherwise, or an error code.
235
245
  */
236
246
  GIT_EXTERN(int) git_worktree_is_prunable(git_worktree *wt,
237
247
  git_worktree_prune_options *opts);