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
@@ -36,7 +36,7 @@ static int strip_comments(char *line, int in_quotes)
36
36
  char *ptr;
37
37
 
38
38
  for (ptr = line; *ptr; ++ptr) {
39
- if (ptr[0] == '"' && ptr > line && ptr[-1] != '\\')
39
+ if (ptr[0] == '"' && ((ptr > line && ptr[-1] != '\\') || ptr == line))
40
40
  quote_count++;
41
41
 
42
42
  if ((ptr[0] == ';' || ptr[0] == '#') &&
@@ -67,7 +67,7 @@ static int parse_subsection_header(git_config_parser *reader, const char *line,
67
67
  int c, rpos;
68
68
  const char *first_quote, *last_quote;
69
69
  const char *line_start = line;
70
- git_buf buf = GIT_BUF_INIT;
70
+ git_str buf = GIT_STR_INIT;
71
71
  size_t quoted_len, alloc_len, base_name_len = strlen(base_name);
72
72
 
73
73
  /* Skip any additional whitespace before our section name */
@@ -97,8 +97,8 @@ static int parse_subsection_header(git_config_parser *reader, const char *line,
97
97
  GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, base_name_len, quoted_len);
98
98
  GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
99
99
 
100
- if (git_buf_grow(&buf, alloc_len) < 0 ||
101
- git_buf_printf(&buf, "%s.", base_name) < 0)
100
+ if (git_str_grow(&buf, alloc_len) < 0 ||
101
+ git_str_printf(&buf, "%s.", base_name) < 0)
102
102
  goto end_error;
103
103
 
104
104
  rpos = 0;
@@ -132,25 +132,25 @@ static int parse_subsection_header(git_config_parser *reader, const char *line,
132
132
  break;
133
133
  }
134
134
 
135
- git_buf_putc(&buf, (char)c);
135
+ git_str_putc(&buf, (char)c);
136
136
  c = line[++rpos];
137
137
  } while (line + rpos < last_quote);
138
138
 
139
139
  end_parse:
140
- if (git_buf_oom(&buf))
140
+ if (git_str_oom(&buf))
141
141
  goto end_error;
142
142
 
143
143
  if (line[rpos] != '"' || line[rpos + 1] != ']') {
144
144
  set_parse_error(reader, rpos, "unexpected text after closing quotes");
145
- git_buf_dispose(&buf);
145
+ git_str_dispose(&buf);
146
146
  return -1;
147
147
  }
148
148
 
149
- *section_name = git_buf_detach(&buf);
149
+ *section_name = git_str_detach(&buf);
150
150
  return (int)(&line[rpos + 2] - line_start); /* rpos is at the closing quote */
151
151
 
152
152
  end_error:
153
- git_buf_dispose(&buf);
153
+ git_str_dispose(&buf);
154
154
 
155
155
  return -1;
156
156
  }
@@ -227,11 +227,11 @@ fail_parse:
227
227
 
228
228
  static int skip_bom(git_parse_ctx *parser)
229
229
  {
230
- git_buf buf = GIT_BUF_INIT_CONST(parser->content, parser->content_len);
231
- git_buf_bom_t bom;
232
- int bom_offset = git_buf_detect_bom(&bom, &buf);
230
+ git_str buf = GIT_STR_INIT_CONST(parser->content, parser->content_len);
231
+ git_str_bom_t bom;
232
+ int bom_offset = git_str_detect_bom(&bom, &buf);
233
233
 
234
- if (bom == GIT_BUF_BOM_UTF8)
234
+ if (bom == GIT_STR_BOM_UTF8)
235
235
  git_parse_advance_chars(parser, bom_offset);
236
236
 
237
237
  /* TODO: reference implementation is pretty stupid with BoM */
@@ -325,7 +325,7 @@ done:
325
325
  return 0;
326
326
  }
327
327
 
328
- static int parse_multiline_variable(git_config_parser *reader, git_buf *value, int in_quotes)
328
+ static int parse_multiline_variable(git_config_parser *reader, git_str *value, int in_quotes, size_t *line_len)
329
329
  {
330
330
  int quote_count;
331
331
  bool multiline = true;
@@ -338,6 +338,10 @@ static int parse_multiline_variable(git_config_parser *reader, git_buf *value, i
338
338
  git_parse_advance_line(&reader->ctx);
339
339
  line = git__strndup(reader->ctx.line, reader->ctx.line_len);
340
340
  GIT_ERROR_CHECK_ALLOC(line);
341
+ if (GIT_ADD_SIZET_OVERFLOW(line_len, *line_len, reader->ctx.line_len)) {
342
+ error = -1;
343
+ goto out;
344
+ }
341
345
 
342
346
  /*
343
347
  * We've reached the end of the file, there is no continuation.
@@ -358,7 +362,7 @@ static int parse_multiline_variable(git_config_parser *reader, git_buf *value, i
358
362
  goto out;
359
363
 
360
364
  /* Add this line to the multiline var */
361
- if ((error = git_buf_puts(value, proc_line)) < 0)
365
+ if ((error = git_str_puts(value, proc_line)) < 0)
362
366
  goto out;
363
367
 
364
368
  next:
@@ -415,7 +419,7 @@ static int parse_name(
415
419
  return 0;
416
420
  }
417
421
 
418
- static int parse_variable(git_config_parser *reader, char **var_name, char **var_value)
422
+ static int parse_variable(git_config_parser *reader, char **var_name, char **var_value, size_t *line_len)
419
423
  {
420
424
  const char *value_start = NULL;
421
425
  char *line = NULL, *name = NULL, *value = NULL;
@@ -445,18 +449,18 @@ static int parse_variable(git_config_parser *reader, char **var_name, char **var
445
449
  goto out;
446
450
 
447
451
  if (multiline) {
448
- git_buf multi_value = GIT_BUF_INIT;
449
- git_buf_attach(&multi_value, value, 0);
452
+ git_str multi_value = GIT_STR_INIT;
453
+ git_str_attach(&multi_value, value, 0);
450
454
  value = NULL;
451
455
 
452
- if (parse_multiline_variable(reader, &multi_value, quote_count % 2) < 0 ||
453
- git_buf_oom(&multi_value)) {
456
+ if (parse_multiline_variable(reader, &multi_value, quote_count % 2, line_len) < 0 ||
457
+ git_str_oom(&multi_value)) {
454
458
  error = -1;
455
- git_buf_dispose(&multi_value);
459
+ git_str_dispose(&multi_value);
456
460
  goto out;
457
461
  }
458
462
 
459
- value = git_buf_detach(&multi_value);
463
+ value = git_str_detach(&multi_value);
460
464
  }
461
465
  }
462
466
 
@@ -554,7 +558,7 @@ int git_config_parse(
554
558
  break;
555
559
 
556
560
  default: /* assume variable declaration */
557
- if ((result = parse_variable(parser, &var_name, &var_value)) == 0 && on_variable) {
561
+ if ((result = parse_variable(parser, &var_name, &var_value, &line_len)) == 0 && on_variable) {
558
562
  result = on_variable(parser, current_section, var_name, var_value, line_start, line_len, payload);
559
563
  git__free(var_name);
560
564
  git__free(var_value);
@@ -12,6 +12,7 @@
12
12
  #include "git2/index.h"
13
13
  #include "git2/sys/filter.h"
14
14
 
15
+ #include "buf.h"
15
16
  #include "futils.h"
16
17
  #include "hash.h"
17
18
  #include "filter.h"
@@ -25,7 +26,7 @@ typedef enum {
25
26
  GIT_CRLF_TEXT_CRLF,
26
27
  GIT_CRLF_AUTO,
27
28
  GIT_CRLF_AUTO_INPUT,
28
- GIT_CRLF_AUTO_CRLF,
29
+ GIT_CRLF_AUTO_CRLF
29
30
  } git_crlf_t;
30
31
 
31
32
  struct crlf_attrs {
@@ -152,7 +153,7 @@ static git_configmap_value output_eol(struct crlf_attrs *ca)
152
153
  GIT_INLINE(int) check_safecrlf(
153
154
  struct crlf_attrs *ca,
154
155
  const git_filter_source *src,
155
- git_buf_text_stats *stats)
156
+ git_str_text_stats *stats)
156
157
  {
157
158
  const char *filename = git_filter_source_path(src);
158
159
 
@@ -206,19 +207,19 @@ GIT_INLINE(int) check_safecrlf(
206
207
 
207
208
  static int crlf_apply_to_odb(
208
209
  struct crlf_attrs *ca,
209
- git_buf *to,
210
- const git_buf *from,
210
+ git_str *to,
211
+ const git_str *from,
211
212
  const git_filter_source *src)
212
213
  {
213
- git_buf_text_stats stats;
214
+ git_str_text_stats stats;
214
215
  bool is_binary;
215
216
  int error;
216
217
 
217
218
  /* Binary attribute? Empty file? Nothing to do */
218
- if (ca->crlf_action == GIT_CRLF_BINARY || !git_buf_len(from))
219
+ if (ca->crlf_action == GIT_CRLF_BINARY || from->size == 0)
219
220
  return GIT_PASSTHROUGH;
220
221
 
221
- is_binary = git_buf_gather_text_stats(&stats, from, false);
222
+ is_binary = git_str_gather_text_stats(&stats, from, false);
222
223
 
223
224
  /* Heuristics to see if we can skip the conversion.
224
225
  * Straight from Core Git.
@@ -246,22 +247,22 @@ static int crlf_apply_to_odb(
246
247
  return GIT_PASSTHROUGH;
247
248
 
248
249
  /* Actually drop the carriage returns */
249
- return git_buf_crlf_to_lf(to, from);
250
+ return git_str_crlf_to_lf(to, from);
250
251
  }
251
252
 
252
253
  static int crlf_apply_to_workdir(
253
254
  struct crlf_attrs *ca,
254
- git_buf *to,
255
- const git_buf *from)
255
+ git_str *to,
256
+ const git_str *from)
256
257
  {
257
- git_buf_text_stats stats;
258
+ git_str_text_stats stats;
258
259
  bool is_binary;
259
260
 
260
261
  /* Empty file? Nothing to do. */
261
- if (git_buf_len(from) == 0 || output_eol(ca) != GIT_EOL_CRLF)
262
+ if (git_str_len(from) == 0 || output_eol(ca) != GIT_EOL_CRLF)
262
263
  return GIT_PASSTHROUGH;
263
264
 
264
- is_binary = git_buf_gather_text_stats(&stats, from, false);
265
+ is_binary = git_str_gather_text_stats(&stats, from, false);
265
266
 
266
267
  /* If there are no LFs, or all LFs are part of a CRLF, nothing to do */
267
268
  if (stats.lf == 0 || stats.lf == stats.crlf)
@@ -280,7 +281,7 @@ static int crlf_apply_to_workdir(
280
281
  return GIT_PASSTHROUGH;
281
282
  }
282
283
 
283
- return git_buf_lf_to_crlf(to, from);
284
+ return git_str_lf_to_crlf(to, from);
284
285
  }
285
286
 
286
287
  static int convert_attrs(
@@ -368,22 +369,24 @@ static int crlf_check(
368
369
  static int crlf_apply(
369
370
  git_filter *self,
370
371
  void **payload, /* may be read and/or set */
371
- git_buf *to,
372
- const git_buf *from,
372
+ git_str *to,
373
+ const git_str *from,
373
374
  const git_filter_source *src)
374
375
  {
376
+ int error = 0;
377
+
375
378
  /* initialize payload in case `check` was bypassed */
376
379
  if (!*payload) {
377
- int error = crlf_check(self, payload, src, NULL);
378
-
379
- if (error < 0)
380
+ if ((error = crlf_check(self, payload, src, NULL)) < 0)
380
381
  return error;
381
382
  }
382
383
 
383
384
  if (git_filter_source_mode(src) == GIT_FILTER_SMUDGE)
384
- return crlf_apply_to_workdir(*payload, to, from);
385
+ error = crlf_apply_to_workdir(*payload, to, from);
385
386
  else
386
- return crlf_apply_to_odb(*payload, to, from, src);
387
+ error = crlf_apply_to_odb(*payload, to, from, src);
388
+
389
+ return error;
387
390
  }
388
391
 
389
392
  static int crlf_stream(
@@ -11,8 +11,8 @@
11
11
  #endif
12
12
 
13
13
  #include "util.h"
14
- #include "cache.h"
15
14
  #include "posix.h"
15
+ #include "date.h"
16
16
 
17
17
  #include <ctype.h>
18
18
  #include <time.h>
@@ -853,11 +853,11 @@ static git_time_t approxidate_str(const char *date,
853
853
  }
854
854
  pending_number(&tm, &number);
855
855
  if (!touched)
856
- *error_ret = 1;
856
+ *error_ret = -1;
857
857
  return update_tm(&tm, &now, 0);
858
858
  }
859
859
 
860
- int git__date_parse(git_time_t *out, const char *date)
860
+ int git_date_parse(git_time_t *out, const char *date)
861
861
  {
862
862
  time_t time_sec;
863
863
  git_time_t timestamp;
@@ -872,34 +872,27 @@ int git__date_parse(git_time_t *out, const char *date)
872
872
  return -1;
873
873
 
874
874
  *out = approxidate_str(date, time_sec, &error_ret);
875
- return error_ret;
875
+ return error_ret;
876
876
  }
877
877
 
878
- int git__date_rfc2822_fmt(char *out, size_t len, const git_time *date)
878
+ int git_date_rfc2822_fmt(git_str *out, git_time_t time, int offset)
879
879
  {
880
- int written;
881
- struct tm gmt;
882
880
  time_t t;
881
+ struct tm gmt;
883
882
 
884
883
  GIT_ASSERT_ARG(out);
885
- GIT_ASSERT_ARG(date);
886
884
 
887
- t = (time_t) (date->time + date->offset * 60);
885
+ t = (time_t) (time + offset * 60);
888
886
 
889
- if (p_gmtime_r (&t, &gmt) == NULL)
887
+ if (p_gmtime_r(&t, &gmt) == NULL)
890
888
  return -1;
891
889
 
892
- written = p_snprintf(out, len, "%.3s, %u %.3s %.4u %02u:%02u:%02u %+03d%02d",
890
+ return git_str_printf(out, "%.3s, %u %.3s %.4u %02u:%02u:%02u %+03d%02d",
893
891
  weekday_names[gmt.tm_wday],
894
892
  gmt.tm_mday,
895
893
  month_names[gmt.tm_mon],
896
894
  gmt.tm_year + 1900,
897
895
  gmt.tm_hour, gmt.tm_min, gmt.tm_sec,
898
- date->offset / 60, date->offset % 60);
899
-
900
- if (written < 0 || (written > (int) len - 1))
901
- return -1;
902
-
903
- return 0;
896
+ offset / 60, offset % 60);
904
897
  }
905
898
 
@@ -0,0 +1,33 @@
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
+ #ifndef INCLUDE_date_h__
8
+ #define INCLUDE_date_h__
9
+
10
+ #include "util.h"
11
+ #include "str.h"
12
+
13
+ /*
14
+ * Parse a string into a value as a git_time_t.
15
+ *
16
+ * Sample valid input:
17
+ * - "yesterday"
18
+ * - "July 17, 2003"
19
+ * - "2003-7-17 08:23"
20
+ */
21
+ extern int git_date_parse(git_time_t *out, const char *date);
22
+
23
+ /*
24
+ * Format a git_time as a RFC2822 string
25
+ *
26
+ * @param out buffer to store formatted date
27
+ * @param time the time to be formatted
28
+ * @param offset the timezone offset
29
+ * @return 0 if successful; -1 on error
30
+ */
31
+ extern int git_date_rfc2822_fmt(git_str *out, git_time_t time, int offset);
32
+
33
+ #endif
@@ -12,6 +12,7 @@
12
12
  #include "git2/diff.h"
13
13
  #include "git2/status.h"
14
14
 
15
+ #include "buf.h"
15
16
  #include "commit.h"
16
17
  #include "commit_list.h"
17
18
  #include "oidmap.h"
@@ -322,7 +323,7 @@ static unsigned long finish_depth_computation(
322
323
  return seen_commits;
323
324
  }
324
325
 
325
- static int display_name(git_buf *buf, git_repository *repo, struct commit_name *n)
326
+ static int display_name(git_str *buf, git_repository *repo, struct commit_name *n)
326
327
  {
327
328
  if (n->prio == 2 && !n->tag) {
328
329
  if (git_tag_lookup(&n->tag, repo, &n->sha1) < 0) {
@@ -346,9 +347,9 @@ static int display_name(git_buf *buf, git_repository *repo, struct commit_name *
346
347
  }
347
348
 
348
349
  if (n->tag)
349
- git_buf_printf(buf, "%s", git_tag_name(n->tag));
350
+ git_str_printf(buf, "%s", git_tag_name(n->tag));
350
351
  else
351
- git_buf_printf(buf, "%s", n->path);
352
+ git_str_printf(buf, "%s", n->path);
352
353
 
353
354
  return 0;
354
355
  }
@@ -388,7 +389,7 @@ static int find_unique_abbrev_size(
388
389
  }
389
390
 
390
391
  static int show_suffix(
391
- git_buf *buf,
392
+ git_str *buf,
392
393
  int depth,
393
394
  git_repository *repo,
394
395
  const git_oid *id,
@@ -403,11 +404,11 @@ static int show_suffix(
403
404
 
404
405
  git_oid_fmt(hex_oid, id);
405
406
 
406
- git_buf_printf(buf, "-%d-g", depth);
407
+ git_str_printf(buf, "-%d-g", depth);
407
408
 
408
- git_buf_put(buf, hex_oid, size);
409
+ git_str_put(buf, hex_oid, size);
409
410
 
410
- return git_buf_oom(buf) ? -1 : 0;
411
+ return git_str_oom(buf) ? -1 : 0;
411
412
  }
412
413
 
413
414
  #define MAX_CANDIDATES_TAGS FLAG_BITS - 1
@@ -769,7 +770,10 @@ static int normalize_format_options(
769
770
  return 0;
770
771
  }
771
772
 
772
- int git_describe_format(git_buf *out, const git_describe_result *result, const git_describe_format_options *given)
773
+ static int git_describe__format(
774
+ git_str *out,
775
+ const git_describe_result *result,
776
+ const git_describe_format_options *given)
773
777
  {
774
778
  int error;
775
779
  git_repository *repo;
@@ -782,10 +786,6 @@ int git_describe_format(git_buf *out, const git_describe_result *result, const g
782
786
  GIT_ERROR_CHECK_VERSION(given, GIT_DESCRIBE_FORMAT_OPTIONS_VERSION, "git_describe_format_options");
783
787
  normalize_format_options(&opts, given);
784
788
 
785
- if ((error = git_buf_sanitize(out)) < 0)
786
- return error;
787
-
788
-
789
789
  if (opts.always_use_long_format && opts.abbreviated_size == 0) {
790
790
  git_error_set(GIT_ERROR_DESCRIBE, "cannot describe - "
791
791
  "'always_use_long_format' is incompatible with a zero"
@@ -809,9 +809,9 @@ int git_describe_format(git_buf *out, const git_describe_result *result, const g
809
809
  }
810
810
 
811
811
  if (result->dirty && opts.dirty_suffix)
812
- git_buf_puts(out, opts.dirty_suffix);
812
+ git_str_puts(out, opts.dirty_suffix);
813
813
 
814
- return git_buf_oom(out) ? -1 : 0;
814
+ return git_str_oom(out) ? -1 : 0;
815
815
  }
816
816
 
817
817
  /* If we didn't find *any* tags, we fall back to the commit's id */
@@ -824,12 +824,12 @@ int git_describe_format(git_buf *out, const git_describe_result *result, const g
824
824
  return -1;
825
825
 
826
826
  git_oid_fmt(hex_oid, &result->commit_id);
827
- git_buf_put(out, hex_oid, size);
827
+ git_str_put(out, hex_oid, size);
828
828
 
829
829
  if (result->dirty && opts.dirty_suffix)
830
- git_buf_puts(out, opts.dirty_suffix);
830
+ git_str_puts(out, opts.dirty_suffix);
831
831
 
832
- return git_buf_oom(out) ? -1 : 0;
832
+ return git_str_oom(out) ? -1 : 0;
833
833
  }
834
834
 
835
835
  /* Lastly, if we found a matching tag, we show that */
@@ -845,10 +845,18 @@ int git_describe_format(git_buf *out, const git_describe_result *result, const g
845
845
  }
846
846
 
847
847
  if (result->dirty && opts.dirty_suffix) {
848
- git_buf_puts(out, opts.dirty_suffix);
848
+ git_str_puts(out, opts.dirty_suffix);
849
849
  }
850
850
 
851
- return git_buf_oom(out) ? -1 : 0;
851
+ return git_str_oom(out) ? -1 : 0;
852
+ }
853
+
854
+ int git_describe_format(
855
+ git_buf *out,
856
+ const git_describe_result *result,
857
+ const git_describe_format_options *given)
858
+ {
859
+ GIT_BUF_WRAP_PRIVATE(out, git_describe__format, result, given);
852
860
  }
853
861
 
854
862
  void git_describe_result_free(git_describe_result *result)
@@ -8,6 +8,7 @@
8
8
  #include "diff.h"
9
9
 
10
10
  #include "common.h"
11
+ #include "buf.h"
11
12
  #include "patch.h"
12
13
  #include "email.h"
13
14
  #include "commit.h"
@@ -162,6 +163,7 @@ int git_diff_format_email(
162
163
  const git_diff_format_email_options *opts)
163
164
  {
164
165
  git_email_create_options email_create_opts = GIT_EMAIL_CREATE_OPTIONS_INIT;
166
+ git_str email = GIT_STR_INIT;
165
167
  int error;
166
168
 
167
169
  GIT_ASSERT_ARG(out);
@@ -172,14 +174,29 @@ int git_diff_format_email(
172
174
  GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION,
173
175
  "git_format_email_options");
174
176
 
177
+ /* This is a `git_buf` special case; subsequent calls append. */
178
+ email.ptr = out->ptr;
179
+ email.asize = out->reserved;
180
+ email.size = out->size;
181
+
182
+ out->ptr = git_str__initstr;
183
+ out->reserved = 0;
184
+ out->size = 0;
185
+
175
186
  if ((opts->flags & GIT_DIFF_FORMAT_EMAIL_EXCLUDE_SUBJECT_PATCH_MARKER) != 0)
176
187
  email_create_opts.subject_prefix = "";
177
188
 
178
-
179
- error = git_email__append_from_diff(out, diff, opts->patch_no,
189
+ error = git_email__append_from_diff(&email, diff, opts->patch_no,
180
190
  opts->total_patches, opts->id, opts->summary, opts->body,
181
191
  opts->author, &email_create_opts);
182
192
 
193
+ if (error < 0)
194
+ goto done;
195
+
196
+ error = git_buf_fromstr(out, &email);
197
+
198
+ done:
199
+ git_str_dispose(&email);
183
200
  return error;
184
201
  }
185
202
 
@@ -269,7 +286,7 @@ static int flush_hunk(git_oid *result, git_hash_ctx *ctx)
269
286
  unsigned short carry = 0;
270
287
  int error, i;
271
288
 
272
- if ((error = git_hash_final(&hash, ctx)) < 0 ||
289
+ if ((error = git_hash_final(hash.id, ctx)) < 0 ||
273
290
  (error = git_hash_init(ctx)) < 0)
274
291
  return error;
275
292
 
@@ -282,7 +299,7 @@ static int flush_hunk(git_oid *result, git_hash_ctx *ctx)
282
299
  return 0;
283
300
  }
284
301
 
285
- static void strip_spaces(git_buf *buf)
302
+ static void strip_spaces(git_str *buf)
286
303
  {
287
304
  char *src = buf->ptr, *dst = buf->ptr;
288
305
  char c;
@@ -295,7 +312,7 @@ static void strip_spaces(git_buf *buf)
295
312
  }
296
313
  }
297
314
 
298
- git_buf_truncate(buf, len);
315
+ git_str_truncate(buf, len);
299
316
  }
300
317
 
301
318
  static int diff_patchid_print_callback_to_buf(
@@ -305,7 +322,7 @@ static int diff_patchid_print_callback_to_buf(
305
322
  void *payload)
306
323
  {
307
324
  struct patch_id_args *args = (struct patch_id_args *) payload;
308
- git_buf buf = GIT_BUF_INIT;
325
+ git_str buf = GIT_STR_INIT;
309
326
  int error = 0;
310
327
 
311
328
  if (line->origin == GIT_DIFF_LINE_CONTEXT_EOFNL ||
@@ -331,7 +348,7 @@ static int diff_patchid_print_callback_to_buf(
331
348
  args->first_file = 0;
332
349
 
333
350
  out:
334
- git_buf_dispose(&buf);
351
+ git_str_dispose(&buf);
335
352
  return error;
336
353
  }
337
354
 
@@ -352,7 +369,7 @@ int git_diff_patchid(git_oid *out, git_diff *diff, git_diff_patchid_options *opt
352
369
 
353
370
  memset(&args, 0, sizeof(args));
354
371
  args.first_file = 1;
355
- if ((error = git_hash_ctx_init(&args.ctx)) < 0)
372
+ if ((error = git_hash_ctx_init(&args.ctx, GIT_HASH_ALGORITHM_SHA1)) < 0)
356
373
  goto out;
357
374
 
358
375
  if ((error = git_diff_print(diff,
@@ -14,9 +14,7 @@
14
14
  #include "git2/sys/diff.h"
15
15
  #include "git2/oid.h"
16
16
 
17
- #include <stdio.h>
18
17
  #include "vector.h"
19
- #include "buffer.h"
20
18
  #include "iterator.h"
21
19
  #include "repository.h"
22
20
  #include "pool.h"
@@ -28,7 +26,7 @@
28
26
  typedef enum {
29
27
  GIT_DIFF_TYPE_UNKNOWN = 0,
30
28
  GIT_DIFF_TYPE_GENERATED = 1,
31
- GIT_DIFF_TYPE_PARSED = 2,
29
+ GIT_DIFF_TYPE_PARSED = 2
32
30
  } git_diff_origin_t;
33
31
 
34
32
  struct git_diff {
@@ -53,7 +51,7 @@ struct git_diff {
53
51
  };
54
52
 
55
53
  extern int git_diff_delta__format_file_header(
56
- git_buf *out,
54
+ git_str *out,
57
55
  const git_diff_delta *delta,
58
56
  const char *oldpfx,
59
57
  const char *newpfx,