rugged 1.3.2 → 1.6.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 (547) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -2
  3. data/ext/rugged/extconf.rb +7 -4
  4. data/ext/rugged/rugged.c +16 -0
  5. data/ext/rugged/rugged.h +4 -0
  6. data/ext/rugged/rugged_blame.c +2 -0
  7. data/ext/rugged/rugged_blob.c +3 -0
  8. data/ext/rugged/rugged_commit.c +1 -0
  9. data/ext/rugged/rugged_config.c +9 -2
  10. data/ext/rugged/rugged_diff.c +1 -0
  11. data/ext/rugged/rugged_index.c +2 -0
  12. data/ext/rugged/rugged_patch.c +1 -0
  13. data/ext/rugged/rugged_rebase.c +1 -0
  14. data/ext/rugged/rugged_reference.c +1 -0
  15. data/ext/rugged/rugged_remote.c +28 -10
  16. data/ext/rugged/rugged_repo.c +7 -9
  17. data/ext/rugged/rugged_revwalk.c +5 -1
  18. data/ext/rugged/rugged_settings.c +5 -0
  19. data/ext/rugged/rugged_submodule.c +1 -0
  20. data/ext/rugged/rugged_tag.c +1 -0
  21. data/ext/rugged/rugged_tree.c +4 -0
  22. data/lib/rugged/index.rb +1 -1
  23. data/lib/rugged/tree.rb +5 -1
  24. data/lib/rugged/version.rb +1 -1
  25. data/vendor/libgit2/CMakeLists.txt +132 -288
  26. data/vendor/libgit2/COPYING +106 -19
  27. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  28. data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
  29. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  30. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  31. data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
  32. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  33. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  34. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  35. data/vendor/libgit2/cmake/{FindHTTP_Parser.cmake → FindHTTPParser.cmake} +17 -17
  36. data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
  37. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  38. data/vendor/libgit2/cmake/FindPCRE.cmake +12 -13
  39. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  40. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  41. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  42. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  43. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  44. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  45. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  46. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  47. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  48. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  49. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +19 -0
  50. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
  51. data/vendor/libgit2/cmake/SelectHashes.cmake +91 -53
  52. data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
  53. data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
  54. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
  55. data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
  56. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  57. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
  58. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +3 -1
  59. data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
  60. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  61. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  62. data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
  63. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  64. data/vendor/libgit2/deps/zlib/adler32.c +7 -0
  65. data/vendor/libgit2/deps/zlib/crc32.c +975 -288
  66. data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
  67. data/vendor/libgit2/deps/zlib/deflate.c +83 -31
  68. data/vendor/libgit2/deps/zlib/deflate.h +12 -15
  69. data/vendor/libgit2/deps/zlib/gzguts.h +3 -2
  70. data/vendor/libgit2/deps/zlib/infback.c +2 -1
  71. data/vendor/libgit2/deps/zlib/inffast.c +14 -14
  72. data/vendor/libgit2/deps/zlib/inflate.c +39 -8
  73. data/vendor/libgit2/deps/zlib/inflate.h +3 -2
  74. data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
  75. data/vendor/libgit2/deps/zlib/trees.c +27 -48
  76. data/vendor/libgit2/deps/zlib/zlib.h +126 -100
  77. data/vendor/libgit2/deps/zlib/zutil.c +2 -2
  78. data/vendor/libgit2/deps/zlib/zutil.h +12 -9
  79. data/vendor/libgit2/include/git2/apply.h +16 -2
  80. data/vendor/libgit2/include/git2/attr.h +11 -2
  81. data/vendor/libgit2/include/git2/blame.h +4 -1
  82. data/vendor/libgit2/include/git2/blob.h +14 -1
  83. data/vendor/libgit2/include/git2/branch.h +4 -2
  84. data/vendor/libgit2/include/git2/buffer.h +18 -78
  85. data/vendor/libgit2/include/git2/cert.h +2 -2
  86. data/vendor/libgit2/include/git2/checkout.h +5 -2
  87. data/vendor/libgit2/include/git2/clone.h +3 -3
  88. data/vendor/libgit2/include/git2/commit.h +2 -0
  89. data/vendor/libgit2/include/git2/common.h +28 -7
  90. data/vendor/libgit2/include/git2/config.h +25 -9
  91. data/vendor/libgit2/include/git2/credential.h +2 -1
  92. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  93. data/vendor/libgit2/include/git2/deprecated.h +9 -1
  94. data/vendor/libgit2/include/git2/describe.h +7 -2
  95. data/vendor/libgit2/include/git2/diff.h +18 -10
  96. data/vendor/libgit2/include/git2/email.h +1 -1
  97. data/vendor/libgit2/include/git2/errors.h +17 -3
  98. data/vendor/libgit2/include/git2/experimental.h +20 -0
  99. data/vendor/libgit2/include/git2/filter.h +7 -2
  100. data/vendor/libgit2/include/git2/graph.h +1 -0
  101. data/vendor/libgit2/include/git2/ignore.h +1 -1
  102. data/vendor/libgit2/include/git2/index.h +11 -5
  103. data/vendor/libgit2/include/git2/indexer.h +48 -0
  104. data/vendor/libgit2/include/git2/merge.h +24 -4
  105. data/vendor/libgit2/include/git2/message.h +2 -0
  106. data/vendor/libgit2/include/git2/object.h +49 -0
  107. data/vendor/libgit2/include/git2/odb.h +94 -13
  108. data/vendor/libgit2/include/git2/odb_backend.h +107 -19
  109. data/vendor/libgit2/include/git2/oid.h +115 -15
  110. data/vendor/libgit2/include/git2/pack.h +24 -8
  111. data/vendor/libgit2/include/git2/patch.h +8 -0
  112. data/vendor/libgit2/include/git2/pathspec.h +1 -1
  113. data/vendor/libgit2/include/git2/proxy.h +1 -1
  114. data/vendor/libgit2/include/git2/rebase.h +9 -1
  115. data/vendor/libgit2/include/git2/refdb.h +3 -0
  116. data/vendor/libgit2/include/git2/reflog.h +1 -1
  117. data/vendor/libgit2/include/git2/refs.h +2 -2
  118. data/vendor/libgit2/include/git2/remote.h +184 -37
  119. data/vendor/libgit2/include/git2/repository.h +34 -10
  120. data/vendor/libgit2/include/git2/reset.h +2 -2
  121. data/vendor/libgit2/include/git2/revparse.h +1 -1
  122. data/vendor/libgit2/include/git2/revwalk.h +4 -1
  123. data/vendor/libgit2/include/git2/signature.h +1 -1
  124. data/vendor/libgit2/include/git2/stash.h +61 -7
  125. data/vendor/libgit2/include/git2/status.h +14 -5
  126. data/vendor/libgit2/include/git2/strarray.h +0 -13
  127. data/vendor/libgit2/include/git2/submodule.h +7 -2
  128. data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
  129. data/vendor/libgit2/include/git2/sys/odb_backend.h +3 -6
  130. data/vendor/libgit2/include/git2/sys/remote.h +46 -0
  131. data/vendor/libgit2/include/git2/sys/stream.h +1 -1
  132. data/vendor/libgit2/include/git2/sys/transport.h +46 -39
  133. data/vendor/libgit2/include/git2/tag.h +1 -0
  134. data/vendor/libgit2/include/git2/tree.h +4 -3
  135. data/vendor/libgit2/include/git2/types.h +7 -7
  136. data/vendor/libgit2/include/git2/version.h +27 -6
  137. data/vendor/libgit2/include/git2/worktree.h +12 -2
  138. data/vendor/libgit2/include/git2.h +1 -0
  139. data/vendor/libgit2/src/CMakeLists.txt +177 -419
  140. data/vendor/libgit2/src/README.md +12 -0
  141. data/vendor/libgit2/src/cli/CMakeLists.txt +57 -0
  142. data/vendor/libgit2/src/cli/README.md +26 -0
  143. data/vendor/libgit2/src/cli/cli.h +20 -0
  144. data/vendor/libgit2/src/cli/cmd.c +21 -0
  145. data/vendor/libgit2/src/cli/cmd.h +33 -0
  146. data/vendor/libgit2/src/cli/cmd_cat_file.c +204 -0
  147. data/vendor/libgit2/src/cli/cmd_clone.c +176 -0
  148. data/vendor/libgit2/src/cli/cmd_hash_object.c +154 -0
  149. data/vendor/libgit2/src/cli/cmd_help.c +86 -0
  150. data/vendor/libgit2/src/cli/error.h +51 -0
  151. data/vendor/libgit2/src/cli/main.c +106 -0
  152. data/vendor/libgit2/src/cli/opt.c +669 -0
  153. data/vendor/libgit2/src/cli/opt.h +349 -0
  154. data/vendor/libgit2/src/cli/opt_usage.c +194 -0
  155. data/vendor/libgit2/src/cli/opt_usage.h +35 -0
  156. data/vendor/libgit2/src/cli/progress.c +345 -0
  157. data/vendor/libgit2/src/cli/progress.h +117 -0
  158. data/vendor/libgit2/src/cli/sighandler.h +20 -0
  159. data/vendor/libgit2/src/cli/unix/sighandler.c +36 -0
  160. data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
  161. data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
  162. data/vendor/libgit2/src/libgit2/CMakeLists.txt +141 -0
  163. data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +1 -1
  164. data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
  165. data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +18 -18
  166. data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
  167. data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +18 -18
  168. data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +18 -18
  169. data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +4 -4
  170. data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +18 -13
  171. data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +2 -0
  172. data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -1
  173. data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
  174. data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
  175. data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
  176. data/vendor/libgit2/src/{branch.h → libgit2/branch.h} +15 -3
  177. data/vendor/libgit2/src/libgit2/buf.c +126 -0
  178. data/vendor/libgit2/src/libgit2/buf.h +50 -0
  179. data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +74 -68
  180. data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +13 -13
  181. data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +96 -67
  182. data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +178 -73
  183. data/vendor/libgit2/src/libgit2/commit.h +87 -0
  184. data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +122 -89
  185. data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +14 -4
  186. data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +7 -4
  187. data/vendor/libgit2/src/libgit2/common.h +55 -0
  188. data/vendor/libgit2/src/{config.c → libgit2/config.c} +101 -69
  189. data/vendor/libgit2/src/{config.h → libgit2/config.h} +15 -2
  190. data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +105 -93
  191. data/vendor/libgit2/src/{config_mem.c → libgit2/config_mem.c} +9 -9
  192. data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +27 -23
  193. data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
  194. data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +35 -27
  195. data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +30 -9
  196. data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +2 -4
  197. data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +34 -36
  198. data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +3 -3
  199. data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +44 -26
  200. data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +47 -18
  201. data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
  202. data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +112 -100
  203. data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
  204. data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
  205. data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +13 -8
  206. data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
  207. data/vendor/libgit2/src/{email.c → libgit2/email.c} +55 -39
  208. data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
  209. data/vendor/libgit2/src/{errors.c → libgit2/errors.c} +18 -18
  210. data/vendor/libgit2/src/{errors.h → libgit2/errors.h} +1 -2
  211. data/vendor/libgit2/src/libgit2/experimental.h.in +13 -0
  212. data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +72 -27
  213. data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -1
  214. data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +23 -23
  215. data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +127 -53
  216. data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
  217. data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
  218. data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +35 -34
  219. data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
  220. data/vendor/libgit2/src/{index.c → libgit2/index.c} +91 -90
  221. data/vendor/libgit2/src/{index.h → libgit2/index.h} +6 -3
  222. data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +173 -92
  223. data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +71 -61
  224. data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +5 -5
  225. data/vendor/libgit2/src/{libgit2.c → libgit2/libgit2.c} +46 -11
  226. data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +38 -36
  227. data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +30 -30
  228. data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
  229. data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +2 -2
  230. data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -3
  231. data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
  232. data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +112 -92
  233. data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +5 -4
  234. data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +15 -12
  235. data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +5 -2
  236. data/vendor/libgit2/src/{netops.c → libgit2/netops.c} +1 -2
  237. data/vendor/libgit2/src/{netops.h → libgit2/netops.h} +1 -1
  238. data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +25 -34
  239. data/vendor/libgit2/src/{object.c → libgit2/object.c} +135 -30
  240. data/vendor/libgit2/src/{object.h → libgit2/object.h} +12 -3
  241. data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +228 -81
  242. data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
  243. data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
  244. data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +18 -5
  245. data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +137 -85
  246. data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +136 -90
  247. data/vendor/libgit2/src/libgit2/oid.h +273 -0
  248. data/vendor/libgit2/src/{oidmap.c → libgit2/oidmap.c} +1 -1
  249. data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +56 -30
  250. data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +11 -6
  251. data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +114 -84
  252. data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +31 -16
  253. data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +4 -3
  254. data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
  255. data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +1 -0
  256. data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +27 -11
  257. data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
  258. data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +29 -29
  259. data/vendor/libgit2/src/libgit2/path.c +375 -0
  260. data/vendor/libgit2/src/libgit2/path.h +68 -0
  261. data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +6 -6
  262. data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
  263. data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
  264. data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
  265. data/vendor/libgit2/src/{push.c → libgit2/push.c} +43 -38
  266. data/vendor/libgit2/src/{push.h → libgit2/push.h} +4 -16
  267. data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
  268. data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
  269. data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +119 -107
  270. data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +506 -197
  271. data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +7 -5
  272. data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +1 -2
  273. data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +34 -32
  274. data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +2 -2
  275. data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +32 -37
  276. data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +5 -2
  277. data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +718 -420
  278. data/vendor/libgit2/src/libgit2/remote.h +100 -0
  279. data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +629 -386
  280. data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +20 -9
  281. data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
  282. data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +14 -14
  283. data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +71 -42
  284. data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +12 -8
  285. data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +12 -6
  286. data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -1
  287. data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +235 -61
  288. data/vendor/libgit2/src/{status.c → libgit2/status.c} +4 -1
  289. data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
  290. data/vendor/libgit2/src/libgit2/strarray.h +25 -0
  291. data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +8 -6
  292. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +1 -1
  293. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +7 -3
  294. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +3 -3
  295. data/vendor/libgit2/src/{streams → libgit2/streams}/socket.c +4 -1
  296. data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +177 -161
  297. data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +1 -1
  298. data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
  299. data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +53 -18
  300. data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +73 -42
  301. data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
  302. data/vendor/libgit2/src/{threadstate.c → libgit2/threadstate.c} +3 -3
  303. data/vendor/libgit2/src/{threadstate.h → libgit2/threadstate.h} +2 -2
  304. data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
  305. data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
  306. data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +1 -1
  307. data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +1 -1
  308. data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +10 -10
  309. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
  310. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +2 -3
  311. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.c +12 -13
  312. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.c +10 -10
  313. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +0 -1
  314. data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +9 -11
  315. data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +41 -20
  316. data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +2 -3
  317. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +75 -66
  318. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
  319. data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +138 -116
  320. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +92 -133
  321. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +35 -32
  322. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +177 -65
  323. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +97 -49
  324. data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.c +365 -198
  325. data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +58 -59
  326. data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +8 -8
  327. data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +2 -2
  328. data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +93 -83
  329. data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +4 -4
  330. data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +121 -94
  331. data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
  332. data/vendor/libgit2/src/libgit2/xdiff/git-xdiff.h +53 -0
  333. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiff.h +15 -15
  334. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.c +134 -108
  335. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.c +23 -7
  336. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xhistogram.c +87 -78
  337. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xinclude.h +1 -12
  338. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmerge.c +104 -117
  339. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xpatience.c +6 -17
  340. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.c +15 -20
  341. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.c +18 -7
  342. data/vendor/libgit2/src/util/CMakeLists.txt +80 -0
  343. data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.h +1 -1
  344. data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
  345. data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
  346. data/vendor/libgit2/src/{array.h → util/array.h} +1 -1
  347. data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
  348. data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +1 -1
  349. data/vendor/libgit2/src/{date.c → util/date.c} +14 -20
  350. data/vendor/libgit2/src/util/date.h +33 -0
  351. data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +29 -29
  352. data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +2 -2
  353. data/vendor/libgit2/src/{path.c → util/fs_path.c} +453 -647
  354. data/vendor/libgit2/src/{path.h → util/fs_path.h} +221 -188
  355. data/vendor/libgit2/src/{futils.c → util/futils.c} +135 -90
  356. data/vendor/libgit2/src/{futils.h → util/futils.h} +28 -15
  357. data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +15 -1
  358. data/vendor/libgit2/src/{common.h → util/git2_util.h} +20 -59
  359. data/vendor/libgit2/src/util/hash/builtin.c +53 -0
  360. data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
  361. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
  362. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
  363. data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
  364. data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
  365. data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
  366. data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
  367. data/vendor/libgit2/src/util/hash/openssl.c +195 -0
  368. data/vendor/libgit2/src/util/hash/openssl.h +45 -0
  369. data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
  370. data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
  371. data/vendor/libgit2/src/util/hash/sha.h +70 -0
  372. data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
  373. data/vendor/libgit2/src/util/hash/win32.c +549 -0
  374. data/vendor/libgit2/src/util/hash/win32.h +60 -0
  375. data/vendor/libgit2/src/util/hash.c +158 -0
  376. data/vendor/libgit2/src/util/hash.h +61 -0
  377. data/vendor/libgit2/src/{khash.h → util/khash.h} +1 -1
  378. data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
  379. data/vendor/libgit2/src/util/net.c +1003 -0
  380. data/vendor/libgit2/src/{net.h → util/net.h} +18 -4
  381. data/vendor/libgit2/src/{pool.h → util/pool.h} +1 -1
  382. data/vendor/libgit2/src/{posix.c → util/posix.c} +3 -3
  383. data/vendor/libgit2/src/{posix.h → util/posix.h} +4 -1
  384. data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +2 -2
  385. data/vendor/libgit2/src/util/rand.c +234 -0
  386. data/vendor/libgit2/src/util/rand.h +37 -0
  387. data/vendor/libgit2/src/{regexp.c → util/regexp.c} +4 -4
  388. data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
  389. data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
  390. data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
  391. data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +1 -1
  392. data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +2 -2
  393. data/vendor/libgit2/src/{buffer.c → util/str.c} +157 -151
  394. data/vendor/libgit2/src/util/str.h +357 -0
  395. data/vendor/libgit2/src/{strmap.h → util/strmap.h} +1 -1
  396. data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
  397. data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
  398. data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
  399. data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
  400. data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -4
  401. data/vendor/libgit2/src/{unix → util/unix}/realpath.c +1 -3
  402. data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
  403. data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
  404. data/vendor/libgit2/src/{util.c → util/util.c} +15 -15
  405. data/vendor/libgit2/src/{util.h → util/util.h} +4 -29
  406. data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
  407. data/vendor/libgit2/src/{vector.h → util/vector.h} +2 -2
  408. data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
  409. data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
  410. data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
  411. data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
  412. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +140 -9
  413. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
  414. data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
  415. data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +12 -28
  416. data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
  417. data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
  418. data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
  419. data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.h +1 -1
  420. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
  421. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
  422. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
  423. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
  424. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
  425. data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
  426. data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
  427. metadata +402 -356
  428. data/vendor/libgit2/src/buffer.h +0 -374
  429. data/vendor/libgit2/src/commit.h +0 -46
  430. data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
  431. data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
  432. data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
  433. data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
  434. data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
  435. data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
  436. data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
  437. data/vendor/libgit2/src/hash/sha1.h +0 -38
  438. data/vendor/libgit2/src/hash.c +0 -110
  439. data/vendor/libgit2/src/hash.h +0 -46
  440. data/vendor/libgit2/src/message.h +0 -17
  441. data/vendor/libgit2/src/net.c +0 -540
  442. data/vendor/libgit2/src/oid.h +0 -51
  443. data/vendor/libgit2/src/remote.h +0 -55
  444. data/vendor/libgit2/src/sysdir.c +0 -347
  445. data/vendor/libgit2/src/win32/findfile.c +0 -230
  446. data/vendor/libgit2/src/win32/findfile.h +0 -19
  447. /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
  448. /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
  449. /data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +0 -0
  450. /data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +0 -0
  451. /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
  452. /data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +0 -0
  453. /data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +0 -0
  454. /data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -0
  455. /data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +0 -0
  456. /data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +0 -0
  457. /data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +0 -0
  458. /data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +0 -0
  459. /data/vendor/libgit2/src/{config_entries.c → libgit2/config_entries.c} +0 -0
  460. /data/vendor/libgit2/src/{config_entries.h → libgit2/config_entries.h} +0 -0
  461. /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
  462. /data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +0 -0
  463. /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
  464. /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
  465. /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
  466. /data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +0 -0
  467. /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
  468. /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
  469. /data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +0 -0
  470. /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
  471. /data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +0 -0
  472. /data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +0 -0
  473. /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
  474. /data/vendor/libgit2/src/{idxmap.c → libgit2/idxmap.c} +0 -0
  475. /data/vendor/libgit2/src/{idxmap.h → libgit2/idxmap.h} +0 -0
  476. /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
  477. /data/vendor/libgit2/src/{libgit2.h → libgit2/libgit2.h} +0 -0
  478. /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
  479. /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
  480. /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
  481. /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
  482. /data/vendor/libgit2/src/{offmap.c → libgit2/offmap.c} +0 -0
  483. /data/vendor/libgit2/src/{offmap.h → libgit2/offmap.h} +0 -0
  484. /data/vendor/libgit2/src/{oidarray.c → libgit2/oidarray.c} +0 -0
  485. /data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +0 -0
  486. /data/vendor/libgit2/src/{oidmap.h → libgit2/oidmap.h} +0 -0
  487. /data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +0 -0
  488. /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
  489. /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
  490. /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
  491. /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
  492. /data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +0 -0
  493. /data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +0 -0
  494. /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
  495. /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
  496. /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
  497. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +0 -0
  498. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
  499. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
  500. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
  501. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
  502. /data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +0 -0
  503. /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +0 -0
  504. /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
  505. /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +0 -0
  506. /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
  507. /data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +0 -0
  508. /data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +0 -0
  509. /data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +0 -0
  510. /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
  511. /data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.h +0 -0
  512. /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
  513. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.h +0 -0
  514. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.h +0 -0
  515. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmacros.h +0 -0
  516. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.h +0 -0
  517. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xtypes.h +0 -0
  518. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.h +0 -0
  519. /data/vendor/libgit2/src/{alloc.c → util/alloc.c} +0 -0
  520. /data/vendor/libgit2/src/{alloc.h → util/alloc.h} +0 -0
  521. /data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.c +0 -0
  522. /data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.c +0 -0
  523. /data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.c +0 -0
  524. /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
  525. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
  526. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
  527. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
  528. /data/vendor/libgit2/src/{integer.h → util/integer.h} +0 -0
  529. /data/vendor/libgit2/src/{pool.c → util/pool.c} +0 -0
  530. /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
  531. /data/vendor/libgit2/src/{strmap.c → util/strmap.c} +0 -0
  532. /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
  533. /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
  534. /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
  535. /data/vendor/libgit2/src/{vector.c → util/vector.c} +0 -0
  536. /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
  537. /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
  538. /data/vendor/libgit2/src/{win32 → util/win32}/error.c +0 -0
  539. /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
  540. /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
  541. /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
  542. /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
  543. /data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.c +0 -0
  544. /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
  545. /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
  546. /data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +0 -0
  547. /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
@@ -7,6 +7,7 @@
7
7
 
8
8
  #include "common.h"
9
9
 
10
+ #include "buf.h"
10
11
  #include "diff.h"
11
12
  #include "diff_file.h"
12
13
  #include "patch_generate.h"
@@ -21,7 +22,7 @@ typedef struct {
21
22
  git_diff_line_cb print_cb;
22
23
  void *payload;
23
24
 
24
- git_buf *buf;
25
+ git_str *buf;
25
26
  git_diff_line line;
26
27
 
27
28
  const char *old_prefix;
@@ -34,7 +35,7 @@ typedef struct {
34
35
 
35
36
  static int diff_print_info_init__common(
36
37
  diff_print_info *pi,
37
- git_buf *out,
38
+ git_str *out,
38
39
  git_repository *repo,
39
40
  git_diff_format_t format,
40
41
  git_diff_line_cb cb,
@@ -52,8 +53,8 @@ static int diff_print_info_init__common(
52
53
  return -1;
53
54
  }
54
55
 
55
- if (pi->id_strlen > GIT_OID_HEXSZ)
56
- pi->id_strlen = GIT_OID_HEXSZ;
56
+ if (pi->id_strlen > GIT_OID_SHA1_HEXSIZE)
57
+ pi->id_strlen = GIT_OID_SHA1_HEXSIZE;
57
58
 
58
59
  memset(&pi->line, 0, sizeof(pi->line));
59
60
  pi->line.old_lineno = -1;
@@ -65,7 +66,7 @@ static int diff_print_info_init__common(
65
66
 
66
67
  static int diff_print_info_init_fromdiff(
67
68
  diff_print_info *pi,
68
- git_buf *out,
69
+ git_str *out,
69
70
  git_diff *diff,
70
71
  git_diff_format_t format,
71
72
  git_diff_line_cb cb,
@@ -89,7 +90,7 @@ static int diff_print_info_init_fromdiff(
89
90
 
90
91
  static int diff_print_info_init_frompatch(
91
92
  diff_print_info *pi,
92
- git_buf *out,
93
+ git_str *out,
93
94
  git_patch *patch,
94
95
  git_diff_format_t format,
95
96
  git_diff_line_cb cb,
@@ -142,7 +143,7 @@ static int diff_print_one_name_only(
142
143
  const git_diff_delta *delta, float progress, void *data)
143
144
  {
144
145
  diff_print_info *pi = data;
145
- git_buf *out = pi->buf;
146
+ git_str *out = pi->buf;
146
147
 
147
148
  GIT_UNUSED(progress);
148
149
 
@@ -150,15 +151,15 @@ static int diff_print_one_name_only(
150
151
  delta->status == GIT_DELTA_UNMODIFIED)
151
152
  return 0;
152
153
 
153
- git_buf_clear(out);
154
- git_buf_puts(out, delta->new_file.path);
155
- git_buf_putc(out, '\n');
156
- if (git_buf_oom(out))
154
+ git_str_clear(out);
155
+ git_str_puts(out, delta->new_file.path);
156
+ git_str_putc(out, '\n');
157
+ if (git_str_oom(out))
157
158
  return -1;
158
159
 
159
160
  pi->line.origin = GIT_DIFF_LINE_FILE_HDR;
160
- pi->line.content = git_buf_cstr(out);
161
- pi->line.content_len = git_buf_len(out);
161
+ pi->line.content = git_str_cstr(out);
162
+ pi->line.content_len = git_str_len(out);
162
163
 
163
164
  return pi->print_cb(delta, NULL, &pi->line, pi->payload);
164
165
  }
@@ -167,7 +168,7 @@ static int diff_print_one_name_status(
167
168
  const git_diff_delta *delta, float progress, void *data)
168
169
  {
169
170
  diff_print_info *pi = data;
170
- git_buf *out = pi->buf;
171
+ git_str *out = pi->buf;
171
172
  char old_suffix, new_suffix, code = git_diff_status_char(delta->status);
172
173
  int(*strcomp)(const char *, const char *) = pi->strcomp ?
173
174
  pi->strcomp : git__strcmp;
@@ -180,26 +181,26 @@ static int diff_print_one_name_status(
180
181
  old_suffix = diff_pick_suffix(delta->old_file.mode);
181
182
  new_suffix = diff_pick_suffix(delta->new_file.mode);
182
183
 
183
- git_buf_clear(out);
184
+ git_str_clear(out);
184
185
 
185
186
  if (delta->old_file.path != delta->new_file.path &&
186
187
  strcomp(delta->old_file.path,delta->new_file.path) != 0)
187
- git_buf_printf(out, "%c\t%s%c %s%c\n", code,
188
+ git_str_printf(out, "%c\t%s%c %s%c\n", code,
188
189
  delta->old_file.path, old_suffix, delta->new_file.path, new_suffix);
189
190
  else if (delta->old_file.mode != delta->new_file.mode &&
190
191
  delta->old_file.mode != 0 && delta->new_file.mode != 0)
191
- git_buf_printf(out, "%c\t%s%c %s%c\n", code,
192
+ git_str_printf(out, "%c\t%s%c %s%c\n", code,
192
193
  delta->old_file.path, old_suffix, delta->new_file.path, new_suffix);
193
194
  else if (old_suffix != ' ')
194
- git_buf_printf(out, "%c\t%s%c\n", code, delta->old_file.path, old_suffix);
195
+ git_str_printf(out, "%c\t%s%c\n", code, delta->old_file.path, old_suffix);
195
196
  else
196
- git_buf_printf(out, "%c\t%s\n", code, delta->old_file.path);
197
- if (git_buf_oom(out))
197
+ git_str_printf(out, "%c\t%s\n", code, delta->old_file.path);
198
+ if (git_str_oom(out))
198
199
  return -1;
199
200
 
200
201
  pi->line.origin = GIT_DIFF_LINE_FILE_HDR;
201
- pi->line.content = git_buf_cstr(out);
202
- pi->line.content_len = git_buf_len(out);
202
+ pi->line.content = git_str_cstr(out);
203
+ pi->line.content_len = git_str_len(out);
203
204
 
204
205
  return pi->print_cb(delta, NULL, &pi->line, pi->payload);
205
206
  }
@@ -208,17 +209,17 @@ static int diff_print_one_raw(
208
209
  const git_diff_delta *delta, float progress, void *data)
209
210
  {
210
211
  diff_print_info *pi = data;
211
- git_buf *out = pi->buf;
212
+ git_str *out = pi->buf;
212
213
  int id_abbrev;
213
214
  char code = git_diff_status_char(delta->status);
214
- char start_oid[GIT_OID_HEXSZ+1], end_oid[GIT_OID_HEXSZ+1];
215
+ char start_oid[GIT_OID_SHA1_HEXSIZE+1], end_oid[GIT_OID_SHA1_HEXSIZE+1];
215
216
 
216
217
  GIT_UNUSED(progress);
217
218
 
218
219
  if ((pi->flags & GIT_DIFF_SHOW_UNMODIFIED) == 0 && code == ' ')
219
220
  return 0;
220
221
 
221
- git_buf_clear(out);
222
+ git_str_clear(out);
222
223
 
223
224
  id_abbrev = delta->old_file.mode ? delta->old_file.id_abbrev :
224
225
  delta->new_file.id_abbrev;
@@ -233,46 +234,46 @@ static int diff_print_one_raw(
233
234
  git_oid_tostr(start_oid, pi->id_strlen + 1, &delta->old_file.id);
234
235
  git_oid_tostr(end_oid, pi->id_strlen + 1, &delta->new_file.id);
235
236
 
236
- git_buf_printf(
237
- out, (pi->id_strlen <= GIT_OID_HEXSZ) ?
237
+ git_str_printf(
238
+ out, (pi->id_strlen <= GIT_OID_SHA1_HEXSIZE) ?
238
239
  ":%06o %06o %s... %s... %c" : ":%06o %06o %s %s %c",
239
240
  delta->old_file.mode, delta->new_file.mode, start_oid, end_oid, code);
240
241
 
241
242
  if (delta->similarity > 0)
242
- git_buf_printf(out, "%03u", delta->similarity);
243
+ git_str_printf(out, "%03u", delta->similarity);
243
244
 
244
245
  if (delta->old_file.path != delta->new_file.path)
245
- git_buf_printf(
246
+ git_str_printf(
246
247
  out, "\t%s %s\n", delta->old_file.path, delta->new_file.path);
247
248
  else
248
- git_buf_printf(
249
+ git_str_printf(
249
250
  out, "\t%s\n", delta->old_file.path ?
250
251
  delta->old_file.path : delta->new_file.path);
251
252
 
252
- if (git_buf_oom(out))
253
+ if (git_str_oom(out))
253
254
  return -1;
254
255
 
255
256
  pi->line.origin = GIT_DIFF_LINE_FILE_HDR;
256
- pi->line.content = git_buf_cstr(out);
257
- pi->line.content_len = git_buf_len(out);
257
+ pi->line.content = git_str_cstr(out);
258
+ pi->line.content_len = git_str_len(out);
258
259
 
259
260
  return pi->print_cb(delta, NULL, &pi->line, pi->payload);
260
261
  }
261
262
 
262
263
  static int diff_print_modes(
263
- git_buf *out, const git_diff_delta *delta)
264
+ git_str *out, const git_diff_delta *delta)
264
265
  {
265
- git_buf_printf(out, "old mode %o\n", delta->old_file.mode);
266
- git_buf_printf(out, "new mode %o\n", delta->new_file.mode);
266
+ git_str_printf(out, "old mode %o\n", delta->old_file.mode);
267
+ git_str_printf(out, "new mode %o\n", delta->new_file.mode);
267
268
 
268
- return git_buf_oom(out) ? -1 : 0;
269
+ return git_str_oom(out) ? -1 : 0;
269
270
  }
270
271
 
271
272
  static int diff_print_oid_range(
272
- git_buf *out, const git_diff_delta *delta, int id_strlen,
273
+ git_str *out, const git_diff_delta *delta, int id_strlen,
273
274
  bool print_index)
274
275
  {
275
- char start_oid[GIT_OID_HEXSZ+1], end_oid[GIT_OID_HEXSZ+1];
276
+ char start_oid[GIT_OID_SHA1_HEXSIZE+1], end_oid[GIT_OID_SHA1_HEXSIZE+1];
276
277
 
277
278
  if (delta->old_file.mode &&
278
279
  id_strlen > delta->old_file.id_abbrev) {
@@ -295,34 +296,39 @@ static int diff_print_oid_range(
295
296
 
296
297
  if (delta->old_file.mode == delta->new_file.mode) {
297
298
  if (print_index)
298
- git_buf_printf(out, "index %s..%s %o\n",
299
+ git_str_printf(out, "index %s..%s %o\n",
299
300
  start_oid, end_oid, delta->old_file.mode);
300
301
  } else {
301
302
  if (delta->old_file.mode == 0)
302
- git_buf_printf(out, "new file mode %o\n", delta->new_file.mode);
303
+ git_str_printf(out, "new file mode %o\n", delta->new_file.mode);
303
304
  else if (delta->new_file.mode == 0)
304
- git_buf_printf(out, "deleted file mode %o\n", delta->old_file.mode);
305
+ git_str_printf(out, "deleted file mode %o\n", delta->old_file.mode);
305
306
  else
306
307
  diff_print_modes(out, delta);
307
308
 
308
309
  if (print_index)
309
- git_buf_printf(out, "index %s..%s\n", start_oid, end_oid);
310
+ git_str_printf(out, "index %s..%s\n", start_oid, end_oid);
310
311
  }
311
312
 
312
- return git_buf_oom(out) ? -1 : 0;
313
+ return git_str_oom(out) ? -1 : 0;
313
314
  }
314
315
 
315
316
  static int diff_delta_format_path(
316
- git_buf *out, const char *prefix, const char *filename)
317
+ git_str *out, const char *prefix, const char *filename)
317
318
  {
318
- if (git_buf_joinpath(out, prefix, filename) < 0)
319
+ if (!filename) {
320
+ /* don't prefix "/dev/null" */
321
+ return git_str_puts(out, "/dev/null");
322
+ }
323
+
324
+ if (git_str_joinpath(out, prefix, filename) < 0)
319
325
  return -1;
320
326
 
321
- return git_buf_quote(out);
327
+ return git_str_quote(out);
322
328
  }
323
329
 
324
330
  static int diff_delta_format_with_paths(
325
- git_buf *out,
331
+ git_str *out,
326
332
  const git_diff_delta *delta,
327
333
  const char *template,
328
334
  const char *oldpath,
@@ -334,14 +340,14 @@ static int diff_delta_format_with_paths(
334
340
  if (git_oid_is_zero(&delta->new_file.id))
335
341
  newpath = "/dev/null";
336
342
 
337
- return git_buf_printf(out, template, oldpath, newpath);
343
+ return git_str_printf(out, template, oldpath, newpath);
338
344
  }
339
345
 
340
346
  static int diff_delta_format_similarity_header(
341
- git_buf *out,
347
+ git_str *out,
342
348
  const git_diff_delta *delta)
343
349
  {
344
- git_buf old_path = GIT_BUF_INIT, new_path = GIT_BUF_INIT;
350
+ git_str old_path = GIT_STR_INIT, new_path = GIT_STR_INIT;
345
351
  const char *type;
346
352
  int error = 0;
347
353
 
@@ -357,13 +363,13 @@ static int diff_delta_format_similarity_header(
357
363
  else
358
364
  type = "copy";
359
365
 
360
- if ((error = git_buf_puts(&old_path, delta->old_file.path)) < 0 ||
361
- (error = git_buf_puts(&new_path, delta->new_file.path)) < 0 ||
362
- (error = git_buf_quote(&old_path)) < 0 ||
363
- (error = git_buf_quote(&new_path)) < 0)
366
+ if ((error = git_str_puts(&old_path, delta->old_file.path)) < 0 ||
367
+ (error = git_str_puts(&new_path, delta->new_file.path)) < 0 ||
368
+ (error = git_str_quote(&old_path)) < 0 ||
369
+ (error = git_str_quote(&new_path)) < 0)
364
370
  goto done;
365
371
 
366
- git_buf_printf(out,
372
+ git_str_printf(out,
367
373
  "similarity index %d%%\n"
368
374
  "%s from %s\n"
369
375
  "%s to %s\n",
@@ -371,12 +377,12 @@ static int diff_delta_format_similarity_header(
371
377
  type, old_path.ptr,
372
378
  type, new_path.ptr);
373
379
 
374
- if (git_buf_oom(out))
380
+ if (git_str_oom(out))
375
381
  error = -1;
376
382
 
377
383
  done:
378
- git_buf_dispose(&old_path);
379
- git_buf_dispose(&new_path);
384
+ git_str_dispose(&old_path);
385
+ git_str_dispose(&new_path);
380
386
 
381
387
  return error;
382
388
  }
@@ -398,14 +404,14 @@ static bool delta_is_unchanged(const git_diff_delta *delta)
398
404
  }
399
405
 
400
406
  int git_diff_delta__format_file_header(
401
- git_buf *out,
407
+ git_str *out,
402
408
  const git_diff_delta *delta,
403
409
  const char *oldpfx,
404
410
  const char *newpfx,
405
411
  int id_strlen,
406
412
  bool print_index)
407
413
  {
408
- git_buf old_path = GIT_BUF_INIT, new_path = GIT_BUF_INIT;
414
+ git_str old_path = GIT_STR_INIT, new_path = GIT_STR_INIT;
409
415
  bool unchanged = delta_is_unchanged(delta);
410
416
  int error = 0;
411
417
 
@@ -422,9 +428,9 @@ int git_diff_delta__format_file_header(
422
428
  &new_path, newpfx, delta->new_file.path)) < 0)
423
429
  goto done;
424
430
 
425
- git_buf_clear(out);
431
+ git_str_clear(out);
426
432
 
427
- git_buf_printf(out, "diff --git %s %s\n",
433
+ git_str_printf(out, "diff --git %s %s\n",
428
434
  old_path.ptr, new_path.ptr);
429
435
 
430
436
  if (unchanged && delta->old_file.mode != delta->new_file.mode)
@@ -446,12 +452,12 @@ int git_diff_delta__format_file_header(
446
452
  "--- %s\n+++ %s\n", old_path.ptr, new_path.ptr);
447
453
  }
448
454
 
449
- if (git_buf_oom(out))
455
+ if (git_str_oom(out))
450
456
  error = -1;
451
457
 
452
458
  done:
453
- git_buf_dispose(&old_path);
454
- git_buf_dispose(&new_path);
459
+ git_str_dispose(&old_path);
460
+ git_str_dispose(&new_path);
455
461
 
456
462
  return error;
457
463
  }
@@ -467,7 +473,7 @@ static int format_binary(
467
473
  "delta" : "literal";
468
474
  const char *scan, *end;
469
475
 
470
- git_buf_printf(pi->buf, "%s %" PRIuZ "\n", typename, inflatedlen);
476
+ git_str_printf(pi->buf, "%s %" PRIuZ "\n", typename, inflatedlen);
471
477
  pi->line.num_lines++;
472
478
 
473
479
  for (scan = data, end = data + datalen; scan < end; ) {
@@ -476,22 +482,22 @@ static int format_binary(
476
482
  chunk_len = 52;
477
483
 
478
484
  if (chunk_len <= 26)
479
- git_buf_putc(pi->buf, (char)chunk_len + 'A' - 1);
485
+ git_str_putc(pi->buf, (char)chunk_len + 'A' - 1);
480
486
  else
481
- git_buf_putc(pi->buf, (char)chunk_len - 26 + 'a' - 1);
487
+ git_str_putc(pi->buf, (char)chunk_len - 26 + 'a' - 1);
482
488
 
483
- git_buf_encode_base85(pi->buf, scan, chunk_len);
484
- git_buf_putc(pi->buf, '\n');
489
+ git_str_encode_base85(pi->buf, scan, chunk_len);
490
+ git_str_putc(pi->buf, '\n');
485
491
 
486
- if (git_buf_oom(pi->buf))
492
+ if (git_str_oom(pi->buf))
487
493
  return -1;
488
494
 
489
495
  scan += chunk_len;
490
496
  pi->line.num_lines++;
491
497
  }
492
- git_buf_putc(pi->buf, '\n');
498
+ git_str_putc(pi->buf, '\n');
493
499
 
494
- if (git_buf_oom(pi->buf))
500
+ if (git_str_oom(pi->buf))
495
501
  return -1;
496
502
 
497
503
  return 0;
@@ -501,7 +507,7 @@ static int diff_print_patch_file_binary_noshow(
501
507
  diff_print_info *pi, git_diff_delta *delta,
502
508
  const char *old_pfx, const char *new_pfx)
503
509
  {
504
- git_buf old_path = GIT_BUF_INIT, new_path = GIT_BUF_INIT;
510
+ git_str old_path = GIT_STR_INIT, new_path = GIT_STR_INIT;
505
511
  int error;
506
512
 
507
513
  if ((error = diff_delta_format_path(&old_path, old_pfx, delta->old_file.path)) < 0 ||
@@ -513,8 +519,8 @@ static int diff_print_patch_file_binary_noshow(
513
519
  pi->line.num_lines = 1;
514
520
 
515
521
  done:
516
- git_buf_dispose(&old_path);
517
- git_buf_dispose(&new_path);
522
+ git_str_dispose(&old_path);
523
+ git_str_dispose(&new_path);
518
524
  return error;
519
525
  }
520
526
 
@@ -534,7 +540,7 @@ static int diff_print_patch_file_binary(
534
540
  pi, delta, old_pfx, new_pfx);
535
541
 
536
542
  pre_binary_size = pi->buf->size;
537
- git_buf_printf(pi->buf, "GIT binary patch\n");
543
+ git_str_printf(pi->buf, "GIT binary patch\n");
538
544
  pi->line.num_lines++;
539
545
 
540
546
  if ((error = format_binary(pi, binary->new_file.type, binary->new_file.data,
@@ -543,7 +549,7 @@ static int diff_print_patch_file_binary(
543
549
  binary->old_file.datalen, binary->old_file.inflatedlen)) < 0) {
544
550
  if (error == GIT_EBUFS) {
545
551
  git_error_clear();
546
- git_buf_truncate(pi->buf, pre_binary_size);
552
+ git_str_truncate(pi->buf, pre_binary_size);
547
553
 
548
554
  return diff_print_patch_file_binary_noshow(
549
555
  pi, delta, old_pfx, new_pfx);
@@ -589,8 +595,8 @@ static int diff_print_patch_file(
589
595
  return error;
590
596
 
591
597
  pi->line.origin = GIT_DIFF_LINE_FILE_HDR;
592
- pi->line.content = git_buf_cstr(pi->buf);
593
- pi->line.content_len = git_buf_len(pi->buf);
598
+ pi->line.content = git_str_cstr(pi->buf);
599
+ pi->line.content_len = git_str_len(pi->buf);
594
600
 
595
601
  return pi->print_cb(delta, NULL, &pi->line, pi->payload);
596
602
  }
@@ -607,15 +613,15 @@ static int diff_print_patch_binary(
607
613
  pi->new_prefix ? pi->new_prefix : DIFF_NEW_PREFIX_DEFAULT;
608
614
  int error;
609
615
 
610
- git_buf_clear(pi->buf);
616
+ git_str_clear(pi->buf);
611
617
 
612
618
  if ((error = diff_print_patch_file_binary(
613
619
  pi, (git_diff_delta *)delta, old_pfx, new_pfx, binary)) < 0)
614
620
  return error;
615
621
 
616
622
  pi->line.origin = GIT_DIFF_LINE_BINARY;
617
- pi->line.content = git_buf_cstr(pi->buf);
618
- pi->line.content_len = git_buf_len(pi->buf);
623
+ pi->line.content = git_str_cstr(pi->buf);
624
+ pi->line.content_len = git_str_len(pi->buf);
619
625
 
620
626
  return pi->print_cb(delta, NULL, &pi->line, pi->payload);
621
627
  }
@@ -659,7 +665,7 @@ int git_diff_print(
659
665
  void *payload)
660
666
  {
661
667
  int error;
662
- git_buf buf = GIT_BUF_INIT;
668
+ git_str buf = GIT_STR_INIT;
663
669
  diff_print_info pi;
664
670
  git_diff_file_cb print_file = NULL;
665
671
  git_diff_binary_cb print_binary = NULL;
@@ -704,7 +710,7 @@ int git_diff_print(
704
710
  }
705
711
 
706
712
  out:
707
- git_buf_dispose(&buf);
713
+ git_str_dispose(&buf);
708
714
  return error;
709
715
  }
710
716
 
@@ -714,7 +720,7 @@ int git_diff_print_callback__to_buf(
714
720
  const git_diff_line *line,
715
721
  void *payload)
716
722
  {
717
- git_buf *output = payload;
723
+ git_str *output = payload;
718
724
  GIT_UNUSED(delta); GIT_UNUSED(hunk);
719
725
 
720
726
  if (!output) {
@@ -725,9 +731,9 @@ int git_diff_print_callback__to_buf(
725
731
  if (line->origin == GIT_DIFF_LINE_ADDITION ||
726
732
  line->origin == GIT_DIFF_LINE_DELETION ||
727
733
  line->origin == GIT_DIFF_LINE_CONTEXT)
728
- git_buf_putc(output, line->origin);
734
+ git_str_putc(output, line->origin);
729
735
 
730
- return git_buf_put(output, line->content, line->content_len);
736
+ return git_str_put(output, line->content, line->content_len);
731
737
  }
732
738
 
733
739
  int git_diff_print_callback__to_file_handle(
@@ -761,18 +767,24 @@ int git_diff_print_callback__to_file_handle(
761
767
  return 0;
762
768
  }
763
769
 
764
- /* print a git_diff to a git_buf */
770
+ /* print a git_diff to a git_str */
765
771
  int git_diff_to_buf(git_buf *out, git_diff *diff, git_diff_format_t format)
766
772
  {
773
+ git_str str = GIT_STR_INIT;
767
774
  int error;
768
775
 
769
776
  GIT_ASSERT_ARG(out);
770
777
  GIT_ASSERT_ARG(diff);
771
778
 
772
- if ((error = git_buf_sanitize(out)) < 0)
773
- return error;
779
+ if ((error = git_buf_tostr(&str, out)) < 0 ||
780
+ (error = git_diff_print(diff, format, git_diff_print_callback__to_buf, &str)) < 0)
781
+ goto done;
782
+
783
+ error = git_buf_fromstr(out, &str);
774
784
 
775
- return git_diff_print(diff, format, git_diff_print_callback__to_buf, out);
785
+ done:
786
+ git_str_dispose(&str);
787
+ return error;
776
788
  }
777
789
 
778
790
  /* print a git_patch to an output callback */
@@ -781,7 +793,7 @@ int git_patch_print(
781
793
  git_diff_line_cb print_cb,
782
794
  void *payload)
783
795
  {
784
- git_buf temp = GIT_BUF_INIT;
796
+ git_str temp = GIT_STR_INIT;
785
797
  diff_print_info pi;
786
798
  int error;
787
799
 
@@ -799,20 +811,20 @@ int git_patch_print(
799
811
  }
800
812
 
801
813
  out:
802
- git_buf_dispose(&temp);
814
+ git_str_dispose(&temp);
803
815
  return error;
804
816
  }
805
817
 
806
- /* print a git_patch to a git_buf */
818
+ /* print a git_patch to a git_str */
807
819
  int git_patch_to_buf(git_buf *out, git_patch *patch)
808
820
  {
809
- int error;
821
+ GIT_BUF_WRAP_PRIVATE(out, git_patch__to_buf, patch);
822
+ }
810
823
 
824
+ int git_patch__to_buf(git_str *out, git_patch *patch)
825
+ {
811
826
  GIT_ASSERT_ARG(out);
812
827
  GIT_ASSERT_ARG(patch);
813
828
 
814
- if ((error = git_buf_sanitize(out)) < 0)
815
- return error;
816
-
817
829
  return git_patch_print(patch, git_diff_print_callback__to_buf, out);
818
830
  }