pj-nodegit 0.27.12 → 0.28.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1721) hide show
  1. package/.github/workflows/tests.yml +83 -15
  2. package/binding.gyp +23 -15
  3. package/dist/blob.js +0 -22
  4. package/dist/config.js +24 -0
  5. package/dist/credential.js +1 -1
  6. package/dist/deprecated/structs/ApplyOptions.js +5 -0
  7. package/dist/deprecated/structs/BlameOptions.js +8 -0
  8. package/dist/deprecated/structs/BlobFilterOptions.js +5 -0
  9. package/dist/deprecated/structs/CheckoutOptions.js +10 -0
  10. package/dist/deprecated/structs/CherrypickOptions.js +7 -0
  11. package/dist/deprecated/structs/CloneOptions.js +8 -0
  12. package/dist/deprecated/structs/DescribeFormatOptions.js +6 -0
  13. package/dist/deprecated/structs/DescribeOptions.js +8 -0
  14. package/dist/deprecated/structs/DiffFindOptions.js +10 -0
  15. package/dist/deprecated/structs/DiffOptions.js +10 -0
  16. package/dist/deprecated/structs/FetchOptions.js +9 -0
  17. package/dist/deprecated/structs/MergeFileInput.js +6 -0
  18. package/dist/deprecated/structs/MergeFileOptions.js +7 -0
  19. package/dist/deprecated/structs/MergeOptions.js +10 -0
  20. package/dist/deprecated/structs/ProxyOptions.js +5 -0
  21. package/dist/deprecated/structs/PushOptions.js +7 -0
  22. package/dist/deprecated/structs/RebaseOptions.js +8 -0
  23. package/dist/deprecated/structs/RemoteCreateOptions.js +5 -0
  24. package/dist/deprecated/structs/RepositoryInitOptions.js +6 -0
  25. package/dist/deprecated/structs/RevertOptions.js +7 -0
  26. package/dist/deprecated/structs/StashApplyOptions.js +6 -0
  27. package/dist/deprecated/structs/StatusOptions.js +6 -0
  28. package/dist/deprecated/structs/SubmoduleUpdateOptions.js +7 -0
  29. package/dist/diff.js +0 -46
  30. package/dist/enums.js +20 -6
  31. package/dist/filter_registry.js +0 -3
  32. package/dist/libgit2.js +2 -2
  33. package/dist/merge.js +0 -6
  34. package/dist/nodegit.js +253 -13
  35. package/dist/rebase.js +11 -53
  36. package/dist/remote.js +0 -204
  37. package/dist/repository.js +1 -4
  38. package/dist/reset.js +0 -25
  39. package/dist/revparse.js +19 -0
  40. package/dist/stash.js +0 -44
  41. package/dist/status.js +1 -3
  42. package/dist/submodule.js +0 -38
  43. package/include/annotated_commit.h +62 -22
  44. package/include/apply.h +56 -8
  45. package/include/apply_options.h +70 -71
  46. package/include/async_baton.h +65 -84
  47. package/include/async_worker.h +91 -0
  48. package/include/attr.h +37 -12
  49. package/include/blame.h +40 -14
  50. package/include/blame_hunk.h +18 -6
  51. package/include/blame_options.h +26 -44
  52. package/include/blob.h +106 -38
  53. package/include/blob_filter_options.h +27 -23
  54. package/include/branch.h +117 -41
  55. package/include/branch_iterator.h +18 -6
  56. package/include/buf.h +18 -6
  57. package/include/callback_wrapper.h +12 -17
  58. package/include/cert.h +18 -6
  59. package/include/cert_hostkey.h +21 -6
  60. package/include/cert_x509.h +18 -6
  61. package/include/checkout.h +48 -16
  62. package/include/checkout_options.h +110 -176
  63. package/include/checkout_perfdata.h +18 -6
  64. package/include/cherrypick.h +37 -12
  65. package/include/cherrypick_options.h +26 -32
  66. package/include/cleanup_handle.h +21 -0
  67. package/include/clone.h +26 -8
  68. package/include/clone_options.h +26 -50
  69. package/include/commit.h +161 -58
  70. package/include/config.h +227 -82
  71. package/include/config_entry.h +18 -6
  72. package/include/config_iterator.h +51 -18
  73. package/include/configmap.h +18 -6
  74. package/include/configurable_class_wrapper.h +59 -0
  75. package/include/context.h +90 -0
  76. package/include/convenient_hunk.h +19 -5
  77. package/include/convenient_patch.h +20 -5
  78. package/include/credential.h +40 -14
  79. package/include/describe_format_options.h +26 -30
  80. package/include/describe_options.h +26 -38
  81. package/include/describe_result.h +18 -6
  82. package/include/diff.h +190 -70
  83. package/include/diff_binary.h +18 -6
  84. package/include/diff_binary_file.h +18 -6
  85. package/include/diff_delta.h +18 -6
  86. package/include/diff_file.h +18 -6
  87. package/include/diff_find_options.h +26 -42
  88. package/include/diff_hunk.h +18 -6
  89. package/include/diff_line.h +18 -6
  90. package/include/diff_options.h +82 -120
  91. package/include/diff_patchid_options.h +27 -19
  92. package/include/diff_perfdata.h +18 -6
  93. package/include/diff_stats.h +29 -10
  94. package/include/error.h +18 -6
  95. package/include/fetch.h +15 -4
  96. package/include/fetch_options.h +26 -45
  97. package/include/filter.h +115 -142
  98. package/include/filter_list.h +62 -22
  99. package/include/filter_registry.h +24 -11
  100. package/include/filter_source.h +29 -10
  101. package/include/graph.h +37 -12
  102. package/include/hashsig.h +40 -14
  103. package/include/ignore.h +26 -8
  104. package/include/index.h +282 -99
  105. package/include/index_conflict_iterator.h +29 -10
  106. package/include/index_entry.h +74 -43
  107. package/include/index_iterator.h +29 -10
  108. package/include/index_name_entry.h +40 -14
  109. package/include/index_reuc_entry.h +62 -22
  110. package/include/index_time.h +59 -32
  111. package/include/indexer_progress.h +18 -6
  112. package/include/libgit2.h +15 -4
  113. package/include/lock_master.h +146 -165
  114. package/include/mailmap.h +84 -30
  115. package/include/merge.h +103 -36
  116. package/include/merge_file_input.h +26 -34
  117. package/include/merge_file_options.h +26 -42
  118. package/include/merge_file_result.h +18 -6
  119. package/include/merge_options.h +26 -46
  120. package/include/nodegit.h +0 -4
  121. package/include/nodegit_wrapper.h +35 -6
  122. package/include/note.h +117 -41
  123. package/include/note_iterator.h +18 -6
  124. package/include/object.h +84 -30
  125. package/include/odb.h +95 -34
  126. package/include/odb_object.h +18 -6
  127. package/include/oid.h +18 -6
  128. package/include/oid_shorten.h +18 -6
  129. package/include/oidarray.h +18 -6
  130. package/include/packbuilder.h +62 -22
  131. package/include/patch.h +77 -27
  132. package/include/path.h +15 -4
  133. package/include/pathspec.h +62 -22
  134. package/include/pathspec_match_list.h +18 -6
  135. package/include/promise_completion.h +7 -11
  136. package/include/proxy.h +15 -4
  137. package/include/proxy_options.h +85 -94
  138. package/include/push_options.h +26 -37
  139. package/include/push_update.h +18 -6
  140. package/include/rebase.h +73 -26
  141. package/include/rebase_operation.h +18 -6
  142. package/include/rebase_options.h +55 -76
  143. package/include/refdb.h +29 -10
  144. package/include/reference.h +175 -63
  145. package/include/reflog.h +40 -14
  146. package/include/reflog_entry.h +18 -6
  147. package/include/refspec.h +29 -10
  148. package/include/remote.h +280 -91
  149. package/include/remote_callbacks.h +201 -186
  150. package/include/remote_create_options.h +27 -35
  151. package/include/remote_head.h +18 -6
  152. package/include/repository.h +324 -105
  153. package/include/repository_init_options.h +26 -46
  154. package/include/reset.h +48 -16
  155. package/include/revert.h +37 -12
  156. package/include/revert_options.h +26 -32
  157. package/include/revparse.h +26 -8
  158. package/include/revspec.h +86 -0
  159. package/include/revwalk.h +62 -22
  160. package/include/signature.h +40 -14
  161. package/include/stash.h +81 -27
  162. package/include/stash_apply_options.h +49 -57
  163. package/include/status.h +70 -22
  164. package/include/status_entry.h +18 -6
  165. package/include/status_list.h +29 -10
  166. package/include/status_options.h +26 -31
  167. package/include/str_array_converter.h +2 -0
  168. package/include/strarray.h +19 -7
  169. package/include/submodule.h +216 -77
  170. package/include/submodule_update_options.h +26 -32
  171. package/include/tag.h +153 -55
  172. package/include/thread_pool.h +56 -51
  173. package/include/time.h +18 -6
  174. package/include/trace.h +15 -4
  175. package/include/tracker_wrap.h +76 -0
  176. package/include/transaction.h +29 -10
  177. package/include/transport.h +18 -6
  178. package/include/tree.h +73 -26
  179. package/include/tree_entry.h +29 -10
  180. package/include/tree_update.h +27 -32
  181. package/include/treebuilder.h +40 -14
  182. package/include/v8_helpers.h +10 -0
  183. package/include/worker_pool.h +180 -0
  184. package/include/worktree.h +119 -22
  185. package/include/worktree_add_options.h +33 -33
  186. package/include/worktree_prune_options.h +33 -33
  187. package/include/wrapper.h +2 -3
  188. package/include/writestream.h +18 -6
  189. package/lifecycleScripts/README.md +5 -0
  190. package/lifecycleScripts/install.js +7 -1
  191. package/package.json +8 -9
  192. package/src/annotated_commit.cc +250 -258
  193. package/src/apply.cc +215 -108
  194. package/src/apply_options.cc +183 -218
  195. package/src/async_baton.cc +76 -2
  196. package/src/async_worker.cc +43 -0
  197. package/src/attr.cc +127 -147
  198. package/src/blame.cc +149 -154
  199. package/src/blame_hunk.cc +43 -43
  200. package/src/blame_options.cc +128 -164
  201. package/src/blob.cc +496 -517
  202. package/src/blob_filter_options.cc +49 -65
  203. package/src/branch.cc +577 -557
  204. package/src/branch_iterator.cc +6 -6
  205. package/src/buf.cc +35 -35
  206. package/src/cert.cc +10 -10
  207. package/src/cert_hostkey.cc +78 -30
  208. package/src/cert_x509.cc +20 -20
  209. package/src/checkout.cc +196 -205
  210. package/src/checkout_options.cc +435 -674
  211. package/src/checkout_perfdata.cc +18 -18
  212. package/src/cherrypick.cc +142 -150
  213. package/src/cherrypick_options.cc +83 -119
  214. package/src/cleanup_handle.cc +6 -0
  215. package/src/clone.cc +74 -75
  216. package/src/clone_options.cc +108 -194
  217. package/src/commit.cc +856 -910
  218. package/src/config.cc +997 -1034
  219. package/src/config_entry.cc +20 -20
  220. package/src/config_iterator.cc +173 -182
  221. package/src/configmap.cc +19 -19
  222. package/src/context.cc +84 -0
  223. package/src/convenient_hunk.cc +48 -22
  224. package/src/convenient_patch.cc +65 -35
  225. package/src/credential.cc +153 -161
  226. package/src/describe_format_options.cc +74 -104
  227. package/src/describe_options.cc +96 -134
  228. package/src/describe_result.cc +6 -6
  229. package/src/diff.cc +911 -920
  230. package/src/diff_binary.cc +20 -20
  231. package/src/diff_binary_file.cc +23 -23
  232. package/src/diff_delta.cc +32 -32
  233. package/src/diff_file.cc +32 -32
  234. package/src/diff_find_options.cc +104 -140
  235. package/src/diff_hunk.cc +31 -31
  236. package/src/diff_line.cc +35 -35
  237. package/src/diff_options.cc +310 -384
  238. package/src/diff_patchid_options.cc +37 -49
  239. package/src/diff_perfdata.cc +14 -14
  240. package/src/diff_stats.cc +77 -80
  241. package/src/error.cc +30 -30
  242. package/src/fetch.cc +2 -2
  243. package/src/fetch_options.cc +142 -181
  244. package/src/filter.cc +336 -495
  245. package/src/filter_list.cc +239 -260
  246. package/src/filter_registry.cc +77 -26
  247. package/src/filter_source.cc +65 -48
  248. package/src/graph.cc +127 -125
  249. package/src/hashsig.cc +120 -128
  250. package/src/ignore.cc +65 -70
  251. package/src/index.cc +1216 -1250
  252. package/src/index_conflict_iterator.cc +71 -72
  253. package/src/index_entry.cc +308 -96
  254. package/src/index_iterator.cc +65 -66
  255. package/src/index_name_entry.cc +132 -144
  256. package/src/index_reuc_entry.cc +258 -276
  257. package/src/index_time.cc +121 -45
  258. package/src/indexer_progress.cc +34 -34
  259. package/src/libgit2.cc +23 -23
  260. package/src/lock_master.cc +190 -197
  261. package/src/mailmap.cc +329 -349
  262. package/src/merge.cc +591 -595
  263. package/src/merge_file_input.cc +88 -128
  264. package/src/merge_file_options.cc +113 -169
  265. package/src/merge_file_result.cc +30 -30
  266. package/src/merge_options.cc +118 -166
  267. package/src/nodegit.cc +158 -229
  268. package/src/nodegit_wrapper.cc +71 -8
  269. package/src/note.cc +527 -552
  270. package/src/note_iterator.cc +6 -6
  271. package/src/object.cc +380 -386
  272. package/src/odb.cc +391 -408
  273. package/src/odb_object.cc +28 -28
  274. package/src/oid.cc +59 -59
  275. package/src/oid_shorten.cc +17 -17
  276. package/src/oidarray.cc +15 -15
  277. package/src/packbuilder.cc +250 -254
  278. package/src/patch.cc +418 -347
  279. package/src/path.cc +7 -7
  280. package/src/pathspec.cc +229 -249
  281. package/src/pathspec_match_list.cc +34 -34
  282. package/src/promise_completion.cc +32 -15
  283. package/src/proxy.cc +2 -2
  284. package/src/proxy_options.cc +203 -254
  285. package/src/push_options.cc +119 -146
  286. package/src/push_update.cc +26 -26
  287. package/src/rebase.cc +370 -378
  288. package/src/rebase_operation.cc +20 -20
  289. package/src/rebase_options.cc +172 -242
  290. package/src/refdb.cc +64 -65
  291. package/src/reference.cc +973 -962
  292. package/src/reference_counter.cc +2 -2
  293. package/src/reflog.cc +138 -142
  294. package/src/reflog_entry.cc +30 -30
  295. package/src/refspec.cc +98 -101
  296. package/src/remote.cc +1592 -1456
  297. package/src/remote_callbacks.cc +671 -544
  298. package/src/remote_create_options.cc +91 -140
  299. package/src/remote_head.cc +30 -30
  300. package/src/repository.cc +3248 -1216
  301. package/src/repository_init_options.cc +138 -208
  302. package/src/reset.cc +185 -204
  303. package/src/revert.cc +142 -152
  304. package/src/revert_options.cc +83 -119
  305. package/src/revparse.cc +62 -65
  306. package/src/revspec.cc +130 -0
  307. package/src/revwalk.cc +255 -201
  308. package/src/signature.cc +139 -141
  309. package/src/stash.cc +294 -312
  310. package/src/stash_apply_options.cc +133 -179
  311. package/src/status.cc +199 -197
  312. package/src/status_entry.cc +20 -20
  313. package/src/status_list.cc +85 -85
  314. package/src/status_options.cc +96 -111
  315. package/src/str_array_converter.cc +16 -0
  316. package/src/strarray.cc +20 -20
  317. package/src/submodule.cc +990 -1036
  318. package/src/submodule_update_options.cc +83 -119
  319. package/src/tag.cc +772 -763
  320. package/src/thread_pool.cc +748 -87
  321. package/src/time.cc +19 -19
  322. package/src/trace.cc +2 -2
  323. package/src/tracker_wrap.cc +238 -0
  324. package/src/transaction.cc +89 -90
  325. package/src/transport.cc +6 -6
  326. package/src/tree.cc +349 -346
  327. package/src/tree_entry.cc +87 -88
  328. package/src/tree_update.cc +83 -117
  329. package/src/treebuilder.cc +137 -141
  330. package/src/v8_helpers.cc +19 -0
  331. package/src/worktree.cc +539 -328
  332. package/src/worktree_add_options.cc +59 -51
  333. package/src/worktree_prune_options.cc +59 -51
  334. package/src/wrapper.cc +10 -10
  335. package/src/writestream.cc +6 -6
  336. package/utils/README.md +9 -0
  337. package/utils/acquireOpenSSL.js +196 -62
  338. package/utils/build-openssl.bat +13 -0
  339. package/utils/execPromise.js +9 -2
  340. package/utils/getElectronOpenSSLRoot.js +10 -0
  341. package/vendor/README.md +4 -0
  342. package/vendor/http_parser/README.md +183 -0
  343. package/vendor/libgit2/.gitattributes +1 -0
  344. package/vendor/libgit2/.github/workflows/codeql.yml +36 -0
  345. package/vendor/libgit2/.github/workflows/main.yml +98 -34
  346. package/vendor/libgit2/.github/workflows/nightly.yml +292 -0
  347. package/vendor/libgit2/CMakeLists.txt +6 -6
  348. package/vendor/libgit2/README.md +430 -0
  349. package/vendor/libgit2/{azure-pipelines → ci}/build.sh +12 -1
  350. package/vendor/libgit2/{azure-pipelines → ci}/coverity.sh +0 -0
  351. package/vendor/libgit2/{azure-pipelines → ci}/docker/bionic +4 -1
  352. package/vendor/libgit2/{azure-pipelines → ci}/docker/docurium +2 -1
  353. package/vendor/libgit2/{azure-pipelines → ci}/docker/entrypoint.sh +0 -0
  354. package/vendor/libgit2/{azure-pipelines → ci}/docker/focal +5 -4
  355. package/vendor/libgit2/{azure-pipelines → ci}/docker/xenial +2 -1
  356. package/vendor/libgit2/{azure-pipelines → ci}/getcontainer.sh +17 -11
  357. package/vendor/libgit2/{azure-pipelines → ci}/setup-mingw.sh +0 -0
  358. package/vendor/libgit2/{azure-pipelines → ci}/setup-osx.sh +0 -0
  359. package/vendor/libgit2/{azure-pipelines → ci}/test.sh +0 -0
  360. package/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
  361. package/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -0
  362. package/vendor/libgit2/deps/ntlmclient/compat.h +0 -27
  363. package/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +1 -1
  364. package/vendor/libgit2/deps/ntlmclient/ntlm.c +5 -5
  365. package/vendor/libgit2/deps/ntlmclient/util.c +15 -1
  366. package/vendor/libgit2/deps/ntlmclient/util.h +2 -1
  367. package/vendor/libgit2/deps/pcre/LICENCE +93 -0
  368. package/vendor/libgit2/deps/pcre/pcre.h +2 -2
  369. package/vendor/libgit2/deps/pcre/pcre_compile.c +29 -17
  370. package/vendor/libgit2/deps/pcre/pcre_jit_compile.c +4 -4
  371. package/vendor/libgit2/deps/pcre/pcreposix.c +2 -3
  372. package/vendor/libgit2/examples/README.md +22 -0
  373. package/vendor/libgit2/examples/blame.c +1 -1
  374. package/vendor/libgit2/examples/checkout.c +1 -1
  375. package/vendor/libgit2/examples/common.h +1 -1
  376. package/vendor/libgit2/examples/general.c +0 -5
  377. package/vendor/libgit2/examples/log.c +3 -3
  378. package/vendor/libgit2/examples/rev-list.c +1 -1
  379. package/vendor/libgit2/examples/rev-parse.c +3 -3
  380. package/vendor/libgit2/examples/tag.c +2 -2
  381. package/vendor/libgit2/fuzzers/commit_graph_fuzzer.c +80 -0
  382. package/vendor/libgit2/fuzzers/corpora/commit_graph/005682ce1cb5b20c20fccf4be5dbd47ca399e53e +0 -0
  383. package/vendor/libgit2/fuzzers/corpora/commit_graph/00574fc29fd1323e93d18d625cde80d3ea20e8cc +0 -0
  384. package/vendor/libgit2/fuzzers/corpora/commit_graph/00916ec21ddbd3c622bde6e4dc824250176b9e88 +0 -0
  385. package/vendor/libgit2/fuzzers/corpora/commit_graph/00b6dde4b8d5e68a5ec40d88c39134cf2f1f8bc3 +0 -0
  386. package/vendor/libgit2/fuzzers/corpora/commit_graph/020f0e77e42d8b3810019050f4c5ceadd205b37c +0 -0
  387. package/vendor/libgit2/fuzzers/corpora/commit_graph/02739c05abc1715fac1ce995b532e482abc8d4dc +0 -0
  388. package/vendor/libgit2/fuzzers/corpora/commit_graph/02a276faa5dc8c7df5b82a57ab6cd195a13e4ae0 +0 -0
  389. package/vendor/libgit2/fuzzers/corpora/commit_graph/02de15987d68a97db3d9fd964cfd785bcbd54d3a +0 -0
  390. package/vendor/libgit2/fuzzers/corpora/commit_graph/02e106f97a91b1d3aef4dd2d31368ae5077bd42b +0 -0
  391. package/vendor/libgit2/fuzzers/corpora/commit_graph/038555bcb4cc2daf764840f79ebce4023bdb7670 +0 -0
  392. package/vendor/libgit2/fuzzers/corpora/commit_graph/04c159a04b0732e04ac4c59ed3356860af8dffce +0 -0
  393. package/vendor/libgit2/fuzzers/corpora/commit_graph/0560ec993882ffbd8d46dcab0ed430089c4f2aa1 +0 -0
  394. package/vendor/libgit2/fuzzers/corpora/commit_graph/059b3aab3fde6b4c9404aff83fed638596f594bb +0 -0
  395. package/vendor/libgit2/fuzzers/corpora/commit_graph/06168e726aa0260f520165be4ea0c88244831049 +0 -0
  396. package/vendor/libgit2/fuzzers/corpora/commit_graph/066d1ec700a526b97009cedd0305b6a47242faba +0 -0
  397. package/vendor/libgit2/fuzzers/corpora/commit_graph/086a5f8cbfa9f058b5c938a6eb724c9e4c5f84f3 +0 -0
  398. package/vendor/libgit2/fuzzers/corpora/commit_graph/089313c698f3e351433e9a45af2ace1d85b9673e +0 -0
  399. package/vendor/libgit2/fuzzers/corpora/commit_graph/092eb973a771fa14cf0b567d65bd2c99130f543e +0 -0
  400. package/vendor/libgit2/fuzzers/corpora/commit_graph/094b8cd1aa3e40b1f9ff83680892d52e246df0f8 +0 -0
  401. package/vendor/libgit2/fuzzers/corpora/commit_graph/0ce990c9c2ec121b8c78ba2bdf84679e04c0bdae +0 -0
  402. package/vendor/libgit2/fuzzers/corpora/commit_graph/0dd0770c34fcf6b1f13219450190616d344db021 +0 -0
  403. package/vendor/libgit2/fuzzers/corpora/commit_graph/0e2b2e6a32733b8a625bc7e812e2ea508d69a5e4 +0 -0
  404. package/vendor/libgit2/fuzzers/corpora/commit_graph/0e8d0bd07c543d708aecaca377106492b7a74fa3 +0 -0
  405. package/vendor/libgit2/fuzzers/corpora/commit_graph/0f0d16e1b8c8671dbe1074115c1d86aa9b359e7e +0 -0
  406. package/vendor/libgit2/fuzzers/corpora/commit_graph/102ef78036de5a30927e7f751377b05441c41a08 +0 -0
  407. package/vendor/libgit2/fuzzers/corpora/commit_graph/10494e7cc9cb8dff289c431d7560bcee0d1b14ed +0 -0
  408. package/vendor/libgit2/fuzzers/corpora/commit_graph/107b11d86381345f50aa19b8485477a870ff399f +0 -0
  409. package/vendor/libgit2/fuzzers/corpora/commit_graph/10bb37e18fb3c0897dabacf9c464b4d324007dc3 +0 -0
  410. package/vendor/libgit2/fuzzers/corpora/commit_graph/10ee715f64b08549c3e8261204276694728eb841 +0 -0
  411. package/vendor/libgit2/fuzzers/corpora/commit_graph/123e4eeb7a731f48d06e336b4d29af717f8b6550 +0 -0
  412. package/vendor/libgit2/fuzzers/corpora/commit_graph/125a228afb923970e0a6d4412f7257ba998594a1 +0 -0
  413. package/vendor/libgit2/fuzzers/corpora/commit_graph/130d96c16fba06dcbe7e2a661ab959a3274a4bd9 +0 -0
  414. package/vendor/libgit2/fuzzers/corpora/commit_graph/131c5a2fec55cb0d63f7dc055d6fad5f3dc3c974 +0 -0
  415. package/vendor/libgit2/fuzzers/corpora/commit_graph/13e562d61acb3aa36260a819a00b07ff16450335 +0 -0
  416. package/vendor/libgit2/fuzzers/corpora/commit_graph/1414e6e8ab6bad1b5c51fed807c514a9d6575e66 +0 -0
  417. package/vendor/libgit2/fuzzers/corpora/commit_graph/1432d191846ae2d0e381813efcfacff2f1dba0e4 +0 -0
  418. package/vendor/libgit2/fuzzers/corpora/commit_graph/14a84cdc6f8d432be4cd3d3eafce92ae385e472f +0 -0
  419. package/vendor/libgit2/fuzzers/corpora/commit_graph/14e3e735dba88791f2cadd6e0dc5d662a104a6d7 +0 -0
  420. package/vendor/libgit2/fuzzers/corpora/commit_graph/1574abb020203103ea629d677edd21c967fc0f4c +0 -0
  421. package/vendor/libgit2/fuzzers/corpora/commit_graph/169cc492ba94948a6206765436881a1a0c601780 +0 -0
  422. package/vendor/libgit2/fuzzers/corpora/commit_graph/16a2130c1d75129f3bae3bf8f2c2de41fb3533c0 +0 -0
  423. package/vendor/libgit2/fuzzers/corpora/commit_graph/16ba602eadfc9a3f74c0845394eda0de42b61571 +0 -0
  424. package/vendor/libgit2/fuzzers/corpora/commit_graph/17555fb2dfc444d171ba686667d72e388bd6c041 +0 -0
  425. package/vendor/libgit2/fuzzers/corpora/commit_graph/1a10450d99c1e53d9b7f97b8014cb7fc01906ef2 +0 -0
  426. package/vendor/libgit2/fuzzers/corpora/commit_graph/1af670b5515231fc04b2be9038ee30a7e066b09b +0 -0
  427. package/vendor/libgit2/fuzzers/corpora/commit_graph/1b72cfa68259e3f3b3802906902a0a29368f86b5 +0 -0
  428. package/vendor/libgit2/fuzzers/corpora/commit_graph/1c62ac5d632aa9e449a4335b675941107d8825ae +0 -0
  429. package/vendor/libgit2/fuzzers/corpora/commit_graph/1d95b5db2f802011b33d10212a66fbe40827dfd4 +0 -0
  430. package/vendor/libgit2/fuzzers/corpora/commit_graph/1e068537ce1211a325aab42ae1263a109131c9f9 +0 -0
  431. package/vendor/libgit2/fuzzers/corpora/commit_graph/1e9c882c9d33304a5791ef6c98eee65e142bd7fd +0 -0
  432. package/vendor/libgit2/fuzzers/corpora/commit_graph/1f54935df929403a29e77591c97f767d94871aea +0 -0
  433. package/vendor/libgit2/fuzzers/corpora/commit_graph/206015659641771bb0d668728c2fdc4209e65dda +0 -0
  434. package/vendor/libgit2/fuzzers/corpora/commit_graph/2096493a2bcc2d15b7ae5bf3112fe49c39976ad8 +0 -0
  435. package/vendor/libgit2/fuzzers/corpora/commit_graph/209b74e08abe8c787b7c5ba81e51cb69c57ecded +0 -0
  436. package/vendor/libgit2/fuzzers/corpora/commit_graph/21137876575fbca357fc0c96db1de73c6737e1ae +0 -0
  437. package/vendor/libgit2/fuzzers/corpora/commit_graph/2143d9db9802f076c72a71184cd9d0cb4581e9e7 +0 -0
  438. package/vendor/libgit2/fuzzers/corpora/commit_graph/21a52a5282145407d951ac73c2ff27876783899d +0 -0
  439. package/vendor/libgit2/fuzzers/corpora/commit_graph/21d5c8c8ac3a09bcba5388c472df32795986a5cb +1 -0
  440. package/vendor/libgit2/fuzzers/corpora/commit_graph/22170d1110a1c18009b7feb21a470681f55e85fb +0 -0
  441. package/vendor/libgit2/fuzzers/corpora/commit_graph/22f55dff94785f24252d7a070f713840f59b0870 +0 -0
  442. package/vendor/libgit2/fuzzers/corpora/commit_graph/23d10ee9694e1c66bedc7060990f19a2ac3eaee3 +0 -0
  443. package/vendor/libgit2/fuzzers/corpora/commit_graph/2435430ca19502c3b0ec4987508d4a8fbdbc898c +0 -0
  444. package/vendor/libgit2/fuzzers/corpora/commit_graph/244d2ea0c5c3117000b599cfab37680ba8f04513 +0 -0
  445. package/vendor/libgit2/fuzzers/corpora/commit_graph/248bf94143d150da2459cfdca099c30c6daff00a +0 -0
  446. package/vendor/libgit2/fuzzers/corpora/commit_graph/25bc53498129bb3717671f00c355d2637a91c86a +0 -0
  447. package/vendor/libgit2/fuzzers/corpora/commit_graph/2614f60da2d7e291501397238366d27513bff773 +0 -0
  448. package/vendor/libgit2/fuzzers/corpora/commit_graph/2651b3d5a8b4616b1faa81dabe27ab2712a27561 +0 -0
  449. package/vendor/libgit2/fuzzers/corpora/commit_graph/270257a2872b33dd13c4fd466cbc1ae67d613f9b +0 -0
  450. package/vendor/libgit2/fuzzers/corpora/commit_graph/2830c6244c74656f6c5649c8226953905a582a38 +0 -0
  451. package/vendor/libgit2/fuzzers/corpora/commit_graph/2889a85c07c20551ff0b97fc640e3c91b33aa4a1 +0 -0
  452. package/vendor/libgit2/fuzzers/corpora/commit_graph/295ce43fdd56def8948d1ba2bfa7fdf0c47b5318 +0 -0
  453. package/vendor/libgit2/fuzzers/corpora/commit_graph/296cbb94c4e68ab86972a174405308ee34d0c40f +0 -0
  454. package/vendor/libgit2/fuzzers/corpora/commit_graph/2975adf222cad108ec90d8225fd655e30e3bf253 +0 -0
  455. package/vendor/libgit2/fuzzers/corpora/commit_graph/29f5d27760c9254ab4db661a6cd0323dd11c34ca +0 -0
  456. package/vendor/libgit2/fuzzers/corpora/commit_graph/2a359fb09eaad968e57d353453908027645873d1 +0 -0
  457. package/vendor/libgit2/fuzzers/corpora/commit_graph/2a6b65a8d6c28febaa081d220a4433f8366d02bc +0 -0
  458. package/vendor/libgit2/fuzzers/corpora/commit_graph/2b14dcade4d0919b0a17830fe353738015f492a6 +0 -0
  459. package/vendor/libgit2/fuzzers/corpora/commit_graph/2b298a13abbd9829e965424a1486baa13d4166c4 +0 -0
  460. package/vendor/libgit2/fuzzers/corpora/commit_graph/2b44d8cd8e70e25172b4c740ebe38ef411c965b3 +0 -0
  461. package/vendor/libgit2/fuzzers/corpora/commit_graph/2b590c4e61fdfcf21c017b29440747a1894b1534 +0 -0
  462. package/vendor/libgit2/fuzzers/corpora/commit_graph/2becb18a971ae30e1a8f6680982fd7305708caa0 +0 -0
  463. package/vendor/libgit2/fuzzers/corpora/commit_graph/2bf78b02099a1fe4ce50d065254e843ca55e280f +0 -0
  464. package/vendor/libgit2/fuzzers/corpora/commit_graph/2c1541ecd01aa7b9e99bccfe9804198b3e79f118 +0 -0
  465. package/vendor/libgit2/fuzzers/corpora/commit_graph/2c6798057af5894c27631ff63e845fe1e4bdc9ee +0 -0
  466. package/vendor/libgit2/fuzzers/corpora/commit_graph/2cf7eb7fe489e5acd64df755e820c871784c2ba1 +0 -0
  467. package/vendor/libgit2/fuzzers/corpora/commit_graph/2d49ba35ca404baa0d593925f36a81ce53943c8d +0 -0
  468. package/vendor/libgit2/fuzzers/corpora/commit_graph/2d507d42ca43ffc2f3c8892826e1db74144ec096 +0 -0
  469. package/vendor/libgit2/fuzzers/corpora/commit_graph/2e4da693e3e336d2b1a40311a7ccf94def035b6b +0 -0
  470. package/vendor/libgit2/fuzzers/corpora/commit_graph/2e71ff86128b5618f0f067c407a76ff645ae2019 +0 -0
  471. package/vendor/libgit2/fuzzers/corpora/commit_graph/2eb777c6d7e6ee9bd7a44e37372595043aad596b +0 -0
  472. package/vendor/libgit2/fuzzers/corpora/commit_graph/2ec3ebffba165b9dd49e755a9e77e23aed796628 +0 -0
  473. package/vendor/libgit2/fuzzers/corpora/commit_graph/302703e3b0d74219868aca39ee7593944c0b2400 +0 -0
  474. package/vendor/libgit2/fuzzers/corpora/commit_graph/3048c6908dc3176707fa8bcb0196824e3358357a +0 -0
  475. package/vendor/libgit2/fuzzers/corpora/commit_graph/30616cb39d3ad6060324fada03709d611ad28d5c +0 -0
  476. package/vendor/libgit2/fuzzers/corpora/commit_graph/306beadd9b3135a00037323760eb5377c88a403e +0 -0
  477. package/vendor/libgit2/fuzzers/corpora/commit_graph/31464a6fbad023923a7e4700fc11564e811bcbd2 +0 -0
  478. package/vendor/libgit2/fuzzers/corpora/commit_graph/317f4bcfecf066961ef1982d551cd14e63c9f008 +0 -0
  479. package/vendor/libgit2/fuzzers/corpora/commit_graph/31b2248faaabbec69a06098c8cb0f69c5d0aa208 +0 -0
  480. package/vendor/libgit2/fuzzers/corpora/commit_graph/31d1c3d1147385d58dbe6f82898a5523320fbcac +0 -0
  481. package/vendor/libgit2/fuzzers/corpora/commit_graph/32c9bc1616a78a230a3724abc02150db1cc40aa0 +0 -0
  482. package/vendor/libgit2/fuzzers/corpora/commit_graph/331e2866416b091252f0299e98d32cfb29237029 +0 -0
  483. package/vendor/libgit2/fuzzers/corpora/commit_graph/331eb3876dd2f3f0bd51f380ac431d86d6e3bb5e +0 -0
  484. package/vendor/libgit2/fuzzers/corpora/commit_graph/346bd6eaeadeafcb840ff9441614b309330db63e +0 -0
  485. package/vendor/libgit2/fuzzers/corpora/commit_graph/349931f447981f21476481448576e805c093a25b +0 -0
  486. package/vendor/libgit2/fuzzers/corpora/commit_graph/34a2da1e9adaac1b4be1d40b1ece81fe00643d49 +0 -0
  487. package/vendor/libgit2/fuzzers/corpora/commit_graph/34bb8f475e7384a8a39618fd15fdc5fb1b12c1a1 +0 -0
  488. package/vendor/libgit2/fuzzers/corpora/commit_graph/351a036c6eb95db9364706b861f7e75ad26194e8 +0 -0
  489. package/vendor/libgit2/fuzzers/corpora/commit_graph/355452c1da8e7689d816d67cdde040b5df7eabd7 +0 -0
  490. package/vendor/libgit2/fuzzers/corpora/commit_graph/35c157ad2b100b4f334cddcf3dea6ef2d85462be +0 -0
  491. package/vendor/libgit2/fuzzers/corpora/commit_graph/36a81a45eabfcf53e1ae0361aa234791e2fdb750 +0 -0
  492. package/vendor/libgit2/fuzzers/corpora/commit_graph/36ee20f6dbeb3a34e91eafbbe2e379f9ac6cfa43 +0 -0
  493. package/vendor/libgit2/fuzzers/corpora/commit_graph/377627c19bcac6adc880202048a9eac07b5417d4 +0 -0
  494. package/vendor/libgit2/fuzzers/corpora/commit_graph/38747e7c8bec2f9c923739d50ba54ff88ba6503f +0 -0
  495. package/vendor/libgit2/fuzzers/corpora/commit_graph/3945843a6fab2ec71030f09b237c125b97cd3ea5 +0 -0
  496. package/vendor/libgit2/fuzzers/corpora/commit_graph/396321d39b82ffaccbc64115117df7e822b0f515 +0 -0
  497. package/vendor/libgit2/fuzzers/corpora/commit_graph/396e78eb9b54e2cefb52cd76a22137c8abd6cbcf +0 -0
  498. package/vendor/libgit2/fuzzers/corpora/commit_graph/39c1ab66035adc104cd06a6d98b77668172d21af +0 -0
  499. package/vendor/libgit2/fuzzers/corpora/commit_graph/3a1078c35f5401ce09b5ba921fc348dde37530bb +0 -0
  500. package/vendor/libgit2/fuzzers/corpora/commit_graph/3aa3d8f40392d1c863d23799b8ec0aedc7191302 +0 -0
  501. package/vendor/libgit2/fuzzers/corpora/commit_graph/3b08c505601271cb92345ec7f0ff0b28daf90a9c +0 -0
  502. package/vendor/libgit2/fuzzers/corpora/commit_graph/3b41702587be45f678b36823ad2f7e5002337dc4 +0 -0
  503. package/vendor/libgit2/fuzzers/corpora/commit_graph/3b69108cc919aba0248f9b864d4e71c5f6d1931e +0 -0
  504. package/vendor/libgit2/fuzzers/corpora/commit_graph/3b90507501bb3bcfe0094f9c92cc2869f1a7dda5 +0 -0
  505. package/vendor/libgit2/fuzzers/corpora/commit_graph/3bc7fe44c3a1464dd35a4d22b482f46cdeda0405 +0 -0
  506. package/vendor/libgit2/fuzzers/corpora/commit_graph/3ce99994986efb6df3f3568423e0077b53c7ef78 +0 -0
  507. package/vendor/libgit2/fuzzers/corpora/commit_graph/3d6cb3ba21181c9f0ab08b2608eab773f36773f2 +0 -0
  508. package/vendor/libgit2/fuzzers/corpora/commit_graph/3d8ec41450b943d5dea73fb1e393960b03d7c3b9 +0 -0
  509. package/vendor/libgit2/fuzzers/corpora/commit_graph/3e29e8baaac0f6c7e4cf3d5adca2ab3a2c491ac7 +0 -0
  510. package/vendor/libgit2/fuzzers/corpora/commit_graph/3e9469b3c68ba334671aacda7a7669b0e97b74d6 +0 -0
  511. package/vendor/libgit2/fuzzers/corpora/commit_graph/3eeda3bfa7abef69911c94520c009a08c49b9942 +0 -0
  512. package/vendor/libgit2/fuzzers/corpora/commit_graph/3f0f5021016451b57f673d0603cd9e4830c2198d +0 -0
  513. package/vendor/libgit2/fuzzers/corpora/commit_graph/3f46540fbd94bf0337c1d0d7437ec992a3568f09 +0 -0
  514. package/vendor/libgit2/fuzzers/corpora/commit_graph/402d9c25d5833d42630882ab5c57833266bef785 +0 -0
  515. package/vendor/libgit2/fuzzers/corpora/commit_graph/4048bb3c26d67c345630ff9e86db551a3add6549 +0 -0
  516. package/vendor/libgit2/fuzzers/corpora/commit_graph/40792f23c1281842dab671e8b213fc408d1ec39f +0 -0
  517. package/vendor/libgit2/fuzzers/corpora/commit_graph/41cd0b5d9a9540947b7b1841a55e4c11bd4346a2 +0 -0
  518. package/vendor/libgit2/fuzzers/corpora/commit_graph/41d86e5ea3df4a0de60d42aeb16e2a5599aedeae +0 -0
  519. package/vendor/libgit2/fuzzers/corpora/commit_graph/42b4e5430b2b1b17a361067fb9dd33ab74e52232 +0 -0
  520. package/vendor/libgit2/fuzzers/corpora/commit_graph/42ef1c9d234b90acaf1651d930fc52d5f8f158f2 +0 -0
  521. package/vendor/libgit2/fuzzers/corpora/commit_graph/4570c8ff26d7f31afe73b3d9a35a29bc1274d68a +0 -0
  522. package/vendor/libgit2/fuzzers/corpora/commit_graph/45cf4751a5929930a7c30ec10134434b9ee13c3d +0 -0
  523. package/vendor/libgit2/fuzzers/corpora/commit_graph/46e9d351dd5bb71f7d4d8f15b3fad312c781452e +0 -0
  524. package/vendor/libgit2/fuzzers/corpora/commit_graph/472421633b984556b96bc20f1fcf7a98c25736f3 +0 -0
  525. package/vendor/libgit2/fuzzers/corpora/commit_graph/47f35b91699caee098cacdde0161ffab21bdfc57 +0 -0
  526. package/vendor/libgit2/fuzzers/corpora/commit_graph/48b9da327218f9409287687a43b7eead4789a588 +0 -0
  527. package/vendor/libgit2/fuzzers/corpora/commit_graph/48d14fca326d5d591d18d34c2821a457277819a2 +0 -0
  528. package/vendor/libgit2/fuzzers/corpora/commit_graph/48f3a33e2a027f5735d0a333ec4acd5a2aa57118 +0 -0
  529. package/vendor/libgit2/fuzzers/corpora/commit_graph/49e0eee24eab094a9c62f6b37b6ba01f8aece4e4 +0 -0
  530. package/vendor/libgit2/fuzzers/corpora/commit_graph/4b45bcb707d2a0bc23b415e9bc3d7eb1f7f0e188 +0 -0
  531. package/vendor/libgit2/fuzzers/corpora/commit_graph/4c428300fe4866fe81cff02ad4bc14b6848f7f73 +0 -0
  532. package/vendor/libgit2/fuzzers/corpora/commit_graph/4d69c567df2e858c5f248b3fc8e4a9c04f02481c +0 -0
  533. package/vendor/libgit2/fuzzers/corpora/commit_graph/4d88b6c9b513d5db2e07313a39b43d112d3d4562 +0 -0
  534. package/vendor/libgit2/fuzzers/corpora/commit_graph/4da73370cf854ef8bd08c7f79b92a187cdbff278 +0 -0
  535. package/vendor/libgit2/fuzzers/corpora/commit_graph/4e4b2827351bbfd414b718052a8f950a9e3eb7ee +0 -0
  536. package/vendor/libgit2/fuzzers/corpora/commit_graph/4ed43f7d3c0305461edcbc86f62e0c6ad56df01e +0 -0
  537. package/vendor/libgit2/fuzzers/corpora/commit_graph/4f011529809e88205421fa8ce39dcc025293bcb8 +0 -0
  538. package/vendor/libgit2/fuzzers/corpora/commit_graph/4f1928b6376369ab6acf8a282284366cc3bf71ef +0 -0
  539. package/vendor/libgit2/fuzzers/corpora/commit_graph/4f669eca3416c44f0d003ef2720d03e697e2230e +0 -0
  540. package/vendor/libgit2/fuzzers/corpora/commit_graph/4f750f24ecb5080bea2845061cfd3ce4529d30ee +0 -0
  541. package/vendor/libgit2/fuzzers/corpora/commit_graph/4fab9bb2bacf562e65f4a8681c429e6ea92aaed7 +0 -0
  542. package/vendor/libgit2/fuzzers/corpora/commit_graph/4fd757c7251c17413b3005fb38aee0fd029d89ec +0 -0
  543. package/vendor/libgit2/fuzzers/corpora/commit_graph/506092de91dcf93254cdd5ad9e02a953a38099ea +0 -0
  544. package/vendor/libgit2/fuzzers/corpora/commit_graph/50e934fb52d9bc5cd2a531adced1cad7f102a112 +0 -0
  545. package/vendor/libgit2/fuzzers/corpora/commit_graph/512e49a9e789656964988950009e6534907e6317 +0 -0
  546. package/vendor/libgit2/fuzzers/corpora/commit_graph/51404149f1ea30ee6959fafe81a52acabed97e9e +0 -0
  547. package/vendor/libgit2/fuzzers/corpora/commit_graph/5150f8a67399ee16178a2b08198cf91a90c0e53e +0 -0
  548. package/vendor/libgit2/fuzzers/corpora/commit_graph/51a1fd23dfe5a8062cd4601d235509247f3bc2dc +0 -0
  549. package/vendor/libgit2/fuzzers/corpora/commit_graph/51a963486f041a60c422f0dd6da3b69c52f12fb7 +0 -0
  550. package/vendor/libgit2/fuzzers/corpora/commit_graph/51fbf57a2a35ec33164838fa254fe605a3c868e9 +0 -0
  551. package/vendor/libgit2/fuzzers/corpora/commit_graph/53068b9f9cb54bb52d076e9602ccd55f169ef39a +0 -0
  552. package/vendor/libgit2/fuzzers/corpora/commit_graph/5314619e15fa5ee67df44481b8213a53786d39c5 +0 -0
  553. package/vendor/libgit2/fuzzers/corpora/commit_graph/533f5f00275968129846522fe01e2819746272eb +0 -0
  554. package/vendor/libgit2/fuzzers/corpora/commit_graph/53a62799135c282435a17e032deda03eaf9daf0f +0 -0
  555. package/vendor/libgit2/fuzzers/corpora/commit_graph/53c9d5cd849977e523d92dd2d639e9b0e721be50 +0 -0
  556. package/vendor/libgit2/fuzzers/corpora/commit_graph/54767a0bb3b96d39f5b2004ce3f274465f1a927e +0 -0
  557. package/vendor/libgit2/fuzzers/corpora/commit_graph/548de37dbe6a3829b73d976996ec9838cf608554 +0 -0
  558. package/vendor/libgit2/fuzzers/corpora/commit_graph/5522cefa54b798ea4aba8ef2a42ad248a7fb02ee +0 -0
  559. package/vendor/libgit2/fuzzers/corpora/commit_graph/554fab3eef5d8709f06d1d4319efe5c0c437421b +0 -0
  560. package/vendor/libgit2/fuzzers/corpora/commit_graph/567fe73919dae39b0bcb78b03d655643a71714a8 +0 -0
  561. package/vendor/libgit2/fuzzers/corpora/commit_graph/5717a281aa722ee4a32dfa1cc72fc5d6081f6755 +0 -0
  562. package/vendor/libgit2/fuzzers/corpora/commit_graph/577d814e0be43df9321c5b27119c398bd00a00c5 +0 -0
  563. package/vendor/libgit2/fuzzers/corpora/commit_graph/58680611707c6188f9f067f8747b699cd2fe82d3 +0 -0
  564. package/vendor/libgit2/fuzzers/corpora/commit_graph/5915b7f91dd43ec37a4718061c90cbec2686b916 +0 -0
  565. package/vendor/libgit2/fuzzers/corpora/commit_graph/599516e368ff621dd06d8450837350f4e9558c38 +0 -0
  566. package/vendor/libgit2/fuzzers/corpora/commit_graph/5a2d01d141e4d523e718c30e20cb07c3ad98f33d +0 -0
  567. package/vendor/libgit2/fuzzers/corpora/commit_graph/5a9803ef8cd88d1e8f1d6e5920b8afd170cafb11 +0 -0
  568. package/vendor/libgit2/fuzzers/corpora/commit_graph/5ba93c9db0cff93f52b521d7420e43f6eda2784f +0 -0
  569. package/vendor/libgit2/fuzzers/corpora/commit_graph/5bf0ca772092e6fa34b6822f61a1b1c3d7f2c6e3 +0 -0
  570. package/vendor/libgit2/fuzzers/corpora/commit_graph/5cfbfb3e12b629dc9f74baf0a8741345ec288795 +0 -0
  571. package/vendor/libgit2/fuzzers/corpora/commit_graph/5d8cc97b739c39820b761b6551d34dd647da6816 +0 -0
  572. package/vendor/libgit2/fuzzers/corpora/commit_graph/5dcbb3e1c2fc9a191dd3f3443b86f6bc38c39e37 +0 -0
  573. package/vendor/libgit2/fuzzers/corpora/commit_graph/5ec17d081aef9872f746e88ad8b03553719f9c36 +0 -0
  574. package/vendor/libgit2/fuzzers/corpora/commit_graph/5f88e3ba60c11be25c47a842763d8870d23cc7f2 +0 -0
  575. package/vendor/libgit2/fuzzers/corpora/commit_graph/6045e4d2bf85013c78a32e71b014ba3d4a4b7c61 +0 -0
  576. package/vendor/libgit2/fuzzers/corpora/commit_graph/615c7ba7ffbce955ffd964682e2a0f7ef3c767e4 +0 -0
  577. package/vendor/libgit2/fuzzers/corpora/commit_graph/6189f29cbbe88ac6cb32fdefecda1bd6194332a6 +0 -0
  578. package/vendor/libgit2/fuzzers/corpora/commit_graph/627224cb8484c62992dcbc4cdebdbfa48a3c021a +0 -0
  579. package/vendor/libgit2/fuzzers/corpora/commit_graph/629fff0962d298a7283a3d1e1d1b940dfef9b315 +0 -0
  580. package/vendor/libgit2/fuzzers/corpora/commit_graph/6322594cff2a99d0abb1139e6a43b06df76d539a +0 -0
  581. package/vendor/libgit2/fuzzers/corpora/commit_graph/63de5e8e042222d53bf05640c87da376aefb76cc +0 -0
  582. package/vendor/libgit2/fuzzers/corpora/commit_graph/647dbb1d05fe0fab685bfe126bd9ac3a12b6bccf +0 -0
  583. package/vendor/libgit2/fuzzers/corpora/commit_graph/647e5e265d8d1079784fc2a3da25f7ba58126acd +0 -0
  584. package/vendor/libgit2/fuzzers/corpora/commit_graph/653bd480dfd1e5f4bdca702aba3dfd8da0c204b7 +0 -0
  585. package/vendor/libgit2/fuzzers/corpora/commit_graph/65485740a465377213c80fa68028727f281299fb +0 -0
  586. package/vendor/libgit2/fuzzers/corpora/commit_graph/6551f8c8c3028006d0cc4997943df8a86ee3f598 +0 -0
  587. package/vendor/libgit2/fuzzers/corpora/commit_graph/67799e79d33883510f85ae9705ab3932862128a2 +0 -0
  588. package/vendor/libgit2/fuzzers/corpora/commit_graph/67b475481e5a21351b49789874adbc988aefd64c +0 -0
  589. package/vendor/libgit2/fuzzers/corpora/commit_graph/67e5a649967dee002d1c181e079748c404e29767 +0 -0
  590. package/vendor/libgit2/fuzzers/corpora/commit_graph/687424a4a31a66a78d1637c680c9c10746741007 +0 -0
  591. package/vendor/libgit2/fuzzers/corpora/commit_graph/68fa6dd52832657cb8dd7e1485d6fbafd4e93903 +0 -0
  592. package/vendor/libgit2/fuzzers/corpora/commit_graph/691696af1c042115f4d9f9b8e24f7b8c06ed189b +0 -0
  593. package/vendor/libgit2/fuzzers/corpora/commit_graph/6a80152f9b1afa3a3080bf3f6aa48e84c2e18497 +0 -0
  594. package/vendor/libgit2/fuzzers/corpora/commit_graph/6af27e4cf4c7bcce128a5949ee27fc73ab2cc71e +0 -0
  595. package/vendor/libgit2/fuzzers/corpora/commit_graph/6afd8f82d5639b774de0dfd418ae85322f4168dd +0 -0
  596. package/vendor/libgit2/fuzzers/corpora/commit_graph/6c64a9e26e0e1480bb5e60b7044ca6ce17104a80 +0 -0
  597. package/vendor/libgit2/fuzzers/corpora/commit_graph/6c850c17db130ca0152f7c75562fa191f7ef89de +0 -0
  598. package/vendor/libgit2/fuzzers/corpora/commit_graph/6c9afe4527371a2baf33c5e220e4ca21a3207f94 +0 -0
  599. package/vendor/libgit2/fuzzers/corpora/commit_graph/6ce3d40b0225923a7f4123a919b1c5d70841fad7 +0 -0
  600. package/vendor/libgit2/fuzzers/corpora/commit_graph/6cfd064aa6197813eb18f38df967ae4cdba9c6da +0 -0
  601. package/vendor/libgit2/fuzzers/corpora/commit_graph/6e6675676c53bcddc870e06605d2432e3429f224 +0 -0
  602. package/vendor/libgit2/fuzzers/corpora/commit_graph/6e6e82579b7abae2b43d90448d3f2ead4dfcba78 +0 -0
  603. package/vendor/libgit2/fuzzers/corpora/commit_graph/6f13d23c75a562eddefafe85e208e602832294e2 +0 -0
  604. package/vendor/libgit2/fuzzers/corpora/commit_graph/6fed59b0472927f5d2396d0ee4d7fd13579377ce +0 -0
  605. package/vendor/libgit2/fuzzers/corpora/commit_graph/71f7724196f9f8fcfe3ee0161a84893bb9c4ab11 +0 -0
  606. package/vendor/libgit2/fuzzers/corpora/commit_graph/7335ecb1d41e713bf3909adf5802b90e22bc1581 +0 -0
  607. package/vendor/libgit2/fuzzers/corpora/commit_graph/73afaa73175f461e1d19d5138e055c1649926dfe +0 -0
  608. package/vendor/libgit2/fuzzers/corpora/commit_graph/73e2fcb45c4df90d19091056b235e7a317631a62 +0 -0
  609. package/vendor/libgit2/fuzzers/corpora/commit_graph/741cb2d5ae11b0a9e0608b58ec7284d75129a1f2 +0 -0
  610. package/vendor/libgit2/fuzzers/corpora/commit_graph/7431bb0097a9bb52e1ceaaa8674a13cd3486a387 +0 -0
  611. package/vendor/libgit2/fuzzers/corpora/commit_graph/7455b805995d0c96ac12f8a1c1264caaffcfac1c +0 -0
  612. package/vendor/libgit2/fuzzers/corpora/commit_graph/74e39b8a82fc06f9ed8f83ea30545ddf6df66811 +0 -0
  613. package/vendor/libgit2/fuzzers/corpora/commit_graph/75d51e413d3e916560dc0c2ee5092d2f4972aec1 +0 -0
  614. package/vendor/libgit2/fuzzers/corpora/commit_graph/75e068964ea6beb7310a154d763de74a70071f48 +0 -0
  615. package/vendor/libgit2/fuzzers/corpora/commit_graph/763bf498dd847bd2b4af7b611199619bd428bea6 +0 -0
  616. package/vendor/libgit2/fuzzers/corpora/commit_graph/77064ae04581a3c6d2a77158ef1a0b1e60db414a +0 -0
  617. package/vendor/libgit2/fuzzers/corpora/commit_graph/783bb14d68021061f592601607f40fe232ad17c4 +0 -0
  618. package/vendor/libgit2/fuzzers/corpora/commit_graph/7862814cb684310b54ef920b35403515efaba13c +0 -0
  619. package/vendor/libgit2/fuzzers/corpora/commit_graph/791fd85b6ffb2429e9fa5ba29eebdce214ad88c7 +0 -0
  620. package/vendor/libgit2/fuzzers/corpora/commit_graph/79396d4f6142a53e26e14aa6ccb4afb4fd8fc580 +0 -0
  621. package/vendor/libgit2/fuzzers/corpora/commit_graph/79661b8e529e2182d5c612faba9f26e32a122b78 +0 -0
  622. package/vendor/libgit2/fuzzers/corpora/commit_graph/7969143acb3334bffac46c6dfd96362c81644191 +0 -0
  623. package/vendor/libgit2/fuzzers/corpora/commit_graph/79d84866dc8c067508c02516b65c0e48cf689b56 +0 -0
  624. package/vendor/libgit2/fuzzers/corpora/commit_graph/7b61f8f4a96e309bbe64ed82637fc81492a9652f +0 -0
  625. package/vendor/libgit2/fuzzers/corpora/commit_graph/7b8123f973edfb0f3cab027c0cd6b8efc7b11d6b +0 -0
  626. package/vendor/libgit2/fuzzers/corpora/commit_graph/7b8dd3093efba07f7a4d3bab4b90b8f6e4f28bfb +0 -0
  627. package/vendor/libgit2/fuzzers/corpora/commit_graph/7cc771aab0f3be7730881a46d952ae0a06958201 +0 -0
  628. package/vendor/libgit2/fuzzers/corpora/commit_graph/7d177f4207de78d50df2493a3bc07f2cd578b363 +0 -0
  629. package/vendor/libgit2/fuzzers/corpora/commit_graph/7d2df075f3e73ea9809c31586c37ece0f568b7fa +0 -0
  630. package/vendor/libgit2/fuzzers/corpora/commit_graph/7d386e68e4c733a1fb11c0117f379fb4b9955fbb +1 -0
  631. package/vendor/libgit2/fuzzers/corpora/commit_graph/7e4260830352479d29310bd6e1022e19a68ffe76 +0 -0
  632. package/vendor/libgit2/fuzzers/corpora/commit_graph/7e4dfdae52be18cf95555c2eb1f54af7f69c6dde +0 -0
  633. package/vendor/libgit2/fuzzers/corpora/commit_graph/7eafedf7e7f20e86ecdf9ba51febf8492bdbc1f1 +0 -0
  634. package/vendor/libgit2/fuzzers/corpora/commit_graph/7ef1829a378d66b1dd70a767729127a0dc5edcae +0 -0
  635. package/vendor/libgit2/fuzzers/corpora/commit_graph/80b7d2b9d7e8c8fd7ae239b8d307b592f97ee000 +0 -0
  636. package/vendor/libgit2/fuzzers/corpora/commit_graph/810f577ff5c1af7807a26226af912687558158cd +0 -0
  637. package/vendor/libgit2/fuzzers/corpora/commit_graph/81603f1fe8d8e29005418d0fc9a9b33972366038 +0 -0
  638. package/vendor/libgit2/fuzzers/corpora/commit_graph/81c8b4d6884f954935fa4a8e828c4637db04b61a +0 -0
  639. package/vendor/libgit2/fuzzers/corpora/commit_graph/8226846e9b092561f85cc2956ab89d8cc1ae61e0 +0 -0
  640. package/vendor/libgit2/fuzzers/corpora/commit_graph/825cfceea434e2392cce161356e3cb5f81ec2b3a +0 -0
  641. package/vendor/libgit2/fuzzers/corpora/commit_graph/82603febce83d95adf68b85cabf15d43ca0c4ee9 +0 -0
  642. package/vendor/libgit2/fuzzers/corpora/commit_graph/827f0826cc4156e19b4c4938bec74e38de62fe9c +0 -0
  643. package/vendor/libgit2/fuzzers/corpora/commit_graph/8486397ff8d1156249676c19b419a7758ff53f9a +0 -0
  644. package/vendor/libgit2/fuzzers/corpora/commit_graph/84d99ee359bec1b8ee0f59e9bd96f1da062030b7 +0 -0
  645. package/vendor/libgit2/fuzzers/corpora/commit_graph/84e629bc7416039f1feb81fa9168d7c1ee3141c2 +0 -0
  646. package/vendor/libgit2/fuzzers/corpora/commit_graph/84e885752179076fb38739ca7bc4345716bee56a +0 -0
  647. package/vendor/libgit2/fuzzers/corpora/commit_graph/859ef05494c8070057810b5c20df00fc81f81cf5 +0 -0
  648. package/vendor/libgit2/fuzzers/corpora/commit_graph/859fe592f33abc1d959c0e73ecd6cd4bffe23a97 +0 -0
  649. package/vendor/libgit2/fuzzers/corpora/commit_graph/860da5e8a468805b76a44b9ac99b4575be16ea15 +0 -0
  650. package/vendor/libgit2/fuzzers/corpora/commit_graph/865e415745cead02a826f058a5ee49099bdf9562 +0 -0
  651. package/vendor/libgit2/fuzzers/corpora/commit_graph/878bfce051a9c7462847d4e99b7e926dc821b7b8 +0 -0
  652. package/vendor/libgit2/fuzzers/corpora/commit_graph/880492e4dc7259577c227bb4f075d7165e875c29 +0 -0
  653. package/vendor/libgit2/fuzzers/corpora/commit_graph/88b7de1bd1c96454a1350286d115c0ee368511f9 +0 -0
  654. package/vendor/libgit2/fuzzers/corpora/commit_graph/896268e4a5775b7ce33923ac6daeb0810420c55b +0 -0
  655. package/vendor/libgit2/fuzzers/corpora/commit_graph/8978f8da89f9652878edabad164f5513ef508f27 +0 -0
  656. package/vendor/libgit2/fuzzers/corpora/commit_graph/89a6525b7db0e6ec211a484efd2880abef928d4e +0 -0
  657. package/vendor/libgit2/fuzzers/corpora/commit_graph/8ae86cba2bba6664fc5eb97be8e9777b8825d823 +0 -0
  658. package/vendor/libgit2/fuzzers/corpora/commit_graph/8b845fbd2aa14e4f83c4dbc8b4b0b54d06482acd +0 -0
  659. package/vendor/libgit2/fuzzers/corpora/commit_graph/8c4121e6ce5956cfa408b980f16d276f456374dc +0 -0
  660. package/vendor/libgit2/fuzzers/corpora/commit_graph/8cb6a5b8ab41e3d27668d5735b5c09ff1f2eab65 +0 -0
  661. package/vendor/libgit2/fuzzers/corpora/commit_graph/8d80a70ffd362a89b88663e27f11e8ab69b70c1b +0 -0
  662. package/vendor/libgit2/fuzzers/corpora/commit_graph/8db603c1720b3680047f831f2ea9862567a7cdc4 +0 -0
  663. package/vendor/libgit2/fuzzers/corpora/commit_graph/8dd40b2d27c7dd4b986c35d87f826da287c09c4c +0 -0
  664. package/vendor/libgit2/fuzzers/corpora/commit_graph/8e9d6e6408e5f708a1924e8370e687e2c202a4c4 +0 -0
  665. package/vendor/libgit2/fuzzers/corpora/commit_graph/8f2dff1a30ee28e5985cb9379828aea5658d5849 +0 -0
  666. package/vendor/libgit2/fuzzers/corpora/commit_graph/8f7d18cdd6e605b85784ada14571fd5e5a184f2a +0 -0
  667. package/vendor/libgit2/fuzzers/corpora/commit_graph/903ae52f0ac9af8348038b12f9259741b0de42f1 +0 -0
  668. package/vendor/libgit2/fuzzers/corpora/commit_graph/9119e331f59e9337d419739c324f49d1bd62c8bf +0 -0
  669. package/vendor/libgit2/fuzzers/corpora/commit_graph/91d54d03b0917314ea1d67a70690df9247dd08d2 +0 -0
  670. package/vendor/libgit2/fuzzers/corpora/commit_graph/922da3b96725bfd0e3f6ce119f1e2249d53f9086 +0 -0
  671. package/vendor/libgit2/fuzzers/corpora/commit_graph/9277561e0524cccba2f851970b0d88ec4f4d3f5e +0 -0
  672. package/vendor/libgit2/fuzzers/corpora/commit_graph/92a4d571804026b7bbe957396185e079e756b894 +0 -0
  673. package/vendor/libgit2/fuzzers/corpora/commit_graph/931224cc80168fd362a360d99bab813ed7bbf8ce +0 -0
  674. package/vendor/libgit2/fuzzers/corpora/commit_graph/936ea5dad3bf023c552aa0bbeea8f7f66a11612c +0 -0
  675. package/vendor/libgit2/fuzzers/corpora/commit_graph/93aa4e0b1864933dce0abc0df69fe3d261f117f2 +0 -0
  676. package/vendor/libgit2/fuzzers/corpora/commit_graph/93d5b084965cf1b09085c4079a972e25207b3659 +0 -0
  677. package/vendor/libgit2/fuzzers/corpora/commit_graph/9443fd3468bcc0bc3ff8dfe765225f045ab43d0a +0 -0
  678. package/vendor/libgit2/fuzzers/corpora/commit_graph/9624c26cefb5804b7906147d262e81ee4000b6d6 +0 -0
  679. package/vendor/libgit2/fuzzers/corpora/commit_graph/9890933a73f39208627bd36e2fe88a6d54343a74 +0 -0
  680. package/vendor/libgit2/fuzzers/corpora/commit_graph/989dad0448e79af10040d5080f74eba2b8a401ba +0 -0
  681. package/vendor/libgit2/fuzzers/corpora/commit_graph/98ed4808b4a8da66a91fcea1be63be6371a7c7ac +0 -0
  682. package/vendor/libgit2/fuzzers/corpora/commit_graph/9928e516b85e22fbad58d562d3b7e814d9ce812d +0 -0
  683. package/vendor/libgit2/fuzzers/corpora/commit_graph/994c7cc5599252b5628d89cd0ba4b5574d32bf00 +0 -0
  684. package/vendor/libgit2/fuzzers/corpora/commit_graph/99c8557c2a02ea030de42869af42c1f7c77114db +0 -0
  685. package/vendor/libgit2/fuzzers/corpora/commit_graph/9a14c867272f102b84efdba73662d318c3e51cfe +0 -0
  686. package/vendor/libgit2/fuzzers/corpora/commit_graph/9a6f158c176d4a1982d541be2bc27a8afba4ea57 +0 -0
  687. package/vendor/libgit2/fuzzers/corpora/commit_graph/9aa4af603192823a2fdc53d95ed36896bc3309b2 +0 -0
  688. package/vendor/libgit2/fuzzers/corpora/commit_graph/9b40c2190123cec66af3b37212f6c567869efda3 +0 -0
  689. package/vendor/libgit2/fuzzers/corpora/commit_graph/9b6268c11d78c35db5164f1346905e602b6a49fe +0 -0
  690. package/vendor/libgit2/fuzzers/corpora/commit_graph/9c6883ba5cedb7d711b12733d66ef1a1156dd0af +0 -0
  691. package/vendor/libgit2/fuzzers/corpora/commit_graph/9c85c90f44b454ce0d52882c447f5ecb8d303634 +0 -0
  692. package/vendor/libgit2/fuzzers/corpora/commit_graph/9cb7a2e89ec636da3fd41ecc49ebe25e5344e2c6 +0 -0
  693. package/vendor/libgit2/fuzzers/corpora/commit_graph/9d912dc5a3497e4b5b40b37202fc0ffbf5263666 +0 -0
  694. package/vendor/libgit2/fuzzers/corpora/commit_graph/9dcbafe8c5345194ee0ce7eb4f6efaeb55543626 +0 -0
  695. package/vendor/libgit2/fuzzers/corpora/commit_graph/9f4b0f3d2d25e6405ba6093f24d0605327711573 +0 -0
  696. package/vendor/libgit2/fuzzers/corpora/commit_graph/a047bf683239fa208dbac09424b105820ac23f43 +0 -0
  697. package/vendor/libgit2/fuzzers/corpora/commit_graph/a1379dcd89ef5e73eabbfcc395113e3636e0ae09 +0 -0
  698. package/vendor/libgit2/fuzzers/corpora/commit_graph/a38c7ef56adabd0916abac514154b1f362d40434 +0 -0
  699. package/vendor/libgit2/fuzzers/corpora/commit_graph/a38ec6ad4a8466b4feb88e67b16524e8f3feac64 +0 -0
  700. package/vendor/libgit2/fuzzers/corpora/commit_graph/a3fdea21020268b3b2409c1115d50697d9ae8f8c +0 -0
  701. package/vendor/libgit2/fuzzers/corpora/commit_graph/a45f1987a444b2c27e90fc1477e8b0815f75383f +0 -0
  702. package/vendor/libgit2/fuzzers/corpora/commit_graph/a4682958fb7029384c0a01a4a1356ac6f2f44fe1 +0 -0
  703. package/vendor/libgit2/fuzzers/corpora/commit_graph/a4de41561725960d6f48f210a4fb74d527f7b0c2 +0 -0
  704. package/vendor/libgit2/fuzzers/corpora/commit_graph/a5935f34435ecdd6587ad4f77b20d479d3387dbe +0 -0
  705. package/vendor/libgit2/fuzzers/corpora/commit_graph/a5b394beb2b1d463ad80924a8c8c70584bf5c629 +0 -0
  706. package/vendor/libgit2/fuzzers/corpora/commit_graph/a62bc806f8c98ba7986243c2185a0548a8dd57ef +0 -0
  707. package/vendor/libgit2/fuzzers/corpora/commit_graph/a7013e97948893e0118c686c06e332cc611bea7e +0 -0
  708. package/vendor/libgit2/fuzzers/corpora/commit_graph/a74f5df8c7f25c37c15c0f74ed50019d17338225 +0 -0
  709. package/vendor/libgit2/fuzzers/corpora/commit_graph/a7ab3559fb3da3f027e67091116253f3bdfd7828 +0 -0
  710. package/vendor/libgit2/fuzzers/corpora/commit_graph/a845c8258a02022d447ea9249788b345f5504648 +0 -0
  711. package/vendor/libgit2/fuzzers/corpora/commit_graph/a8d3e026e2393587eb170afb32e94ff0e1f8a8be +0 -0
  712. package/vendor/libgit2/fuzzers/corpora/commit_graph/a8d547e41ee21e163e65cf0a186d469dfa50ec19 +0 -0
  713. package/vendor/libgit2/fuzzers/corpora/commit_graph/a8fa22521dd6813e595cc0a9586ee71fff305fe2 +0 -0
  714. package/vendor/libgit2/fuzzers/corpora/commit_graph/a9969442d585d9a53259c71c73b095701280eac5 +0 -0
  715. package/vendor/libgit2/fuzzers/corpora/commit_graph/a99789d0ce2d7b937aaa8afa3cfc0f4ccd7be95f +0 -0
  716. package/vendor/libgit2/fuzzers/corpora/commit_graph/aaca30ee3ab38edfa2b061fcbcbca0c0ea657f15 +0 -0
  717. package/vendor/libgit2/fuzzers/corpora/commit_graph/aacdec3f05e98eb6eedddb9c6edb968e1a63c551 +0 -0
  718. package/vendor/libgit2/fuzzers/corpora/commit_graph/aadd85127241b94a41d02d9e9699e3e9773de1c9 +0 -0
  719. package/vendor/libgit2/fuzzers/corpora/commit_graph/ab8ad126702803d21dbafc85713bbee7f25f36e5 +0 -0
  720. package/vendor/libgit2/fuzzers/corpora/commit_graph/ac26f9afd599ff6f33396c2e02130654f3e2390c +0 -0
  721. package/vendor/libgit2/fuzzers/corpora/commit_graph/ac8b129e4756fda0c50c9dd0eb13e34c7b41ce8e +1 -0
  722. package/vendor/libgit2/fuzzers/corpora/commit_graph/aceaf3b72c2627dd3dd065974b854150681c093f +0 -0
  723. package/vendor/libgit2/fuzzers/corpora/commit_graph/ad1fcdc3bf806392e754a902eba9edd3b344c31f +0 -0
  724. package/vendor/libgit2/fuzzers/corpora/commit_graph/ad8c80e532482f9dfbfbb7c0d447f1f4e592bf72 +0 -0
  725. package/vendor/libgit2/fuzzers/corpora/commit_graph/add92b71bf897da2f71f691e6abcb6d02cb8e99f +0 -0
  726. package/vendor/libgit2/fuzzers/corpora/commit_graph/aeb8ccf6d82be9236c9e689e1580d043bd701eb0 +0 -0
  727. package/vendor/libgit2/fuzzers/corpora/commit_graph/af1a827aedbf674fff2bdeb5589554eec62787ab +0 -0
  728. package/vendor/libgit2/fuzzers/corpora/commit_graph/afaab9a75414d231176ad4582b6f8d81b5dbedb3 +0 -0
  729. package/vendor/libgit2/fuzzers/corpora/commit_graph/afc12c4ebed1f3ab962d7dcef110b5328b1e24c3 +0 -0
  730. package/vendor/libgit2/fuzzers/corpora/commit_graph/b0044f3744cf019658d668a33f8d1e53ef8bd6ce +0 -0
  731. package/vendor/libgit2/fuzzers/corpora/commit_graph/b06adc81a4e1cdcda3786970ca07ed9dee0b6401 +0 -0
  732. package/vendor/libgit2/fuzzers/corpora/commit_graph/b139802a1cc90fd5b86cae044c221361892c688d +0 -0
  733. package/vendor/libgit2/fuzzers/corpora/commit_graph/b1b8f251542db01bdb01be3b6d5b117b07db1834 +0 -0
  734. package/vendor/libgit2/fuzzers/corpora/commit_graph/b1b9af93f84ed6861b9c0ade39980e89ef828c8f +0 -0
  735. package/vendor/libgit2/fuzzers/corpora/commit_graph/b2eae68035cafd4077f6a4c3e4e961fdc1e8122b +0 -0
  736. package/vendor/libgit2/fuzzers/corpora/commit_graph/b32897a6aedaa8c5a6e656dd808bafabc4ee5608 +0 -0
  737. package/vendor/libgit2/fuzzers/corpora/commit_graph/b376e4fc517297f92ac1713803ae3b60d5ebbe43 +0 -0
  738. package/vendor/libgit2/fuzzers/corpora/commit_graph/b3fd100b139cfbffaad68aacf7d462861e9dca35 +0 -0
  739. package/vendor/libgit2/fuzzers/corpora/commit_graph/b40808ca955faab4829811bced1cccb2ab58ea58 +0 -0
  740. package/vendor/libgit2/fuzzers/corpora/commit_graph/b43daf9f87a514bce74af3e5a39284c69c4e7011 +0 -0
  741. package/vendor/libgit2/fuzzers/corpora/commit_graph/b477da07f3e5796ff4a98c8a5bdb0e4a634954bf +0 -0
  742. package/vendor/libgit2/fuzzers/corpora/commit_graph/b4a2ef09cf59ca5ccf810a6f001cce710cc02f6b +0 -0
  743. package/vendor/libgit2/fuzzers/corpora/commit_graph/b4b75e588cb83430c502a34ec3dcfaf774a00359 +0 -0
  744. package/vendor/libgit2/fuzzers/corpora/commit_graph/b4ce98acd2b288b6cfc00461e2e15e0f8004030c +0 -0
  745. package/vendor/libgit2/fuzzers/corpora/commit_graph/b75563f30f7e4fb369d2449b723ee8b282d03eff +0 -0
  746. package/vendor/libgit2/fuzzers/corpora/commit_graph/b7a0a820afa7057081de186728d0d887131d9314 +0 -0
  747. package/vendor/libgit2/fuzzers/corpora/commit_graph/b7e880446146c735a3f820fb93969c8c172c2fb5 +0 -0
  748. package/vendor/libgit2/fuzzers/corpora/commit_graph/b833073d3006e7cbac03c494603a9b75e7b2a723 +0 -0
  749. package/vendor/libgit2/fuzzers/corpora/commit_graph/b89459c1fb6fc918db4c81a32a75ee66217f9ab8 +0 -0
  750. package/vendor/libgit2/fuzzers/corpora/commit_graph/b8aab6c9b2c706f8df0ff695ff94969171f9c807 +0 -0
  751. package/vendor/libgit2/fuzzers/corpora/commit_graph/b9751182a36acb79b77585e1e379857a530e95c8 +0 -0
  752. package/vendor/libgit2/fuzzers/corpora/commit_graph/b9ddb239b5a2c1348d972ec70a08507c35ba4432 +0 -0
  753. package/vendor/libgit2/fuzzers/corpora/commit_graph/ba8f573256a0fbb95c5626f399ebc3ef50bbd826 +0 -0
  754. package/vendor/libgit2/fuzzers/corpora/commit_graph/bc165749042d5425c5d6d4e29b17769a2315a80d +0 -0
  755. package/vendor/libgit2/fuzzers/corpora/commit_graph/bc910bd349319e1ed44d7c7266e3ac99cc29ecc6 +0 -0
  756. package/vendor/libgit2/fuzzers/corpora/commit_graph/bc97b1d4f57eb7770bc3983e2d57c8c01b21d29e +0 -0
  757. package/vendor/libgit2/fuzzers/corpora/commit_graph/bd06f768e35ded4437cb88e2bc0ddd0bea3fa84c +0 -0
  758. package/vendor/libgit2/fuzzers/corpora/commit_graph/bd702faff9725a7a1957fd0f85cc52799f37b682 +0 -0
  759. package/vendor/libgit2/fuzzers/corpora/commit_graph/bee4464861e1cae3cfdd5fbcb340efbf02e8d8ca +0 -0
  760. package/vendor/libgit2/fuzzers/corpora/commit_graph/bf7ad994b098ec85d62683a16e067635e21a8af5 +0 -0
  761. package/vendor/libgit2/fuzzers/corpora/commit_graph/c054fc89ed72101dec861668ff1738ef85b728b9 +0 -0
  762. package/vendor/libgit2/fuzzers/corpora/commit_graph/c06752415ac037fefe5172dc7245cd7c49ca7fca +0 -0
  763. package/vendor/libgit2/fuzzers/corpora/commit_graph/c0c8b54354d172a0be751e3e9b80be961bb15ddb +0 -0
  764. package/vendor/libgit2/fuzzers/corpora/commit_graph/c0e7ca9b5b4d0e72d23d7dc9e9d1f2463a17a20d +0 -0
  765. package/vendor/libgit2/fuzzers/corpora/commit_graph/c13576a29c98bee02aa47f646f5f170f9b7d83f9 +0 -0
  766. package/vendor/libgit2/fuzzers/corpora/commit_graph/c14edf1d34f40b3cc74772c81ebe5d72172cc662 +0 -0
  767. package/vendor/libgit2/fuzzers/corpora/commit_graph/c2789364cb35d111f08f924d0d7550ea9785c61e +0 -0
  768. package/vendor/libgit2/fuzzers/corpora/commit_graph/c2d8b07acb13e43a89b6c4afb3ecb9817dd4a8e9 +0 -0
  769. package/vendor/libgit2/fuzzers/corpora/commit_graph/c36ed796c1bf839668db8fc3475a2ffb32ad8ceb +0 -0
  770. package/vendor/libgit2/fuzzers/corpora/commit_graph/c41ec9dd94427423e4704721e7f21eae0c44ef20 +0 -0
  771. package/vendor/libgit2/fuzzers/corpora/commit_graph/c42c544fa9dbb1264b39bf920b40985384db1d16 +0 -0
  772. package/vendor/libgit2/fuzzers/corpora/commit_graph/c45ec3f594abc15de0a8cc3ad748ba23cb34ec64 +0 -0
  773. package/vendor/libgit2/fuzzers/corpora/commit_graph/c49004d980961f288616a4eb9ebf68123fd68ffa +0 -0
  774. package/vendor/libgit2/fuzzers/corpora/commit_graph/c4c3c3c8df24adf505127627b3090116de78d9a6 +0 -0
  775. package/vendor/libgit2/fuzzers/corpora/commit_graph/c5c1921293af4a5953cb386092694042715fcfb3 +0 -0
  776. package/vendor/libgit2/fuzzers/corpora/commit_graph/c615caad21cd8a754fcb2008420234c5511c62b7 +0 -0
  777. package/vendor/libgit2/fuzzers/corpora/commit_graph/c6a9ee3f8fdc42566c4799db3912a83c8c438d7f +0 -0
  778. package/vendor/libgit2/fuzzers/corpora/commit_graph/c6b661e976282051285b913b3728383f36103ef8 +0 -0
  779. package/vendor/libgit2/fuzzers/corpora/commit_graph/c716ba47f810c238fe7bda1fbdc7b1ccc34e9848 +1 -0
  780. package/vendor/libgit2/fuzzers/corpora/commit_graph/c85b2fa4421302e2fa333a9e33d59a882aa04f4f +0 -0
  781. package/vendor/libgit2/fuzzers/corpora/commit_graph/c871d135f2d3117b326688355bc0fa6f26d56cd6 +0 -0
  782. package/vendor/libgit2/fuzzers/corpora/commit_graph/c915b02265a27d185a8b028305f082ddb3ebd704 +0 -0
  783. package/vendor/libgit2/fuzzers/corpora/commit_graph/c952d38b3e642db4795d7f954b85f4f6d2a041aa +0 -0
  784. package/vendor/libgit2/fuzzers/corpora/commit_graph/c98ee52065736c4172f6ee0c31977bf1b560d685 +0 -0
  785. package/vendor/libgit2/fuzzers/corpora/commit_graph/c99b183a2cd0dd8a4c1a141cc6eebb0311501fa5 +1 -0
  786. package/vendor/libgit2/fuzzers/corpora/commit_graph/ca0cd26baff2f2c0759e619800ebbe7314d2bb95 +0 -0
  787. package/vendor/libgit2/fuzzers/corpora/commit_graph/ca3e0d745c35d7cceb0f6e3f8a709eb658b7e5a8 +0 -0
  788. package/vendor/libgit2/fuzzers/corpora/commit_graph/cac667320e99e93a796bb89842de4675735eb4a4 +0 -0
  789. package/vendor/libgit2/fuzzers/corpora/commit_graph/cb41b00e9db33a07e27b3ee05d3bbecaf853b963 +0 -0
  790. package/vendor/libgit2/fuzzers/corpora/commit_graph/cbdbd3f320eee627097778f15b9fb2c1dc2bd15f +0 -0
  791. package/vendor/libgit2/fuzzers/corpora/commit_graph/cc7f114000c83abb2ab17f0deab6dcfc2acde7f5 +0 -0
  792. package/vendor/libgit2/fuzzers/corpora/commit_graph/cc9bb93a6b7a1362a15f04898845dbe1447ec382 +0 -0
  793. package/vendor/libgit2/fuzzers/corpora/commit_graph/cce7355f826bbcf3955394596d358abc7df6fe6f +0 -0
  794. package/vendor/libgit2/fuzzers/corpora/commit_graph/cceff2878a558166fb5bf2a0354c1be31dcc4e21 +0 -0
  795. package/vendor/libgit2/fuzzers/corpora/commit_graph/cd96909f3ded7aa54bb2ffd2f2f47f8acc6f99e2 +0 -0
  796. package/vendor/libgit2/fuzzers/corpora/commit_graph/cee9f69d7d1a227833fba127a529ea2a10341da3 +0 -0
  797. package/vendor/libgit2/fuzzers/corpora/commit_graph/d064f27a3109afde629165432f78f389da73ff07 +0 -0
  798. package/vendor/libgit2/fuzzers/corpora/commit_graph/d07e3094f02b0c0e3bab370684c2d8c5634224d5 +0 -0
  799. package/vendor/libgit2/fuzzers/corpora/commit_graph/d0ba3413d5706de17de64824d78233d48c6efbec +0 -0
  800. package/vendor/libgit2/fuzzers/corpora/commit_graph/d136511364a74973b009f2be9b021d4122f71a6c +0 -0
  801. package/vendor/libgit2/fuzzers/corpora/commit_graph/d1d215c40bcc8dd4ce02b0c0621e90b183b40b3e +0 -0
  802. package/vendor/libgit2/fuzzers/corpora/commit_graph/d1e35b137b2027b61def408f3f3c8cf9bcab274e +0 -0
  803. package/vendor/libgit2/fuzzers/corpora/commit_graph/d349d137e57fb1a60ab8babd20e2acedc7a9042e +0 -0
  804. package/vendor/libgit2/fuzzers/corpora/commit_graph/d3714ec4d3acc6262295b0fc99c6ba699f5bfe65 +0 -0
  805. package/vendor/libgit2/fuzzers/corpora/commit_graph/d419df696512216074f1c6b17ea1dfc81c0e6e20 +0 -0
  806. package/vendor/libgit2/fuzzers/corpora/commit_graph/d49ad4fdafac251ceec32481826228c1698360aa +0 -0
  807. package/vendor/libgit2/fuzzers/corpora/commit_graph/d4f85ba549c87ccaba59971a25da7e07b57c9f4e +0 -0
  808. package/vendor/libgit2/fuzzers/corpora/commit_graph/d51ade0715bcea7decee2a045934599a10c1b07a +0 -0
  809. package/vendor/libgit2/fuzzers/corpora/commit_graph/d5447fb72c97462a3f47c8b2d55deb0afaa225f8 +0 -0
  810. package/vendor/libgit2/fuzzers/corpora/commit_graph/d6611a91c29291872ed2932455cb15ddb3801323 +0 -0
  811. package/vendor/libgit2/fuzzers/corpora/commit_graph/d676f5e7efd6de6f2e1773231479471d2bba7261 +0 -0
  812. package/vendor/libgit2/fuzzers/corpora/commit_graph/d6a21eaa08a957d8f428192e193c2508fca2c218 +0 -0
  813. package/vendor/libgit2/fuzzers/corpora/commit_graph/d778052a29539344a9e3144e262e68df9628ebde +0 -0
  814. package/vendor/libgit2/fuzzers/corpora/commit_graph/d884f6944adfff7cb41728062bf91cac5cdacfc9 +0 -0
  815. package/vendor/libgit2/fuzzers/corpora/commit_graph/d89aae18d8e320bbae55eaae6a0514d7e005a883 +0 -0
  816. package/vendor/libgit2/fuzzers/corpora/commit_graph/d926fde818c63f7b34f38c9f018bc833bc0bf7e1 +0 -0
  817. package/vendor/libgit2/fuzzers/corpora/commit_graph/d9d542d7c56774143cb6362e5a63739055469349 +0 -0
  818. package/vendor/libgit2/fuzzers/corpora/commit_graph/da99bc9ce5b831f132dfb2eb11b8537e5cccfcd4 +0 -0
  819. package/vendor/libgit2/fuzzers/corpora/commit_graph/dabff2729fa69ab507fb00b7392aee1262056a29 +0 -0
  820. package/vendor/libgit2/fuzzers/corpora/commit_graph/dac4f4b91e33847bcedf7c66ef6e4ad0181e8ad8 +0 -0
  821. package/vendor/libgit2/fuzzers/corpora/commit_graph/db10ff6d01c7a66aa1823b9f99193590ddce99c6 +0 -0
  822. package/vendor/libgit2/fuzzers/corpora/commit_graph/dbbda2208fa688a5275dda0d304630db01ca081d +0 -0
  823. package/vendor/libgit2/fuzzers/corpora/commit_graph/dc47c5037be68a2747ff8a9fa450e1078a5ac5a5 +0 -0
  824. package/vendor/libgit2/fuzzers/corpora/commit_graph/dc760f136b123e38677aec72853e3365f08010fc +0 -0
  825. package/vendor/libgit2/fuzzers/corpora/commit_graph/dca41b901bf1612d4197e6a450366a00ac036ec3 +0 -0
  826. package/vendor/libgit2/fuzzers/corpora/commit_graph/dca62f21fce50d1c8c51b82e0d7eeedc6746e652 +0 -0
  827. package/vendor/libgit2/fuzzers/corpora/commit_graph/dcc7e6c444f95b10d634b1137413824e2cd68f62 +0 -0
  828. package/vendor/libgit2/fuzzers/corpora/commit_graph/dcf4b6addda69040f792c9b860ade2af0b77a14c +0 -0
  829. package/vendor/libgit2/fuzzers/corpora/commit_graph/dd6178166ac1eed82d132fea491bcda0d953227c +0 -0
  830. package/vendor/libgit2/fuzzers/corpora/commit_graph/ddbd5d3074323ccd7cd70bf5de5a2f30de977d99 +0 -0
  831. package/vendor/libgit2/fuzzers/corpora/commit_graph/ddd8ec5632bf1b8153d03a4537d3d76517c497d5 +0 -0
  832. package/vendor/libgit2/fuzzers/corpora/commit_graph/de7a56f36e10d7b9ff43160b1cea3e76b24386d1 +0 -0
  833. package/vendor/libgit2/fuzzers/corpora/commit_graph/defa60aa46ea5a47c09b6962b4e4296ef1bcad92 +0 -0
  834. package/vendor/libgit2/fuzzers/corpora/commit_graph/e0ae419425207832518d66c0ef35d11cbdc20361 +0 -0
  835. package/vendor/libgit2/fuzzers/corpora/commit_graph/e0f519accbf15bc57a1bf1d7cc46d2a0b07a67f5 +0 -0
  836. package/vendor/libgit2/fuzzers/corpora/commit_graph/e128eff8ca7572d9bb0bfc84f64d79c52afc2c67 +0 -0
  837. package/vendor/libgit2/fuzzers/corpora/commit_graph/e17fdc21ae03243bd1d31bb6301b4187cab6fe47 +0 -0
  838. package/vendor/libgit2/fuzzers/corpora/commit_graph/e340ace35a2db7f89d6aa21cc1300766a74be4e1 +0 -0
  839. package/vendor/libgit2/fuzzers/corpora/commit_graph/e36dfc11bcaab1e42df13924a2d7da024684db2e +0 -0
  840. package/vendor/libgit2/fuzzers/corpora/commit_graph/e39e0c87ac5ce0b78c89ae2df84226baba666372 +0 -0
  841. package/vendor/libgit2/fuzzers/corpora/commit_graph/e46b4666c6bfcd6f589ec3617a48cce9c968e833 +0 -0
  842. package/vendor/libgit2/fuzzers/corpora/commit_graph/e57219555e11f9221d3166d5029ed2ad92300608 +0 -0
  843. package/vendor/libgit2/fuzzers/corpora/commit_graph/e58ce590c2454e7ebe18e0a31a943b0b754fbd13 +0 -0
  844. package/vendor/libgit2/fuzzers/corpora/commit_graph/e595f8fef5c8014cb0867978c6580301078ca0d9 +0 -0
  845. package/vendor/libgit2/fuzzers/corpora/commit_graph/e5b76398f60628e879328d7009b9fa89feea14cb +0 -0
  846. package/vendor/libgit2/fuzzers/corpora/commit_graph/e5cec0217eea93b18a59d76b0aed6b46b13fa6a9 +0 -0
  847. package/vendor/libgit2/fuzzers/corpora/commit_graph/e637b4e0b47d0d6cd870502e6a2d6a53bf917f73 +0 -0
  848. package/vendor/libgit2/fuzzers/corpora/commit_graph/e7a6cb6e5a1552837fdbee9025fc48a9373f8564 +0 -0
  849. package/vendor/libgit2/fuzzers/corpora/commit_graph/e7f57c48016e1180c9af95acd34470881f10bd06 +0 -0
  850. package/vendor/libgit2/fuzzers/corpora/commit_graph/e8253c668bfe37df5c5ada3226860cee74fb33a2 +0 -0
  851. package/vendor/libgit2/fuzzers/corpora/commit_graph/e8f9981443c34ece02bca3c66130f3429d7b3375 +0 -0
  852. package/vendor/libgit2/fuzzers/corpora/commit_graph/e91ed5416bbcd1b03803197b99c08f42c9869139 +0 -0
  853. package/vendor/libgit2/fuzzers/corpora/commit_graph/e94201cfa88df7b198abd3abae9007a6780b52a7 +0 -0
  854. package/vendor/libgit2/fuzzers/corpora/commit_graph/e967bbd6a0d251ae62c9c38b784271d707f792c0 +0 -0
  855. package/vendor/libgit2/fuzzers/corpora/commit_graph/ea01737ceed783b3e0f66d9d0c409cb496c1d526 +0 -0
  856. package/vendor/libgit2/fuzzers/corpora/commit_graph/ea40f7879a58d1e52a46404c761f76a949e14a31 +0 -0
  857. package/vendor/libgit2/fuzzers/corpora/commit_graph/ea5ad04a54f95963baea1f47845847626e08dd55 +0 -0
  858. package/vendor/libgit2/fuzzers/corpora/commit_graph/ea608a401f54b0ca70e42b897f0c8ce6efdbc0ef +0 -0
  859. package/vendor/libgit2/fuzzers/corpora/commit_graph/eb8700d6b3728e6e70c2a0fe504543771639f2b6 +0 -0
  860. package/vendor/libgit2/fuzzers/corpora/commit_graph/ec1f271b04c322353865f4819153d46df7def873 +0 -0
  861. package/vendor/libgit2/fuzzers/corpora/commit_graph/ee215536e7f0cfbd07b53dd65c5af9a604a01830 +0 -0
  862. package/vendor/libgit2/fuzzers/corpora/commit_graph/ee4d4393d7d79b755f85ef5bf8f6e3d743bfa258 +0 -0
  863. package/vendor/libgit2/fuzzers/corpora/commit_graph/ee8099331b2c392e7e036ffcd4a9b36ec2c2082d +0 -0
  864. package/vendor/libgit2/fuzzers/corpora/commit_graph/eede9da76db25513f8347f972e170102831de91a +0 -0
  865. package/vendor/libgit2/fuzzers/corpora/commit_graph/ef707cdeaa9548b6c820f769c1d8ad607b3c4514 +0 -0
  866. package/vendor/libgit2/fuzzers/corpora/commit_graph/ef98609d8196dc158365dfcbbc47e3d1699c50c2 +0 -0
  867. package/vendor/libgit2/fuzzers/corpora/commit_graph/efa38b4269f978f3714b44b501831bea678244e0 +0 -0
  868. package/vendor/libgit2/fuzzers/corpora/commit_graph/efba428e29811d233720ccaaf41966a309312a29 +0 -0
  869. package/vendor/libgit2/fuzzers/corpora/commit_graph/efd514f056d8d83498b4724249c4623560e0390d +0 -0
  870. package/vendor/libgit2/fuzzers/corpora/commit_graph/f00e449ba67ef15e7f29df1e6948c28155d72baa +0 -0
  871. package/vendor/libgit2/fuzzers/corpora/commit_graph/f0a83929d588466051dced6eae0c387db307d646 +0 -0
  872. package/vendor/libgit2/fuzzers/corpora/commit_graph/f0e53b72e5d69467e7c014474028ea734f4fcb26 +0 -0
  873. package/vendor/libgit2/fuzzers/corpora/commit_graph/f186265b3f10f4383f4174e9fb74f0a0cdfa3fca +0 -0
  874. package/vendor/libgit2/fuzzers/corpora/commit_graph/f18932fcce5a9db5d6c8f59d622eabc25e255e12 +0 -0
  875. package/vendor/libgit2/fuzzers/corpora/commit_graph/f2ea163bddb95d67597e2a747779ebf4651cb2a9 +0 -0
  876. package/vendor/libgit2/fuzzers/corpora/commit_graph/f2f7d48a6d86143ecb4969808d634163576065b1 +0 -0
  877. package/vendor/libgit2/fuzzers/corpora/commit_graph/f34a833faf2b0dcbae8aaad142c76c7c7e534e99 +0 -0
  878. package/vendor/libgit2/fuzzers/corpora/commit_graph/f5c044ce01645c069334698fb8c4750e44835912 +0 -0
  879. package/vendor/libgit2/fuzzers/corpora/commit_graph/f680112645c2502f0612e9d017bbb50cb28affbf +0 -0
  880. package/vendor/libgit2/fuzzers/corpora/commit_graph/f6b778d1b34415a7715905f54968c8b6eb057912 +0 -0
  881. package/vendor/libgit2/fuzzers/corpora/commit_graph/f6ca6a62dc885c6b2a4b40c4aa1a7cb8118e30bb +0 -0
  882. package/vendor/libgit2/fuzzers/corpora/commit_graph/f733a8770c23fde182d2fef7e0d96e67244274d5 +0 -0
  883. package/vendor/libgit2/fuzzers/corpora/commit_graph/f8529ddf17d4505c0932c3d40abe33cbfd8c6f22 +0 -0
  884. package/vendor/libgit2/fuzzers/corpora/commit_graph/f96f8419a3fc3719ae86d64e1147e7b7f66a2470 +0 -0
  885. package/vendor/libgit2/fuzzers/corpora/commit_graph/fae241a6c87af37781a3b49e534b7ddb6636eda8 +0 -0
  886. package/vendor/libgit2/fuzzers/corpora/commit_graph/faf8817a04b77c6a976ab0a3d1e905f79bb7f799 +0 -0
  887. package/vendor/libgit2/fuzzers/corpora/commit_graph/fb3e769019fb25d384d4be9d38e4cbce00a6adbc +0 -0
  888. package/vendor/libgit2/fuzzers/corpora/commit_graph/fb9b4b2a46f1c65076340a7bd03b076eb101b760 +0 -0
  889. package/vendor/libgit2/fuzzers/corpora/commit_graph/fca9b0a398832c9ba02cdc811f625b97d5beb18e +0 -0
  890. package/vendor/libgit2/fuzzers/corpora/commit_graph/fcb1b42c706e61245d5e86f708be777ae63f2772 +0 -0
  891. package/vendor/libgit2/fuzzers/corpora/commit_graph/fd6c463e7c30b0e51198c0d1ebbea25f20145e3f +0 -0
  892. package/vendor/libgit2/fuzzers/corpora/commit_graph/fdcbaa49097ad120c6d7709b29d5b65b8cf8e719 +0 -0
  893. package/vendor/libgit2/fuzzers/corpora/commit_graph/fe46775b28a2923b8770b44381552a8a1560d875 +0 -0
  894. package/vendor/libgit2/fuzzers/corpora/commit_graph/ff04441135ef3308fec2687cf688069c6df8aa31 +0 -0
  895. package/vendor/libgit2/fuzzers/corpora/midx/037cbbe0dc03807dd9d9e8629f1712d7df34ee18 +0 -0
  896. package/vendor/libgit2/fuzzers/corpora/midx/039ee34fef8f323ed618a10abc0109df123d0cb5 +0 -0
  897. package/vendor/libgit2/fuzzers/corpora/midx/054ee2c82bdb6a170106eb5d35f21bde2119d584 +1 -0
  898. package/vendor/libgit2/fuzzers/corpora/midx/055ca4cbc961ebf5fd5c922b4f73880d3fbfe39d +0 -0
  899. package/vendor/libgit2/fuzzers/corpora/midx/05c4e5eb1b97bc9b6973921fcb30d4c5e2eb79e4 +0 -0
  900. package/vendor/libgit2/fuzzers/corpora/midx/0672eeda541a191cfc68d521a3c7ac0aac4057a6 +0 -0
  901. package/vendor/libgit2/fuzzers/corpora/midx/06a58d1bd5562a668ebf01ef297fd774e0e587a6 +0 -0
  902. package/vendor/libgit2/fuzzers/corpora/midx/06bf7c2461ae1049030f31b83ae76babfcc20c83 +0 -0
  903. package/vendor/libgit2/fuzzers/corpora/midx/06c2db67ea65758d971346bfd6beaa61ed12f22c +0 -0
  904. package/vendor/libgit2/fuzzers/corpora/midx/07f88eefaf12609b7370fe78b82be2955f1b41fd +0 -0
  905. package/vendor/libgit2/fuzzers/corpora/midx/08495c5f3828a56c167de870d385c46ffdce03c5 +0 -0
  906. package/vendor/libgit2/fuzzers/corpora/midx/08ec8594e5b35fb9e8e0726584f720154f0b2b5d +0 -0
  907. package/vendor/libgit2/fuzzers/corpora/midx/0903e378a493c596298074d6bff8de7f9ac25aa7 +1 -0
  908. package/vendor/libgit2/fuzzers/corpora/midx/09144a846f90f894049ef8a0ed0cc7ab4588dc6c +1 -0
  909. package/vendor/libgit2/fuzzers/corpora/midx/09b40dd618373bfe4d3f2838f686a70f645e640b +0 -0
  910. package/vendor/libgit2/fuzzers/corpora/midx/0a00ef44d234c18d365ec41724dbf4f21b09d0c5 +0 -0
  911. package/vendor/libgit2/fuzzers/corpora/midx/0a94e9f4a9b8cf56d52a9e3e7f2fa9a0a5c80d30 +0 -0
  912. package/vendor/libgit2/fuzzers/corpora/midx/0b35a123104b7872a7f15a710a23ef3594ace04d +0 -0
  913. package/vendor/libgit2/fuzzers/corpora/midx/0c3d7e6be32c014ea873440b0f095961d391af1a +0 -0
  914. package/vendor/libgit2/fuzzers/corpora/midx/0c65de477b89afc312a7e89cde06f8a17f65bd54 +0 -0
  915. package/vendor/libgit2/fuzzers/corpora/midx/0c81d0f368e979d2a0eb4598cbf1c9283936ba0c +0 -0
  916. package/vendor/libgit2/fuzzers/corpora/midx/0c95a44ae995070a5279a2991c36de2251081460 +0 -0
  917. package/vendor/libgit2/fuzzers/corpora/midx/0de38e2cb13167df7d5a882570633596f64bc4f4 +0 -0
  918. package/vendor/libgit2/fuzzers/corpora/midx/0de96aa193045315457ade63c2614610c503db9e +0 -0
  919. package/vendor/libgit2/fuzzers/corpora/midx/0e02deca2b16d71f8637933bd56dc8592ed9fdff +1 -0
  920. package/vendor/libgit2/fuzzers/corpora/midx/0e44fc9176fe2c1bae4209369da5bc057f54b2d2 +0 -0
  921. package/vendor/libgit2/fuzzers/corpora/midx/0f6c5fc9b6a68835364bbef8937560ee5a481938 +1 -0
  922. package/vendor/libgit2/fuzzers/corpora/midx/10d542d5c7da060a5f0664e21478a0d598e29844 +0 -0
  923. package/vendor/libgit2/fuzzers/corpora/midx/118735f7786ae6b4c2f6b36314ab1f2cafe9c3c8 +1 -0
  924. package/vendor/libgit2/fuzzers/corpora/midx/119b58eb353aa344264005016297fb911510ea0d +0 -0
  925. package/vendor/libgit2/fuzzers/corpora/midx/127626832c30d6d94bb29384c0fde7ac6bca75ec +0 -0
  926. package/vendor/libgit2/fuzzers/corpora/midx/1284f1a162588d4de87ca17149474644a0863b27 +0 -0
  927. package/vendor/libgit2/fuzzers/corpora/midx/1458599f19f1a967c787562bf8ec3e67677da9c8 +0 -0
  928. package/vendor/libgit2/fuzzers/corpora/midx/14ba6c1ddd05b22c6f2eae5f894721cd3efcbb16 +0 -0
  929. package/vendor/libgit2/fuzzers/corpora/midx/158cdc0a5aa005f167a8588d0beed9eee4aa36f2 +0 -0
  930. package/vendor/libgit2/fuzzers/corpora/midx/15dafc6fa800327f694b5eb2fc4ebf007be9c117 +0 -0
  931. package/vendor/libgit2/fuzzers/corpora/midx/1613ed4b2e909871f8897fd6354ff80a4ac12f87 +0 -0
  932. package/vendor/libgit2/fuzzers/corpora/midx/16daf4cb967bb47cf4566e9be7d96d3125bd2e12 +0 -0
  933. package/vendor/libgit2/fuzzers/corpora/midx/177783dce78efee878f6d6020fd87ab107bb11a1 +0 -0
  934. package/vendor/libgit2/fuzzers/corpora/midx/17a5090400a1fedc45070e4b530a26f320a89097 +0 -0
  935. package/vendor/libgit2/fuzzers/corpora/midx/17dea5cfa498f4d54384289a1daed0d15a85e7cc +0 -0
  936. package/vendor/libgit2/fuzzers/corpora/midx/17e76ae5b54316679981113f52c27edc87dbcdea +0 -0
  937. package/vendor/libgit2/fuzzers/corpora/midx/191ed5e9334693c53fc843f692dbc3c2c63e8241 +0 -0
  938. package/vendor/libgit2/fuzzers/corpora/midx/196a0ba4edb5bbfd66c1cda669abf0496573cf0e +0 -0
  939. package/vendor/libgit2/fuzzers/corpora/midx/19742b6cee79fa5bf9b27dcbe367c82d0a399904 +0 -0
  940. package/vendor/libgit2/fuzzers/corpora/midx/1a21d7581d3b0a8d67934d48e91d45bd818836e8 +0 -0
  941. package/vendor/libgit2/fuzzers/corpora/midx/1b2f96c5d75c7ca09b1012be4e6c3a7b248ed924 +0 -0
  942. package/vendor/libgit2/fuzzers/corpora/midx/1b604ff0683d0e23dc7945431f6514ba30d6ca0d +0 -0
  943. package/vendor/libgit2/fuzzers/corpora/midx/1b771dd5bd3ae2b1c42c4efe6c896c83b88a4f91 +0 -0
  944. package/vendor/libgit2/fuzzers/corpora/midx/1b793a4ee73fa8bf423da70fca5f39ef32a8d288 +0 -0
  945. package/vendor/libgit2/fuzzers/corpora/midx/1c9599ce00978780519272be279f508c402e3268 +1 -0
  946. package/vendor/libgit2/fuzzers/corpora/midx/1cc0068f9f63b12dc8fdd38f9ebfb96c42664e95 +0 -0
  947. package/vendor/libgit2/fuzzers/corpora/midx/1de6e1f5579da6e5c40f4ee23ac62e29e4f90541 +0 -0
  948. package/vendor/libgit2/fuzzers/corpora/midx/1eec93083260ebfab5f4c6d13119cf27c374b7e9 +0 -0
  949. package/vendor/libgit2/fuzzers/corpora/midx/1f0f574addd363d1fed131289f301c5c033aaa8f +0 -0
  950. package/vendor/libgit2/fuzzers/corpora/midx/1f3e85cffdb545c1ba7c8bbe1ca18ec13e341038 +0 -0
  951. package/vendor/libgit2/fuzzers/corpora/midx/1f6a66a92d5f083a73a82280a0a1ae0800e56ae5 +0 -0
  952. package/vendor/libgit2/fuzzers/corpora/midx/208e422322052efcdaeb1a09bbf06c5f476b8efc +0 -0
  953. package/vendor/libgit2/fuzzers/corpora/midx/22d75b2c3937957b14eded621b638283ce7fe1fe +0 -0
  954. package/vendor/libgit2/fuzzers/corpora/midx/22f90ff68166a409acf8f89bf60a31ad2c64ab37 +0 -0
  955. package/vendor/libgit2/fuzzers/corpora/midx/236ebad449d432b039d6ace1f250ef1fa2aa364d +0 -0
  956. package/vendor/libgit2/fuzzers/corpora/midx/252a4e4bf7fb21792ec2f305fd88fa7c9168505f +0 -0
  957. package/vendor/libgit2/fuzzers/corpora/midx/259e1faf7b7f12250062d36ded1193a9dbcae0f5 +0 -0
  958. package/vendor/libgit2/fuzzers/corpora/midx/25ad3dfb655ab4c853d0d277872310d9579c8e83 +0 -0
  959. package/vendor/libgit2/fuzzers/corpora/midx/26210f5b8fdbf81b312feea48659ec6e2e083c0b +0 -0
  960. package/vendor/libgit2/fuzzers/corpora/midx/263a2a0915be36d8cb2bc30774e37e0344262347 +0 -0
  961. package/vendor/libgit2/fuzzers/corpora/midx/2679bfbc2f4f7c10a304245da4e156e235377b63 +0 -0
  962. package/vendor/libgit2/fuzzers/corpora/midx/270b7b567a63dd94bb2a90448bbbc2e2bbc4a261 +0 -0
  963. package/vendor/libgit2/fuzzers/corpora/midx/271cd5c5e254a293d115588ee130040ef26b59e8 +0 -0
  964. package/vendor/libgit2/fuzzers/corpora/midx/27839a8035b48f8c19ab073808a03a95b6a90cc3 +0 -0
  965. package/vendor/libgit2/fuzzers/corpora/midx/2810c385c9285cbdb65bcdab5175999fe547cbad +0 -0
  966. package/vendor/libgit2/fuzzers/corpora/midx/28afaf4ab4b092ccf987661e58009f96126bba63 +0 -0
  967. package/vendor/libgit2/fuzzers/corpora/midx/29f842e86a891cff9f0b44c8aec19f7e23a47000 +0 -0
  968. package/vendor/libgit2/fuzzers/corpora/midx/2aa2549f617f19402d1feac61d4ca1af3545cc8a +0 -0
  969. package/vendor/libgit2/fuzzers/corpora/midx/2b73c2902eda6da41321493601003b29c3445713 +0 -0
  970. package/vendor/libgit2/fuzzers/corpora/midx/2bcec1274c5e7b2d7a581d851c016ef5b553fabe +0 -0
  971. package/vendor/libgit2/fuzzers/corpora/midx/2dd9a328b6d4e29e42684347be5c4b7cd7dc1a66 +0 -0
  972. package/vendor/libgit2/fuzzers/corpora/midx/2ddc17ee7ee89bb7dbc673328d5f3e55c76e686e +0 -0
  973. package/vendor/libgit2/fuzzers/corpora/midx/2f71d5e99dc93618ed99fdb7c244a8f5e4a7eb4a +0 -0
  974. package/vendor/libgit2/fuzzers/corpora/midx/2f7cd0154d71a83e7b104670b2a77fbd285ffde2 +0 -0
  975. package/vendor/libgit2/fuzzers/corpora/midx/2f9d40ef790f5213234e95d123dce942b2d1d389 +0 -0
  976. package/vendor/libgit2/fuzzers/corpora/midx/31577bacbca7017308d2a0c9ebfdd4fce513bbe4 +0 -0
  977. package/vendor/libgit2/fuzzers/corpora/midx/3278f1bab88b80597d0066812d49f8bd3c7b1dcf +0 -0
  978. package/vendor/libgit2/fuzzers/corpora/midx/328160cae6235605ff70951a2f6ac669ba7bb397 +0 -0
  979. package/vendor/libgit2/fuzzers/corpora/midx/337ed1bf91701a4c8926840259077e55938c6efc +0 -0
  980. package/vendor/libgit2/fuzzers/corpora/midx/33a97d83ff7a774797b1751ea4bffbb4a22c58d9 +0 -0
  981. package/vendor/libgit2/fuzzers/corpora/midx/341021da9516401cf364ed2b7dfdda346db04f2f +0 -0
  982. package/vendor/libgit2/fuzzers/corpora/midx/341773a439cdecc58f55fb205ac584cd93ffe0f2 +1 -0
  983. package/vendor/libgit2/fuzzers/corpora/midx/366091157510e40bca08fc2102b9018ccf4697de +0 -0
  984. package/vendor/libgit2/fuzzers/corpora/midx/37096157e2f9f2ec8e0b97b21d335bd653f3edbd +0 -0
  985. package/vendor/libgit2/fuzzers/corpora/midx/373a74b8613d09babcb567f91047e7b556a8de90 +0 -0
  986. package/vendor/libgit2/fuzzers/corpora/midx/3748b07ee7bec7bdd202ee14222cefca182417d1 +0 -0
  987. package/vendor/libgit2/fuzzers/corpora/midx/38b7906b9f956dca01dc92d0a901388ec1cbc8b1 +0 -0
  988. package/vendor/libgit2/fuzzers/corpora/midx/38ddf3424559f1a6e7687eff8469a358184b833b +1 -0
  989. package/vendor/libgit2/fuzzers/corpora/midx/38e31d0a7dcc3835ce1a4afeeda8446fb3d7ed73 +0 -0
  990. package/vendor/libgit2/fuzzers/corpora/midx/3955ec4497b226391ef9eb40f38af6dee4fa26b7 +0 -0
  991. package/vendor/libgit2/fuzzers/corpora/midx/3b6b424342133feb0f587f22bcd8f21595c004e5 +0 -0
  992. package/vendor/libgit2/fuzzers/corpora/midx/3bb71f41200e0ebf8d19532e7d6e384c48aa2d03 +0 -0
  993. package/vendor/libgit2/fuzzers/corpora/midx/3c5a6063797aba9ffe5ea9903bbfcf87193652d3 +0 -0
  994. package/vendor/libgit2/fuzzers/corpora/midx/3dfb9927d959f2462f6944a32d080b60a265abfe +0 -0
  995. package/vendor/libgit2/fuzzers/corpora/midx/3e19242a63ec92a0c3f7138ebbc31bfe7cbd40cd +0 -0
  996. package/vendor/libgit2/fuzzers/corpora/midx/3ec53ce4ea1f41f040a3c2beed929572af95dd43 +0 -0
  997. package/vendor/libgit2/fuzzers/corpora/midx/3f0762fdf49a58c0d8fd6683964a85caddee391b +0 -0
  998. package/vendor/libgit2/fuzzers/corpora/midx/3f71ae863c4e9bac98e49a554b8ec4d78b17492d +1 -0
  999. package/vendor/libgit2/fuzzers/corpora/midx/3f9df30bfb66a28fbe6f1951ef7ae4ca9f19fdf2 +0 -0
  1000. package/vendor/libgit2/fuzzers/corpora/midx/3fabb14670c008c22094c1d7cd7b1e23b4c48b3d +0 -0
  1001. package/vendor/libgit2/fuzzers/corpora/midx/408fba9c66c5d1deb31e4c69f1dd0677844dbc1b +0 -0
  1002. package/vendor/libgit2/fuzzers/corpora/midx/40ca8645081087e950ad61bccf8d43450366356e +0 -0
  1003. package/vendor/libgit2/fuzzers/corpora/midx/412faec949b9d04498de939561664ee559a583a7 +1 -0
  1004. package/vendor/libgit2/fuzzers/corpora/midx/4148bd5336f89e73b2a5416c67d491c0ec4a2b7d +0 -0
  1005. package/vendor/libgit2/fuzzers/corpora/midx/41933e61fa20fbe2b190f9ae7ceae4a4b1220021 +0 -0
  1006. package/vendor/libgit2/fuzzers/corpora/midx/423d90f3fc7ddc146095ec5a4b4f455aa876b69b +0 -0
  1007. package/vendor/libgit2/fuzzers/corpora/midx/42a6c52249aa12cfef1db1bf302a483a01c972f3 +0 -0
  1008. package/vendor/libgit2/fuzzers/corpora/midx/42a82726f0e70da9b87b6c52bc1b3415576025f2 +0 -0
  1009. package/vendor/libgit2/fuzzers/corpora/midx/4458e19f99e38c61ad9792b0b3bf8ac79f8236f1 +1 -0
  1010. package/vendor/libgit2/fuzzers/corpora/midx/44a4411a8d6ed67ee3ea61d91d2afafe89295b0f +0 -0
  1011. package/vendor/libgit2/fuzzers/corpora/midx/44e04754d1b6c0c045e05509dd7033d19a926b10 +0 -0
  1012. package/vendor/libgit2/fuzzers/corpora/midx/45259e9f0a2cc7739a94eccaafb37c1570f73884 +0 -0
  1013. package/vendor/libgit2/fuzzers/corpora/midx/46c0d7e952200cabc08b9cd776a9f6759f4208c3 +0 -0
  1014. package/vendor/libgit2/fuzzers/corpora/midx/46deac8631633ea3c32005124e20a2bc2bbabade +0 -0
  1015. package/vendor/libgit2/fuzzers/corpora/midx/46e7edf6e9d6cbcdabde3b48f1c4efd93be40348 +0 -0
  1016. package/vendor/libgit2/fuzzers/corpora/midx/46fe9556c28c94f7321baa2519a3cbeabbd54d09 +0 -0
  1017. package/vendor/libgit2/fuzzers/corpora/midx/49223681729e73b48b26a2262e4a66b2ba00e176 +0 -0
  1018. package/vendor/libgit2/fuzzers/corpora/midx/499e61b689f6cc7e4efb0631684739c2a6f97c7d +0 -0
  1019. package/vendor/libgit2/fuzzers/corpora/midx/4a06ad8c4d717bd048a7a1315a3d609d70f0162d +0 -0
  1020. package/vendor/libgit2/fuzzers/corpora/midx/4adb7d4791a4c6370478dff2eb987d715554bf09 +0 -0
  1021. package/vendor/libgit2/fuzzers/corpora/midx/4b01c479cdc9b750a31d5e7ac5004309222d218d +0 -0
  1022. package/vendor/libgit2/fuzzers/corpora/midx/4bce7460a6becba6d26984bb438d7d3aa4e4fc56 +0 -0
  1023. package/vendor/libgit2/fuzzers/corpora/midx/4cc96483b6800dda296f00887b12a35154115090 +0 -0
  1024. package/vendor/libgit2/fuzzers/corpora/midx/4f3aa59bae0619c9a06b631d9cb7767591810ab0 +0 -0
  1025. package/vendor/libgit2/fuzzers/corpora/midx/501840d963cedd2945018de59e0202444d7ebf4b +0 -0
  1026. package/vendor/libgit2/fuzzers/corpora/midx/50479958c030d1addceb1ca8c27f24447e555e65 +0 -0
  1027. package/vendor/libgit2/fuzzers/corpora/midx/508ba8ef164a809f739834a39d690e700101a7a1 +0 -0
  1028. package/vendor/libgit2/fuzzers/corpora/midx/521d345313812e54bc6c944485e19dbb39a87768 +0 -0
  1029. package/vendor/libgit2/fuzzers/corpora/midx/5369d74ac157f85b597c1b28bbd6768105e9327b +0 -0
  1030. package/vendor/libgit2/fuzzers/corpora/midx/53997b0146ff49bfe464be203b130a67ea93fd26 +0 -0
  1031. package/vendor/libgit2/fuzzers/corpora/midx/560ea8bd7d11b00e0d21631b6d9ec7e63f0a5286 +0 -0
  1032. package/vendor/libgit2/fuzzers/corpora/midx/5682ebc6878e247ce9bc636d34ada6ad338fcaf0 +0 -0
  1033. package/vendor/libgit2/fuzzers/corpora/midx/5762abb5234edd913754b69e1ab03274c711ee68 +0 -0
  1034. package/vendor/libgit2/fuzzers/corpora/midx/579406f055070559bda3c6120107feb3e637c481 +2 -0
  1035. package/vendor/libgit2/fuzzers/corpora/midx/5837d16af4a9c1f2616467cc4aa9ec8836e05c58 +0 -0
  1036. package/vendor/libgit2/fuzzers/corpora/midx/58901e865fe20b9fa136cca4b253d3ae73c2b78e +0 -0
  1037. package/vendor/libgit2/fuzzers/corpora/midx/58a87098a14572e46b53c87340083f999d8fcfc2 +0 -0
  1038. package/vendor/libgit2/fuzzers/corpora/midx/59ae139a21448e0eb7371ddc6ef57f0c9dfe9c85 +0 -0
  1039. package/vendor/libgit2/fuzzers/corpora/midx/5a7e81419f895168c555ac9b4e75a1ad4f04b34a +0 -0
  1040. package/vendor/libgit2/fuzzers/corpora/midx/5b848c1f56a150d64020e9b0bb398a286dca4096 +0 -0
  1041. package/vendor/libgit2/fuzzers/corpora/midx/5bd311bd846336149b2815666052fdb7e8bf2ea6 +0 -0
  1042. package/vendor/libgit2/fuzzers/corpora/midx/5ce77eb98473a2e01d04909939edf7aabef5762c +0 -0
  1043. package/vendor/libgit2/fuzzers/corpora/midx/5e5cd5819811507ac69bd8abad27433ccd6b7521 +0 -0
  1044. package/vendor/libgit2/fuzzers/corpora/midx/5ea114ae3dbb140364000c416152b0f32ce3de23 +0 -0
  1045. package/vendor/libgit2/fuzzers/corpora/midx/5f181bb0a79603c84534a9b8e37ecdeb1d2aeeb5 +1 -0
  1046. package/vendor/libgit2/fuzzers/corpora/midx/5f428ce1169e28353cedb8be3e2f6edd0ef354e4 +0 -0
  1047. package/vendor/libgit2/fuzzers/corpora/midx/5f9bc7729dc331e3c4d8e52df0688abad6d4aee8 +0 -0
  1048. package/vendor/libgit2/fuzzers/corpora/midx/619527e1d650cd1c26e9bc61e424c9fdc04b17b9 +0 -0
  1049. package/vendor/libgit2/fuzzers/corpora/midx/625d3676de25188865e05db2a3933c38508406fc +0 -0
  1050. package/vendor/libgit2/fuzzers/corpora/midx/6368569cfde7fbe369a0ee4695fa4d5a7d7887a6 +0 -0
  1051. package/vendor/libgit2/fuzzers/corpora/midx/6388fe4d630064ea1ea33aa85381d9c82e328e95 +0 -0
  1052. package/vendor/libgit2/fuzzers/corpora/midx/64cff4e110f0bcb3ea833c1afda6e27a57dac0bc +0 -0
  1053. package/vendor/libgit2/fuzzers/corpora/midx/66449b87ce47b681c6326f337bebf03366a0ee99 +0 -0
  1054. package/vendor/libgit2/fuzzers/corpora/midx/66ae3584497a1823a955c33e5bc53f7434c13e49 +0 -0
  1055. package/vendor/libgit2/fuzzers/corpora/midx/66e238a6ad70fb30c82171ff1b73ea71b4379355 +0 -0
  1056. package/vendor/libgit2/fuzzers/corpora/midx/66f345dc060ac5a1fe8bcf0828102d072deb1111 +0 -0
  1057. package/vendor/libgit2/fuzzers/corpora/midx/66f839146ef46deed25fd2cd169a4f1a2a3533fa +0 -0
  1058. package/vendor/libgit2/fuzzers/corpora/midx/671720ee2b7ba45920b41b8016eb5206b88168ee +0 -0
  1059. package/vendor/libgit2/fuzzers/corpora/midx/679c7140ad60ed32aeb7ee464499dd52b0fc212f +0 -0
  1060. package/vendor/libgit2/fuzzers/corpora/midx/67c5e6ce7bb47cefe54d749374f3288a2c915936 +0 -0
  1061. package/vendor/libgit2/fuzzers/corpora/midx/69592399b45f2f83e0cc823c5f0e3865ac3fa611 +0 -0
  1062. package/vendor/libgit2/fuzzers/corpora/midx/6abf97508f0ed808b7fe0d9bb2439981153badd2 +0 -0
  1063. package/vendor/libgit2/fuzzers/corpora/midx/6b2dfb51b35b78680cb02ff54e06f0c983c04866 +0 -0
  1064. package/vendor/libgit2/fuzzers/corpora/midx/6bbf6ab605fedd41ed6c7581ec9f87c75403e9c3 +0 -0
  1065. package/vendor/libgit2/fuzzers/corpora/midx/6c0656104902e1323f3a19c46df7cffecae94f1c +0 -0
  1066. package/vendor/libgit2/fuzzers/corpora/midx/6c0ce8006b3ebd8202e61fe5f4cc2285248bd1ba +0 -0
  1067. package/vendor/libgit2/fuzzers/corpora/midx/6cc635e6dd4e430ed4fb68a9f5add38aa02ae14f +0 -0
  1068. package/vendor/libgit2/fuzzers/corpora/midx/6d1b281d7bdd9887e53505fd5d040731db18ba48 +0 -0
  1069. package/vendor/libgit2/fuzzers/corpora/midx/6d5c35f9d87253b2fbe383bfde3775a9f737da12 +1 -0
  1070. package/vendor/libgit2/fuzzers/corpora/midx/6d95355018cadedd97bed65c45a44a7ff6f065f7 +0 -0
  1071. package/vendor/libgit2/fuzzers/corpora/midx/6dd70e887ab94db3327d9aaa0335914a1f4986b7 +0 -0
  1072. package/vendor/libgit2/fuzzers/corpora/midx/6ed51a953a8b6671de417406e340d8d0a211aa12 +0 -0
  1073. package/vendor/libgit2/fuzzers/corpora/midx/6f911f19652a4457c93ef92b594bc1dc2ca900f8 +0 -0
  1074. package/vendor/libgit2/fuzzers/corpora/midx/6fa76cbaeb3cf0417c7a372132167bcd737db66b +0 -0
  1075. package/vendor/libgit2/fuzzers/corpora/midx/71f66d3f7da318d69681a22ebbceb1a2bb290658 +0 -0
  1076. package/vendor/libgit2/fuzzers/corpora/midx/7227a2dc335af13e7225536c49969f46a800750a +1 -0
  1077. package/vendor/libgit2/fuzzers/corpora/midx/72fce27bbccf582f2023f5e168853251e576592a +0 -0
  1078. package/vendor/libgit2/fuzzers/corpora/midx/738e5543ae005a6de85dfcd960eb8e3e6faa8947 +0 -0
  1079. package/vendor/libgit2/fuzzers/corpora/midx/739d9c8868445202305d0a4e5766df1c68932688 +0 -0
  1080. package/vendor/libgit2/fuzzers/corpora/midx/7438b07314917c84d348e7d9629e3712190c7da7 +0 -0
  1081. package/vendor/libgit2/fuzzers/corpora/midx/7490f00d660f5d8dedfa606cca241bd07be86a4f +0 -0
  1082. package/vendor/libgit2/fuzzers/corpora/midx/75c64e8b61af41b28516c2c0fe902362d55a24f3 +0 -0
  1083. package/vendor/libgit2/fuzzers/corpora/midx/75e94b59a41e7f086b6f7ab3bca801251744ae3d +0 -0
  1084. package/vendor/libgit2/fuzzers/corpora/midx/7612ceb3a989f97a7bb19f57c7f9c61366953642 +0 -0
  1085. package/vendor/libgit2/fuzzers/corpora/midx/76ac2328e1c979bca648b4082b8bfe6f2e2e73ea +0 -0
  1086. package/vendor/libgit2/fuzzers/corpora/midx/76f296039ba4d666c9147ad234d43b55050808e3 +0 -0
  1087. package/vendor/libgit2/fuzzers/corpora/midx/777f248eea53e3dd2b726e1e0de5eeda43b6d323 +1 -0
  1088. package/vendor/libgit2/fuzzers/corpora/midx/792fcd0075bd8031a98a68ce04d6a9f23feef7b4 +0 -0
  1089. package/vendor/libgit2/fuzzers/corpora/midx/7a936c3e69013b2c71dcb72f0eccd99c93367533 +0 -0
  1090. package/vendor/libgit2/fuzzers/corpora/midx/7b30d0cd07108f2e45ce1a3fab3f971b25dcf5cd +0 -0
  1091. package/vendor/libgit2/fuzzers/corpora/midx/7b87f367b5fa3bf29bae19031814e5d0120a15ba +0 -0
  1092. package/vendor/libgit2/fuzzers/corpora/midx/7c12e4bca60858eae13c47a66e54cd9e96a50909 +0 -0
  1093. package/vendor/libgit2/fuzzers/corpora/midx/7c59f95e649b3be6344f4f835afd0d9a894c1144 +0 -0
  1094. package/vendor/libgit2/fuzzers/corpora/midx/7dcb6494c3614a8690dc496309f90e0f23634c37 +0 -0
  1095. package/vendor/libgit2/fuzzers/corpora/midx/7e64b86827ea98f0a4eb54736c460a59b0c30420 +0 -0
  1096. package/vendor/libgit2/fuzzers/corpora/midx/8125d9eaa09b3d2283fea73223866cb36877c4a4 +0 -0
  1097. package/vendor/libgit2/fuzzers/corpora/midx/81c7fc514fa9a07b5b87b94cf9c00df2b1325a74 +0 -0
  1098. package/vendor/libgit2/fuzzers/corpora/midx/81f9df0493052d980ca13918637bc6ce565615b3 +0 -0
  1099. package/vendor/libgit2/fuzzers/corpora/midx/82556b9345134dd689cb9d0d08d3dc8459454181 +0 -0
  1100. package/vendor/libgit2/fuzzers/corpora/midx/82d35a7a6ffb333b02d0d597e88ffdd481237a8b +0 -0
  1101. package/vendor/libgit2/fuzzers/corpora/midx/82e931da372a2c69c0f10274342173c2be091f1c +0 -0
  1102. package/vendor/libgit2/fuzzers/corpora/midx/83e2b53f22afe8f7ee21d30fae2619ad0d6a71e3 +0 -0
  1103. package/vendor/libgit2/fuzzers/corpora/midx/83f4d70189dbc0d3aaf5025977c53d4d34fc5893 +0 -0
  1104. package/vendor/libgit2/fuzzers/corpora/midx/85e17cceba7850be893afdc04c8233bea1ef6e72 +0 -0
  1105. package/vendor/libgit2/fuzzers/corpora/midx/874d4abdcd7db751eb930928231669afe90589f5 +0 -0
  1106. package/vendor/libgit2/fuzzers/corpora/midx/87894ec663568153d7837f49b80f6d2e99818bd7 +0 -0
  1107. package/vendor/libgit2/fuzzers/corpora/midx/88052b76108b4ede342f3dd87bb6835b2f71ea83 +0 -0
  1108. package/vendor/libgit2/fuzzers/corpora/midx/884c54256c0ec2cf1c5fa08a0b3d9c2fea021300 +0 -0
  1109. package/vendor/libgit2/fuzzers/corpora/midx/8858f36373db5fd6b805a768af55c21019c664b2 +0 -0
  1110. package/vendor/libgit2/fuzzers/corpora/midx/88fe8b6767c1bd32308208b22e0b00697e5eddf7 +0 -0
  1111. package/vendor/libgit2/fuzzers/corpora/midx/898cac1610f2f2fb67eb092cd053f0006c3070e3 +0 -0
  1112. package/vendor/libgit2/fuzzers/corpora/midx/89d0f5573ae1b524e7e9bdb1fb54ea4ce99e3ef0 +0 -0
  1113. package/vendor/libgit2/fuzzers/corpora/midx/8a55300e400efd56be5e12258ebf575c4f3b55ed +0 -0
  1114. package/vendor/libgit2/fuzzers/corpora/midx/8bf7b464aaa2c2b536aa1d76a1297c19155f5603 +1 -0
  1115. package/vendor/libgit2/fuzzers/corpora/midx/8c05e8ef26302a79c89670ad3aa4e8d0bc921923 +0 -0
  1116. package/vendor/libgit2/fuzzers/corpora/midx/8c15f5a268ded9663197d66e8d7d4098e0ae9bf5 +0 -0
  1117. package/vendor/libgit2/fuzzers/corpora/midx/8ca9e85a9e628f0016ea4e6413945b3830730c24 +0 -0
  1118. package/vendor/libgit2/fuzzers/corpora/midx/8e74126a239927900a8f655c813a4b230191a5ba +0 -0
  1119. package/vendor/libgit2/fuzzers/corpora/midx/8ee63e791c004427dd033b468b2ed7446ee6e2e0 +0 -0
  1120. package/vendor/libgit2/fuzzers/corpora/midx/9028113aa78b649e13ff259027a4e450d469e5da +0 -0
  1121. package/vendor/libgit2/fuzzers/corpora/midx/90db2115b8262ebecbefbe8f0a07c451e39bca07 +0 -0
  1122. package/vendor/libgit2/fuzzers/corpora/midx/923f28a4d1917e20ee0736b90695c2123c0c987c +0 -0
  1123. package/vendor/libgit2/fuzzers/corpora/midx/92a5c74e0506d65d1a12686496452870367b169a +0 -0
  1124. package/vendor/libgit2/fuzzers/corpora/midx/92dcf94eb2f92b4e1a232eab3b3f808f4236f118 +0 -0
  1125. package/vendor/libgit2/fuzzers/corpora/midx/9414502aedbef5e307897683625418dd4ac575ac +0 -0
  1126. package/vendor/libgit2/fuzzers/corpora/midx/9422e25bec5fec9f84603a85673b54b1a5e77a40 +0 -0
  1127. package/vendor/libgit2/fuzzers/corpora/midx/943754e865888063e0684aec838222522390d43e +0 -0
  1128. package/vendor/libgit2/fuzzers/corpora/midx/943e067806ae069afbc029ea7a612410e5395687 +0 -0
  1129. package/vendor/libgit2/fuzzers/corpora/midx/9547646cc1a5d260df099b00ea7ee2b95567aee1 +0 -0
  1130. package/vendor/libgit2/fuzzers/corpora/midx/968f7027ec9fbf75a519069ea5189e85a81448b2 +0 -0
  1131. package/vendor/libgit2/fuzzers/corpora/midx/9691046a2f8b31319a6fdfde0506c9a72aed839a +0 -0
  1132. package/vendor/libgit2/fuzzers/corpora/midx/96a8cd5c33986cc26cc00eb2de627149f5259e33 +0 -0
  1133. package/vendor/libgit2/fuzzers/corpora/midx/972466bbc33d2d7d7c21be21c7594b51e78675c5 +0 -0
  1134. package/vendor/libgit2/fuzzers/corpora/midx/980f21a3609762154030f7cf0fe98a892d20f220 +0 -0
  1135. package/vendor/libgit2/fuzzers/corpora/midx/9865f12189ef977418d8410fceebb6830c74d820 +0 -0
  1136. package/vendor/libgit2/fuzzers/corpora/midx/98a1096d609545083878d5126743bbc5985786a9 +0 -0
  1137. package/vendor/libgit2/fuzzers/corpora/midx/98c3b6bbf5dc19bc4aad894087277a36d7c79669 +0 -0
  1138. package/vendor/libgit2/fuzzers/corpora/midx/98f9cd44400b592f809596004125267acf848435 +0 -0
  1139. package/vendor/libgit2/fuzzers/corpora/midx/9a97260f04ecfe0918499ede95cf4bcb3dbc2b51 +0 -0
  1140. package/vendor/libgit2/fuzzers/corpora/midx/9ba0dba2ca4405d04113086309882dac6182e6b8 +0 -0
  1141. package/vendor/libgit2/fuzzers/corpora/midx/9c329ee4b02f2d26ee1a399c873b0452aedca3c0 +0 -0
  1142. package/vendor/libgit2/fuzzers/corpora/midx/9e8e638837e202d83ff606a22dd0e310150fa260 +0 -0
  1143. package/vendor/libgit2/fuzzers/corpora/midx/9ee03d17e070df72547e423a412da0b6a60ad565 +0 -0
  1144. package/vendor/libgit2/fuzzers/corpora/midx/9fad6bd2b07d65e607039bb2bcda0816410cf983 +0 -0
  1145. package/vendor/libgit2/fuzzers/corpora/midx/9fcbd21f4dd194a623d832422384a1519742f0bb +0 -0
  1146. package/vendor/libgit2/fuzzers/corpora/midx/a019fb7f17aa36a9743c530e1f11d5613b8b1158 +0 -0
  1147. package/vendor/libgit2/fuzzers/corpora/midx/a0b8c6ef20198377b19f59e41f08f4cf2107f460 +0 -0
  1148. package/vendor/libgit2/fuzzers/corpora/midx/a14079a3e8cbc2112da4fa747ef20cdfd580e068 +0 -0
  1149. package/vendor/libgit2/fuzzers/corpora/midx/a14d61ba0c609665d37e6c6da929cb53c5b70545 +0 -0
  1150. package/vendor/libgit2/fuzzers/corpora/midx/a15cf2a13e408cb76af0091a0c286af7ffce58e1 +0 -0
  1151. package/vendor/libgit2/fuzzers/corpora/midx/a1ddedbdd05eac99b8b31322635771cd9c999f8a +0 -0
  1152. package/vendor/libgit2/fuzzers/corpora/midx/a235661c3f8b0174a1658e9c435a69577c49256a +0 -0
  1153. package/vendor/libgit2/fuzzers/corpora/midx/a261397a4db5ac196c72d73ba6999e9fd4fc5c1f +0 -0
  1154. package/vendor/libgit2/fuzzers/corpora/midx/a3a803fd6a56d31269717983bbdf2fceebb626c3 +0 -0
  1155. package/vendor/libgit2/fuzzers/corpora/midx/a3d5b0b21d977e8f94d401250de1bbd4fa1d0ee0 +0 -0
  1156. package/vendor/libgit2/fuzzers/corpora/midx/a42f2900ca519bd15b8d6f507449d1a07de2ef75 +0 -0
  1157. package/vendor/libgit2/fuzzers/corpora/midx/a4884775b414eaf9643224564f3be405519cf99a +0 -0
  1158. package/vendor/libgit2/fuzzers/corpora/midx/a48da63e9a5709c24cb66f598a7a964cbc7ccfc7 +0 -0
  1159. package/vendor/libgit2/fuzzers/corpora/midx/a5789fd83dff18079ea7ba41c999f57bee4db41b +0 -0
  1160. package/vendor/libgit2/fuzzers/corpora/midx/a5bb1c60191742df4a91afb622e9b22a2f0b7765 +0 -0
  1161. package/vendor/libgit2/fuzzers/corpora/midx/a5fdfade1cef5e7e494dd6e3791bca5a663d7012 +0 -0
  1162. package/vendor/libgit2/fuzzers/corpora/midx/a6c66f79f5aaf2c1a26ff16754fe1a8c22627e0c +0 -0
  1163. package/vendor/libgit2/fuzzers/corpora/midx/a7478a05a1fc04a9e035be5593bfb6a281ec460f +0 -0
  1164. package/vendor/libgit2/fuzzers/corpora/midx/a75193dd600661d2b417d4e29b23faa7d721c214 +0 -0
  1165. package/vendor/libgit2/fuzzers/corpora/midx/a7ccae74c641ffcdda0042e6c04438d5b32c4cf3 +0 -0
  1166. package/vendor/libgit2/fuzzers/corpora/midx/a94aa5881abdea5374775b8155812121673f89c3 +0 -0
  1167. package/vendor/libgit2/fuzzers/corpora/midx/a98d794f0f24be7a36917826121fc14a24120893 +1 -0
  1168. package/vendor/libgit2/fuzzers/corpora/midx/a993077e321bc4e1831bb5a8ac7511d90d32ae27 +0 -0
  1169. package/vendor/libgit2/fuzzers/corpora/midx/aa3bc67656945e43f9342d3aaaef247584d96cfa +0 -0
  1170. package/vendor/libgit2/fuzzers/corpora/midx/ab111c4d72e3d6796e3d7391e9f35b4e6fefc04a +0 -0
  1171. package/vendor/libgit2/fuzzers/corpora/midx/ab248c42f77952d5d17d6f5203adaa5925c05c64 +0 -0
  1172. package/vendor/libgit2/fuzzers/corpora/midx/ab8451fadf805e5087837d9f6d91ef7eb6fa5edb +0 -0
  1173. package/vendor/libgit2/fuzzers/corpora/midx/abbee3b37aff879b1cef47390001b89b0f6ebc0a +0 -0
  1174. package/vendor/libgit2/fuzzers/corpora/midx/ac15b23f03af8be6dbbb3bbb8d3877a1f9e074a3 +0 -0
  1175. package/vendor/libgit2/fuzzers/corpora/midx/ac47bda12269c06d773f5f3c6517f78513a54a08 +0 -0
  1176. package/vendor/libgit2/fuzzers/corpora/midx/ad1f4fb57f481a00a9bb231517a3155ef0d0877f +0 -0
  1177. package/vendor/libgit2/fuzzers/corpora/midx/ad25e7ffabedd94833d2529886af4d459529ec9d +0 -0
  1178. package/vendor/libgit2/fuzzers/corpora/midx/ad796ebb423f58187806c4a7ee7b787394353ce6 +0 -0
  1179. package/vendor/libgit2/fuzzers/corpora/midx/adc83b19e793491b1c6ea0fd8b46cd9f32e592fc +1 -0
  1180. package/vendor/libgit2/fuzzers/corpora/midx/ae14b80f26f5cee2d85d5154c2cef1eefafa8cc9 +0 -0
  1181. package/vendor/libgit2/fuzzers/corpora/midx/ae3ba892de543801b3c1dfbce370eb2c80a6fb27 +0 -0
  1182. package/vendor/libgit2/fuzzers/corpora/midx/aecc0c7f08810803da234e26e7c6fa7a9f1c0593 +0 -0
  1183. package/vendor/libgit2/fuzzers/corpora/midx/aed2e85d5d39d25e738a34f30a722680bde30368 +0 -0
  1184. package/vendor/libgit2/fuzzers/corpora/midx/b00a75de1987c6f549bf73a63e8f23a2de6641b3 +0 -0
  1185. package/vendor/libgit2/fuzzers/corpora/midx/b02e9f951ce9f10a8eb80f1fc61cd3d2832dd7f4 +0 -0
  1186. package/vendor/libgit2/fuzzers/corpora/midx/b04aff8ab2e133d45bf44565bd4bf9e33b795a97 +0 -0
  1187. package/vendor/libgit2/fuzzers/corpora/midx/b12097ed83db761f7bb79411a59e2474de9b1199 +0 -0
  1188. package/vendor/libgit2/fuzzers/corpora/midx/b1beb2f462b4cb30a09d534b9f49f2e08d76363c +1 -0
  1189. package/vendor/libgit2/fuzzers/corpora/midx/b201733b6165f4544578bd6aad3f55aeafd9a194 +0 -0
  1190. package/vendor/libgit2/fuzzers/corpora/midx/b2699f25c21ffe453dcce20e31b3093e0f9b2abf +1 -0
  1191. package/vendor/libgit2/fuzzers/corpora/midx/b34a5760a1036f909e0243cd857fcef65e40d752 +0 -0
  1192. package/vendor/libgit2/fuzzers/corpora/midx/b3fdacd639073cc1954bcb1f31046d094e2d2296 +0 -0
  1193. package/vendor/libgit2/fuzzers/corpora/midx/b40a6dbe32c8e6a9b777331e7fd97f0d94ceca1c +0 -0
  1194. package/vendor/libgit2/fuzzers/corpora/midx/b52ff2010f22ae6758cde5d529fd19de2a7d5fc5 +0 -0
  1195. package/vendor/libgit2/fuzzers/corpora/midx/b53a7a2afd9dfc55c328b4e06a36882c53126e95 +0 -0
  1196. package/vendor/libgit2/fuzzers/corpora/midx/b548ae8a77a62b7f375b8b48e7184ceed59bc8f8 +0 -0
  1197. package/vendor/libgit2/fuzzers/corpora/midx/b66eaf0b689495cc7c194ab1fca7d36ae9da9758 +0 -0
  1198. package/vendor/libgit2/fuzzers/corpora/midx/b680bf23da22b8b7e77d847169fe9b6968d79e8b +1 -0
  1199. package/vendor/libgit2/fuzzers/corpora/midx/b70d6e7d230fb1393b8f665adcd5658cad7059fe +0 -0
  1200. package/vendor/libgit2/fuzzers/corpora/midx/b87a59f78adb3ef18b0176a8e7fe7e90c2ab4ef7 +0 -0
  1201. package/vendor/libgit2/fuzzers/corpora/midx/b88c5233090e859e923acbdfa9b168f95d7fc14b +0 -0
  1202. package/vendor/libgit2/fuzzers/corpora/midx/ba1923ea69eec8fe765e8d1222eccb928ca6c3c2 +0 -0
  1203. package/vendor/libgit2/fuzzers/corpora/midx/ba4d695c1eb02c702bd99a3db27838c7ba617d79 +0 -0
  1204. package/vendor/libgit2/fuzzers/corpora/midx/ba7e4f999dc22d223c7f75db36646bfa05848572 +0 -0
  1205. package/vendor/libgit2/fuzzers/corpora/midx/bc5f0cd338d1d17a230378390aa810bc7b103cda +0 -0
  1206. package/vendor/libgit2/fuzzers/corpora/midx/bcbb4cf10018a177dd9a6c642d887e0de3d8e522 +0 -0
  1207. package/vendor/libgit2/fuzzers/corpora/midx/bcfeb114df6d5c6e0c85cbe1081631bc321ff65b +0 -0
  1208. package/vendor/libgit2/fuzzers/corpora/midx/bd582237a9293e2a53d8222722a69e7d215822bf +0 -0
  1209. package/vendor/libgit2/fuzzers/corpora/midx/bdc83a415da40f74825379203538a2e4d27cffa7 +0 -0
  1210. package/vendor/libgit2/fuzzers/corpora/midx/be160536594c87dc07554a71c7d24cd1d718aecc +0 -0
  1211. package/vendor/libgit2/fuzzers/corpora/midx/be8f3c744a23f67fb316a39609ca11ddac025b58 +0 -0
  1212. package/vendor/libgit2/fuzzers/corpora/midx/bf873b027b48f3fd7b727473c832486d99ddb196 +0 -0
  1213. package/vendor/libgit2/fuzzers/corpora/midx/bf8e20ef6b79131ef9bab8c9c1bb7dbecbead6a5 +0 -0
  1214. package/vendor/libgit2/fuzzers/corpora/midx/bf90507b8f7c7eebb89edeaabf6a432d86e7df4a +0 -0
  1215. package/vendor/libgit2/fuzzers/corpora/midx/bfa7a5ce666899fb3e2a7216dbf59886da672658 +0 -0
  1216. package/vendor/libgit2/fuzzers/corpora/midx/bfeaa454d8db33efabba88f146bee6c803369ba0 +0 -0
  1217. package/vendor/libgit2/fuzzers/corpora/midx/c0388910e8d88dcd2e65848ba2cef465caa6b258 +0 -0
  1218. package/vendor/libgit2/fuzzers/corpora/midx/c0db293f75bb44668bcbb79286ebed87df141a85 +0 -0
  1219. package/vendor/libgit2/fuzzers/corpora/midx/c1234da1441255244aba15ecad2a4fa7fd47115e +0 -0
  1220. package/vendor/libgit2/fuzzers/corpora/midx/c2206ac3c289a759ee0e9d0d31cc336f0802f7bc +1 -0
  1221. package/vendor/libgit2/fuzzers/corpora/midx/c22340ab36e5cff088a58272f63cf69e54a1a9f4 +0 -0
  1222. package/vendor/libgit2/fuzzers/corpora/midx/c242c9336c4c22b316e0e56d616b2d45b3318ca4 +0 -0
  1223. package/vendor/libgit2/fuzzers/corpora/midx/c25a51d8dfaf58d5b609729bb156a80e3b0d892f +0 -0
  1224. package/vendor/libgit2/fuzzers/corpora/midx/c3419450240d06982b0d828911b188a903355216 +0 -0
  1225. package/vendor/libgit2/fuzzers/corpora/midx/c36ea7651f76ae817d8d60cae580e47638741372 +0 -0
  1226. package/vendor/libgit2/fuzzers/corpora/midx/c42300c021bfd35702f564e917839503922cbe9a +0 -0
  1227. package/vendor/libgit2/fuzzers/corpora/midx/c45d82ddade99ef857b563e435f2efe89e58b0be +0 -0
  1228. package/vendor/libgit2/fuzzers/corpora/midx/c4d1e9187de1e13353b3beb3c1ab16dd62cda571 +0 -0
  1229. package/vendor/libgit2/fuzzers/corpora/midx/c4e98278a25011c54734494d4534a97489cf4c24 +0 -0
  1230. package/vendor/libgit2/fuzzers/corpora/midx/c4f996ab08f56ce2e9fec7a0428ded510dd6a04a +0 -0
  1231. package/vendor/libgit2/fuzzers/corpora/midx/c544850a7325e7226583895204f99de730525803 +0 -0
  1232. package/vendor/libgit2/fuzzers/corpora/midx/c56629528d5bebdb94f85522caf0f36bbcb19106 +0 -0
  1233. package/vendor/libgit2/fuzzers/corpora/midx/c5c75b58883ccf41b20b140740e2ce763c6086cd +0 -0
  1234. package/vendor/libgit2/fuzzers/corpora/midx/c62da85dca0d4dfb1d7af5d0520eb74993a1e3b0 +0 -0
  1235. package/vendor/libgit2/fuzzers/corpora/midx/c6379aaaecd282b8ed6d0b4291d0d9fdc763160a +0 -0
  1236. package/vendor/libgit2/fuzzers/corpora/midx/c6431921184e3edf4fd3e47384c69654cdac0189 +0 -0
  1237. package/vendor/libgit2/fuzzers/corpora/midx/c6f2ca17c6d313a35676cbacd094eb40fd74b23e +0 -0
  1238. package/vendor/libgit2/fuzzers/corpora/midx/c83e04d58e04fccac37b9dd313eab72011fe8ea1 +0 -0
  1239. package/vendor/libgit2/fuzzers/corpora/midx/c88dc350b98a5c5ae0503683318c1f30443906a8 +1 -0
  1240. package/vendor/libgit2/fuzzers/corpora/midx/c89ee2e9e30a474b5f9532ec61d7aad78377baa0 +0 -0
  1241. package/vendor/libgit2/fuzzers/corpora/midx/c921be4abeb44d1ff07f76f632a16e86526bc4be +0 -0
  1242. package/vendor/libgit2/fuzzers/corpora/midx/c98bdc0431aaece1e8a721aff0ea511cfb8062a6 +0 -0
  1243. package/vendor/libgit2/fuzzers/corpora/midx/c9c456fd3e35a942ef4ab756e04e725cf1f71167 +0 -0
  1244. package/vendor/libgit2/fuzzers/corpora/midx/cd1f1a31b79af77e1e764102942ba7a79dcd24cf +0 -0
  1245. package/vendor/libgit2/fuzzers/corpora/midx/cd57e5904254c2278e9ecf28ed7414d7aed8eef1 +0 -0
  1246. package/vendor/libgit2/fuzzers/corpora/midx/cd665cdc2bd6a26eb68c9af6d1728a7d4f6eb309 +0 -0
  1247. package/vendor/libgit2/fuzzers/corpora/midx/ce72111c4314b22c4c7824bc8ea340ebd6d3fa84 +0 -0
  1248. package/vendor/libgit2/fuzzers/corpora/midx/ceacc7ace2f4be962b0db2eeeea3fe6a00ca9dd6 +0 -0
  1249. package/vendor/libgit2/fuzzers/corpora/midx/cf40769d8b4fcbac1b10ced2e0c3c1294f23fcdd +0 -0
  1250. package/vendor/libgit2/fuzzers/corpora/midx/d120111a77a3e3d1d504a04bbfc5f53effa14eb0 +0 -0
  1251. package/vendor/libgit2/fuzzers/corpora/midx/d1ce81240a32aec2de1b0d779aa29a62c36f291f +0 -0
  1252. package/vendor/libgit2/fuzzers/corpora/midx/d21869b290cd2b448e7b8103dced97e62fefffcc +0 -0
  1253. package/vendor/libgit2/fuzzers/corpora/midx/d2bffcd01e87ce9860007b244ff1e79ecd3d4d0f +0 -0
  1254. package/vendor/libgit2/fuzzers/corpora/midx/d2d668b6e28fca83da5146021879c2b006406fa4 +0 -0
  1255. package/vendor/libgit2/fuzzers/corpora/midx/d37abe0d299b8ad1e90f5b7af302c24f411a7ed1 +0 -0
  1256. package/vendor/libgit2/fuzzers/corpora/midx/d3d689a12ab3808313d5ba0044e8c67ecb4337e4 +0 -0
  1257. package/vendor/libgit2/fuzzers/corpora/midx/d48eb559213edf05aa2850a14194885ae2086ba4 +0 -0
  1258. package/vendor/libgit2/fuzzers/corpora/midx/d490f365693e49ebdeaf658b3f549311a399c6a8 +0 -0
  1259. package/vendor/libgit2/fuzzers/corpora/midx/d54821b652a8611c486bedd8645081d3a4b1c8d1 +0 -0
  1260. package/vendor/libgit2/fuzzers/corpora/midx/d5586a91f9a879e8a67ec7b09a48038909918ad9 +0 -0
  1261. package/vendor/libgit2/fuzzers/corpora/midx/d696362920a2fad8e280293e8d1c92b18c87e4ae +0 -0
  1262. package/vendor/libgit2/fuzzers/corpora/midx/d6b546a2b1bc1c8f80028e4be10c45a06014b32d +0 -0
  1263. package/vendor/libgit2/fuzzers/corpora/midx/d7f04cbca92b2122e0f437ed4dd8fd1782d40f7f +0 -0
  1264. package/vendor/libgit2/fuzzers/corpora/midx/d81944a0c1ed56d11129533d9a3d0d038113d53d +0 -0
  1265. package/vendor/libgit2/fuzzers/corpora/midx/d8524e83ea63c9b365c2e93af75a8100a08b1b69 +0 -0
  1266. package/vendor/libgit2/fuzzers/corpora/midx/d8d9a2d06763cf6feb433cef92a80ef14baab31a +0 -0
  1267. package/vendor/libgit2/fuzzers/corpora/midx/d917fbd641cc40786246387456a636899d56b5a6 +0 -0
  1268. package/vendor/libgit2/fuzzers/corpora/midx/d99f9ec8b504029457185ac03ea8ba21c2611737 +0 -0
  1269. package/vendor/libgit2/fuzzers/corpora/midx/d9c9c90c1bbc55beb81875838e9067c473d0fa92 +0 -0
  1270. package/vendor/libgit2/fuzzers/corpora/midx/d9e908317a6ef08a7528924672836a550d34cb5f +0 -0
  1271. package/vendor/libgit2/fuzzers/corpora/midx/d9ef71deb57fa6f40e027be2c84fa37d288e1cc5 +0 -0
  1272. package/vendor/libgit2/fuzzers/corpora/midx/da8841b9d04382d62d4aeb3fde4dc78466f31543 +0 -0
  1273. package/vendor/libgit2/fuzzers/corpora/midx/db3fbb74c9c9c4185f91eca85f14c3d2c3d9f487 +0 -0
  1274. package/vendor/libgit2/fuzzers/corpora/midx/db7a31de22258d4dc17d44a27d9340946e9c9ee9 +0 -0
  1275. package/vendor/libgit2/fuzzers/corpora/midx/dbbe57fc653930b4ff43f168565ba84ef25f60c2 +0 -0
  1276. package/vendor/libgit2/fuzzers/corpora/midx/dbe74c0d9e7b62c1fd87d5e3ea73ee04f0337154 +0 -0
  1277. package/vendor/libgit2/fuzzers/corpora/midx/dbebf36a6b91568ac059142c3ca3211226da12a8 +0 -0
  1278. package/vendor/libgit2/fuzzers/corpora/midx/ddacbb379242b31a00d62fdff5777dffc1e899c2 +0 -0
  1279. package/vendor/libgit2/fuzzers/corpora/midx/decd2cd9cef352610ac9e5cc461df1829543f9f0 +3 -0
  1280. package/vendor/libgit2/fuzzers/corpora/midx/deeae69363db06972798b296a0c5c99e02cb2b4c +0 -0
  1281. package/vendor/libgit2/fuzzers/corpora/midx/e03e105323e6e7b2af90ad876b5c547af90d8f6b +0 -0
  1282. package/vendor/libgit2/fuzzers/corpora/midx/e3133215848c9cde428338c9d51424c8a81b96f5 +0 -0
  1283. package/vendor/libgit2/fuzzers/corpora/midx/e32a25f0347b0e95d4bea16c27a1f374847683bd +0 -0
  1284. package/vendor/libgit2/fuzzers/corpora/midx/e45ce97522194abcdd7ff9beb931e20b86c97a79 +0 -0
  1285. package/vendor/libgit2/fuzzers/corpora/midx/e484023d50fc1036e46a437053b965c527700d42 +0 -0
  1286. package/vendor/libgit2/fuzzers/corpora/midx/e4e60e77fe3a050940d0afcc7dbab7ef06b04ba3 +0 -0
  1287. package/vendor/libgit2/fuzzers/corpora/midx/e51629784092d9cf811ea1bd894297f062ed7ec4 +0 -0
  1288. package/vendor/libgit2/fuzzers/corpora/midx/e5a7e837029178b3fb6a26d77ea4574ffeaa219d +0 -0
  1289. package/vendor/libgit2/fuzzers/corpora/midx/e5c616e9efdd9c80181f9210d0e3a81c08fe9b4d +0 -0
  1290. package/vendor/libgit2/fuzzers/corpora/midx/e5e6e84e2c7770537c744bcfdbe8303afe39ef92 +0 -0
  1291. package/vendor/libgit2/fuzzers/corpora/midx/e5fb20928feec1ee3114597317edc0e06c413749 +0 -0
  1292. package/vendor/libgit2/fuzzers/corpora/midx/e789319791fe704e5a8ffd7cb570c8d2722ac35f +0 -0
  1293. package/vendor/libgit2/fuzzers/corpora/midx/e9fdb9f08f225b4231f01dda9c7b61e7b78bf7d3 +0 -0
  1294. package/vendor/libgit2/fuzzers/corpora/midx/ea6780324dca9a06db28598dfb590436d846d99f +0 -0
  1295. package/vendor/libgit2/fuzzers/corpora/midx/ea6afcc92b8a6c9e14cc053d351909ad5b0a3fdf +0 -0
  1296. package/vendor/libgit2/fuzzers/corpora/midx/ea8c569029c0cacc4ae75e95b2f4e84abb6867f4 +0 -0
  1297. package/vendor/libgit2/fuzzers/corpora/midx/eb3e80c3ea9cfe9e08b2eef117aaa522a51a619c +0 -0
  1298. package/vendor/libgit2/fuzzers/corpora/midx/ec55b30741fe8fffeec584176c8d20f6a679cfa1 +0 -0
  1299. package/vendor/libgit2/fuzzers/corpora/midx/ed0724a6c3804a3ab20a980b5ca48671689a602f +0 -0
  1300. package/vendor/libgit2/fuzzers/corpora/midx/edeb545d1cf852dc9582fa764010fe844a5e3515 +0 -0
  1301. package/vendor/libgit2/fuzzers/corpora/midx/ee70b920de91f1be6b4448070ee2d1bd9e08286d +0 -0
  1302. package/vendor/libgit2/fuzzers/corpora/midx/ef004af4e947d25b4d1d1dd16502260d4c7a99cd +0 -0
  1303. package/vendor/libgit2/fuzzers/corpora/midx/f009d226503b73aed0f1fd952ef8725433d158be +0 -0
  1304. package/vendor/libgit2/fuzzers/corpora/midx/f0a821dffe21afd357932febaf6e8ee331f53197 +0 -0
  1305. package/vendor/libgit2/fuzzers/corpora/midx/f101a2fe93dfaaed1c596022b4e509cf3a591c8a +0 -0
  1306. package/vendor/libgit2/fuzzers/corpora/midx/f1101f71657385174f8cb920026a761404b4395d +0 -0
  1307. package/vendor/libgit2/fuzzers/corpora/midx/f138c84e42d3cc61a219c4be9db791750f0541c8 +1 -0
  1308. package/vendor/libgit2/fuzzers/corpora/midx/f1da273522bfff4a4971b4ffc31e365f60fdbbfe +0 -0
  1309. package/vendor/libgit2/fuzzers/corpora/midx/f2fe69d30ec47e78a9e92f1423698a52270672b2 +0 -0
  1310. package/vendor/libgit2/fuzzers/corpora/midx/f368bb6f633587a7bb271de7e20695f178c89686 +0 -0
  1311. package/vendor/libgit2/fuzzers/corpora/midx/f38ced5a16edaceb5f527ebc35e7870f42586c90 +0 -0
  1312. package/vendor/libgit2/fuzzers/corpora/midx/f404371362ae68ffb2837ce1766346ebb645d173 +0 -0
  1313. package/vendor/libgit2/fuzzers/corpora/midx/f473b5e1cf51502345f5c1840ec3948d308dd314 +0 -0
  1314. package/vendor/libgit2/fuzzers/corpora/midx/f4ad43d6f913c3be6243dfc439e4b6f5b2e814b9 +0 -0
  1315. package/vendor/libgit2/fuzzers/corpora/midx/f4cde4083a974d755a38bf5ea3820f78b576754a +0 -0
  1316. package/vendor/libgit2/fuzzers/corpora/midx/f5888d0dcacda196d73772aabc18fe2ad6e1dfa2 +0 -0
  1317. package/vendor/libgit2/fuzzers/corpora/midx/f5c3577a62d401f071d5edaa77c54ae98d6a0318 +1 -0
  1318. package/vendor/libgit2/fuzzers/corpora/midx/f5dee0d9da0d6950069ac36b1880090a20f50f3e +0 -0
  1319. package/vendor/libgit2/fuzzers/corpora/midx/f605fff495fef2719585c706c05c350812402a35 +0 -0
  1320. package/vendor/libgit2/fuzzers/corpora/midx/f6fdaf4e77e29c780b9e0b91637777575bebfab4 +0 -0
  1321. package/vendor/libgit2/fuzzers/corpora/midx/f72700bd65fa86c588607ec50d60a9c684c86f43 +0 -0
  1322. package/vendor/libgit2/fuzzers/corpora/midx/f777db12ef18f002febd5af13e2b948c95d964c3 +0 -0
  1323. package/vendor/libgit2/fuzzers/corpora/midx/f777e9274d508e7ac1069e2a04bedc042942491c +0 -0
  1324. package/vendor/libgit2/fuzzers/corpora/midx/f81306f8ceaec3d06d5d34afa9769d15f0d209eb +0 -0
  1325. package/vendor/libgit2/fuzzers/corpora/midx/f84c2b36689f22809d9bda00febab557c381ffa4 +0 -0
  1326. package/vendor/libgit2/fuzzers/corpora/midx/f98168fa74c26b17ad0c3002f2263beb0af7c0ce +0 -0
  1327. package/vendor/libgit2/fuzzers/corpora/midx/fa6759d6a2807bbad83ba21761772c0119122c35 +0 -0
  1328. package/vendor/libgit2/fuzzers/corpora/midx/fa8b927b25a67fa3d60b12c53ac365366cc2b52d +0 -0
  1329. package/vendor/libgit2/fuzzers/corpora/midx/fc5e4b78e59daebed1118389b57a386981f2430e +0 -0
  1330. package/vendor/libgit2/fuzzers/corpora/midx/fdaf408880429153cfcf5d978727cd7b84c3d60e +0 -0
  1331. package/vendor/libgit2/fuzzers/corpora/midx/fe50e7564a28683b24c57f8bcdcb3fbfa61f5c6a +0 -0
  1332. package/vendor/libgit2/fuzzers/corpora/midx/fe64b998872d3ad87df2019173ddc52686841d7d +0 -0
  1333. package/vendor/libgit2/fuzzers/corpora/midx/fec56c7cc86871aaa9c7a947c4084307cac2778d +0 -0
  1334. package/vendor/libgit2/fuzzers/corpora/midx/ff164dfc56dd28709488130dc6dfc17406bf9e9d +0 -0
  1335. package/vendor/libgit2/fuzzers/corpora/midx/ff7035b3c055718728a6025b3cdf55c34c4c744b +0 -0
  1336. package/vendor/libgit2/fuzzers/midx_fuzzer.c +76 -0
  1337. package/vendor/libgit2/git.git-authors +2 -2
  1338. package/vendor/libgit2/include/git2/annotated_commit.h +1 -1
  1339. package/vendor/libgit2/include/git2/blob.h +18 -2
  1340. package/vendor/libgit2/include/git2/branch.h +12 -0
  1341. package/vendor/libgit2/include/git2/cert.h +41 -5
  1342. package/vendor/libgit2/include/git2/config.h +1 -1
  1343. package/vendor/libgit2/include/git2/deprecated.h +102 -8
  1344. package/vendor/libgit2/include/git2/index.h +1 -1
  1345. package/vendor/libgit2/include/git2/patch.h +8 -0
  1346. package/vendor/libgit2/include/git2/refs.h +6 -5
  1347. package/vendor/libgit2/include/git2/remote.h +3 -2
  1348. package/vendor/libgit2/include/git2/repository.h +95 -52
  1349. package/vendor/libgit2/include/git2/revparse.h +5 -5
  1350. package/vendor/libgit2/include/git2/tag.h +12 -0
  1351. package/vendor/libgit2/include/git2/transport.h +1 -1
  1352. package/vendor/libgit2/include/git2/tree.h +0 -14
  1353. package/vendor/libgit2/include/git2/version.h +3 -3
  1354. package/vendor/libgit2/package.json +1 -1
  1355. package/vendor/libgit2/script/thread-sanitizer.supp +26 -0
  1356. package/vendor/libgit2/src/CMakeLists.txt +13 -2
  1357. package/vendor/libgit2/src/alloc.c +21 -8
  1358. package/vendor/libgit2/src/allocators/failalloc.c +92 -0
  1359. package/vendor/libgit2/src/allocators/failalloc.h +23 -0
  1360. package/vendor/libgit2/src/allocators/win32_leakcheck.c +118 -0
  1361. package/vendor/libgit2/src/allocators/{win32_crtdbg.h → win32_leakcheck.h} +3 -3
  1362. package/vendor/libgit2/src/annotated_commit.c +21 -9
  1363. package/vendor/libgit2/src/apply.c +16 -7
  1364. package/vendor/libgit2/src/attr.c +12 -3
  1365. package/vendor/libgit2/src/attr_file.c +8 -5
  1366. package/vendor/libgit2/src/attrcache.c +5 -5
  1367. package/vendor/libgit2/src/blame.c +26 -15
  1368. package/vendor/libgit2/src/blob.c +32 -12
  1369. package/vendor/libgit2/src/branch.c +57 -15
  1370. package/vendor/libgit2/src/buf_text.c +2 -2
  1371. package/vendor/libgit2/src/buffer.c +25 -14
  1372. package/vendor/libgit2/src/buffer.h +2 -2
  1373. package/vendor/libgit2/src/cache.c +3 -3
  1374. package/vendor/libgit2/src/cache.h +7 -7
  1375. package/vendor/libgit2/src/cc-compat.h +1 -1
  1376. package/vendor/libgit2/src/checkout.c +66 -63
  1377. package/vendor/libgit2/src/cherrypick.c +6 -2
  1378. package/vendor/libgit2/src/clone.c +109 -25
  1379. package/vendor/libgit2/src/commit.c +41 -28
  1380. package/vendor/libgit2/src/commit_graph.c +470 -0
  1381. package/vendor/libgit2/src/commit_graph.h +116 -0
  1382. package/vendor/libgit2/src/common.h +4 -2
  1383. package/vendor/libgit2/src/config.c +38 -19
  1384. package/vendor/libgit2/src/config_cache.c +8 -4
  1385. package/vendor/libgit2/src/config_file.c +2 -2
  1386. package/vendor/libgit2/src/config_parse.c +2 -2
  1387. package/vendor/libgit2/src/custom_tls.c +4 -4
  1388. package/vendor/libgit2/src/date.c +2 -1
  1389. package/vendor/libgit2/src/delta.c +1 -1
  1390. package/vendor/libgit2/src/describe.c +7 -4
  1391. package/vendor/libgit2/src/diff.c +11 -8
  1392. package/vendor/libgit2/src/diff_driver.c +2 -2
  1393. package/vendor/libgit2/src/diff_generate.c +45 -15
  1394. package/vendor/libgit2/src/diff_print.c +19 -6
  1395. package/vendor/libgit2/src/diff_stats.c +13 -10
  1396. package/vendor/libgit2/src/diff_tform.c +7 -6
  1397. package/vendor/libgit2/src/errors.c +24 -14
  1398. package/vendor/libgit2/src/features.h.in +1 -1
  1399. package/vendor/libgit2/src/fetch.c +5 -2
  1400. package/vendor/libgit2/src/fetchhead.c +8 -4
  1401. package/vendor/libgit2/src/filebuf.c +9 -7
  1402. package/vendor/libgit2/src/filter.c +31 -25
  1403. package/vendor/libgit2/src/futils.c +5 -5
  1404. package/vendor/libgit2/src/hash/sha1/collisiondetect.c +3 -3
  1405. package/vendor/libgit2/src/hash/sha1/common_crypto.c +3 -3
  1406. package/vendor/libgit2/src/hash/sha1/mbedtls.c +12 -12
  1407. package/vendor/libgit2/src/hash/sha1/openssl.c +3 -3
  1408. package/vendor/libgit2/src/hash/sha1/win32.c +15 -11
  1409. package/vendor/libgit2/src/hash.c +11 -8
  1410. package/vendor/libgit2/src/hashsig.c +20 -9
  1411. package/vendor/libgit2/src/ignore.c +6 -2
  1412. package/vendor/libgit2/src/index.c +109 -72
  1413. package/vendor/libgit2/src/index.h +1 -1
  1414. package/vendor/libgit2/src/indexer.c +50 -32
  1415. package/vendor/libgit2/src/integer.h +77 -0
  1416. package/vendor/libgit2/src/iterator.c +28 -20
  1417. package/vendor/libgit2/src/iterator.h +1 -1
  1418. package/vendor/libgit2/src/{settings.c → libgit2.c} +116 -46
  1419. package/vendor/libgit2/src/libgit2.h +15 -0
  1420. package/vendor/libgit2/src/mailmap.c +19 -10
  1421. package/vendor/libgit2/src/map.h +3 -3
  1422. package/vendor/libgit2/src/merge.c +53 -21
  1423. package/vendor/libgit2/src/merge_driver.c +19 -13
  1424. package/vendor/libgit2/src/merge_file.c +11 -3
  1425. package/vendor/libgit2/src/message.c +3 -1
  1426. package/vendor/libgit2/src/midx.c +477 -0
  1427. package/vendor/libgit2/src/midx.h +94 -0
  1428. package/vendor/libgit2/src/mwindow.c +110 -61
  1429. package/vendor/libgit2/src/mwindow.h +3 -3
  1430. package/vendor/libgit2/src/net.c +15 -4
  1431. package/vendor/libgit2/src/net.h +5 -2
  1432. package/vendor/libgit2/src/netops.c +6 -4
  1433. package/vendor/libgit2/src/netops.h +1 -1
  1434. package/vendor/libgit2/src/notes.c +10 -10
  1435. package/vendor/libgit2/src/object.c +22 -14
  1436. package/vendor/libgit2/src/odb.c +197 -40
  1437. package/vendor/libgit2/src/odb.h +1 -0
  1438. package/vendor/libgit2/src/odb_loose.c +28 -18
  1439. package/vendor/libgit2/src/odb_mempack.c +1 -1
  1440. package/vendor/libgit2/src/odb_pack.c +317 -114
  1441. package/vendor/libgit2/src/oid.c +5 -4
  1442. package/vendor/libgit2/src/pack-objects.c +36 -36
  1443. package/vendor/libgit2/src/pack.c +272 -132
  1444. package/vendor/libgit2/src/pack.h +19 -7
  1445. package/vendor/libgit2/src/patch.c +14 -7
  1446. package/vendor/libgit2/src/patch_generate.c +3 -5
  1447. package/vendor/libgit2/src/patch_parse.c +4 -2
  1448. package/vendor/libgit2/src/path.c +44 -43
  1449. package/vendor/libgit2/src/path.h +0 -2
  1450. package/vendor/libgit2/src/pathspec.c +6 -5
  1451. package/vendor/libgit2/src/pool.c +28 -20
  1452. package/vendor/libgit2/src/pool.h +8 -0
  1453. package/vendor/libgit2/src/posix.c +36 -12
  1454. package/vendor/libgit2/src/posix.h +9 -0
  1455. package/vendor/libgit2/src/reader.c +9 -4
  1456. package/vendor/libgit2/src/rebase.c +26 -18
  1457. package/vendor/libgit2/src/refdb.c +30 -13
  1458. package/vendor/libgit2/src/refdb_fs.c +59 -33
  1459. package/vendor/libgit2/src/reflog.c +19 -14
  1460. package/vendor/libgit2/src/refs.c +92 -44
  1461. package/vendor/libgit2/src/refs.h +1 -2
  1462. package/vendor/libgit2/src/refspec.c +80 -44
  1463. package/vendor/libgit2/src/remote.c +137 -72
  1464. package/vendor/libgit2/src/repository.c +170 -92
  1465. package/vendor/libgit2/src/repository.h +8 -2
  1466. package/vendor/libgit2/src/reset.c +7 -6
  1467. package/vendor/libgit2/src/revert.c +6 -2
  1468. package/vendor/libgit2/src/revparse.c +14 -9
  1469. package/vendor/libgit2/src/revwalk.c +32 -15
  1470. package/vendor/libgit2/src/runtime.c +162 -0
  1471. package/vendor/libgit2/src/runtime.h +62 -0
  1472. package/vendor/libgit2/src/settings.h +11 -0
  1473. package/vendor/libgit2/src/signature.c +6 -5
  1474. package/vendor/libgit2/src/sortedcache.h +1 -1
  1475. package/vendor/libgit2/src/stash.c +3 -1
  1476. package/vendor/libgit2/src/status.c +7 -4
  1477. package/vendor/libgit2/src/strarray.c +2 -1
  1478. package/vendor/libgit2/src/streams/mbedtls.c +8 -8
  1479. package/vendor/libgit2/src/streams/openssl.c +13 -10
  1480. package/vendor/libgit2/src/streams/registry.c +5 -6
  1481. package/vendor/libgit2/src/streams/socket.c +6 -2
  1482. package/vendor/libgit2/src/streams/stransport.c +6 -3
  1483. package/vendor/libgit2/src/streams/tls.c +5 -3
  1484. package/vendor/libgit2/src/submodule.c +89 -33
  1485. package/vendor/libgit2/src/submodule.h +9 -9
  1486. package/vendor/libgit2/src/sysdir.c +8 -7
  1487. package/vendor/libgit2/src/tag.c +47 -11
  1488. package/vendor/libgit2/src/thread.c +140 -0
  1489. package/vendor/libgit2/src/thread.h +422 -0
  1490. package/vendor/libgit2/src/threadstate.c +83 -0
  1491. package/vendor/libgit2/src/threadstate.h +24 -0
  1492. package/vendor/libgit2/src/trace.c +2 -2
  1493. package/vendor/libgit2/src/transaction.c +19 -8
  1494. package/vendor/libgit2/src/transport.c +3 -3
  1495. package/vendor/libgit2/src/transports/auth_negotiate.c +10 -3
  1496. package/vendor/libgit2/src/transports/auth_ntlm.c +8 -4
  1497. package/vendor/libgit2/src/transports/credential.c +15 -7
  1498. package/vendor/libgit2/src/transports/git.c +1 -3
  1499. package/vendor/libgit2/src/transports/http.c +6 -6
  1500. package/vendor/libgit2/src/transports/http.h +1 -0
  1501. package/vendor/libgit2/src/transports/httpclient.c +59 -34
  1502. package/vendor/libgit2/src/transports/local.c +3 -3
  1503. package/vendor/libgit2/src/transports/smart.c +10 -7
  1504. package/vendor/libgit2/src/transports/smart.h +1 -1
  1505. package/vendor/libgit2/src/transports/smart_protocol.c +9 -4
  1506. package/vendor/libgit2/src/transports/ssh.c +47 -13
  1507. package/vendor/libgit2/src/transports/winhttp.c +98 -58
  1508. package/vendor/libgit2/src/tree.c +97 -75
  1509. package/vendor/libgit2/src/tree.h +1 -0
  1510. package/vendor/libgit2/src/tsort.c +0 -2
  1511. package/vendor/libgit2/src/unix/map.c +3 -1
  1512. package/vendor/libgit2/src/unix/posix.h +16 -1
  1513. package/vendor/libgit2/src/unix/pthread.c +27 -6
  1514. package/vendor/libgit2/src/unix/pthread.h +2 -2
  1515. package/vendor/libgit2/src/util.c +53 -12
  1516. package/vendor/libgit2/src/util.h +11 -7
  1517. package/vendor/libgit2/src/vector.c +23 -19
  1518. package/vendor/libgit2/src/win32/findfile.c +4 -2
  1519. package/vendor/libgit2/src/win32/map.c +1 -1
  1520. package/vendor/libgit2/src/win32/msvc-compat.h +9 -1
  1521. package/vendor/libgit2/src/win32/path_w32.c +6 -8
  1522. package/vendor/libgit2/src/win32/posix_w32.c +70 -1
  1523. package/vendor/libgit2/src/win32/precompiled.h +0 -1
  1524. package/vendor/libgit2/src/win32/thread.c +27 -18
  1525. package/vendor/libgit2/src/win32/thread.h +1 -1
  1526. package/vendor/libgit2/src/win32/w32_buffer.c +3 -3
  1527. package/vendor/libgit2/src/win32/w32_leakcheck.c +576 -0
  1528. package/vendor/libgit2/src/win32/w32_leakcheck.h +220 -0
  1529. package/vendor/libgit2/src/worktree.c +27 -12
  1530. package/vendor/libgit2/src/zstream.c +1 -1
  1531. package/vendor/libgit2/tests/README.md +48 -0
  1532. package/vendor/libgit2/tests/clar/fs.h +3 -3
  1533. package/vendor/libgit2/tests/clar/sandbox.h +7 -4
  1534. package/vendor/libgit2/tests/clar_libgit2.c +4 -3
  1535. package/vendor/libgit2/tests/clar_libgit2_trace.c +2 -2
  1536. package/vendor/libgit2/tests/clone/empty.c +17 -0
  1537. package/vendor/libgit2/tests/clone/nonetwork.c +8 -0
  1538. package/vendor/libgit2/tests/config/read.c +76 -0
  1539. package/vendor/libgit2/tests/config/stress.c +5 -0
  1540. package/vendor/libgit2/tests/core/integer.c +253 -0
  1541. package/vendor/libgit2/tests/core/path.c +1 -27
  1542. package/vendor/libgit2/tests/core/strtol.c +2 -0
  1543. package/vendor/libgit2/tests/core/structinit.c +5 -0
  1544. package/vendor/libgit2/tests/core/useragent.c +1 -1
  1545. package/vendor/libgit2/tests/diff/format_email.c +1 -2
  1546. package/vendor/libgit2/tests/diff/parse.c +23 -0
  1547. package/vendor/libgit2/tests/diff/stats.c +36 -2
  1548. package/vendor/libgit2/tests/fetchhead/nonetwork.c +29 -0
  1549. package/vendor/libgit2/tests/filter/bare.c +1 -1
  1550. package/vendor/libgit2/tests/graph/commit_graph.c +90 -0
  1551. package/vendor/libgit2/tests/network/refspecs.c +1 -1
  1552. package/vendor/libgit2/tests/network/remote/isvalidname.c +15 -8
  1553. package/vendor/libgit2/tests/network/urlparse.c +401 -12
  1554. package/vendor/libgit2/tests/online/badssl.c +2 -7
  1555. package/vendor/libgit2/tests/online/clone.c +28 -1
  1556. package/vendor/libgit2/tests/online/push_util.c +3 -1
  1557. package/vendor/libgit2/tests/pack/filelimit.c +1 -1
  1558. package/vendor/libgit2/tests/pack/midx.c +46 -0
  1559. package/vendor/libgit2/tests/pack/threadsafety.c +62 -0
  1560. package/vendor/libgit2/tests/refs/branches/name.c +17 -0
  1561. package/vendor/libgit2/tests/refs/isvalidname.c +29 -22
  1562. package/vendor/libgit2/tests/refs/revparse.c +13 -13
  1563. package/vendor/libgit2/tests/refs/tags/name.c +17 -0
  1564. package/vendor/libgit2/tests/repo/getters.c +13 -0
  1565. package/vendor/libgit2/tests/repo/init.c +120 -81
  1566. package/vendor/libgit2/tests/resources/attr_index/README.md +1 -0
  1567. package/vendor/libgit2/tests/resources/attr_index/sub/sub/README.md +1 -0
  1568. package/vendor/libgit2/tests/resources/config/config12 +10 -0
  1569. package/vendor/libgit2/tests/resources/merge-recursive/.gitted/objects/info/commit-graph +0 -0
  1570. package/vendor/libgit2/tests/resources/testrepo.git/objects/info/commit-graph +0 -0
  1571. package/vendor/libgit2/tests/resources/testrepo.git/objects/pack/multi-pack-index +0 -0
  1572. package/vendor/libgit2/tests/resources/typechanges/README.md +43 -0
  1573. package/vendor/libgit2/tests/threads/basic.c +7 -1
  1574. package/vendor/libgit2/tests/threads/diff.c +9 -9
  1575. package/vendor/libgit2/tests/threads/thread_helpers.h +1 -1
  1576. package/vendor/libgit2/tests/threads/tlsdata.c +65 -0
  1577. package/vendor/libgit2/tests/trace/windows/stacktrace.c +53 -53
  1578. package/vendor/libgit2/tests/worktree/worktree.c +12 -0
  1579. package/vendor/libgit2.gyp +35 -18
  1580. package/vendor/libssh2/CMakeLists.txt +8 -0
  1581. package/vendor/libssh2/COPYING +3 -1
  1582. package/vendor/libssh2/Makefile.am +5 -3
  1583. package/vendor/libssh2/Makefile.in +29 -15
  1584. package/vendor/libssh2/Makefile.inc +2 -2
  1585. package/vendor/libssh2/NEWS +1376 -486
  1586. package/vendor/libssh2/RELEASE-NOTES +56 -38
  1587. package/vendor/libssh2/acinclude.m4 +1 -0
  1588. package/vendor/libssh2/aclocal.m4 +44 -33
  1589. package/vendor/libssh2/compile +3 -3
  1590. package/vendor/libssh2/configure +9704 -4102
  1591. package/vendor/libssh2/configure.ac +20 -8
  1592. package/vendor/libssh2/depcomp +1 -1
  1593. package/vendor/libssh2/docs/{HACKING.CRYPTO → HACKING-CRYPTO} +312 -49
  1594. package/vendor/libssh2/docs/INSTALL_AUTOTOOLS +2 -2
  1595. package/vendor/libssh2/docs/Makefile.am +2 -2
  1596. package/vendor/libssh2/docs/Makefile.in +14 -7
  1597. package/vendor/libssh2/docs/libssh2_session_callback_set.3 +36 -4
  1598. package/vendor/libssh2/example/CMakeLists.txt +1 -0
  1599. package/vendor/libssh2/example/Makefile.am +3 -3
  1600. package/vendor/libssh2/example/Makefile.in +49 -42
  1601. package/vendor/libssh2/example/ssh2_agent_forwarding.c +292 -0
  1602. package/vendor/libssh2/include/libssh2.h +18 -13
  1603. package/vendor/libssh2/include/libssh2_sftp.h +26 -26
  1604. package/vendor/libssh2/install-sh +92 -69
  1605. package/vendor/libssh2/ltmain.sh +6 -4
  1606. package/vendor/libssh2/m4/libtool.m4 +5 -5
  1607. package/vendor/libssh2/missing +1 -1
  1608. package/vendor/libssh2/src/CMakeLists.txt +8 -2
  1609. package/vendor/libssh2/src/Makefile.in +25 -17
  1610. package/vendor/libssh2/src/agent.c +60 -63
  1611. package/vendor/libssh2/src/agent.h +112 -0
  1612. package/vendor/libssh2/src/agent_win.c +361 -0
  1613. package/vendor/libssh2/src/bcrypt_pbkdf.c +3 -3
  1614. package/vendor/libssh2/src/blf.h +3 -4
  1615. package/vendor/libssh2/src/channel.c +158 -1
  1616. package/vendor/libssh2/src/comp.c +2 -1
  1617. package/vendor/libssh2/src/comp.h +0 -1
  1618. package/vendor/libssh2/src/crypto.h +6 -6
  1619. package/vendor/libssh2/src/global.c +2 -1
  1620. package/vendor/libssh2/src/hostkey.c +41 -2
  1621. package/vendor/libssh2/src/kex.c +691 -974
  1622. package/vendor/libssh2/src/knownhost.c +2 -2
  1623. package/vendor/libssh2/src/libgcrypt.h +4 -1
  1624. package/vendor/libssh2/src/libssh2_config.h.in +6 -18
  1625. package/vendor/libssh2/src/libssh2_priv.h +17 -6
  1626. package/vendor/libssh2/src/mac.h +0 -1
  1627. package/vendor/libssh2/src/mbedtls.c +520 -2
  1628. package/vendor/libssh2/src/mbedtls.h +146 -7
  1629. package/vendor/libssh2/src/misc.c +14 -16
  1630. package/vendor/libssh2/src/openssl.c +227 -181
  1631. package/vendor/libssh2/src/openssl.h +9 -22
  1632. package/vendor/libssh2/src/packet.c +98 -38
  1633. package/vendor/libssh2/src/packet.h +3 -3
  1634. package/vendor/libssh2/src/pem.c +20 -11
  1635. package/vendor/libssh2/src/scp.c +3 -3
  1636. package/vendor/libssh2/src/session.c +2 -2
  1637. package/vendor/libssh2/src/session.h +3 -3
  1638. package/vendor/libssh2/src/sftp.c +1 -1
  1639. package/vendor/libssh2/src/sftp.h +3 -3
  1640. package/vendor/libssh2/src/transport.c +11 -4
  1641. package/vendor/libssh2/src/transport.h +0 -1
  1642. package/vendor/libssh2/src/userauth.c +24 -22
  1643. package/vendor/libssh2/src/userauth.h +3 -3
  1644. package/vendor/libssh2/src/wincng.c +485 -60
  1645. package/vendor/libssh2/src/wincng.h +33 -5
  1646. package/vendor/libssh2/test-driver +6 -4
  1647. package/vendor/libssh2/tests/CMakeLists.txt +4 -1
  1648. package/vendor/libssh2/tests/Makefile.am +60 -23
  1649. package/vendor/libssh2/tests/Makefile.in +223 -65
  1650. package/vendor/libssh2/tests/key_ecdsa +10 -0
  1651. package/vendor/libssh2/tests/key_ecdsa.pub +1 -0
  1652. package/vendor/libssh2/tests/key_ed25519 +7 -0
  1653. package/vendor/libssh2/tests/key_ed25519.pub +1 -0
  1654. package/vendor/libssh2/tests/key_ed25519_encrypted +8 -0
  1655. package/vendor/libssh2/tests/key_ed25519_encrypted.pub +1 -0
  1656. package/vendor/libssh2/tests/key_rsa_encrypted +30 -0
  1657. package/vendor/libssh2/tests/key_rsa_encrypted.pub +1 -0
  1658. package/vendor/libssh2/tests/key_rsa_openssh +27 -0
  1659. package/vendor/libssh2/tests/key_rsa_openssh.pub +1 -0
  1660. package/vendor/libssh2/tests/openssh_fixture.c +141 -46
  1661. package/vendor/libssh2/tests/openssh_server/Dockerfile +9 -0
  1662. package/vendor/libssh2/tests/openssh_server/authorized_keys +1 -0
  1663. package/vendor/libssh2/tests/openssh_server/ca_ecdsa +12 -0
  1664. package/vendor/libssh2/tests/openssh_server/ca_ecdsa.pub +1 -0
  1665. package/vendor/libssh2/tests/openssh_server/ssh_host_ecdsa_key +5 -0
  1666. package/vendor/libssh2/tests/openssh_server/ssh_host_ed25519_key +7 -0
  1667. package/vendor/libssh2/tests/ossfuzz/Makefile.am +32 -0
  1668. package/vendor/libssh2/tests/ossfuzz/Makefile.in +731 -0
  1669. package/vendor/libssh2/tests/ossfuzz/ssh2_client_fuzzer.cc +90 -0
  1670. package/vendor/libssh2/tests/ossfuzz/standaloneengine.cc +74 -0
  1671. package/vendor/libssh2/tests/ossfuzz/testinput.h +3 -0
  1672. package/vendor/libssh2/tests/ssh2.c +9 -5
  1673. package/vendor/libssh2/tests/test_agent_forward_succeeds.c +51 -0
  1674. package/vendor/libssh2/tests/test_hostkey.c +5 -3
  1675. package/vendor/libssh2/tests/test_hostkey_hash.c +32 -19
  1676. package/vendor/libssh2/tests/test_keyboard_interactive_auth_fails_with_wrong_response.c +3 -3
  1677. package/vendor/libssh2/tests/test_keyboard_interactive_auth_succeeds_with_correct_response.c +5 -4
  1678. package/vendor/libssh2/tests/test_password_auth_fails_with_wrong_password.c +1 -1
  1679. package/vendor/libssh2/tests/test_password_auth_fails_with_wrong_username.c +2 -1
  1680. package/vendor/libssh2/tests/test_password_auth_succeeds_with_correct_credentials.c +3 -2
  1681. package/vendor/libssh2/tests/test_public_key_auth_fails_with_wrong_key.c +1 -1
  1682. package/vendor/libssh2/tests/test_public_key_auth_succeeds_with_correct_dsa_key.c +3 -2
  1683. package/vendor/libssh2/tests/test_public_key_auth_succeeds_with_correct_ecdsa_key.c +38 -0
  1684. package/vendor/libssh2/tests/test_public_key_auth_succeeds_with_correct_ed25519_key.c +38 -0
  1685. package/vendor/libssh2/tests/test_public_key_auth_succeeds_with_correct_ed25519_key_from_mem.c +98 -0
  1686. package/vendor/libssh2/tests/test_public_key_auth_succeeds_with_correct_encrypted_ed25519_key.c +39 -0
  1687. package/vendor/libssh2/tests/test_public_key_auth_succeeds_with_correct_encrypted_rsa_key.c +3 -2
  1688. package/vendor/libssh2/tests/test_public_key_auth_succeeds_with_correct_rsa_key.c +3 -2
  1689. package/vendor/libssh2/tests/test_public_key_auth_succeeds_with_correct_rsa_openssh_key.c +3 -2
  1690. package/vendor/libssh2/tests/test_public_key_auth_succeeds_with_correct_signed_ecdsa_key.c +38 -0
  1691. package/vendor/libssh2/vms/libssh2_make_help.dcl +12 -12
  1692. package/vendor/libssh2/win32/libssh2.dsp +8 -0
  1693. package/CHANGELOG.md +0 -3415
  1694. package/HISTORY.md +0 -9
  1695. package/dist/blame.js +0 -22
  1696. package/dist/checkout.js +0 -53
  1697. package/dist/cherrypick.js +0 -62
  1698. package/dist/clone.js +0 -35
  1699. package/dist/status_list.js +0 -14
  1700. package/dist/utils/normalize_fetch_options.js +0 -43
  1701. package/dist/utils/normalize_options.js +0 -31
  1702. package/generate/templates/templates/binding.gyp +0 -192
  1703. package/include/async_libgit2_queue_worker.h +0 -33
  1704. package/package-lock.json +0 -5139
  1705. package/vendor/libgit2/azure-pipelines/bash.yml +0 -17
  1706. package/vendor/libgit2/azure-pipelines/coverity.yml +0 -26
  1707. package/vendor/libgit2/azure-pipelines/docker.yml +0 -51
  1708. package/vendor/libgit2/azure-pipelines/nightly.yml +0 -232
  1709. package/vendor/libgit2/azure-pipelines.yml +0 -203
  1710. package/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
  1711. package/vendor/libgit2/src/global.c +0 -357
  1712. package/vendor/libgit2/src/global.h +0 -41
  1713. package/vendor/libgit2/src/thread-utils.c +0 -263
  1714. package/vendor/libgit2/src/thread-utils.h +0 -294
  1715. package/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +0 -345
  1716. package/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -127
  1717. package/vendor/libgit2/src/win32/w32_stack.c +0 -188
  1718. package/vendor/libgit2/src/win32/w32_stack.h +0 -140
  1719. package/vendor/libgit2/tests/resources/testrepo-worktree/link_to_new.txt +0 -1
  1720. package/vendor/libssh2/buildconf +0 -22
  1721. package/vendor/libssh2/docs/INSTALL_CMAKE +0 -179
package/src/index.cc CHANGED
@@ -12,7 +12,6 @@ extern "C" {
12
12
  #include "../include/functions/copy.h"
13
13
  #include "../include/index.h"
14
14
  #include "nodegit_wrapper.cc"
15
- #include "../include/async_libgit2_queue_worker.h"
16
15
 
17
16
  #include "../include/str_array_converter.h"
18
17
  #include "../include/index_entry.h"
@@ -33,53 +32,54 @@ using namespace node;
33
32
  // way of knowing to free these values.
34
33
  }
35
34
 
36
- void GitIndex::InitializeComponent(v8::Local<v8::Object> target) {
35
+ void GitIndex::InitializeComponent(v8::Local<v8::Object> target, nodegit::Context *nodegitContext) {
37
36
  Nan::HandleScope scope;
38
37
 
39
- v8::Local<FunctionTemplate> tpl = Nan::New<FunctionTemplate>(JSNewFunction);
38
+ v8::Local<v8::External> nodegitExternal = Nan::New<v8::External>(nodegitContext);
39
+ v8::Local<FunctionTemplate> tpl = Nan::New<FunctionTemplate>(JSNewFunction, nodegitExternal);
40
40
 
41
41
  tpl->InstanceTemplate()->SetInternalFieldCount(1);
42
42
  tpl->SetClassName(Nan::New("Index").ToLocalChecked());
43
43
 
44
- Nan::SetPrototypeMethod(tpl, "add", Add);
45
- Nan::SetPrototypeMethod(tpl, "addAll", AddAll);
46
- Nan::SetPrototypeMethod(tpl, "addByPath", AddBypath);
47
- Nan::SetPrototypeMethod(tpl, "caps", Caps);
48
- Nan::SetPrototypeMethod(tpl, "checksum", Checksum);
49
- Nan::SetPrototypeMethod(tpl, "clear", Clear);
50
- Nan::SetPrototypeMethod(tpl, "conflictAdd", ConflictAdd);
51
- Nan::SetPrototypeMethod(tpl, "conflictCleanup", ConflictCleanup);
52
- Nan::SetPrototypeMethod(tpl, "conflictGet", ConflictGet);
53
- Nan::SetPrototypeMethod(tpl, "conflictRemove", ConflictRemove);
54
- Nan::SetMethod(tpl, "entryIsConflict", EntryIsConflict);
55
- Nan::SetMethod(tpl, "entryStage", EntryStage);
56
- Nan::SetPrototypeMethod(tpl, "entryCount", Entrycount);
57
- Nan::SetPrototypeMethod(tpl, "find", Find);
58
- Nan::SetPrototypeMethod(tpl, "findPrefix", FindPrefix);
59
- Nan::SetPrototypeMethod(tpl, "getByIndex", GetByindex);
60
- Nan::SetPrototypeMethod(tpl, "getByPath", GetBypath);
61
- Nan::SetPrototypeMethod(tpl, "hasConflicts", HasConflicts);
62
- Nan::SetMethod(tpl, "open", Open);
63
- Nan::SetPrototypeMethod(tpl, "path", Path);
64
- Nan::SetPrototypeMethod(tpl, "read", Read);
65
- Nan::SetPrototypeMethod(tpl, "readTree", ReadTree);
66
- Nan::SetPrototypeMethod(tpl, "remove", Remove);
67
- Nan::SetPrototypeMethod(tpl, "removeAll", RemoveAll);
68
- Nan::SetPrototypeMethod(tpl, "removeByPath", RemoveBypath);
69
- Nan::SetPrototypeMethod(tpl, "removeDirectory", RemoveDirectory);
70
- Nan::SetPrototypeMethod(tpl, "setCaps", SetCaps);
71
- Nan::SetPrototypeMethod(tpl, "setVersion", SetVersion);
72
- Nan::SetPrototypeMethod(tpl, "updateAll", UpdateAll);
73
- Nan::SetPrototypeMethod(tpl, "version", Version);
74
- Nan::SetPrototypeMethod(tpl, "write", Write);
75
- Nan::SetPrototypeMethod(tpl, "writeTree", WriteTree);
76
- Nan::SetPrototypeMethod(tpl, "writeTreeTo", WriteTreeTo);
44
+ Nan::SetPrototypeMethod(tpl, "add", Add, nodegitExternal);
45
+ Nan::SetPrototypeMethod(tpl, "addAll", AddAll, nodegitExternal);
46
+ Nan::SetPrototypeMethod(tpl, "addByPath", AddBypath, nodegitExternal);
47
+ Nan::SetPrototypeMethod(tpl, "caps", Caps, nodegitExternal);
48
+ Nan::SetPrototypeMethod(tpl, "checksum", Checksum, nodegitExternal);
49
+ Nan::SetPrototypeMethod(tpl, "clear", Clear, nodegitExternal);
50
+ Nan::SetPrototypeMethod(tpl, "conflictAdd", ConflictAdd, nodegitExternal);
51
+ Nan::SetPrototypeMethod(tpl, "conflictCleanup", ConflictCleanup, nodegitExternal);
52
+ Nan::SetPrototypeMethod(tpl, "conflictGet", ConflictGet, nodegitExternal);
53
+ Nan::SetPrototypeMethod(tpl, "conflictRemove", ConflictRemove, nodegitExternal);
54
+ Nan::SetMethod(tpl, "entryIsConflict", EntryIsConflict, nodegitExternal);
55
+ Nan::SetMethod(tpl, "entryStage", EntryStage, nodegitExternal);
56
+ Nan::SetPrototypeMethod(tpl, "entryCount", Entrycount, nodegitExternal);
57
+ Nan::SetPrototypeMethod(tpl, "find", Find, nodegitExternal);
58
+ Nan::SetPrototypeMethod(tpl, "findPrefix", FindPrefix, nodegitExternal);
59
+ Nan::SetPrototypeMethod(tpl, "getByIndex", GetByindex, nodegitExternal);
60
+ Nan::SetPrototypeMethod(tpl, "getByPath", GetBypath, nodegitExternal);
61
+ Nan::SetPrototypeMethod(tpl, "hasConflicts", HasConflicts, nodegitExternal);
62
+ Nan::SetMethod(tpl, "open", Open, nodegitExternal);
63
+ Nan::SetPrototypeMethod(tpl, "path", Path, nodegitExternal);
64
+ Nan::SetPrototypeMethod(tpl, "read", Read, nodegitExternal);
65
+ Nan::SetPrototypeMethod(tpl, "readTree", ReadTree, nodegitExternal);
66
+ Nan::SetPrototypeMethod(tpl, "remove", Remove, nodegitExternal);
67
+ Nan::SetPrototypeMethod(tpl, "removeAll", RemoveAll, nodegitExternal);
68
+ Nan::SetPrototypeMethod(tpl, "removeByPath", RemoveBypath, nodegitExternal);
69
+ Nan::SetPrototypeMethod(tpl, "removeDirectory", RemoveDirectory, nodegitExternal);
70
+ Nan::SetPrototypeMethod(tpl, "setCaps", SetCaps, nodegitExternal);
71
+ Nan::SetPrototypeMethod(tpl, "setVersion", SetVersion, nodegitExternal);
72
+ Nan::SetPrototypeMethod(tpl, "updateAll", UpdateAll, nodegitExternal);
73
+ Nan::SetPrototypeMethod(tpl, "version", Version, nodegitExternal);
74
+ Nan::SetPrototypeMethod(tpl, "write", Write, nodegitExternal);
75
+ Nan::SetPrototypeMethod(tpl, "writeTree", WriteTree, nodegitExternal);
76
+ Nan::SetPrototypeMethod(tpl, "writeTreeTo", WriteTreeTo, nodegitExternal);
77
77
 
78
78
  InitializeTemplate(tpl);
79
79
 
80
- v8::Local<Function> _constructor_template = Nan::GetFunction(tpl).ToLocalChecked();
81
- constructor_template.Reset(_constructor_template);
82
- Nan::Set(target, Nan::New("Index").ToLocalChecked(), _constructor_template);
80
+ v8::Local<Function> constructor_template = Nan::GetFunction(tpl).ToLocalChecked();
81
+ nodegitContext->SaveToPersistent("GitIndex::Template", constructor_template);
82
+ Nan::Set(target, Nan::New("Index").ToLocalChecked(), constructor_template);
83
83
  }
84
84
 
85
85
 
@@ -92,43 +92,54 @@ NAN_METHOD(GitIndex::Add) {
92
92
  return Nan::ThrowError("IndexEntry source_entry is required.");
93
93
  }
94
94
 
95
- if (info.Length() == 1 || !info[1]->IsFunction()) {
95
+ if (!info[info.Length() - 1]->IsFunction()) {
96
96
  return Nan::ThrowError("Callback is required and must be a Function.");
97
97
  }
98
98
 
99
- AddBaton* baton = new AddBaton;
99
+ AddBaton* baton = new AddBaton();
100
100
 
101
101
  baton->error_code = GIT_OK;
102
102
  baton->error = NULL;
103
103
 
104
- baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
105
- // start convert_from_v8 block
106
- const git_index_entry * from_source_entry = NULL;
107
- from_source_entry = Nan::ObjectWrap::Unwrap<GitIndexEntry>(Nan::To<v8::Object>(info[0]).ToLocalChecked())->GetValue();
108
- // end convert_from_v8 block
109
- baton->source_entry = from_source_entry;
110
104
 
111
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
112
- AddWorker *worker = new AddWorker(baton, callback);
105
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
106
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
113
107
 
114
- worker->SaveToPersistent("index", info.This());
115
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
116
- worker->SaveToPersistent("source_entry", Nan::To<v8::Object>(info[0]).ToLocalChecked());
108
+ baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
109
+ {
110
+ auto conversionResult = ConfigurableGitIndexEntry::fromJavascript(nodegitContext, info[0]);
111
+ if (!conversionResult.result) {
112
+ return Nan::ThrowError(Nan::New(conversionResult.error).ToLocalChecked());
113
+ }
114
+
115
+ auto convertedObject = conversionResult.result;
116
+ cleanupHandles["source_entry"] = convertedObject;
117
+ baton->source_entry = convertedObject->GetValue();
118
+ }
119
+
120
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
121
+ AddWorker *worker = new AddWorker(baton, callback, cleanupHandles);
117
122
 
118
- AsyncLibgit2QueueWorker(worker);
123
+ worker->Reference<GitIndex>("index", info.This());
124
+ worker->Reference("source_entry", info[0]);
125
+
126
+ nodegitContext->QueueWorker(worker);
119
127
  return;
120
128
  }
121
129
 
130
+ nodegit::LockMaster GitIndex::AddWorker::AcquireLocks() {
131
+ nodegit::LockMaster lockMaster(
132
+ /*asyncAction: */true
133
+ ,baton->index
134
+ ,baton->source_entry
135
+ );
136
+
137
+ return lockMaster;
138
+ }
139
+
122
140
  void GitIndex::AddWorker::Execute() {
123
141
  git_error_clear();
124
142
 
125
- {
126
- LockMaster lockMaster(
127
- /*asyncAction: */true
128
- ,baton->index
129
- ,baton->source_entry
130
- );
131
-
132
143
  int result = git_index_add(
133
144
  baton->index,baton->source_entry );
134
145
 
@@ -138,13 +149,34 @@ baton->index,baton->source_entry );
138
149
  baton->error = git_error_dup(git_error_last());
139
150
  }
140
151
 
152
+ }
153
+
154
+ void GitIndex::AddWorker::HandleErrorCallback() {
155
+ if (!GetIsCancelled()) {
156
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
157
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.add").ToLocalChecked());
158
+ v8::Local<v8::Value> argv[1] = {
159
+ err
160
+ };
161
+ callback->Call(1, argv, async_resource);
162
+ }
163
+
164
+ if (baton->error) {
165
+ if (baton->error->message) {
166
+ free((void *)baton->error->message);
167
+ }
168
+
169
+ free((void *)baton->error);
141
170
  }
171
+
172
+
173
+ delete baton;
142
174
  }
143
175
 
144
176
  void GitIndex::AddWorker::HandleOKCallback() {
145
177
  if (baton->error_code == GIT_OK) {
146
178
  v8::Local<v8::Value> result = Nan::Undefined();
147
-
179
+
148
180
  v8::Local<v8::Value> argv[2] = {
149
181
  Nan::Null(),
150
182
  result
@@ -168,45 +200,15 @@ void GitIndex::AddWorker::HandleOKCallback() {
168
200
  free((void *)baton->error->message);
169
201
  free((void *)baton->error);
170
202
  } else if (baton->error_code < 0) {
171
- std::queue< v8::Local<v8::Value> > workerArguments;
172
- workerArguments.push(GetFromPersistent("source_entry"));
173
203
  bool callbackFired = false;
174
- while(!workerArguments.empty()) {
175
- v8::Local<v8::Value> node = workerArguments.front();
176
- workerArguments.pop();
177
-
178
- if (
179
- !node->IsObject()
180
- || node->IsArray()
181
- || node->IsBooleanObject()
182
- || node->IsDate()
183
- || node->IsFunction()
184
- || node->IsNumberObject()
185
- || node->IsRegExp()
186
- || node->IsStringObject()
187
- ) {
188
- continue;
189
- }
190
-
191
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
192
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
193
-
194
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
204
+ if (!callbackErrorHandle.IsEmpty()) {
205
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
206
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
195
207
  v8::Local<v8::Value> argv[1] = {
196
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
208
+ maybeError
197
209
  };
198
210
  callback->Call(1, argv, async_resource);
199
211
  callbackFired = true;
200
- break;
201
- }
202
-
203
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
204
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
205
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
206
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
207
- if (!nodeToQueue->IsUndefined()) {
208
- workerArguments.push(nodeToQueue);
209
- }
210
212
  }
211
213
  }
212
214
 
@@ -238,16 +240,20 @@ void GitIndex::AddWorker::HandleOKCallback() {
238
240
  */
239
241
  NAN_METHOD(GitIndex::AddAll) {
240
242
 
241
- if (info.Length() == 4 || !info[4]->IsFunction()) {
243
+ if (!info[info.Length() - 1]->IsFunction()) {
242
244
  return Nan::ThrowError("Callback is required and must be a Function.");
243
245
  }
244
246
 
245
- AddAllBaton* baton = new AddAllBaton;
247
+ AddAllBaton* baton = new AddAllBaton();
246
248
 
247
249
  baton->error_code = GIT_OK;
248
250
  baton->error = NULL;
249
251
 
250
252
  AddAll_globalPayload* globalPayload = new AddAll_globalPayload;
253
+
254
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
255
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
256
+
251
257
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
252
258
  // start convert_from_v8 block
253
259
  const git_strarray * from_pathspec = NULL;
@@ -257,7 +263,7 @@ NAN_METHOD(GitIndex::AddAll) {
257
263
  baton->pathspec = from_pathspec;
258
264
  // start convert_from_v8 block
259
265
  unsigned int from_flags;
260
- if (info[1]->IsNumber()) {
266
+ if ((info.Length() - 1) > 1 && info[1]->IsNumber()) {
261
267
  from_flags = (unsigned int) info[1].As<v8::Number>()->Value();
262
268
  }
263
269
  else {
@@ -275,32 +281,32 @@ NAN_METHOD(GitIndex::AddAll) {
275
281
  }
276
282
  baton->payload = globalPayload;
277
283
 
278
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[4]));
279
- AddAllWorker *worker = new AddAllWorker(baton, callback);
284
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
285
+ AddAllWorker *worker = new AddAllWorker(baton, callback, cleanupHandles);
280
286
 
281
- worker->SaveToPersistent("index", info.This());
282
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
283
- worker->SaveToPersistent("pathspec", Nan::To<v8::Object>(info[0]).ToLocalChecked());
284
- if (!info[1]->IsUndefined() && !info[1]->IsNull())
285
- worker->SaveToPersistent("flags", Nan::To<v8::Object>(info[1]).ToLocalChecked());
286
- if (!info[3]->IsUndefined() && !info[3]->IsNull())
287
- worker->SaveToPersistent("payload", Nan::To<v8::Object>(info[3]).ToLocalChecked());
288
-
289
- AsyncLibgit2QueueWorker(worker);
287
+ worker->Reference<GitIndex>("index", info.This());
288
+ worker->Reference("pathspec", info[0]);
289
+ worker->Reference("flags", info[1]);
290
+ worker->Reference("payload", info[3]);
291
+
292
+ nodegitContext->QueueWorker(worker);
290
293
  return;
291
294
  }
292
295
 
296
+ nodegit::LockMaster GitIndex::AddAllWorker::AcquireLocks() {
297
+ nodegit::LockMaster lockMaster(
298
+ /*asyncAction: */true
299
+ ,baton->index
300
+ ,baton->pathspec
301
+ ,baton->payload
302
+ );
303
+
304
+ return lockMaster;
305
+ }
306
+
293
307
  void GitIndex::AddAllWorker::Execute() {
294
308
  git_error_clear();
295
309
 
296
- {
297
- LockMaster lockMaster(
298
- /*asyncAction: */true
299
- ,baton->index
300
- ,baton->pathspec
301
- ,baton->payload
302
- );
303
-
304
310
  int result = git_index_add_all(
305
311
  baton->index,baton->pathspec,baton->flags,baton->callback,baton->payload );
306
312
 
@@ -310,13 +316,35 @@ baton->index,baton->pathspec,baton->flags,baton->callback,baton->payload );
310
316
  baton->error = git_error_dup(git_error_last());
311
317
  }
312
318
 
319
+ }
320
+
321
+ void GitIndex::AddAllWorker::HandleErrorCallback() {
322
+ if (!GetIsCancelled()) {
323
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
324
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.addAll").ToLocalChecked());
325
+ v8::Local<v8::Value> argv[1] = {
326
+ err
327
+ };
328
+ callback->Call(1, argv, async_resource);
313
329
  }
330
+
331
+ if (baton->error) {
332
+ if (baton->error->message) {
333
+ free((void *)baton->error->message);
334
+ }
335
+
336
+ free((void *)baton->error);
337
+ }
338
+
339
+ delete (AddAll_globalPayload*)baton->payload;
340
+
341
+ delete baton;
314
342
  }
315
343
 
316
344
  void GitIndex::AddAllWorker::HandleOKCallback() {
317
345
  if (baton->error_code == GIT_OK) {
318
346
  v8::Local<v8::Value> result = Nan::Undefined();
319
-
347
+
320
348
  v8::Local<v8::Value> argv[2] = {
321
349
  Nan::Null(),
322
350
  result
@@ -340,47 +368,15 @@ void GitIndex::AddAllWorker::HandleOKCallback() {
340
368
  free((void *)baton->error->message);
341
369
  free((void *)baton->error);
342
370
  } else if (baton->error_code < 0) {
343
- std::queue< v8::Local<v8::Value> > workerArguments;
344
- workerArguments.push(GetFromPersistent("pathspec"));
345
- workerArguments.push(GetFromPersistent("flags"));
346
- workerArguments.push(GetFromPersistent("payload"));
347
371
  bool callbackFired = false;
348
- while(!workerArguments.empty()) {
349
- v8::Local<v8::Value> node = workerArguments.front();
350
- workerArguments.pop();
351
-
352
- if (
353
- !node->IsObject()
354
- || node->IsArray()
355
- || node->IsBooleanObject()
356
- || node->IsDate()
357
- || node->IsFunction()
358
- || node->IsNumberObject()
359
- || node->IsRegExp()
360
- || node->IsStringObject()
361
- ) {
362
- continue;
363
- }
364
-
365
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
366
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
367
-
368
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
372
+ if (!callbackErrorHandle.IsEmpty()) {
373
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
374
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
369
375
  v8::Local<v8::Value> argv[1] = {
370
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
376
+ maybeError
371
377
  };
372
378
  callback->Call(1, argv, async_resource);
373
379
  callbackFired = true;
374
- break;
375
- }
376
-
377
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
378
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
379
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
380
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
381
- if (!nodeToQueue->IsUndefined()) {
382
- workerArguments.push(nodeToQueue);
383
- }
384
380
  }
385
381
  }
386
382
 
@@ -413,7 +409,13 @@ int GitIndex::AddAll_callback_cppCallback (
413
409
  baton.matched_pathspec = matched_pathspec;
414
410
  baton.payload = payload;
415
411
 
416
- return baton.ExecuteAsync(AddAll_callback_async);
412
+ return baton.ExecuteAsync(AddAll_callback_async, AddAll_callback_cancelAsync);
413
+ }
414
+
415
+ void GitIndex::AddAll_callback_cancelAsync(void *untypedBaton) {
416
+ AddAll_CallbackBaton* baton = static_cast<AddAll_CallbackBaton*>(untypedBaton);
417
+ baton->result = -1;
418
+ baton->Done();
417
419
  }
418
420
 
419
421
  void GitIndex::AddAll_callback_async(void *untypedBaton) {
@@ -429,8 +431,8 @@ void GitIndex::AddAll_callback_async(void *untypedBaton) {
429
431
  };
430
432
 
431
433
  Nan::TryCatch tryCatch;
432
- // TODO This should take an async_resource, but we will need to figure out how to pipe the correct context into this
433
- Nan::MaybeLocal<v8::Value> maybeResult = Nan::Call(*callback, 2, argv);
434
+ Nan::MaybeLocal<v8::Value> maybeResult = (*callback)(baton->GetAsyncResource(), 2, argv);
435
+
434
436
  v8::Local<v8::Value> result;
435
437
  if (!maybeResult.IsEmpty()) {
436
438
  result = maybeResult.ToLocalChecked();
@@ -458,7 +460,7 @@ void GitIndex::AddAll_callback_async(void *untypedBaton) {
458
460
  baton->Done();
459
461
  }
460
462
 
461
- void GitIndex::AddAll_callback_promiseCompleted(bool isFulfilled, AsyncBaton *_baton, v8::Local<v8::Value> result) {
463
+ void GitIndex::AddAll_callback_promiseCompleted(bool isFulfilled, nodegit::AsyncBaton *_baton, v8::Local<v8::Value> result) {
462
464
  Nan::HandleScope scope;
463
465
 
464
466
  AddAll_CallbackBaton* baton = static_cast<AddAll_CallbackBaton*>(_baton);
@@ -499,15 +501,19 @@ NAN_METHOD(GitIndex::AddBypath) {
499
501
  return Nan::ThrowError("String path is required.");
500
502
  }
501
503
 
502
- if (info.Length() == 1 || !info[1]->IsFunction()) {
504
+ if (!info[info.Length() - 1]->IsFunction()) {
503
505
  return Nan::ThrowError("Callback is required and must be a Function.");
504
506
  }
505
507
 
506
- AddBypathBaton* baton = new AddBypathBaton;
508
+ AddBypathBaton* baton = new AddBypathBaton();
507
509
 
508
510
  baton->error_code = GIT_OK;
509
511
  baton->error = NULL;
510
512
 
513
+
514
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
515
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
516
+
511
517
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
512
518
  // start convert_from_v8 block
513
519
  const char * from_path = NULL;
@@ -524,27 +530,29 @@ NAN_METHOD(GitIndex::AddBypath) {
524
530
  // end convert_from_v8 block
525
531
  baton->path = from_path;
526
532
 
527
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
528
- AddBypathWorker *worker = new AddBypathWorker(baton, callback);
529
-
530
- worker->SaveToPersistent("index", info.This());
531
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
532
- worker->SaveToPersistent("path", Nan::To<v8::Object>(info[0]).ToLocalChecked());
533
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
534
+ AddBypathWorker *worker = new AddBypathWorker(baton, callback, cleanupHandles);
533
535
 
534
- AsyncLibgit2QueueWorker(worker);
536
+ worker->Reference<GitIndex>("index", info.This());
537
+ worker->Reference("path", info[0]);
538
+
539
+ nodegitContext->QueueWorker(worker);
535
540
  return;
536
541
  }
537
542
 
543
+ nodegit::LockMaster GitIndex::AddBypathWorker::AcquireLocks() {
544
+ nodegit::LockMaster lockMaster(
545
+ /*asyncAction: */true
546
+ ,baton->index
547
+ ,baton->path
548
+ );
549
+
550
+ return lockMaster;
551
+ }
552
+
538
553
  void GitIndex::AddBypathWorker::Execute() {
539
554
  git_error_clear();
540
555
 
541
- {
542
- LockMaster lockMaster(
543
- /*asyncAction: */true
544
- ,baton->index
545
- ,baton->path
546
- );
547
-
548
556
  int result = git_index_add_bypath(
549
557
  baton->index,baton->path );
550
558
 
@@ -554,13 +562,34 @@ baton->index,baton->path );
554
562
  baton->error = git_error_dup(git_error_last());
555
563
  }
556
564
 
565
+ }
566
+
567
+ void GitIndex::AddBypathWorker::HandleErrorCallback() {
568
+ if (!GetIsCancelled()) {
569
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
570
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.addByPath").ToLocalChecked());
571
+ v8::Local<v8::Value> argv[1] = {
572
+ err
573
+ };
574
+ callback->Call(1, argv, async_resource);
575
+ }
576
+
577
+ if (baton->error) {
578
+ if (baton->error->message) {
579
+ free((void *)baton->error->message);
580
+ }
581
+
582
+ free((void *)baton->error);
557
583
  }
584
+
585
+
586
+ delete baton;
558
587
  }
559
588
 
560
589
  void GitIndex::AddBypathWorker::HandleOKCallback() {
561
590
  if (baton->error_code == GIT_OK) {
562
591
  v8::Local<v8::Value> result = Nan::Undefined();
563
-
592
+
564
593
  v8::Local<v8::Value> argv[2] = {
565
594
  Nan::Null(),
566
595
  result
@@ -584,45 +613,15 @@ void GitIndex::AddBypathWorker::HandleOKCallback() {
584
613
  free((void *)baton->error->message);
585
614
  free((void *)baton->error);
586
615
  } else if (baton->error_code < 0) {
587
- std::queue< v8::Local<v8::Value> > workerArguments;
588
- workerArguments.push(GetFromPersistent("path"));
589
616
  bool callbackFired = false;
590
- while(!workerArguments.empty()) {
591
- v8::Local<v8::Value> node = workerArguments.front();
592
- workerArguments.pop();
593
-
594
- if (
595
- !node->IsObject()
596
- || node->IsArray()
597
- || node->IsBooleanObject()
598
- || node->IsDate()
599
- || node->IsFunction()
600
- || node->IsNumberObject()
601
- || node->IsRegExp()
602
- || node->IsStringObject()
603
- ) {
604
- continue;
605
- }
606
-
607
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
608
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
609
-
610
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
617
+ if (!callbackErrorHandle.IsEmpty()) {
618
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
619
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
611
620
  v8::Local<v8::Value> argv[1] = {
612
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
621
+ maybeError
613
622
  };
614
623
  callback->Call(1, argv, async_resource);
615
624
  callbackFired = true;
616
- break;
617
- }
618
-
619
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
620
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
621
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
622
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
623
- if (!nodeToQueue->IsUndefined()) {
624
- workerArguments.push(nodeToQueue);
625
- }
626
625
  }
627
626
  }
628
627
 
@@ -655,7 +654,7 @@ NAN_METHOD(GitIndex::Caps) {
655
654
  git_error_clear();
656
655
 
657
656
  { // lock master scope start
658
- LockMaster lockMaster(
657
+ nodegit::LockMaster lockMaster(
659
658
  /*asyncAction: */false
660
659
  ,
661
660
  Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue()
@@ -666,11 +665,11 @@ NAN_METHOD(GitIndex::Caps) {
666
665
  );
667
666
 
668
667
 
669
- v8::Local<v8::Value> to;
668
+ v8::Local<v8::Value> v8ConversionSlot;
670
669
  // start convert_to_v8 block
671
- to = Nan::New<Number>( result);
670
+ v8ConversionSlot = Nan::New<Number>( result);
672
671
  // end convert_to_v8 block
673
- return info.GetReturnValue().Set(scope.Escape(to));
672
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
674
673
  }
675
674
  }
676
675
 
@@ -683,7 +682,7 @@ NAN_METHOD(GitIndex::Checksum) {
683
682
  git_error_clear();
684
683
 
685
684
  { // lock master scope start
686
- LockMaster lockMaster(
685
+ nodegit::LockMaster lockMaster(
687
686
  /*asyncAction: */false
688
687
  ,
689
688
  Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue()
@@ -698,22 +697,22 @@ NAN_METHOD(GitIndex::Checksum) {
698
697
  return info.GetReturnValue().Set(scope.Escape(Nan::Undefined()));
699
698
  }
700
699
 
701
- v8::Local<v8::Value> to;
700
+ v8::Local<v8::Value> v8ConversionSlot;
702
701
  // start convert_to_v8 block
703
702
  if (result != NULL) {
704
703
  v8::Local<v8::Array> owners = Nan::New<Array>(0);
705
704
  Nan::Set(owners, owners->Length(), info.This());
706
- to = GitOid::New(
705
+ v8ConversionSlot = GitOid::New(
707
706
  result,
708
707
  true
709
708
  , owners
710
709
  );
711
710
  }
712
711
  else {
713
- to = Nan::Null();
712
+ v8ConversionSlot = Nan::Null();
714
713
  }
715
714
  // end convert_to_v8 block
716
- return info.GetReturnValue().Set(scope.Escape(to));
715
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
717
716
  }
718
717
  }
719
718
 
@@ -721,35 +720,42 @@ NAN_METHOD(GitIndex::Checksum) {
721
720
  */
722
721
  NAN_METHOD(GitIndex::Clear) {
723
722
 
724
- if (info.Length() == 0 || !info[0]->IsFunction()) {
723
+ if (!info[info.Length() - 1]->IsFunction()) {
725
724
  return Nan::ThrowError("Callback is required and must be a Function.");
726
725
  }
727
726
 
728
- ClearBaton* baton = new ClearBaton;
727
+ ClearBaton* baton = new ClearBaton();
729
728
 
730
729
  baton->error_code = GIT_OK;
731
730
  baton->error = NULL;
732
731
 
732
+
733
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
734
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
735
+
733
736
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
734
737
 
735
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[0]));
736
- ClearWorker *worker = new ClearWorker(baton, callback);
738
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
739
+ ClearWorker *worker = new ClearWorker(baton, callback, cleanupHandles);
737
740
 
738
- worker->SaveToPersistent("index", info.This());
741
+ worker->Reference<GitIndex>("index", info.This());
739
742
 
740
- AsyncLibgit2QueueWorker(worker);
743
+ nodegitContext->QueueWorker(worker);
741
744
  return;
742
745
  }
743
746
 
747
+ nodegit::LockMaster GitIndex::ClearWorker::AcquireLocks() {
748
+ nodegit::LockMaster lockMaster(
749
+ /*asyncAction: */true
750
+ ,baton->index
751
+ );
752
+
753
+ return lockMaster;
754
+ }
755
+
744
756
  void GitIndex::ClearWorker::Execute() {
745
757
  git_error_clear();
746
758
 
747
- {
748
- LockMaster lockMaster(
749
- /*asyncAction: */true
750
- ,baton->index
751
- );
752
-
753
759
  int result = git_index_clear(
754
760
  baton->index );
755
761
 
@@ -759,13 +765,34 @@ baton->index );
759
765
  baton->error = git_error_dup(git_error_last());
760
766
  }
761
767
 
768
+ }
769
+
770
+ void GitIndex::ClearWorker::HandleErrorCallback() {
771
+ if (!GetIsCancelled()) {
772
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
773
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.clear").ToLocalChecked());
774
+ v8::Local<v8::Value> argv[1] = {
775
+ err
776
+ };
777
+ callback->Call(1, argv, async_resource);
778
+ }
779
+
780
+ if (baton->error) {
781
+ if (baton->error->message) {
782
+ free((void *)baton->error->message);
783
+ }
784
+
785
+ free((void *)baton->error);
762
786
  }
787
+
788
+
789
+ delete baton;
763
790
  }
764
791
 
765
792
  void GitIndex::ClearWorker::HandleOKCallback() {
766
793
  if (baton->error_code == GIT_OK) {
767
794
  v8::Local<v8::Value> result = Nan::Undefined();
768
-
795
+
769
796
  v8::Local<v8::Value> argv[2] = {
770
797
  Nan::Null(),
771
798
  result
@@ -789,44 +816,15 @@ void GitIndex::ClearWorker::HandleOKCallback() {
789
816
  free((void *)baton->error->message);
790
817
  free((void *)baton->error);
791
818
  } else if (baton->error_code < 0) {
792
- std::queue< v8::Local<v8::Value> > workerArguments;
793
819
  bool callbackFired = false;
794
- while(!workerArguments.empty()) {
795
- v8::Local<v8::Value> node = workerArguments.front();
796
- workerArguments.pop();
797
-
798
- if (
799
- !node->IsObject()
800
- || node->IsArray()
801
- || node->IsBooleanObject()
802
- || node->IsDate()
803
- || node->IsFunction()
804
- || node->IsNumberObject()
805
- || node->IsRegExp()
806
- || node->IsStringObject()
807
- ) {
808
- continue;
809
- }
810
-
811
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
812
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
813
-
814
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
820
+ if (!callbackErrorHandle.IsEmpty()) {
821
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
822
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
815
823
  v8::Local<v8::Value> argv[1] = {
816
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
824
+ maybeError
817
825
  };
818
826
  callback->Call(1, argv, async_resource);
819
827
  callbackFired = true;
820
- break;
821
- }
822
-
823
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
824
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
825
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
826
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
827
- if (!nodeToQueue->IsUndefined()) {
828
- workerArguments.push(nodeToQueue);
829
- }
830
828
  }
831
829
  }
832
830
 
@@ -857,74 +855,87 @@ void GitIndex::ClearWorker::HandleOKCallback() {
857
855
  */
858
856
  NAN_METHOD(GitIndex::ConflictAdd) {
859
857
 
860
- if (info.Length() == 3 || !info[3]->IsFunction()) {
858
+ if (!info[info.Length() - 1]->IsFunction()) {
861
859
  return Nan::ThrowError("Callback is required and must be a Function.");
862
860
  }
863
861
 
864
- ConflictAddBaton* baton = new ConflictAddBaton;
862
+ ConflictAddBaton* baton = new ConflictAddBaton();
865
863
 
866
864
  baton->error_code = GIT_OK;
867
865
  baton->error = NULL;
868
866
 
869
- baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
870
- // start convert_from_v8 block
871
- const git_index_entry * from_ancestor_entry = NULL;
872
- if (info[0]->IsObject()) {
873
- from_ancestor_entry = Nan::ObjectWrap::Unwrap<GitIndexEntry>(Nan::To<v8::Object>(info[0]).ToLocalChecked())->GetValue();
874
- }
875
- else {
876
- from_ancestor_entry = 0;
877
- }
878
- // end convert_from_v8 block
879
- baton->ancestor_entry = from_ancestor_entry;
880
- // start convert_from_v8 block
881
- const git_index_entry * from_our_entry = NULL;
882
- if (info[1]->IsObject()) {
883
- from_our_entry = Nan::ObjectWrap::Unwrap<GitIndexEntry>(Nan::To<v8::Object>(info[1]).ToLocalChecked())->GetValue();
884
- }
885
- else {
886
- from_our_entry = 0;
887
- }
888
- // end convert_from_v8 block
889
- baton->our_entry = from_our_entry;
890
- // start convert_from_v8 block
891
- const git_index_entry * from_their_entry = NULL;
892
- if (info[2]->IsObject()) {
893
- from_their_entry = Nan::ObjectWrap::Unwrap<GitIndexEntry>(Nan::To<v8::Object>(info[2]).ToLocalChecked())->GetValue();
894
- }
895
- else {
896
- from_their_entry = 0;
897
- }
898
- // end convert_from_v8 block
899
- baton->their_entry = from_their_entry;
900
867
 
901
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[3]));
902
- ConflictAddWorker *worker = new ConflictAddWorker(baton, callback);
868
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
869
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
903
870
 
904
- worker->SaveToPersistent("index", info.This());
905
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
906
- worker->SaveToPersistent("ancestor_entry", Nan::To<v8::Object>(info[0]).ToLocalChecked());
907
- if (!info[1]->IsUndefined() && !info[1]->IsNull())
908
- worker->SaveToPersistent("our_entry", Nan::To<v8::Object>(info[1]).ToLocalChecked());
909
- if (!info[2]->IsUndefined() && !info[2]->IsNull())
910
- worker->SaveToPersistent("their_entry", Nan::To<v8::Object>(info[2]).ToLocalChecked());
871
+ baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
872
+ if (info[0]->IsNull() || info[0]->IsUndefined()) {
873
+ baton->ancestor_entry = nullptr;
874
+ } else
875
+ {
876
+ auto conversionResult = ConfigurableGitIndexEntry::fromJavascript(nodegitContext, info[0]);
877
+ if (!conversionResult.result) {
878
+ return Nan::ThrowError(Nan::New(conversionResult.error).ToLocalChecked());
879
+ }
880
+
881
+ auto convertedObject = conversionResult.result;
882
+ cleanupHandles["ancestor_entry"] = convertedObject;
883
+ baton->ancestor_entry = convertedObject->GetValue();
884
+ }
885
+ if (info[1]->IsNull() || info[1]->IsUndefined()) {
886
+ baton->our_entry = nullptr;
887
+ } else
888
+ {
889
+ auto conversionResult = ConfigurableGitIndexEntry::fromJavascript(nodegitContext, info[1]);
890
+ if (!conversionResult.result) {
891
+ return Nan::ThrowError(Nan::New(conversionResult.error).ToLocalChecked());
892
+ }
893
+
894
+ auto convertedObject = conversionResult.result;
895
+ cleanupHandles["our_entry"] = convertedObject;
896
+ baton->our_entry = convertedObject->GetValue();
897
+ }
898
+ if (info[2]->IsNull() || info[2]->IsUndefined()) {
899
+ baton->their_entry = nullptr;
900
+ } else
901
+ {
902
+ auto conversionResult = ConfigurableGitIndexEntry::fromJavascript(nodegitContext, info[2]);
903
+ if (!conversionResult.result) {
904
+ return Nan::ThrowError(Nan::New(conversionResult.error).ToLocalChecked());
905
+ }
906
+
907
+ auto convertedObject = conversionResult.result;
908
+ cleanupHandles["their_entry"] = convertedObject;
909
+ baton->their_entry = convertedObject->GetValue();
910
+ }
911
+
912
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
913
+ ConflictAddWorker *worker = new ConflictAddWorker(baton, callback, cleanupHandles);
911
914
 
912
- AsyncLibgit2QueueWorker(worker);
915
+ worker->Reference<GitIndex>("index", info.This());
916
+ worker->Reference("ancestor_entry", info[0]);
917
+ worker->Reference("our_entry", info[1]);
918
+ worker->Reference("their_entry", info[2]);
919
+
920
+ nodegitContext->QueueWorker(worker);
913
921
  return;
914
922
  }
915
923
 
924
+ nodegit::LockMaster GitIndex::ConflictAddWorker::AcquireLocks() {
925
+ nodegit::LockMaster lockMaster(
926
+ /*asyncAction: */true
927
+ ,baton->index
928
+ ,baton->ancestor_entry
929
+ ,baton->our_entry
930
+ ,baton->their_entry
931
+ );
932
+
933
+ return lockMaster;
934
+ }
935
+
916
936
  void GitIndex::ConflictAddWorker::Execute() {
917
937
  git_error_clear();
918
938
 
919
- {
920
- LockMaster lockMaster(
921
- /*asyncAction: */true
922
- ,baton->index
923
- ,baton->ancestor_entry
924
- ,baton->our_entry
925
- ,baton->their_entry
926
- );
927
-
928
939
  int result = git_index_conflict_add(
929
940
  baton->index,baton->ancestor_entry,baton->our_entry,baton->their_entry );
930
941
 
@@ -934,13 +945,34 @@ baton->index,baton->ancestor_entry,baton->our_entry,baton->their_entry );
934
945
  baton->error = git_error_dup(git_error_last());
935
946
  }
936
947
 
948
+ }
949
+
950
+ void GitIndex::ConflictAddWorker::HandleErrorCallback() {
951
+ if (!GetIsCancelled()) {
952
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
953
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.conflictAdd").ToLocalChecked());
954
+ v8::Local<v8::Value> argv[1] = {
955
+ err
956
+ };
957
+ callback->Call(1, argv, async_resource);
958
+ }
959
+
960
+ if (baton->error) {
961
+ if (baton->error->message) {
962
+ free((void *)baton->error->message);
963
+ }
964
+
965
+ free((void *)baton->error);
937
966
  }
967
+
968
+
969
+ delete baton;
938
970
  }
939
971
 
940
972
  void GitIndex::ConflictAddWorker::HandleOKCallback() {
941
973
  if (baton->error_code == GIT_OK) {
942
974
  v8::Local<v8::Value> result = Nan::Undefined();
943
-
975
+
944
976
  v8::Local<v8::Value> argv[2] = {
945
977
  Nan::Null(),
946
978
  result
@@ -964,47 +996,15 @@ void GitIndex::ConflictAddWorker::HandleOKCallback() {
964
996
  free((void *)baton->error->message);
965
997
  free((void *)baton->error);
966
998
  } else if (baton->error_code < 0) {
967
- std::queue< v8::Local<v8::Value> > workerArguments;
968
- workerArguments.push(GetFromPersistent("ancestor_entry"));
969
- workerArguments.push(GetFromPersistent("our_entry"));
970
- workerArguments.push(GetFromPersistent("their_entry"));
971
999
  bool callbackFired = false;
972
- while(!workerArguments.empty()) {
973
- v8::Local<v8::Value> node = workerArguments.front();
974
- workerArguments.pop();
975
-
976
- if (
977
- !node->IsObject()
978
- || node->IsArray()
979
- || node->IsBooleanObject()
980
- || node->IsDate()
981
- || node->IsFunction()
982
- || node->IsNumberObject()
983
- || node->IsRegExp()
984
- || node->IsStringObject()
985
- ) {
986
- continue;
987
- }
988
-
989
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
990
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
991
-
992
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
1000
+ if (!callbackErrorHandle.IsEmpty()) {
1001
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
1002
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
993
1003
  v8::Local<v8::Value> argv[1] = {
994
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
1004
+ maybeError
995
1005
  };
996
1006
  callback->Call(1, argv, async_resource);
997
1007
  callbackFired = true;
998
- break;
999
- }
1000
-
1001
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
1002
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
1003
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
1004
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
1005
- if (!nodeToQueue->IsUndefined()) {
1006
- workerArguments.push(nodeToQueue);
1007
- }
1008
1008
  }
1009
1009
  }
1010
1010
 
@@ -1032,35 +1032,42 @@ void GitIndex::ConflictAddWorker::HandleOKCallback() {
1032
1032
  */
1033
1033
  NAN_METHOD(GitIndex::ConflictCleanup) {
1034
1034
 
1035
- if (info.Length() == 0 || !info[0]->IsFunction()) {
1035
+ if (!info[info.Length() - 1]->IsFunction()) {
1036
1036
  return Nan::ThrowError("Callback is required and must be a Function.");
1037
1037
  }
1038
1038
 
1039
- ConflictCleanupBaton* baton = new ConflictCleanupBaton;
1039
+ ConflictCleanupBaton* baton = new ConflictCleanupBaton();
1040
1040
 
1041
1041
  baton->error_code = GIT_OK;
1042
1042
  baton->error = NULL;
1043
1043
 
1044
+
1045
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
1046
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
1047
+
1044
1048
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
1045
1049
 
1046
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[0]));
1047
- ConflictCleanupWorker *worker = new ConflictCleanupWorker(baton, callback);
1050
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
1051
+ ConflictCleanupWorker *worker = new ConflictCleanupWorker(baton, callback, cleanupHandles);
1048
1052
 
1049
- worker->SaveToPersistent("index", info.This());
1053
+ worker->Reference<GitIndex>("index", info.This());
1050
1054
 
1051
- AsyncLibgit2QueueWorker(worker);
1055
+ nodegitContext->QueueWorker(worker);
1052
1056
  return;
1053
1057
  }
1054
1058
 
1059
+ nodegit::LockMaster GitIndex::ConflictCleanupWorker::AcquireLocks() {
1060
+ nodegit::LockMaster lockMaster(
1061
+ /*asyncAction: */true
1062
+ ,baton->index
1063
+ );
1064
+
1065
+ return lockMaster;
1066
+ }
1067
+
1055
1068
  void GitIndex::ConflictCleanupWorker::Execute() {
1056
1069
  git_error_clear();
1057
1070
 
1058
- {
1059
- LockMaster lockMaster(
1060
- /*asyncAction: */true
1061
- ,baton->index
1062
- );
1063
-
1064
1071
  int result = git_index_conflict_cleanup(
1065
1072
  baton->index );
1066
1073
 
@@ -1070,13 +1077,34 @@ baton->index );
1070
1077
  baton->error = git_error_dup(git_error_last());
1071
1078
  }
1072
1079
 
1080
+ }
1081
+
1082
+ void GitIndex::ConflictCleanupWorker::HandleErrorCallback() {
1083
+ if (!GetIsCancelled()) {
1084
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
1085
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.conflictCleanup").ToLocalChecked());
1086
+ v8::Local<v8::Value> argv[1] = {
1087
+ err
1088
+ };
1089
+ callback->Call(1, argv, async_resource);
1073
1090
  }
1091
+
1092
+ if (baton->error) {
1093
+ if (baton->error->message) {
1094
+ free((void *)baton->error->message);
1095
+ }
1096
+
1097
+ free((void *)baton->error);
1098
+ }
1099
+
1100
+
1101
+ delete baton;
1074
1102
  }
1075
1103
 
1076
1104
  void GitIndex::ConflictCleanupWorker::HandleOKCallback() {
1077
1105
  if (baton->error_code == GIT_OK) {
1078
1106
  v8::Local<v8::Value> result = Nan::Undefined();
1079
-
1107
+
1080
1108
  v8::Local<v8::Value> argv[2] = {
1081
1109
  Nan::Null(),
1082
1110
  result
@@ -1100,44 +1128,15 @@ void GitIndex::ConflictCleanupWorker::HandleOKCallback() {
1100
1128
  free((void *)baton->error->message);
1101
1129
  free((void *)baton->error);
1102
1130
  } else if (baton->error_code < 0) {
1103
- std::queue< v8::Local<v8::Value> > workerArguments;
1104
1131
  bool callbackFired = false;
1105
- while(!workerArguments.empty()) {
1106
- v8::Local<v8::Value> node = workerArguments.front();
1107
- workerArguments.pop();
1108
-
1109
- if (
1110
- !node->IsObject()
1111
- || node->IsArray()
1112
- || node->IsBooleanObject()
1113
- || node->IsDate()
1114
- || node->IsFunction()
1115
- || node->IsNumberObject()
1116
- || node->IsRegExp()
1117
- || node->IsStringObject()
1118
- ) {
1119
- continue;
1120
- }
1121
-
1122
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
1123
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
1124
-
1125
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
1132
+ if (!callbackErrorHandle.IsEmpty()) {
1133
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
1134
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
1126
1135
  v8::Local<v8::Value> argv[1] = {
1127
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
1136
+ maybeError
1128
1137
  };
1129
1138
  callback->Call(1, argv, async_resource);
1130
1139
  callbackFired = true;
1131
- break;
1132
- }
1133
-
1134
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
1135
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
1136
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
1137
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
1138
- if (!nodeToQueue->IsUndefined()) {
1139
- workerArguments.push(nodeToQueue);
1140
- }
1141
1140
  }
1142
1141
  }
1143
1142
 
@@ -1173,15 +1172,19 @@ NAN_METHOD(GitIndex::ConflictGet) {
1173
1172
  return Nan::ThrowError("String path is required.");
1174
1173
  }
1175
1174
 
1176
- if (info.Length() == 1 || !info[1]->IsFunction()) {
1175
+ if (!info[info.Length() - 1]->IsFunction()) {
1177
1176
  return Nan::ThrowError("Callback is required and must be a Function.");
1178
1177
  }
1179
1178
 
1180
- ConflictGetBaton* baton = new ConflictGetBaton;
1179
+ ConflictGetBaton* baton = new ConflictGetBaton();
1181
1180
 
1182
1181
  baton->error_code = GIT_OK;
1183
1182
  baton->error = NULL;
1184
1183
 
1184
+
1185
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
1186
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
1187
+
1185
1188
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
1186
1189
  // start convert_from_v8 block
1187
1190
  const char * from_path = NULL;
@@ -1198,27 +1201,29 @@ NAN_METHOD(GitIndex::ConflictGet) {
1198
1201
  // end convert_from_v8 block
1199
1202
  baton->path = from_path;
1200
1203
 
1201
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
1202
- ConflictGetWorker *worker = new ConflictGetWorker(baton, callback);
1204
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
1205
+ ConflictGetWorker *worker = new ConflictGetWorker(baton, callback, cleanupHandles);
1203
1206
 
1204
- worker->SaveToPersistent("index", info.This());
1205
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
1206
- worker->SaveToPersistent("path", Nan::To<v8::Object>(info[0]).ToLocalChecked());
1207
-
1208
- AsyncLibgit2QueueWorker(worker);
1207
+ worker->Reference<GitIndex>("index", info.This());
1208
+ worker->Reference("path", info[0]);
1209
+
1210
+ nodegitContext->QueueWorker(worker);
1209
1211
  return;
1210
1212
  }
1211
1213
 
1214
+ nodegit::LockMaster GitIndex::ConflictGetWorker::AcquireLocks() {
1215
+ nodegit::LockMaster lockMaster(
1216
+ /*asyncAction: */true
1217
+ ,baton->index
1218
+ ,baton->path
1219
+ );
1220
+
1221
+ return lockMaster;
1222
+ }
1223
+
1212
1224
  void GitIndex::ConflictGetWorker::Execute() {
1213
1225
  git_error_clear();
1214
1226
 
1215
- {
1216
- LockMaster lockMaster(
1217
- /*asyncAction: */true
1218
- ,baton->index
1219
- ,baton->path
1220
- );
1221
-
1222
1227
  int result = git_index_conflict_get(
1223
1228
  &baton->ancestor_out,&baton->our_out,&baton->their_out,baton->index,baton->path );
1224
1229
 
@@ -1228,59 +1233,80 @@ void GitIndex::ConflictGetWorker::Execute() {
1228
1233
  baton->error = git_error_dup(git_error_last());
1229
1234
  }
1230
1235
 
1236
+ }
1237
+
1238
+ void GitIndex::ConflictGetWorker::HandleErrorCallback() {
1239
+ if (!GetIsCancelled()) {
1240
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
1241
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.conflictGet").ToLocalChecked());
1242
+ v8::Local<v8::Value> argv[1] = {
1243
+ err
1244
+ };
1245
+ callback->Call(1, argv, async_resource);
1246
+ }
1247
+
1248
+ if (baton->error) {
1249
+ if (baton->error->message) {
1250
+ free((void *)baton->error->message);
1251
+ }
1252
+
1253
+ free((void *)baton->error);
1231
1254
  }
1255
+
1256
+
1257
+ delete baton;
1232
1258
  }
1233
1259
 
1234
1260
  void GitIndex::ConflictGetWorker::HandleOKCallback() {
1235
1261
  if (baton->error_code == GIT_OK) {
1236
- v8::Local<v8::Value> to;
1262
+ v8::Local<v8::Value> v8ConversionSlot;
1237
1263
  v8::Local<Object> result = Nan::New<Object>();
1238
1264
  // start convert_to_v8 block
1239
1265
  if (baton->ancestor_out != NULL) {
1240
1266
  v8::Local<v8::Array> owners = Nan::New<Array>(0);
1241
1267
  Nan::Set(owners, Nan::New<v8::Number>(owners->Length()), Nan::To<v8::Object>(this->GetFromPersistent("index")).ToLocalChecked());
1242
- to = GitIndexEntry::New(
1268
+ v8ConversionSlot = GitIndexEntry::New(
1243
1269
  baton->ancestor_out,
1244
1270
  false
1245
1271
  , owners
1246
1272
  );
1247
1273
  }
1248
1274
  else {
1249
- to = Nan::Null();
1275
+ v8ConversionSlot = Nan::Null();
1250
1276
  }
1251
1277
  // end convert_to_v8 block
1252
- Nan::Set(result, Nan::New("ancestor_out").ToLocalChecked(), to);
1278
+ Nan::Set(result, Nan::New("ancestor_out").ToLocalChecked(), v8ConversionSlot);
1253
1279
  // start convert_to_v8 block
1254
1280
  if (baton->our_out != NULL) {
1255
1281
  v8::Local<v8::Array> owners = Nan::New<Array>(0);
1256
1282
  Nan::Set(owners, Nan::New<v8::Number>(owners->Length()), Nan::To<v8::Object>(this->GetFromPersistent("index")).ToLocalChecked());
1257
- to = GitIndexEntry::New(
1283
+ v8ConversionSlot = GitIndexEntry::New(
1258
1284
  baton->our_out,
1259
1285
  false
1260
1286
  , owners
1261
1287
  );
1262
1288
  }
1263
1289
  else {
1264
- to = Nan::Null();
1290
+ v8ConversionSlot = Nan::Null();
1265
1291
  }
1266
1292
  // end convert_to_v8 block
1267
- Nan::Set(result, Nan::New("our_out").ToLocalChecked(), to);
1293
+ Nan::Set(result, Nan::New("our_out").ToLocalChecked(), v8ConversionSlot);
1268
1294
  // start convert_to_v8 block
1269
1295
  if (baton->their_out != NULL) {
1270
1296
  v8::Local<v8::Array> owners = Nan::New<Array>(0);
1271
1297
  Nan::Set(owners, Nan::New<v8::Number>(owners->Length()), Nan::To<v8::Object>(this->GetFromPersistent("index")).ToLocalChecked());
1272
- to = GitIndexEntry::New(
1298
+ v8ConversionSlot = GitIndexEntry::New(
1273
1299
  baton->their_out,
1274
1300
  false
1275
1301
  , owners
1276
1302
  );
1277
1303
  }
1278
1304
  else {
1279
- to = Nan::Null();
1305
+ v8ConversionSlot = Nan::Null();
1280
1306
  }
1281
1307
  // end convert_to_v8 block
1282
- Nan::Set(result, Nan::New("their_out").ToLocalChecked(), to);
1283
-
1308
+ Nan::Set(result, Nan::New("their_out").ToLocalChecked(), v8ConversionSlot);
1309
+
1284
1310
  v8::Local<v8::Value> argv[2] = {
1285
1311
  Nan::Null(),
1286
1312
  result
@@ -1304,45 +1330,15 @@ void GitIndex::ConflictGetWorker::HandleOKCallback() {
1304
1330
  free((void *)baton->error->message);
1305
1331
  free((void *)baton->error);
1306
1332
  } else if (baton->error_code < 0) {
1307
- std::queue< v8::Local<v8::Value> > workerArguments;
1308
- workerArguments.push(GetFromPersistent("path"));
1309
1333
  bool callbackFired = false;
1310
- while(!workerArguments.empty()) {
1311
- v8::Local<v8::Value> node = workerArguments.front();
1312
- workerArguments.pop();
1313
-
1314
- if (
1315
- !node->IsObject()
1316
- || node->IsArray()
1317
- || node->IsBooleanObject()
1318
- || node->IsDate()
1319
- || node->IsFunction()
1320
- || node->IsNumberObject()
1321
- || node->IsRegExp()
1322
- || node->IsStringObject()
1323
- ) {
1324
- continue;
1325
- }
1326
-
1327
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
1328
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
1329
-
1330
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
1334
+ if (!callbackErrorHandle.IsEmpty()) {
1335
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
1336
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
1331
1337
  v8::Local<v8::Value> argv[1] = {
1332
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
1338
+ maybeError
1333
1339
  };
1334
1340
  callback->Call(1, argv, async_resource);
1335
1341
  callbackFired = true;
1336
- break;
1337
- }
1338
-
1339
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
1340
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
1341
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
1342
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
1343
- if (!nodeToQueue->IsUndefined()) {
1344
- workerArguments.push(nodeToQueue);
1345
- }
1346
1342
  }
1347
1343
  }
1348
1344
 
@@ -1375,15 +1371,19 @@ NAN_METHOD(GitIndex::ConflictRemove) {
1375
1371
  return Nan::ThrowError("String path is required.");
1376
1372
  }
1377
1373
 
1378
- if (info.Length() == 1 || !info[1]->IsFunction()) {
1374
+ if (!info[info.Length() - 1]->IsFunction()) {
1379
1375
  return Nan::ThrowError("Callback is required and must be a Function.");
1380
1376
  }
1381
1377
 
1382
- ConflictRemoveBaton* baton = new ConflictRemoveBaton;
1378
+ ConflictRemoveBaton* baton = new ConflictRemoveBaton();
1383
1379
 
1384
1380
  baton->error_code = GIT_OK;
1385
1381
  baton->error = NULL;
1386
1382
 
1383
+
1384
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
1385
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
1386
+
1387
1387
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
1388
1388
  // start convert_from_v8 block
1389
1389
  const char * from_path = NULL;
@@ -1400,27 +1400,29 @@ NAN_METHOD(GitIndex::ConflictRemove) {
1400
1400
  // end convert_from_v8 block
1401
1401
  baton->path = from_path;
1402
1402
 
1403
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
1404
- ConflictRemoveWorker *worker = new ConflictRemoveWorker(baton, callback);
1405
-
1406
- worker->SaveToPersistent("index", info.This());
1407
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
1408
- worker->SaveToPersistent("path", Nan::To<v8::Object>(info[0]).ToLocalChecked());
1403
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
1404
+ ConflictRemoveWorker *worker = new ConflictRemoveWorker(baton, callback, cleanupHandles);
1409
1405
 
1410
- AsyncLibgit2QueueWorker(worker);
1406
+ worker->Reference<GitIndex>("index", info.This());
1407
+ worker->Reference("path", info[0]);
1408
+
1409
+ nodegitContext->QueueWorker(worker);
1411
1410
  return;
1412
1411
  }
1413
1412
 
1413
+ nodegit::LockMaster GitIndex::ConflictRemoveWorker::AcquireLocks() {
1414
+ nodegit::LockMaster lockMaster(
1415
+ /*asyncAction: */true
1416
+ ,baton->index
1417
+ ,baton->path
1418
+ );
1419
+
1420
+ return lockMaster;
1421
+ }
1422
+
1414
1423
  void GitIndex::ConflictRemoveWorker::Execute() {
1415
1424
  git_error_clear();
1416
1425
 
1417
- {
1418
- LockMaster lockMaster(
1419
- /*asyncAction: */true
1420
- ,baton->index
1421
- ,baton->path
1422
- );
1423
-
1424
1426
  int result = git_index_conflict_remove(
1425
1427
  baton->index,baton->path );
1426
1428
 
@@ -1430,13 +1432,34 @@ baton->index,baton->path );
1430
1432
  baton->error = git_error_dup(git_error_last());
1431
1433
  }
1432
1434
 
1435
+ }
1436
+
1437
+ void GitIndex::ConflictRemoveWorker::HandleErrorCallback() {
1438
+ if (!GetIsCancelled()) {
1439
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
1440
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.conflictRemove").ToLocalChecked());
1441
+ v8::Local<v8::Value> argv[1] = {
1442
+ err
1443
+ };
1444
+ callback->Call(1, argv, async_resource);
1445
+ }
1446
+
1447
+ if (baton->error) {
1448
+ if (baton->error->message) {
1449
+ free((void *)baton->error->message);
1450
+ }
1451
+
1452
+ free((void *)baton->error);
1433
1453
  }
1454
+
1455
+
1456
+ delete baton;
1434
1457
  }
1435
1458
 
1436
1459
  void GitIndex::ConflictRemoveWorker::HandleOKCallback() {
1437
1460
  if (baton->error_code == GIT_OK) {
1438
1461
  v8::Local<v8::Value> result = Nan::Undefined();
1439
-
1462
+
1440
1463
  v8::Local<v8::Value> argv[2] = {
1441
1464
  Nan::Null(),
1442
1465
  result
@@ -1460,45 +1483,15 @@ void GitIndex::ConflictRemoveWorker::HandleOKCallback() {
1460
1483
  free((void *)baton->error->message);
1461
1484
  free((void *)baton->error);
1462
1485
  } else if (baton->error_code < 0) {
1463
- std::queue< v8::Local<v8::Value> > workerArguments;
1464
- workerArguments.push(GetFromPersistent("path"));
1465
1486
  bool callbackFired = false;
1466
- while(!workerArguments.empty()) {
1467
- v8::Local<v8::Value> node = workerArguments.front();
1468
- workerArguments.pop();
1469
-
1470
- if (
1471
- !node->IsObject()
1472
- || node->IsArray()
1473
- || node->IsBooleanObject()
1474
- || node->IsDate()
1475
- || node->IsFunction()
1476
- || node->IsNumberObject()
1477
- || node->IsRegExp()
1478
- || node->IsStringObject()
1479
- ) {
1480
- continue;
1481
- }
1482
-
1483
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
1484
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
1485
-
1486
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
1487
+ if (!callbackErrorHandle.IsEmpty()) {
1488
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
1489
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
1487
1490
  v8::Local<v8::Value> argv[1] = {
1488
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
1491
+ maybeError
1489
1492
  };
1490
1493
  callback->Call(1, argv, async_resource);
1491
1494
  callbackFired = true;
1492
- break;
1493
- }
1494
-
1495
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
1496
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
1497
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
1498
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
1499
- if (!nodeToQueue->IsUndefined()) {
1500
- workerArguments.push(nodeToQueue);
1501
- }
1502
1495
  }
1503
1496
  }
1504
1497
 
@@ -1540,7 +1533,7 @@ from_entry = Nan::ObjectWrap::Unwrap<GitIndexEntry>(Nan::To<v8::Object>(info[0])
1540
1533
  git_error_clear();
1541
1534
 
1542
1535
  { // lock master scope start
1543
- LockMaster lockMaster(
1536
+ nodegit::LockMaster lockMaster(
1544
1537
  /*asyncAction: */false
1545
1538
  ,
1546
1539
  from_entry
@@ -1551,11 +1544,11 @@ from_entry = Nan::ObjectWrap::Unwrap<GitIndexEntry>(Nan::To<v8::Object>(info[0])
1551
1544
  );
1552
1545
 
1553
1546
 
1554
- v8::Local<v8::Value> to;
1547
+ v8::Local<v8::Value> v8ConversionSlot;
1555
1548
  // start convert_to_v8 block
1556
- to = Nan::New<Number>( result);
1549
+ v8ConversionSlot = Nan::New<Number>( result);
1557
1550
  // end convert_to_v8 block
1558
- return info.GetReturnValue().Set(scope.Escape(to));
1551
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
1559
1552
  }
1560
1553
  }
1561
1554
 
@@ -1577,7 +1570,7 @@ from_entry = Nan::ObjectWrap::Unwrap<GitIndexEntry>(Nan::To<v8::Object>(info[0])
1577
1570
  git_error_clear();
1578
1571
 
1579
1572
  { // lock master scope start
1580
- LockMaster lockMaster(
1573
+ nodegit::LockMaster lockMaster(
1581
1574
  /*asyncAction: */false
1582
1575
  ,
1583
1576
  from_entry
@@ -1588,11 +1581,11 @@ from_entry = Nan::ObjectWrap::Unwrap<GitIndexEntry>(Nan::To<v8::Object>(info[0])
1588
1581
  );
1589
1582
 
1590
1583
 
1591
- v8::Local<v8::Value> to;
1584
+ v8::Local<v8::Value> v8ConversionSlot;
1592
1585
  // start convert_to_v8 block
1593
- to = Nan::New<Number>( result);
1586
+ v8ConversionSlot = Nan::New<Number>( result);
1594
1587
  // end convert_to_v8 block
1595
- return info.GetReturnValue().Set(scope.Escape(to));
1588
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
1596
1589
  }
1597
1590
  }
1598
1591
 
@@ -1605,7 +1598,7 @@ NAN_METHOD(GitIndex::Entrycount) {
1605
1598
  git_error_clear();
1606
1599
 
1607
1600
  { // lock master scope start
1608
- LockMaster lockMaster(
1601
+ nodegit::LockMaster lockMaster(
1609
1602
  /*asyncAction: */false
1610
1603
  ,
1611
1604
  Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue()
@@ -1616,11 +1609,11 @@ NAN_METHOD(GitIndex::Entrycount) {
1616
1609
  );
1617
1610
 
1618
1611
 
1619
- v8::Local<v8::Value> to;
1612
+ v8::Local<v8::Value> v8ConversionSlot;
1620
1613
  // start convert_to_v8 block
1621
- to = Nan::New<Number>( result);
1614
+ v8ConversionSlot = Nan::New<Number>( result);
1622
1615
  // end convert_to_v8 block
1623
- return info.GetReturnValue().Set(scope.Escape(to));
1616
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
1624
1617
  }
1625
1618
  }
1626
1619
 
@@ -1634,15 +1627,19 @@ NAN_METHOD(GitIndex::Find) {
1634
1627
  return Nan::ThrowError("String path is required.");
1635
1628
  }
1636
1629
 
1637
- if (info.Length() == 1 || !info[1]->IsFunction()) {
1630
+ if (!info[info.Length() - 1]->IsFunction()) {
1638
1631
  return Nan::ThrowError("Callback is required and must be a Function.");
1639
1632
  }
1640
1633
 
1641
- FindBaton* baton = new FindBaton;
1634
+ FindBaton* baton = new FindBaton();
1642
1635
 
1643
1636
  baton->error_code = GIT_OK;
1644
1637
  baton->error = NULL;
1645
1638
 
1639
+
1640
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
1641
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
1642
+
1646
1643
  baton->at_pos = (size_t *)malloc(sizeof(size_t ));
1647
1644
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
1648
1645
  // start convert_from_v8 block
@@ -1660,28 +1657,30 @@ NAN_METHOD(GitIndex::Find) {
1660
1657
  // end convert_from_v8 block
1661
1658
  baton->path = from_path;
1662
1659
 
1663
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
1664
- FindWorker *worker = new FindWorker(baton, callback);
1665
-
1666
- worker->SaveToPersistent("index", info.This());
1667
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
1668
- worker->SaveToPersistent("path", Nan::To<v8::Object>(info[0]).ToLocalChecked());
1660
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
1661
+ FindWorker *worker = new FindWorker(baton, callback, cleanupHandles);
1669
1662
 
1670
- AsyncLibgit2QueueWorker(worker);
1663
+ worker->Reference<GitIndex>("index", info.This());
1664
+ worker->Reference("path", info[0]);
1665
+
1666
+ nodegitContext->QueueWorker(worker);
1671
1667
  return;
1672
1668
  }
1673
1669
 
1670
+ nodegit::LockMaster GitIndex::FindWorker::AcquireLocks() {
1671
+ nodegit::LockMaster lockMaster(
1672
+ /*asyncAction: */true
1673
+ ,baton->at_pos
1674
+ ,baton->index
1675
+ ,baton->path
1676
+ );
1677
+
1678
+ return lockMaster;
1679
+ }
1680
+
1674
1681
  void GitIndex::FindWorker::Execute() {
1675
1682
  git_error_clear();
1676
1683
 
1677
- {
1678
- LockMaster lockMaster(
1679
- /*asyncAction: */true
1680
- ,baton->at_pos
1681
- ,baton->index
1682
- ,baton->path
1683
- );
1684
-
1685
1684
  int result = git_index_find(
1686
1685
  baton->at_pos,baton->index,baton->path );
1687
1686
 
@@ -1691,17 +1690,38 @@ baton->at_pos,baton->index,baton->path );
1691
1690
  baton->error = git_error_dup(git_error_last());
1692
1691
  }
1693
1692
 
1693
+ }
1694
+
1695
+ void GitIndex::FindWorker::HandleErrorCallback() {
1696
+ if (!GetIsCancelled()) {
1697
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
1698
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.find").ToLocalChecked());
1699
+ v8::Local<v8::Value> argv[1] = {
1700
+ err
1701
+ };
1702
+ callback->Call(1, argv, async_resource);
1703
+ }
1704
+
1705
+ if (baton->error) {
1706
+ if (baton->error->message) {
1707
+ free((void *)baton->error->message);
1708
+ }
1709
+
1710
+ free((void *)baton->error);
1694
1711
  }
1712
+
1713
+
1714
+ delete baton;
1695
1715
  }
1696
1716
 
1697
1717
  void GitIndex::FindWorker::HandleOKCallback() {
1698
1718
  if (baton->error_code == GIT_OK) {
1699
- v8::Local<v8::Value> to;
1719
+ v8::Local<v8::Value> v8ConversionSlot;
1700
1720
  // start convert_to_v8 block
1701
- to = Nan::New<Number>(* baton->at_pos);
1721
+ v8ConversionSlot = Nan::New<Number>(* baton->at_pos);
1702
1722
  // end convert_to_v8 block
1703
- v8::Local<v8::Value> result = to;
1704
-
1723
+ v8::Local<v8::Value> result = v8ConversionSlot;
1724
+
1705
1725
  v8::Local<v8::Value> argv[2] = {
1706
1726
  Nan::Null(),
1707
1727
  result
@@ -1725,45 +1745,15 @@ void GitIndex::FindWorker::HandleOKCallback() {
1725
1745
  free((void *)baton->error->message);
1726
1746
  free((void *)baton->error);
1727
1747
  } else if (baton->error_code < 0) {
1728
- std::queue< v8::Local<v8::Value> > workerArguments;
1729
- workerArguments.push(GetFromPersistent("path"));
1730
1748
  bool callbackFired = false;
1731
- while(!workerArguments.empty()) {
1732
- v8::Local<v8::Value> node = workerArguments.front();
1733
- workerArguments.pop();
1734
-
1735
- if (
1736
- !node->IsObject()
1737
- || node->IsArray()
1738
- || node->IsBooleanObject()
1739
- || node->IsDate()
1740
- || node->IsFunction()
1741
- || node->IsNumberObject()
1742
- || node->IsRegExp()
1743
- || node->IsStringObject()
1744
- ) {
1745
- continue;
1746
- }
1747
-
1748
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
1749
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
1750
-
1751
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
1749
+ if (!callbackErrorHandle.IsEmpty()) {
1750
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
1751
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
1752
1752
  v8::Local<v8::Value> argv[1] = {
1753
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
1753
+ maybeError
1754
1754
  };
1755
1755
  callback->Call(1, argv, async_resource);
1756
1756
  callbackFired = true;
1757
- break;
1758
- }
1759
-
1760
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
1761
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
1762
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
1763
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
1764
- if (!nodeToQueue->IsUndefined()) {
1765
- workerArguments.push(nodeToQueue);
1766
- }
1767
1757
  }
1768
1758
  }
1769
1759
 
@@ -1797,15 +1787,19 @@ NAN_METHOD(GitIndex::FindPrefix) {
1797
1787
  return Nan::ThrowError("String prefix is required.");
1798
1788
  }
1799
1789
 
1800
- if (info.Length() == 1 || !info[1]->IsFunction()) {
1790
+ if (!info[info.Length() - 1]->IsFunction()) {
1801
1791
  return Nan::ThrowError("Callback is required and must be a Function.");
1802
1792
  }
1803
1793
 
1804
- FindPrefixBaton* baton = new FindPrefixBaton;
1794
+ FindPrefixBaton* baton = new FindPrefixBaton();
1805
1795
 
1806
1796
  baton->error_code = GIT_OK;
1807
1797
  baton->error = NULL;
1808
1798
 
1799
+
1800
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
1801
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
1802
+
1809
1803
  baton->at_pos = (size_t *)malloc(sizeof(size_t ));
1810
1804
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
1811
1805
  // start convert_from_v8 block
@@ -1823,28 +1817,30 @@ NAN_METHOD(GitIndex::FindPrefix) {
1823
1817
  // end convert_from_v8 block
1824
1818
  baton->prefix = from_prefix;
1825
1819
 
1826
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
1827
- FindPrefixWorker *worker = new FindPrefixWorker(baton, callback);
1828
-
1829
- worker->SaveToPersistent("index", info.This());
1830
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
1831
- worker->SaveToPersistent("prefix", Nan::To<v8::Object>(info[0]).ToLocalChecked());
1820
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
1821
+ FindPrefixWorker *worker = new FindPrefixWorker(baton, callback, cleanupHandles);
1832
1822
 
1833
- AsyncLibgit2QueueWorker(worker);
1823
+ worker->Reference<GitIndex>("index", info.This());
1824
+ worker->Reference("prefix", info[0]);
1825
+
1826
+ nodegitContext->QueueWorker(worker);
1834
1827
  return;
1835
1828
  }
1836
1829
 
1830
+ nodegit::LockMaster GitIndex::FindPrefixWorker::AcquireLocks() {
1831
+ nodegit::LockMaster lockMaster(
1832
+ /*asyncAction: */true
1833
+ ,baton->at_pos
1834
+ ,baton->index
1835
+ ,baton->prefix
1836
+ );
1837
+
1838
+ return lockMaster;
1839
+ }
1840
+
1837
1841
  void GitIndex::FindPrefixWorker::Execute() {
1838
1842
  git_error_clear();
1839
1843
 
1840
- {
1841
- LockMaster lockMaster(
1842
- /*asyncAction: */true
1843
- ,baton->at_pos
1844
- ,baton->index
1845
- ,baton->prefix
1846
- );
1847
-
1848
1844
  int result = git_index_find_prefix(
1849
1845
  baton->at_pos,baton->index,baton->prefix );
1850
1846
 
@@ -1854,17 +1850,38 @@ baton->at_pos,baton->index,baton->prefix );
1854
1850
  baton->error = git_error_dup(git_error_last());
1855
1851
  }
1856
1852
 
1853
+ }
1854
+
1855
+ void GitIndex::FindPrefixWorker::HandleErrorCallback() {
1856
+ if (!GetIsCancelled()) {
1857
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
1858
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.findPrefix").ToLocalChecked());
1859
+ v8::Local<v8::Value> argv[1] = {
1860
+ err
1861
+ };
1862
+ callback->Call(1, argv, async_resource);
1863
+ }
1864
+
1865
+ if (baton->error) {
1866
+ if (baton->error->message) {
1867
+ free((void *)baton->error->message);
1868
+ }
1869
+
1870
+ free((void *)baton->error);
1857
1871
  }
1872
+
1873
+
1874
+ delete baton;
1858
1875
  }
1859
1876
 
1860
1877
  void GitIndex::FindPrefixWorker::HandleOKCallback() {
1861
1878
  if (baton->error_code == GIT_OK) {
1862
- v8::Local<v8::Value> to;
1879
+ v8::Local<v8::Value> v8ConversionSlot;
1863
1880
  // start convert_to_v8 block
1864
- to = Nan::New<Number>(* baton->at_pos);
1881
+ v8ConversionSlot = Nan::New<Number>(* baton->at_pos);
1865
1882
  // end convert_to_v8 block
1866
- v8::Local<v8::Value> result = to;
1867
-
1883
+ v8::Local<v8::Value> result = v8ConversionSlot;
1884
+
1868
1885
  v8::Local<v8::Value> argv[2] = {
1869
1886
  Nan::Null(),
1870
1887
  result
@@ -1888,45 +1905,15 @@ void GitIndex::FindPrefixWorker::HandleOKCallback() {
1888
1905
  free((void *)baton->error->message);
1889
1906
  free((void *)baton->error);
1890
1907
  } else if (baton->error_code < 0) {
1891
- std::queue< v8::Local<v8::Value> > workerArguments;
1892
- workerArguments.push(GetFromPersistent("prefix"));
1893
1908
  bool callbackFired = false;
1894
- while(!workerArguments.empty()) {
1895
- v8::Local<v8::Value> node = workerArguments.front();
1896
- workerArguments.pop();
1897
-
1898
- if (
1899
- !node->IsObject()
1900
- || node->IsArray()
1901
- || node->IsBooleanObject()
1902
- || node->IsDate()
1903
- || node->IsFunction()
1904
- || node->IsNumberObject()
1905
- || node->IsRegExp()
1906
- || node->IsStringObject()
1907
- ) {
1908
- continue;
1909
- }
1910
-
1911
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
1912
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
1913
-
1914
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
1909
+ if (!callbackErrorHandle.IsEmpty()) {
1910
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
1911
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
1915
1912
  v8::Local<v8::Value> argv[1] = {
1916
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
1913
+ maybeError
1917
1914
  };
1918
1915
  callback->Call(1, argv, async_resource);
1919
1916
  callbackFired = true;
1920
- break;
1921
- }
1922
-
1923
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
1924
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
1925
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
1926
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
1927
- if (!nodeToQueue->IsUndefined()) {
1928
- workerArguments.push(nodeToQueue);
1929
- }
1930
1917
  }
1931
1918
  }
1932
1919
 
@@ -1968,7 +1955,7 @@ NAN_METHOD(GitIndex::GetByindex) {
1968
1955
  git_error_clear();
1969
1956
 
1970
1957
  { // lock master scope start
1971
- LockMaster lockMaster(
1958
+ nodegit::LockMaster lockMaster(
1972
1959
  /*asyncAction: */false
1973
1960
  ,
1974
1961
  Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue()
@@ -1984,19 +1971,19 @@ NAN_METHOD(GitIndex::GetByindex) {
1984
1971
  return info.GetReturnValue().Set(scope.Escape(Nan::Undefined()));
1985
1972
  }
1986
1973
 
1987
- v8::Local<v8::Value> to;
1974
+ v8::Local<v8::Value> v8ConversionSlot;
1988
1975
  // start convert_to_v8 block
1989
1976
  if (result != NULL) {
1990
- to = GitIndexEntry::New(
1977
+ v8ConversionSlot = GitIndexEntry::New(
1991
1978
  result,
1992
1979
  false
1993
1980
  );
1994
1981
  }
1995
1982
  else {
1996
- to = Nan::Null();
1983
+ v8ConversionSlot = Nan::Null();
1997
1984
  }
1998
1985
  // end convert_to_v8 block
1999
- return info.GetReturnValue().Set(scope.Escape(to));
1986
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
2000
1987
  }
2001
1988
  }
2002
1989
 
@@ -2026,7 +2013,7 @@ NAN_METHOD(GitIndex::GetBypath) {
2026
2013
  // end convert_from_v8 block
2027
2014
  // start convert_from_v8 block
2028
2015
  int from_stage;
2029
- if (info[1]->IsNumber()) {
2016
+ if ((info.Length() - 1) > 1 && info[1]->IsNumber()) {
2030
2017
  from_stage = (int) info[1].As<v8::Number>()->Value();
2031
2018
  }
2032
2019
  else {
@@ -2037,7 +2024,7 @@ NAN_METHOD(GitIndex::GetBypath) {
2037
2024
  git_error_clear();
2038
2025
 
2039
2026
  { // lock master scope start
2040
- LockMaster lockMaster(
2027
+ nodegit::LockMaster lockMaster(
2041
2028
  /*asyncAction: */false
2042
2029
  ,
2043
2030
  Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue()
@@ -2056,19 +2043,19 @@ NAN_METHOD(GitIndex::GetBypath) {
2056
2043
  return info.GetReturnValue().Set(scope.Escape(Nan::Undefined()));
2057
2044
  }
2058
2045
 
2059
- v8::Local<v8::Value> to;
2046
+ v8::Local<v8::Value> v8ConversionSlot;
2060
2047
  // start convert_to_v8 block
2061
2048
  if (result != NULL) {
2062
- to = GitIndexEntry::New(
2049
+ v8ConversionSlot = GitIndexEntry::New(
2063
2050
  result,
2064
2051
  false
2065
2052
  );
2066
2053
  }
2067
2054
  else {
2068
- to = Nan::Null();
2055
+ v8ConversionSlot = Nan::Null();
2069
2056
  }
2070
2057
  // end convert_to_v8 block
2071
- return info.GetReturnValue().Set(scope.Escape(to));
2058
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
2072
2059
  }
2073
2060
  }
2074
2061
 
@@ -2081,7 +2068,7 @@ NAN_METHOD(GitIndex::HasConflicts) {
2081
2068
  git_error_clear();
2082
2069
 
2083
2070
  { // lock master scope start
2084
- LockMaster lockMaster(
2071
+ nodegit::LockMaster lockMaster(
2085
2072
  /*asyncAction: */false
2086
2073
  ,
2087
2074
  Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue()
@@ -2092,11 +2079,11 @@ NAN_METHOD(GitIndex::HasConflicts) {
2092
2079
  );
2093
2080
 
2094
2081
 
2095
- v8::Local<v8::Value> to;
2082
+ v8::Local<v8::Value> v8ConversionSlot;
2096
2083
  // start convert_to_v8 block
2097
- to = Nan::New<Number>( result);
2084
+ v8ConversionSlot = Nan::New<Number>( result);
2098
2085
  // end convert_to_v8 block
2099
- return info.GetReturnValue().Set(scope.Escape(to));
2086
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
2100
2087
  }
2101
2088
  }
2102
2089
 
@@ -2110,15 +2097,19 @@ NAN_METHOD(GitIndex::Open) {
2110
2097
  return Nan::ThrowError("String index_path is required.");
2111
2098
  }
2112
2099
 
2113
- if (info.Length() == 1 || !info[1]->IsFunction()) {
2100
+ if (!info[info.Length() - 1]->IsFunction()) {
2114
2101
  return Nan::ThrowError("Callback is required and must be a Function.");
2115
2102
  }
2116
2103
 
2117
- OpenBaton* baton = new OpenBaton;
2104
+ OpenBaton* baton = new OpenBaton();
2118
2105
 
2119
2106
  baton->error_code = GIT_OK;
2120
2107
  baton->error = NULL;
2121
2108
 
2109
+
2110
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
2111
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
2112
+
2122
2113
  // start convert_from_v8 block
2123
2114
  const char * from_index_path = NULL;
2124
2115
 
@@ -2134,25 +2125,27 @@ NAN_METHOD(GitIndex::Open) {
2134
2125
  // end convert_from_v8 block
2135
2126
  baton->index_path = from_index_path;
2136
2127
 
2137
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
2138
- OpenWorker *worker = new OpenWorker(baton, callback);
2128
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
2129
+ OpenWorker *worker = new OpenWorker(baton, callback, cleanupHandles);
2139
2130
 
2140
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
2141
- worker->SaveToPersistent("index_path", Nan::To<v8::Object>(info[0]).ToLocalChecked());
2142
-
2143
- AsyncLibgit2QueueWorker(worker);
2131
+ worker->Reference("index_path", info[0]);
2132
+
2133
+ nodegitContext->QueueWorker(worker);
2144
2134
  return;
2145
2135
  }
2146
2136
 
2137
+ nodegit::LockMaster GitIndex::OpenWorker::AcquireLocks() {
2138
+ nodegit::LockMaster lockMaster(
2139
+ /*asyncAction: */true
2140
+ ,baton->index_path
2141
+ );
2142
+
2143
+ return lockMaster;
2144
+ }
2145
+
2147
2146
  void GitIndex::OpenWorker::Execute() {
2148
2147
  git_error_clear();
2149
2148
 
2150
- {
2151
- LockMaster lockMaster(
2152
- /*asyncAction: */true
2153
- ,baton->index_path
2154
- );
2155
-
2156
2149
  int result = git_index_open(
2157
2150
  &baton->out,baton->index_path );
2158
2151
 
@@ -2162,12 +2155,34 @@ void GitIndex::OpenWorker::Execute() {
2162
2155
  baton->error = git_error_dup(git_error_last());
2163
2156
  }
2164
2157
 
2158
+ }
2159
+
2160
+ void GitIndex::OpenWorker::HandleErrorCallback() {
2161
+ if (!GetIsCancelled()) {
2162
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
2163
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.open").ToLocalChecked());
2164
+ v8::Local<v8::Value> argv[1] = {
2165
+ err
2166
+ };
2167
+ callback->Call(1, argv, async_resource);
2168
+ }
2169
+
2170
+ if (baton->error) {
2171
+ if (baton->error->message) {
2172
+ free((void *)baton->error->message);
2173
+ }
2174
+
2175
+ free((void *)baton->error);
2165
2176
  }
2177
+
2178
+ git_index_free(baton->out);
2179
+
2180
+ delete baton;
2166
2181
  }
2167
2182
 
2168
2183
  void GitIndex::OpenWorker::HandleOKCallback() {
2169
2184
  if (baton->error_code == GIT_OK) {
2170
- v8::Local<v8::Value> to;
2185
+ v8::Local<v8::Value> v8ConversionSlot;
2171
2186
  // start convert_to_v8 block
2172
2187
  if (baton->out != NULL) {
2173
2188
  v8::Local<v8::Array> owners = Nan::New<Array>(0);
@@ -2179,18 +2194,18 @@ void GitIndex::OpenWorker::HandleOKCallback() {
2179
2194
  true
2180
2195
  )).ToLocalChecked()
2181
2196
  );
2182
- to = GitIndex::New(
2197
+ v8ConversionSlot = GitIndex::New(
2183
2198
  baton->out,
2184
2199
  true
2185
2200
  , owners
2186
2201
  );
2187
2202
  }
2188
2203
  else {
2189
- to = Nan::Null();
2204
+ v8ConversionSlot = Nan::Null();
2190
2205
  }
2191
2206
  // end convert_to_v8 block
2192
- v8::Local<v8::Value> result = to;
2193
-
2207
+ v8::Local<v8::Value> result = v8ConversionSlot;
2208
+
2194
2209
  v8::Local<v8::Value> argv[2] = {
2195
2210
  Nan::Null(),
2196
2211
  result
@@ -2214,45 +2229,15 @@ void GitIndex::OpenWorker::HandleOKCallback() {
2214
2229
  free((void *)baton->error->message);
2215
2230
  free((void *)baton->error);
2216
2231
  } else if (baton->error_code < 0) {
2217
- std::queue< v8::Local<v8::Value> > workerArguments;
2218
- workerArguments.push(GetFromPersistent("index_path"));
2219
2232
  bool callbackFired = false;
2220
- while(!workerArguments.empty()) {
2221
- v8::Local<v8::Value> node = workerArguments.front();
2222
- workerArguments.pop();
2223
-
2224
- if (
2225
- !node->IsObject()
2226
- || node->IsArray()
2227
- || node->IsBooleanObject()
2228
- || node->IsDate()
2229
- || node->IsFunction()
2230
- || node->IsNumberObject()
2231
- || node->IsRegExp()
2232
- || node->IsStringObject()
2233
- ) {
2234
- continue;
2235
- }
2236
-
2237
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
2238
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
2239
-
2240
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
2233
+ if (!callbackErrorHandle.IsEmpty()) {
2234
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
2235
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
2241
2236
  v8::Local<v8::Value> argv[1] = {
2242
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
2237
+ maybeError
2243
2238
  };
2244
2239
  callback->Call(1, argv, async_resource);
2245
2240
  callbackFired = true;
2246
- break;
2247
- }
2248
-
2249
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
2250
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
2251
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
2252
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
2253
- if (!nodeToQueue->IsUndefined()) {
2254
- workerArguments.push(nodeToQueue);
2255
- }
2256
2241
  }
2257
2242
  }
2258
2243
 
@@ -2269,6 +2254,7 @@ void GitIndex::OpenWorker::HandleOKCallback() {
2269
2254
  callback->Call(0, NULL, async_resource);
2270
2255
  }
2271
2256
 
2257
+ git_index_free(baton->out);
2272
2258
  }
2273
2259
 
2274
2260
 
@@ -2285,7 +2271,7 @@ NAN_METHOD(GitIndex::Path) {
2285
2271
  git_error_clear();
2286
2272
 
2287
2273
  { // lock master scope start
2288
- LockMaster lockMaster(
2274
+ nodegit::LockMaster lockMaster(
2289
2275
  /*asyncAction: */false
2290
2276
  ,
2291
2277
  Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue()
@@ -2300,17 +2286,17 @@ NAN_METHOD(GitIndex::Path) {
2300
2286
  return info.GetReturnValue().Set(scope.Escape(Nan::Undefined()));
2301
2287
  }
2302
2288
 
2303
- v8::Local<v8::Value> to;
2289
+ v8::Local<v8::Value> v8ConversionSlot;
2304
2290
  // start convert_to_v8 block
2305
2291
  if (result){
2306
- to = Nan::New<v8::String>(result).ToLocalChecked();
2292
+ v8ConversionSlot = Nan::New<v8::String>(result).ToLocalChecked();
2307
2293
  }
2308
2294
  else {
2309
- to = Nan::Null();
2295
+ v8ConversionSlot = Nan::Null();
2310
2296
  }
2311
2297
 
2312
2298
  // end convert_to_v8 block
2313
- return info.GetReturnValue().Set(scope.Escape(to));
2299
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
2314
2300
  }
2315
2301
  }
2316
2302
 
@@ -2319,19 +2305,23 @@ NAN_METHOD(GitIndex::Path) {
2319
2305
  */
2320
2306
  NAN_METHOD(GitIndex::Read) {
2321
2307
 
2322
- if (info.Length() == 1 || !info[1]->IsFunction()) {
2308
+ if (!info[info.Length() - 1]->IsFunction()) {
2323
2309
  return Nan::ThrowError("Callback is required and must be a Function.");
2324
2310
  }
2325
2311
 
2326
- ReadBaton* baton = new ReadBaton;
2312
+ ReadBaton* baton = new ReadBaton();
2327
2313
 
2328
2314
  baton->error_code = GIT_OK;
2329
2315
  baton->error = NULL;
2330
2316
 
2317
+
2318
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
2319
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
2320
+
2331
2321
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
2332
2322
  // start convert_from_v8 block
2333
2323
  int from_force;
2334
- if (info[0]->IsNumber()) {
2324
+ if ((info.Length() - 1) > 0 && info[0]->IsNumber()) {
2335
2325
  from_force = (int) info[0].As<v8::Number>()->Value();
2336
2326
  }
2337
2327
  else {
@@ -2340,26 +2330,28 @@ NAN_METHOD(GitIndex::Read) {
2340
2330
  // end convert_from_v8 block
2341
2331
  baton->force = from_force;
2342
2332
 
2343
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
2344
- ReadWorker *worker = new ReadWorker(baton, callback);
2345
-
2346
- worker->SaveToPersistent("index", info.This());
2347
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
2348
- worker->SaveToPersistent("force", Nan::To<v8::Object>(info[0]).ToLocalChecked());
2333
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
2334
+ ReadWorker *worker = new ReadWorker(baton, callback, cleanupHandles);
2349
2335
 
2350
- AsyncLibgit2QueueWorker(worker);
2336
+ worker->Reference<GitIndex>("index", info.This());
2337
+ worker->Reference("force", info[0]);
2338
+
2339
+ nodegitContext->QueueWorker(worker);
2351
2340
  return;
2352
2341
  }
2353
2342
 
2343
+ nodegit::LockMaster GitIndex::ReadWorker::AcquireLocks() {
2344
+ nodegit::LockMaster lockMaster(
2345
+ /*asyncAction: */true
2346
+ ,baton->index
2347
+ );
2348
+
2349
+ return lockMaster;
2350
+ }
2351
+
2354
2352
  void GitIndex::ReadWorker::Execute() {
2355
2353
  git_error_clear();
2356
2354
 
2357
- {
2358
- LockMaster lockMaster(
2359
- /*asyncAction: */true
2360
- ,baton->index
2361
- );
2362
-
2363
2355
  int result = git_index_read(
2364
2356
  baton->index,baton->force );
2365
2357
 
@@ -2369,13 +2361,34 @@ baton->index,baton->force );
2369
2361
  baton->error = git_error_dup(git_error_last());
2370
2362
  }
2371
2363
 
2364
+ }
2365
+
2366
+ void GitIndex::ReadWorker::HandleErrorCallback() {
2367
+ if (!GetIsCancelled()) {
2368
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
2369
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.read").ToLocalChecked());
2370
+ v8::Local<v8::Value> argv[1] = {
2371
+ err
2372
+ };
2373
+ callback->Call(1, argv, async_resource);
2374
+ }
2375
+
2376
+ if (baton->error) {
2377
+ if (baton->error->message) {
2378
+ free((void *)baton->error->message);
2379
+ }
2380
+
2381
+ free((void *)baton->error);
2372
2382
  }
2383
+
2384
+
2385
+ delete baton;
2373
2386
  }
2374
2387
 
2375
2388
  void GitIndex::ReadWorker::HandleOKCallback() {
2376
2389
  if (baton->error_code == GIT_OK) {
2377
2390
  v8::Local<v8::Value> result = Nan::Undefined();
2378
-
2391
+
2379
2392
  v8::Local<v8::Value> argv[2] = {
2380
2393
  Nan::Null(),
2381
2394
  result
@@ -2399,45 +2412,15 @@ void GitIndex::ReadWorker::HandleOKCallback() {
2399
2412
  free((void *)baton->error->message);
2400
2413
  free((void *)baton->error);
2401
2414
  } else if (baton->error_code < 0) {
2402
- std::queue< v8::Local<v8::Value> > workerArguments;
2403
- workerArguments.push(GetFromPersistent("force"));
2404
2415
  bool callbackFired = false;
2405
- while(!workerArguments.empty()) {
2406
- v8::Local<v8::Value> node = workerArguments.front();
2407
- workerArguments.pop();
2408
-
2409
- if (
2410
- !node->IsObject()
2411
- || node->IsArray()
2412
- || node->IsBooleanObject()
2413
- || node->IsDate()
2414
- || node->IsFunction()
2415
- || node->IsNumberObject()
2416
- || node->IsRegExp()
2417
- || node->IsStringObject()
2418
- ) {
2419
- continue;
2420
- }
2421
-
2422
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
2423
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
2424
-
2425
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
2416
+ if (!callbackErrorHandle.IsEmpty()) {
2417
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
2418
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
2426
2419
  v8::Local<v8::Value> argv[1] = {
2427
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
2420
+ maybeError
2428
2421
  };
2429
2422
  callback->Call(1, argv, async_resource);
2430
2423
  callbackFired = true;
2431
- break;
2432
- }
2433
-
2434
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
2435
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
2436
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
2437
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
2438
- if (!nodeToQueue->IsUndefined()) {
2439
- workerArguments.push(nodeToQueue);
2440
- }
2441
2424
  }
2442
2425
  }
2443
2426
 
@@ -2470,15 +2453,19 @@ NAN_METHOD(GitIndex::ReadTree) {
2470
2453
  return Nan::ThrowError("Tree tree is required.");
2471
2454
  }
2472
2455
 
2473
- if (info.Length() == 1 || !info[1]->IsFunction()) {
2456
+ if (!info[info.Length() - 1]->IsFunction()) {
2474
2457
  return Nan::ThrowError("Callback is required and must be a Function.");
2475
2458
  }
2476
2459
 
2477
- ReadTreeBaton* baton = new ReadTreeBaton;
2460
+ ReadTreeBaton* baton = new ReadTreeBaton();
2478
2461
 
2479
2462
  baton->error_code = GIT_OK;
2480
2463
  baton->error = NULL;
2481
2464
 
2465
+
2466
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
2467
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
2468
+
2482
2469
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
2483
2470
  // start convert_from_v8 block
2484
2471
  const git_tree * from_tree = NULL;
@@ -2486,27 +2473,29 @@ from_tree = Nan::ObjectWrap::Unwrap<GitTree>(Nan::To<v8::Object>(info[0]).ToLoca
2486
2473
  // end convert_from_v8 block
2487
2474
  baton->tree = from_tree;
2488
2475
 
2489
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
2490
- ReadTreeWorker *worker = new ReadTreeWorker(baton, callback);
2491
-
2492
- worker->SaveToPersistent("index", info.This());
2493
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
2494
- worker->SaveToPersistent("tree", Nan::To<v8::Object>(info[0]).ToLocalChecked());
2476
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
2477
+ ReadTreeWorker *worker = new ReadTreeWorker(baton, callback, cleanupHandles);
2495
2478
 
2496
- AsyncLibgit2QueueWorker(worker);
2479
+ worker->Reference<GitIndex>("index", info.This());
2480
+ worker->Reference<GitTree>("tree", info[0]);
2481
+
2482
+ nodegitContext->QueueWorker(worker);
2497
2483
  return;
2498
2484
  }
2499
2485
 
2486
+ nodegit::LockMaster GitIndex::ReadTreeWorker::AcquireLocks() {
2487
+ nodegit::LockMaster lockMaster(
2488
+ /*asyncAction: */true
2489
+ ,baton->index
2490
+ ,baton->tree
2491
+ );
2492
+
2493
+ return lockMaster;
2494
+ }
2495
+
2500
2496
  void GitIndex::ReadTreeWorker::Execute() {
2501
2497
  git_error_clear();
2502
2498
 
2503
- {
2504
- LockMaster lockMaster(
2505
- /*asyncAction: */true
2506
- ,baton->index
2507
- ,baton->tree
2508
- );
2509
-
2510
2499
  int result = git_index_read_tree(
2511
2500
  baton->index,baton->tree );
2512
2501
 
@@ -2516,13 +2505,34 @@ baton->index,baton->tree );
2516
2505
  baton->error = git_error_dup(git_error_last());
2517
2506
  }
2518
2507
 
2508
+ }
2509
+
2510
+ void GitIndex::ReadTreeWorker::HandleErrorCallback() {
2511
+ if (!GetIsCancelled()) {
2512
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
2513
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.readTree").ToLocalChecked());
2514
+ v8::Local<v8::Value> argv[1] = {
2515
+ err
2516
+ };
2517
+ callback->Call(1, argv, async_resource);
2518
+ }
2519
+
2520
+ if (baton->error) {
2521
+ if (baton->error->message) {
2522
+ free((void *)baton->error->message);
2523
+ }
2524
+
2525
+ free((void *)baton->error);
2519
2526
  }
2527
+
2528
+
2529
+ delete baton;
2520
2530
  }
2521
2531
 
2522
2532
  void GitIndex::ReadTreeWorker::HandleOKCallback() {
2523
2533
  if (baton->error_code == GIT_OK) {
2524
2534
  v8::Local<v8::Value> result = Nan::Undefined();
2525
-
2535
+
2526
2536
  v8::Local<v8::Value> argv[2] = {
2527
2537
  Nan::Null(),
2528
2538
  result
@@ -2546,45 +2556,15 @@ void GitIndex::ReadTreeWorker::HandleOKCallback() {
2546
2556
  free((void *)baton->error->message);
2547
2557
  free((void *)baton->error);
2548
2558
  } else if (baton->error_code < 0) {
2549
- std::queue< v8::Local<v8::Value> > workerArguments;
2550
- workerArguments.push(GetFromPersistent("tree"));
2551
2559
  bool callbackFired = false;
2552
- while(!workerArguments.empty()) {
2553
- v8::Local<v8::Value> node = workerArguments.front();
2554
- workerArguments.pop();
2555
-
2556
- if (
2557
- !node->IsObject()
2558
- || node->IsArray()
2559
- || node->IsBooleanObject()
2560
- || node->IsDate()
2561
- || node->IsFunction()
2562
- || node->IsNumberObject()
2563
- || node->IsRegExp()
2564
- || node->IsStringObject()
2565
- ) {
2566
- continue;
2567
- }
2568
-
2569
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
2570
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
2571
-
2572
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
2560
+ if (!callbackErrorHandle.IsEmpty()) {
2561
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
2562
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
2573
2563
  v8::Local<v8::Value> argv[1] = {
2574
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
2564
+ maybeError
2575
2565
  };
2576
2566
  callback->Call(1, argv, async_resource);
2577
2567
  callbackFired = true;
2578
- break;
2579
- }
2580
-
2581
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
2582
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
2583
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
2584
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
2585
- if (!nodeToQueue->IsUndefined()) {
2586
- workerArguments.push(nodeToQueue);
2587
- }
2588
2568
  }
2589
2569
  }
2590
2570
 
@@ -2622,15 +2602,19 @@ NAN_METHOD(GitIndex::Remove) {
2622
2602
  return Nan::ThrowError("Number stage is required.");
2623
2603
  }
2624
2604
 
2625
- if (info.Length() == 2 || !info[2]->IsFunction()) {
2605
+ if (!info[info.Length() - 1]->IsFunction()) {
2626
2606
  return Nan::ThrowError("Callback is required and must be a Function.");
2627
2607
  }
2628
2608
 
2629
- RemoveBaton* baton = new RemoveBaton;
2609
+ RemoveBaton* baton = new RemoveBaton();
2630
2610
 
2631
2611
  baton->error_code = GIT_OK;
2632
2612
  baton->error = NULL;
2633
2613
 
2614
+
2615
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
2616
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
2617
+
2634
2618
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
2635
2619
  // start convert_from_v8 block
2636
2620
  const char * from_path = NULL;
@@ -2652,29 +2636,30 @@ NAN_METHOD(GitIndex::Remove) {
2652
2636
  // end convert_from_v8 block
2653
2637
  baton->stage = from_stage;
2654
2638
 
2655
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[2]));
2656
- RemoveWorker *worker = new RemoveWorker(baton, callback);
2657
-
2658
- worker->SaveToPersistent("index", info.This());
2659
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
2660
- worker->SaveToPersistent("path", Nan::To<v8::Object>(info[0]).ToLocalChecked());
2661
- if (!info[1]->IsUndefined() && !info[1]->IsNull())
2662
- worker->SaveToPersistent("stage", Nan::To<v8::Object>(info[1]).ToLocalChecked());
2639
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
2640
+ RemoveWorker *worker = new RemoveWorker(baton, callback, cleanupHandles);
2663
2641
 
2664
- AsyncLibgit2QueueWorker(worker);
2642
+ worker->Reference<GitIndex>("index", info.This());
2643
+ worker->Reference("path", info[0]);
2644
+ worker->Reference("stage", info[1]);
2645
+
2646
+ nodegitContext->QueueWorker(worker);
2665
2647
  return;
2666
2648
  }
2667
2649
 
2650
+ nodegit::LockMaster GitIndex::RemoveWorker::AcquireLocks() {
2651
+ nodegit::LockMaster lockMaster(
2652
+ /*asyncAction: */true
2653
+ ,baton->index
2654
+ ,baton->path
2655
+ );
2656
+
2657
+ return lockMaster;
2658
+ }
2659
+
2668
2660
  void GitIndex::RemoveWorker::Execute() {
2669
2661
  git_error_clear();
2670
2662
 
2671
- {
2672
- LockMaster lockMaster(
2673
- /*asyncAction: */true
2674
- ,baton->index
2675
- ,baton->path
2676
- );
2677
-
2678
2663
  int result = git_index_remove(
2679
2664
  baton->index,baton->path,baton->stage );
2680
2665
 
@@ -2684,13 +2669,34 @@ baton->index,baton->path,baton->stage );
2684
2669
  baton->error = git_error_dup(git_error_last());
2685
2670
  }
2686
2671
 
2672
+ }
2673
+
2674
+ void GitIndex::RemoveWorker::HandleErrorCallback() {
2675
+ if (!GetIsCancelled()) {
2676
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
2677
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.remove").ToLocalChecked());
2678
+ v8::Local<v8::Value> argv[1] = {
2679
+ err
2680
+ };
2681
+ callback->Call(1, argv, async_resource);
2682
+ }
2683
+
2684
+ if (baton->error) {
2685
+ if (baton->error->message) {
2686
+ free((void *)baton->error->message);
2687
+ }
2688
+
2689
+ free((void *)baton->error);
2687
2690
  }
2691
+
2692
+
2693
+ delete baton;
2688
2694
  }
2689
2695
 
2690
2696
  void GitIndex::RemoveWorker::HandleOKCallback() {
2691
2697
  if (baton->error_code == GIT_OK) {
2692
2698
  v8::Local<v8::Value> result = Nan::Undefined();
2693
-
2699
+
2694
2700
  v8::Local<v8::Value> argv[2] = {
2695
2701
  Nan::Null(),
2696
2702
  result
@@ -2714,46 +2720,15 @@ void GitIndex::RemoveWorker::HandleOKCallback() {
2714
2720
  free((void *)baton->error->message);
2715
2721
  free((void *)baton->error);
2716
2722
  } else if (baton->error_code < 0) {
2717
- std::queue< v8::Local<v8::Value> > workerArguments;
2718
- workerArguments.push(GetFromPersistent("path"));
2719
- workerArguments.push(GetFromPersistent("stage"));
2720
2723
  bool callbackFired = false;
2721
- while(!workerArguments.empty()) {
2722
- v8::Local<v8::Value> node = workerArguments.front();
2723
- workerArguments.pop();
2724
-
2725
- if (
2726
- !node->IsObject()
2727
- || node->IsArray()
2728
- || node->IsBooleanObject()
2729
- || node->IsDate()
2730
- || node->IsFunction()
2731
- || node->IsNumberObject()
2732
- || node->IsRegExp()
2733
- || node->IsStringObject()
2734
- ) {
2735
- continue;
2736
- }
2737
-
2738
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
2739
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
2740
-
2741
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
2724
+ if (!callbackErrorHandle.IsEmpty()) {
2725
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
2726
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
2742
2727
  v8::Local<v8::Value> argv[1] = {
2743
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
2728
+ maybeError
2744
2729
  };
2745
2730
  callback->Call(1, argv, async_resource);
2746
2731
  callbackFired = true;
2747
- break;
2748
- }
2749
-
2750
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
2751
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
2752
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
2753
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
2754
- if (!nodeToQueue->IsUndefined()) {
2755
- workerArguments.push(nodeToQueue);
2756
- }
2757
2732
  }
2758
2733
  }
2759
2734
 
@@ -2784,16 +2759,20 @@ void GitIndex::RemoveWorker::HandleOKCallback() {
2784
2759
  */
2785
2760
  NAN_METHOD(GitIndex::RemoveAll) {
2786
2761
 
2787
- if (info.Length() == 3 || !info[3]->IsFunction()) {
2762
+ if (!info[info.Length() - 1]->IsFunction()) {
2788
2763
  return Nan::ThrowError("Callback is required and must be a Function.");
2789
2764
  }
2790
2765
 
2791
- RemoveAllBaton* baton = new RemoveAllBaton;
2766
+ RemoveAllBaton* baton = new RemoveAllBaton();
2792
2767
 
2793
2768
  baton->error_code = GIT_OK;
2794
2769
  baton->error = NULL;
2795
2770
 
2796
2771
  RemoveAll_globalPayload* globalPayload = new RemoveAll_globalPayload;
2772
+
2773
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
2774
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
2775
+
2797
2776
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
2798
2777
  // start convert_from_v8 block
2799
2778
  const git_strarray * from_pathspec = NULL;
@@ -2811,30 +2790,31 @@ NAN_METHOD(GitIndex::RemoveAll) {
2811
2790
  }
2812
2791
  baton->payload = globalPayload;
2813
2792
 
2814
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[3]));
2815
- RemoveAllWorker *worker = new RemoveAllWorker(baton, callback);
2816
-
2817
- worker->SaveToPersistent("index", info.This());
2818
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
2819
- worker->SaveToPersistent("pathspec", Nan::To<v8::Object>(info[0]).ToLocalChecked());
2820
- if (!info[2]->IsUndefined() && !info[2]->IsNull())
2821
- worker->SaveToPersistent("payload", Nan::To<v8::Object>(info[2]).ToLocalChecked());
2793
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
2794
+ RemoveAllWorker *worker = new RemoveAllWorker(baton, callback, cleanupHandles);
2822
2795
 
2823
- AsyncLibgit2QueueWorker(worker);
2796
+ worker->Reference<GitIndex>("index", info.This());
2797
+ worker->Reference("pathspec", info[0]);
2798
+ worker->Reference("payload", info[2]);
2799
+
2800
+ nodegitContext->QueueWorker(worker);
2824
2801
  return;
2825
2802
  }
2826
2803
 
2804
+ nodegit::LockMaster GitIndex::RemoveAllWorker::AcquireLocks() {
2805
+ nodegit::LockMaster lockMaster(
2806
+ /*asyncAction: */true
2807
+ ,baton->index
2808
+ ,baton->pathspec
2809
+ ,baton->payload
2810
+ );
2811
+
2812
+ return lockMaster;
2813
+ }
2814
+
2827
2815
  void GitIndex::RemoveAllWorker::Execute() {
2828
2816
  git_error_clear();
2829
2817
 
2830
- {
2831
- LockMaster lockMaster(
2832
- /*asyncAction: */true
2833
- ,baton->index
2834
- ,baton->pathspec
2835
- ,baton->payload
2836
- );
2837
-
2838
2818
  int result = git_index_remove_all(
2839
2819
  baton->index,baton->pathspec,baton->callback,baton->payload );
2840
2820
 
@@ -2844,13 +2824,35 @@ baton->index,baton->pathspec,baton->callback,baton->payload );
2844
2824
  baton->error = git_error_dup(git_error_last());
2845
2825
  }
2846
2826
 
2827
+ }
2828
+
2829
+ void GitIndex::RemoveAllWorker::HandleErrorCallback() {
2830
+ if (!GetIsCancelled()) {
2831
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
2832
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.removeAll").ToLocalChecked());
2833
+ v8::Local<v8::Value> argv[1] = {
2834
+ err
2835
+ };
2836
+ callback->Call(1, argv, async_resource);
2837
+ }
2838
+
2839
+ if (baton->error) {
2840
+ if (baton->error->message) {
2841
+ free((void *)baton->error->message);
2842
+ }
2843
+
2844
+ free((void *)baton->error);
2847
2845
  }
2846
+
2847
+ delete (RemoveAll_globalPayload*)baton->payload;
2848
+
2849
+ delete baton;
2848
2850
  }
2849
2851
 
2850
2852
  void GitIndex::RemoveAllWorker::HandleOKCallback() {
2851
2853
  if (baton->error_code == GIT_OK) {
2852
2854
  v8::Local<v8::Value> result = Nan::Undefined();
2853
-
2855
+
2854
2856
  v8::Local<v8::Value> argv[2] = {
2855
2857
  Nan::Null(),
2856
2858
  result
@@ -2874,46 +2876,15 @@ void GitIndex::RemoveAllWorker::HandleOKCallback() {
2874
2876
  free((void *)baton->error->message);
2875
2877
  free((void *)baton->error);
2876
2878
  } else if (baton->error_code < 0) {
2877
- std::queue< v8::Local<v8::Value> > workerArguments;
2878
- workerArguments.push(GetFromPersistent("pathspec"));
2879
- workerArguments.push(GetFromPersistent("payload"));
2880
2879
  bool callbackFired = false;
2881
- while(!workerArguments.empty()) {
2882
- v8::Local<v8::Value> node = workerArguments.front();
2883
- workerArguments.pop();
2884
-
2885
- if (
2886
- !node->IsObject()
2887
- || node->IsArray()
2888
- || node->IsBooleanObject()
2889
- || node->IsDate()
2890
- || node->IsFunction()
2891
- || node->IsNumberObject()
2892
- || node->IsRegExp()
2893
- || node->IsStringObject()
2894
- ) {
2895
- continue;
2896
- }
2897
-
2898
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
2899
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
2900
-
2901
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
2880
+ if (!callbackErrorHandle.IsEmpty()) {
2881
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
2882
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
2902
2883
  v8::Local<v8::Value> argv[1] = {
2903
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
2884
+ maybeError
2904
2885
  };
2905
2886
  callback->Call(1, argv, async_resource);
2906
2887
  callbackFired = true;
2907
- break;
2908
- }
2909
-
2910
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
2911
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
2912
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
2913
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
2914
- if (!nodeToQueue->IsUndefined()) {
2915
- workerArguments.push(nodeToQueue);
2916
- }
2917
2888
  }
2918
2889
  }
2919
2890
 
@@ -2946,7 +2917,13 @@ int GitIndex::RemoveAll_callback_cppCallback (
2946
2917
  baton.matched_pathspec = matched_pathspec;
2947
2918
  baton.payload = payload;
2948
2919
 
2949
- return baton.ExecuteAsync(RemoveAll_callback_async);
2920
+ return baton.ExecuteAsync(RemoveAll_callback_async, RemoveAll_callback_cancelAsync);
2921
+ }
2922
+
2923
+ void GitIndex::RemoveAll_callback_cancelAsync(void *untypedBaton) {
2924
+ RemoveAll_CallbackBaton* baton = static_cast<RemoveAll_CallbackBaton*>(untypedBaton);
2925
+ baton->result = -1;
2926
+ baton->Done();
2950
2927
  }
2951
2928
 
2952
2929
  void GitIndex::RemoveAll_callback_async(void *untypedBaton) {
@@ -2962,8 +2939,8 @@ void GitIndex::RemoveAll_callback_async(void *untypedBaton) {
2962
2939
  };
2963
2940
 
2964
2941
  Nan::TryCatch tryCatch;
2965
- // TODO This should take an async_resource, but we will need to figure out how to pipe the correct context into this
2966
- Nan::MaybeLocal<v8::Value> maybeResult = Nan::Call(*callback, 2, argv);
2942
+ Nan::MaybeLocal<v8::Value> maybeResult = (*callback)(baton->GetAsyncResource(), 2, argv);
2943
+
2967
2944
  v8::Local<v8::Value> result;
2968
2945
  if (!maybeResult.IsEmpty()) {
2969
2946
  result = maybeResult.ToLocalChecked();
@@ -2991,7 +2968,7 @@ void GitIndex::RemoveAll_callback_async(void *untypedBaton) {
2991
2968
  baton->Done();
2992
2969
  }
2993
2970
 
2994
- void GitIndex::RemoveAll_callback_promiseCompleted(bool isFulfilled, AsyncBaton *_baton, v8::Local<v8::Value> result) {
2971
+ void GitIndex::RemoveAll_callback_promiseCompleted(bool isFulfilled, nodegit::AsyncBaton *_baton, v8::Local<v8::Value> result) {
2995
2972
  Nan::HandleScope scope;
2996
2973
 
2997
2974
  RemoveAll_CallbackBaton* baton = static_cast<RemoveAll_CallbackBaton*>(_baton);
@@ -3032,15 +3009,19 @@ NAN_METHOD(GitIndex::RemoveBypath) {
3032
3009
  return Nan::ThrowError("String path is required.");
3033
3010
  }
3034
3011
 
3035
- if (info.Length() == 1 || !info[1]->IsFunction()) {
3012
+ if (!info[info.Length() - 1]->IsFunction()) {
3036
3013
  return Nan::ThrowError("Callback is required and must be a Function.");
3037
3014
  }
3038
3015
 
3039
- RemoveBypathBaton* baton = new RemoveBypathBaton;
3016
+ RemoveBypathBaton* baton = new RemoveBypathBaton();
3040
3017
 
3041
3018
  baton->error_code = GIT_OK;
3042
3019
  baton->error = NULL;
3043
3020
 
3021
+
3022
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
3023
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
3024
+
3044
3025
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
3045
3026
  // start convert_from_v8 block
3046
3027
  const char * from_path = NULL;
@@ -3057,27 +3038,29 @@ NAN_METHOD(GitIndex::RemoveBypath) {
3057
3038
  // end convert_from_v8 block
3058
3039
  baton->path = from_path;
3059
3040
 
3060
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
3061
- RemoveBypathWorker *worker = new RemoveBypathWorker(baton, callback);
3062
-
3063
- worker->SaveToPersistent("index", info.This());
3064
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
3065
- worker->SaveToPersistent("path", Nan::To<v8::Object>(info[0]).ToLocalChecked());
3041
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
3042
+ RemoveBypathWorker *worker = new RemoveBypathWorker(baton, callback, cleanupHandles);
3066
3043
 
3067
- AsyncLibgit2QueueWorker(worker);
3044
+ worker->Reference<GitIndex>("index", info.This());
3045
+ worker->Reference("path", info[0]);
3046
+
3047
+ nodegitContext->QueueWorker(worker);
3068
3048
  return;
3069
3049
  }
3070
3050
 
3051
+ nodegit::LockMaster GitIndex::RemoveBypathWorker::AcquireLocks() {
3052
+ nodegit::LockMaster lockMaster(
3053
+ /*asyncAction: */true
3054
+ ,baton->index
3055
+ ,baton->path
3056
+ );
3057
+
3058
+ return lockMaster;
3059
+ }
3060
+
3071
3061
  void GitIndex::RemoveBypathWorker::Execute() {
3072
3062
  git_error_clear();
3073
3063
 
3074
- {
3075
- LockMaster lockMaster(
3076
- /*asyncAction: */true
3077
- ,baton->index
3078
- ,baton->path
3079
- );
3080
-
3081
3064
  int result = git_index_remove_bypath(
3082
3065
  baton->index,baton->path );
3083
3066
 
@@ -3087,13 +3070,34 @@ baton->index,baton->path );
3087
3070
  baton->error = git_error_dup(git_error_last());
3088
3071
  }
3089
3072
 
3073
+ }
3074
+
3075
+ void GitIndex::RemoveBypathWorker::HandleErrorCallback() {
3076
+ if (!GetIsCancelled()) {
3077
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
3078
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.removeByPath").ToLocalChecked());
3079
+ v8::Local<v8::Value> argv[1] = {
3080
+ err
3081
+ };
3082
+ callback->Call(1, argv, async_resource);
3083
+ }
3084
+
3085
+ if (baton->error) {
3086
+ if (baton->error->message) {
3087
+ free((void *)baton->error->message);
3088
+ }
3089
+
3090
+ free((void *)baton->error);
3090
3091
  }
3092
+
3093
+
3094
+ delete baton;
3091
3095
  }
3092
3096
 
3093
3097
  void GitIndex::RemoveBypathWorker::HandleOKCallback() {
3094
3098
  if (baton->error_code == GIT_OK) {
3095
3099
  v8::Local<v8::Value> result = Nan::Undefined();
3096
-
3100
+
3097
3101
  v8::Local<v8::Value> argv[2] = {
3098
3102
  Nan::Null(),
3099
3103
  result
@@ -3117,45 +3121,15 @@ void GitIndex::RemoveBypathWorker::HandleOKCallback() {
3117
3121
  free((void *)baton->error->message);
3118
3122
  free((void *)baton->error);
3119
3123
  } else if (baton->error_code < 0) {
3120
- std::queue< v8::Local<v8::Value> > workerArguments;
3121
- workerArguments.push(GetFromPersistent("path"));
3122
3124
  bool callbackFired = false;
3123
- while(!workerArguments.empty()) {
3124
- v8::Local<v8::Value> node = workerArguments.front();
3125
- workerArguments.pop();
3126
-
3127
- if (
3128
- !node->IsObject()
3129
- || node->IsArray()
3130
- || node->IsBooleanObject()
3131
- || node->IsDate()
3132
- || node->IsFunction()
3133
- || node->IsNumberObject()
3134
- || node->IsRegExp()
3135
- || node->IsStringObject()
3136
- ) {
3137
- continue;
3138
- }
3139
-
3140
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
3141
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
3142
-
3143
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
3125
+ if (!callbackErrorHandle.IsEmpty()) {
3126
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
3127
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
3144
3128
  v8::Local<v8::Value> argv[1] = {
3145
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
3129
+ maybeError
3146
3130
  };
3147
3131
  callback->Call(1, argv, async_resource);
3148
3132
  callbackFired = true;
3149
- break;
3150
- }
3151
-
3152
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
3153
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
3154
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
3155
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
3156
- if (!nodeToQueue->IsUndefined()) {
3157
- workerArguments.push(nodeToQueue);
3158
- }
3159
3133
  }
3160
3134
  }
3161
3135
 
@@ -3193,15 +3167,19 @@ NAN_METHOD(GitIndex::RemoveDirectory) {
3193
3167
  return Nan::ThrowError("Number stage is required.");
3194
3168
  }
3195
3169
 
3196
- if (info.Length() == 2 || !info[2]->IsFunction()) {
3170
+ if (!info[info.Length() - 1]->IsFunction()) {
3197
3171
  return Nan::ThrowError("Callback is required and must be a Function.");
3198
3172
  }
3199
3173
 
3200
- RemoveDirectoryBaton* baton = new RemoveDirectoryBaton;
3174
+ RemoveDirectoryBaton* baton = new RemoveDirectoryBaton();
3201
3175
 
3202
3176
  baton->error_code = GIT_OK;
3203
3177
  baton->error = NULL;
3204
3178
 
3179
+
3180
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
3181
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
3182
+
3205
3183
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
3206
3184
  // start convert_from_v8 block
3207
3185
  const char * from_dir = NULL;
@@ -3223,29 +3201,30 @@ NAN_METHOD(GitIndex::RemoveDirectory) {
3223
3201
  // end convert_from_v8 block
3224
3202
  baton->stage = from_stage;
3225
3203
 
3226
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[2]));
3227
- RemoveDirectoryWorker *worker = new RemoveDirectoryWorker(baton, callback);
3228
-
3229
- worker->SaveToPersistent("index", info.This());
3230
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
3231
- worker->SaveToPersistent("dir", Nan::To<v8::Object>(info[0]).ToLocalChecked());
3232
- if (!info[1]->IsUndefined() && !info[1]->IsNull())
3233
- worker->SaveToPersistent("stage", Nan::To<v8::Object>(info[1]).ToLocalChecked());
3204
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
3205
+ RemoveDirectoryWorker *worker = new RemoveDirectoryWorker(baton, callback, cleanupHandles);
3234
3206
 
3235
- AsyncLibgit2QueueWorker(worker);
3207
+ worker->Reference<GitIndex>("index", info.This());
3208
+ worker->Reference("dir", info[0]);
3209
+ worker->Reference("stage", info[1]);
3210
+
3211
+ nodegitContext->QueueWorker(worker);
3236
3212
  return;
3237
3213
  }
3238
3214
 
3215
+ nodegit::LockMaster GitIndex::RemoveDirectoryWorker::AcquireLocks() {
3216
+ nodegit::LockMaster lockMaster(
3217
+ /*asyncAction: */true
3218
+ ,baton->index
3219
+ ,baton->dir
3220
+ );
3221
+
3222
+ return lockMaster;
3223
+ }
3224
+
3239
3225
  void GitIndex::RemoveDirectoryWorker::Execute() {
3240
3226
  git_error_clear();
3241
3227
 
3242
- {
3243
- LockMaster lockMaster(
3244
- /*asyncAction: */true
3245
- ,baton->index
3246
- ,baton->dir
3247
- );
3248
-
3249
3228
  int result = git_index_remove_directory(
3250
3229
  baton->index,baton->dir,baton->stage );
3251
3230
 
@@ -3255,13 +3234,34 @@ baton->index,baton->dir,baton->stage );
3255
3234
  baton->error = git_error_dup(git_error_last());
3256
3235
  }
3257
3236
 
3237
+ }
3238
+
3239
+ void GitIndex::RemoveDirectoryWorker::HandleErrorCallback() {
3240
+ if (!GetIsCancelled()) {
3241
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
3242
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.removeDirectory").ToLocalChecked());
3243
+ v8::Local<v8::Value> argv[1] = {
3244
+ err
3245
+ };
3246
+ callback->Call(1, argv, async_resource);
3247
+ }
3248
+
3249
+ if (baton->error) {
3250
+ if (baton->error->message) {
3251
+ free((void *)baton->error->message);
3252
+ }
3253
+
3254
+ free((void *)baton->error);
3258
3255
  }
3256
+
3257
+
3258
+ delete baton;
3259
3259
  }
3260
3260
 
3261
3261
  void GitIndex::RemoveDirectoryWorker::HandleOKCallback() {
3262
3262
  if (baton->error_code == GIT_OK) {
3263
3263
  v8::Local<v8::Value> result = Nan::Undefined();
3264
-
3264
+
3265
3265
  v8::Local<v8::Value> argv[2] = {
3266
3266
  Nan::Null(),
3267
3267
  result
@@ -3285,46 +3285,15 @@ void GitIndex::RemoveDirectoryWorker::HandleOKCallback() {
3285
3285
  free((void *)baton->error->message);
3286
3286
  free((void *)baton->error);
3287
3287
  } else if (baton->error_code < 0) {
3288
- std::queue< v8::Local<v8::Value> > workerArguments;
3289
- workerArguments.push(GetFromPersistent("dir"));
3290
- workerArguments.push(GetFromPersistent("stage"));
3291
3288
  bool callbackFired = false;
3292
- while(!workerArguments.empty()) {
3293
- v8::Local<v8::Value> node = workerArguments.front();
3294
- workerArguments.pop();
3295
-
3296
- if (
3297
- !node->IsObject()
3298
- || node->IsArray()
3299
- || node->IsBooleanObject()
3300
- || node->IsDate()
3301
- || node->IsFunction()
3302
- || node->IsNumberObject()
3303
- || node->IsRegExp()
3304
- || node->IsStringObject()
3305
- ) {
3306
- continue;
3307
- }
3308
-
3309
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
3310
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
3311
-
3312
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
3289
+ if (!callbackErrorHandle.IsEmpty()) {
3290
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
3291
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
3313
3292
  v8::Local<v8::Value> argv[1] = {
3314
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
3293
+ maybeError
3315
3294
  };
3316
3295
  callback->Call(1, argv, async_resource);
3317
3296
  callbackFired = true;
3318
- break;
3319
- }
3320
-
3321
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
3322
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
3323
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
3324
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
3325
- if (!nodeToQueue->IsUndefined()) {
3326
- workerArguments.push(nodeToQueue);
3327
- }
3328
3297
  }
3329
3298
  }
3330
3299
 
@@ -3366,7 +3335,7 @@ NAN_METHOD(GitIndex::SetCaps) {
3366
3335
  git_error_clear();
3367
3336
 
3368
3337
  { // lock master scope start
3369
- LockMaster lockMaster(
3338
+ nodegit::LockMaster lockMaster(
3370
3339
  /*asyncAction: */false
3371
3340
  ,
3372
3341
  Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue()
@@ -3378,11 +3347,11 @@ NAN_METHOD(GitIndex::SetCaps) {
3378
3347
  );
3379
3348
 
3380
3349
 
3381
- v8::Local<v8::Value> to;
3350
+ v8::Local<v8::Value> v8ConversionSlot;
3382
3351
  // start convert_to_v8 block
3383
- to = Nan::New<Number>( result);
3352
+ v8ConversionSlot = Nan::New<Number>( result);
3384
3353
  // end convert_to_v8 block
3385
- return info.GetReturnValue().Set(scope.Escape(to));
3354
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
3386
3355
  }
3387
3356
  }
3388
3357
 
@@ -3404,7 +3373,7 @@ NAN_METHOD(GitIndex::SetVersion) {
3404
3373
  git_error_clear();
3405
3374
 
3406
3375
  { // lock master scope start
3407
- LockMaster lockMaster(
3376
+ nodegit::LockMaster lockMaster(
3408
3377
  /*asyncAction: */false
3409
3378
  ,
3410
3379
  Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue()
@@ -3416,11 +3385,11 @@ NAN_METHOD(GitIndex::SetVersion) {
3416
3385
  );
3417
3386
 
3418
3387
 
3419
- v8::Local<v8::Value> to;
3388
+ v8::Local<v8::Value> v8ConversionSlot;
3420
3389
  // start convert_to_v8 block
3421
- to = Nan::New<Number>( result);
3390
+ v8ConversionSlot = Nan::New<Number>( result);
3422
3391
  // end convert_to_v8 block
3423
- return info.GetReturnValue().Set(scope.Escape(to));
3392
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
3424
3393
  }
3425
3394
  }
3426
3395
 
@@ -3431,16 +3400,20 @@ NAN_METHOD(GitIndex::SetVersion) {
3431
3400
  */
3432
3401
  NAN_METHOD(GitIndex::UpdateAll) {
3433
3402
 
3434
- if (info.Length() == 3 || !info[3]->IsFunction()) {
3403
+ if (!info[info.Length() - 1]->IsFunction()) {
3435
3404
  return Nan::ThrowError("Callback is required and must be a Function.");
3436
3405
  }
3437
3406
 
3438
- UpdateAllBaton* baton = new UpdateAllBaton;
3407
+ UpdateAllBaton* baton = new UpdateAllBaton();
3439
3408
 
3440
3409
  baton->error_code = GIT_OK;
3441
3410
  baton->error = NULL;
3442
3411
 
3443
3412
  UpdateAll_globalPayload* globalPayload = new UpdateAll_globalPayload;
3413
+
3414
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
3415
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
3416
+
3444
3417
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
3445
3418
  // start convert_from_v8 block
3446
3419
  const git_strarray * from_pathspec = NULL;
@@ -3458,30 +3431,31 @@ NAN_METHOD(GitIndex::UpdateAll) {
3458
3431
  }
3459
3432
  baton->payload = globalPayload;
3460
3433
 
3461
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[3]));
3462
- UpdateAllWorker *worker = new UpdateAllWorker(baton, callback);
3463
-
3464
- worker->SaveToPersistent("index", info.This());
3465
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
3466
- worker->SaveToPersistent("pathspec", Nan::To<v8::Object>(info[0]).ToLocalChecked());
3467
- if (!info[2]->IsUndefined() && !info[2]->IsNull())
3468
- worker->SaveToPersistent("payload", Nan::To<v8::Object>(info[2]).ToLocalChecked());
3434
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
3435
+ UpdateAllWorker *worker = new UpdateAllWorker(baton, callback, cleanupHandles);
3469
3436
 
3470
- AsyncLibgit2QueueWorker(worker);
3437
+ worker->Reference<GitIndex>("index", info.This());
3438
+ worker->Reference("pathspec", info[0]);
3439
+ worker->Reference("payload", info[2]);
3440
+
3441
+ nodegitContext->QueueWorker(worker);
3471
3442
  return;
3472
3443
  }
3473
3444
 
3445
+ nodegit::LockMaster GitIndex::UpdateAllWorker::AcquireLocks() {
3446
+ nodegit::LockMaster lockMaster(
3447
+ /*asyncAction: */true
3448
+ ,baton->index
3449
+ ,baton->pathspec
3450
+ ,baton->payload
3451
+ );
3452
+
3453
+ return lockMaster;
3454
+ }
3455
+
3474
3456
  void GitIndex::UpdateAllWorker::Execute() {
3475
3457
  git_error_clear();
3476
3458
 
3477
- {
3478
- LockMaster lockMaster(
3479
- /*asyncAction: */true
3480
- ,baton->index
3481
- ,baton->pathspec
3482
- ,baton->payload
3483
- );
3484
-
3485
3459
  int result = git_index_update_all(
3486
3460
  baton->index,baton->pathspec,baton->callback,baton->payload );
3487
3461
 
@@ -3491,13 +3465,35 @@ baton->index,baton->pathspec,baton->callback,baton->payload );
3491
3465
  baton->error = git_error_dup(git_error_last());
3492
3466
  }
3493
3467
 
3468
+ }
3469
+
3470
+ void GitIndex::UpdateAllWorker::HandleErrorCallback() {
3471
+ if (!GetIsCancelled()) {
3472
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
3473
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.updateAll").ToLocalChecked());
3474
+ v8::Local<v8::Value> argv[1] = {
3475
+ err
3476
+ };
3477
+ callback->Call(1, argv, async_resource);
3478
+ }
3479
+
3480
+ if (baton->error) {
3481
+ if (baton->error->message) {
3482
+ free((void *)baton->error->message);
3483
+ }
3484
+
3485
+ free((void *)baton->error);
3494
3486
  }
3487
+
3488
+ delete (UpdateAll_globalPayload*)baton->payload;
3489
+
3490
+ delete baton;
3495
3491
  }
3496
3492
 
3497
3493
  void GitIndex::UpdateAllWorker::HandleOKCallback() {
3498
3494
  if (baton->error_code == GIT_OK) {
3499
3495
  v8::Local<v8::Value> result = Nan::Undefined();
3500
-
3496
+
3501
3497
  v8::Local<v8::Value> argv[2] = {
3502
3498
  Nan::Null(),
3503
3499
  result
@@ -3521,46 +3517,15 @@ void GitIndex::UpdateAllWorker::HandleOKCallback() {
3521
3517
  free((void *)baton->error->message);
3522
3518
  free((void *)baton->error);
3523
3519
  } else if (baton->error_code < 0) {
3524
- std::queue< v8::Local<v8::Value> > workerArguments;
3525
- workerArguments.push(GetFromPersistent("pathspec"));
3526
- workerArguments.push(GetFromPersistent("payload"));
3527
3520
  bool callbackFired = false;
3528
- while(!workerArguments.empty()) {
3529
- v8::Local<v8::Value> node = workerArguments.front();
3530
- workerArguments.pop();
3531
-
3532
- if (
3533
- !node->IsObject()
3534
- || node->IsArray()
3535
- || node->IsBooleanObject()
3536
- || node->IsDate()
3537
- || node->IsFunction()
3538
- || node->IsNumberObject()
3539
- || node->IsRegExp()
3540
- || node->IsStringObject()
3541
- ) {
3542
- continue;
3543
- }
3544
-
3545
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
3546
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
3547
-
3548
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
3521
+ if (!callbackErrorHandle.IsEmpty()) {
3522
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
3523
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
3549
3524
  v8::Local<v8::Value> argv[1] = {
3550
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
3525
+ maybeError
3551
3526
  };
3552
3527
  callback->Call(1, argv, async_resource);
3553
3528
  callbackFired = true;
3554
- break;
3555
- }
3556
-
3557
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
3558
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
3559
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
3560
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
3561
- if (!nodeToQueue->IsUndefined()) {
3562
- workerArguments.push(nodeToQueue);
3563
- }
3564
3529
  }
3565
3530
  }
3566
3531
 
@@ -3593,7 +3558,13 @@ int GitIndex::UpdateAll_callback_cppCallback (
3593
3558
  baton.matched_pathspec = matched_pathspec;
3594
3559
  baton.payload = payload;
3595
3560
 
3596
- return baton.ExecuteAsync(UpdateAll_callback_async);
3561
+ return baton.ExecuteAsync(UpdateAll_callback_async, UpdateAll_callback_cancelAsync);
3562
+ }
3563
+
3564
+ void GitIndex::UpdateAll_callback_cancelAsync(void *untypedBaton) {
3565
+ UpdateAll_CallbackBaton* baton = static_cast<UpdateAll_CallbackBaton*>(untypedBaton);
3566
+ baton->result = -1;
3567
+ baton->Done();
3597
3568
  }
3598
3569
 
3599
3570
  void GitIndex::UpdateAll_callback_async(void *untypedBaton) {
@@ -3609,8 +3580,8 @@ void GitIndex::UpdateAll_callback_async(void *untypedBaton) {
3609
3580
  };
3610
3581
 
3611
3582
  Nan::TryCatch tryCatch;
3612
- // TODO This should take an async_resource, but we will need to figure out how to pipe the correct context into this
3613
- Nan::MaybeLocal<v8::Value> maybeResult = Nan::Call(*callback, 2, argv);
3583
+ Nan::MaybeLocal<v8::Value> maybeResult = (*callback)(baton->GetAsyncResource(), 2, argv);
3584
+
3614
3585
  v8::Local<v8::Value> result;
3615
3586
  if (!maybeResult.IsEmpty()) {
3616
3587
  result = maybeResult.ToLocalChecked();
@@ -3638,7 +3609,7 @@ void GitIndex::UpdateAll_callback_async(void *untypedBaton) {
3638
3609
  baton->Done();
3639
3610
  }
3640
3611
 
3641
- void GitIndex::UpdateAll_callback_promiseCompleted(bool isFulfilled, AsyncBaton *_baton, v8::Local<v8::Value> result) {
3612
+ void GitIndex::UpdateAll_callback_promiseCompleted(bool isFulfilled, nodegit::AsyncBaton *_baton, v8::Local<v8::Value> result) {
3642
3613
  Nan::HandleScope scope;
3643
3614
 
3644
3615
  UpdateAll_CallbackBaton* baton = static_cast<UpdateAll_CallbackBaton*>(_baton);
@@ -3679,7 +3650,7 @@ NAN_METHOD(GitIndex::Version) {
3679
3650
  git_error_clear();
3680
3651
 
3681
3652
  { // lock master scope start
3682
- LockMaster lockMaster(
3653
+ nodegit::LockMaster lockMaster(
3683
3654
  /*asyncAction: */false
3684
3655
  ,
3685
3656
  Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue()
@@ -3690,11 +3661,11 @@ NAN_METHOD(GitIndex::Version) {
3690
3661
  );
3691
3662
 
3692
3663
 
3693
- v8::Local<v8::Value> to;
3664
+ v8::Local<v8::Value> v8ConversionSlot;
3694
3665
  // start convert_to_v8 block
3695
- to = Nan::New<Number>( result);
3666
+ v8ConversionSlot = Nan::New<Number>( result);
3696
3667
  // end convert_to_v8 block
3697
- return info.GetReturnValue().Set(scope.Escape(to));
3668
+ return info.GetReturnValue().Set(scope.Escape(v8ConversionSlot));
3698
3669
  }
3699
3670
  }
3700
3671
 
@@ -3702,35 +3673,42 @@ NAN_METHOD(GitIndex::Version) {
3702
3673
  */
3703
3674
  NAN_METHOD(GitIndex::Write) {
3704
3675
 
3705
- if (info.Length() == 0 || !info[0]->IsFunction()) {
3676
+ if (!info[info.Length() - 1]->IsFunction()) {
3706
3677
  return Nan::ThrowError("Callback is required and must be a Function.");
3707
3678
  }
3708
3679
 
3709
- WriteBaton* baton = new WriteBaton;
3680
+ WriteBaton* baton = new WriteBaton();
3710
3681
 
3711
3682
  baton->error_code = GIT_OK;
3712
3683
  baton->error = NULL;
3713
3684
 
3685
+
3686
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
3687
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
3688
+
3714
3689
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
3715
3690
 
3716
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[0]));
3717
- WriteWorker *worker = new WriteWorker(baton, callback);
3691
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
3692
+ WriteWorker *worker = new WriteWorker(baton, callback, cleanupHandles);
3718
3693
 
3719
- worker->SaveToPersistent("index", info.This());
3694
+ worker->Reference<GitIndex>("index", info.This());
3720
3695
 
3721
- AsyncLibgit2QueueWorker(worker);
3696
+ nodegitContext->QueueWorker(worker);
3722
3697
  return;
3723
3698
  }
3724
3699
 
3700
+ nodegit::LockMaster GitIndex::WriteWorker::AcquireLocks() {
3701
+ nodegit::LockMaster lockMaster(
3702
+ /*asyncAction: */true
3703
+ ,baton->index
3704
+ );
3705
+
3706
+ return lockMaster;
3707
+ }
3708
+
3725
3709
  void GitIndex::WriteWorker::Execute() {
3726
3710
  git_error_clear();
3727
3711
 
3728
- {
3729
- LockMaster lockMaster(
3730
- /*asyncAction: */true
3731
- ,baton->index
3732
- );
3733
-
3734
3712
  int result = git_index_write(
3735
3713
  baton->index );
3736
3714
 
@@ -3740,13 +3718,34 @@ baton->index );
3740
3718
  baton->error = git_error_dup(git_error_last());
3741
3719
  }
3742
3720
 
3721
+ }
3722
+
3723
+ void GitIndex::WriteWorker::HandleErrorCallback() {
3724
+ if (!GetIsCancelled()) {
3725
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
3726
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.write").ToLocalChecked());
3727
+ v8::Local<v8::Value> argv[1] = {
3728
+ err
3729
+ };
3730
+ callback->Call(1, argv, async_resource);
3731
+ }
3732
+
3733
+ if (baton->error) {
3734
+ if (baton->error->message) {
3735
+ free((void *)baton->error->message);
3736
+ }
3737
+
3738
+ free((void *)baton->error);
3743
3739
  }
3740
+
3741
+
3742
+ delete baton;
3744
3743
  }
3745
3744
 
3746
3745
  void GitIndex::WriteWorker::HandleOKCallback() {
3747
3746
  if (baton->error_code == GIT_OK) {
3748
3747
  v8::Local<v8::Value> result = Nan::Undefined();
3749
-
3748
+
3750
3749
  v8::Local<v8::Value> argv[2] = {
3751
3750
  Nan::Null(),
3752
3751
  result
@@ -3770,44 +3769,15 @@ void GitIndex::WriteWorker::HandleOKCallback() {
3770
3769
  free((void *)baton->error->message);
3771
3770
  free((void *)baton->error);
3772
3771
  } else if (baton->error_code < 0) {
3773
- std::queue< v8::Local<v8::Value> > workerArguments;
3774
3772
  bool callbackFired = false;
3775
- while(!workerArguments.empty()) {
3776
- v8::Local<v8::Value> node = workerArguments.front();
3777
- workerArguments.pop();
3778
-
3779
- if (
3780
- !node->IsObject()
3781
- || node->IsArray()
3782
- || node->IsBooleanObject()
3783
- || node->IsDate()
3784
- || node->IsFunction()
3785
- || node->IsNumberObject()
3786
- || node->IsRegExp()
3787
- || node->IsStringObject()
3788
- ) {
3789
- continue;
3790
- }
3791
-
3792
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
3793
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
3794
-
3795
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
3773
+ if (!callbackErrorHandle.IsEmpty()) {
3774
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
3775
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
3796
3776
  v8::Local<v8::Value> argv[1] = {
3797
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
3777
+ maybeError
3798
3778
  };
3799
3779
  callback->Call(1, argv, async_resource);
3800
3780
  callbackFired = true;
3801
- break;
3802
- }
3803
-
3804
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
3805
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
3806
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
3807
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
3808
- if (!nodeToQueue->IsUndefined()) {
3809
- workerArguments.push(nodeToQueue);
3810
- }
3811
3781
  }
3812
3782
  }
3813
3783
 
@@ -3836,37 +3806,44 @@ void GitIndex::WriteWorker::HandleOKCallback() {
3836
3806
  */
3837
3807
  NAN_METHOD(GitIndex::WriteTree) {
3838
3808
 
3839
- if (info.Length() == 0 || !info[0]->IsFunction()) {
3809
+ if (!info[info.Length() - 1]->IsFunction()) {
3840
3810
  return Nan::ThrowError("Callback is required and must be a Function.");
3841
3811
  }
3842
3812
 
3843
- WriteTreeBaton* baton = new WriteTreeBaton;
3813
+ WriteTreeBaton* baton = new WriteTreeBaton();
3844
3814
 
3845
3815
  baton->error_code = GIT_OK;
3846
3816
  baton->error = NULL;
3847
3817
 
3818
+
3819
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
3820
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
3821
+
3848
3822
  baton->out = (git_oid *)malloc(sizeof(git_oid ));
3849
3823
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
3850
3824
 
3851
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[0]));
3852
- WriteTreeWorker *worker = new WriteTreeWorker(baton, callback);
3825
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
3826
+ WriteTreeWorker *worker = new WriteTreeWorker(baton, callback, cleanupHandles);
3853
3827
 
3854
- worker->SaveToPersistent("index", info.This());
3828
+ worker->Reference<GitIndex>("index", info.This());
3855
3829
 
3856
- AsyncLibgit2QueueWorker(worker);
3830
+ nodegitContext->QueueWorker(worker);
3857
3831
  return;
3858
3832
  }
3859
3833
 
3834
+ nodegit::LockMaster GitIndex::WriteTreeWorker::AcquireLocks() {
3835
+ nodegit::LockMaster lockMaster(
3836
+ /*asyncAction: */true
3837
+ ,baton->out
3838
+ ,baton->index
3839
+ );
3840
+
3841
+ return lockMaster;
3842
+ }
3843
+
3860
3844
  void GitIndex::WriteTreeWorker::Execute() {
3861
3845
  git_error_clear();
3862
3846
 
3863
- {
3864
- LockMaster lockMaster(
3865
- /*asyncAction: */true
3866
- ,baton->out
3867
- ,baton->index
3868
- );
3869
-
3870
3847
  int result = git_index_write_tree(
3871
3848
  baton->out,baton->index );
3872
3849
 
@@ -3876,25 +3853,46 @@ baton->out,baton->index );
3876
3853
  baton->error = git_error_dup(git_error_last());
3877
3854
  }
3878
3855
 
3856
+ }
3857
+
3858
+ void GitIndex::WriteTreeWorker::HandleErrorCallback() {
3859
+ if (!GetIsCancelled()) {
3860
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
3861
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.writeTree").ToLocalChecked());
3862
+ v8::Local<v8::Value> argv[1] = {
3863
+ err
3864
+ };
3865
+ callback->Call(1, argv, async_resource);
3866
+ }
3867
+
3868
+ if (baton->error) {
3869
+ if (baton->error->message) {
3870
+ free((void *)baton->error->message);
3871
+ }
3872
+
3873
+ free((void *)baton->error);
3879
3874
  }
3875
+
3876
+
3877
+ delete baton;
3880
3878
  }
3881
3879
 
3882
3880
  void GitIndex::WriteTreeWorker::HandleOKCallback() {
3883
3881
  if (baton->error_code == GIT_OK) {
3884
- v8::Local<v8::Value> to;
3882
+ v8::Local<v8::Value> v8ConversionSlot;
3885
3883
  // start convert_to_v8 block
3886
3884
  if (baton->out != NULL) {
3887
- to = GitOid::New(
3885
+ v8ConversionSlot = GitOid::New(
3888
3886
  baton->out,
3889
3887
  true
3890
3888
  );
3891
3889
  }
3892
3890
  else {
3893
- to = Nan::Null();
3891
+ v8ConversionSlot = Nan::Null();
3894
3892
  }
3895
3893
  // end convert_to_v8 block
3896
- v8::Local<v8::Value> result = to;
3897
-
3894
+ v8::Local<v8::Value> result = v8ConversionSlot;
3895
+
3898
3896
  v8::Local<v8::Value> argv[2] = {
3899
3897
  Nan::Null(),
3900
3898
  result
@@ -3918,44 +3916,15 @@ void GitIndex::WriteTreeWorker::HandleOKCallback() {
3918
3916
  free((void *)baton->error->message);
3919
3917
  free((void *)baton->error);
3920
3918
  } else if (baton->error_code < 0) {
3921
- std::queue< v8::Local<v8::Value> > workerArguments;
3922
3919
  bool callbackFired = false;
3923
- while(!workerArguments.empty()) {
3924
- v8::Local<v8::Value> node = workerArguments.front();
3925
- workerArguments.pop();
3926
-
3927
- if (
3928
- !node->IsObject()
3929
- || node->IsArray()
3930
- || node->IsBooleanObject()
3931
- || node->IsDate()
3932
- || node->IsFunction()
3933
- || node->IsNumberObject()
3934
- || node->IsRegExp()
3935
- || node->IsStringObject()
3936
- ) {
3937
- continue;
3938
- }
3939
-
3940
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
3941
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
3942
-
3943
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
3920
+ if (!callbackErrorHandle.IsEmpty()) {
3921
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
3922
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
3944
3923
  v8::Local<v8::Value> argv[1] = {
3945
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
3924
+ maybeError
3946
3925
  };
3947
3926
  callback->Call(1, argv, async_resource);
3948
3927
  callbackFired = true;
3949
- break;
3950
- }
3951
-
3952
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
3953
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
3954
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
3955
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
3956
- if (!nodeToQueue->IsUndefined()) {
3957
- workerArguments.push(nodeToQueue);
3958
- }
3959
3928
  }
3960
3929
  }
3961
3930
 
@@ -3989,15 +3958,19 @@ NAN_METHOD(GitIndex::WriteTreeTo) {
3989
3958
  return Nan::ThrowError("Repository repo is required.");
3990
3959
  }
3991
3960
 
3992
- if (info.Length() == 1 || !info[1]->IsFunction()) {
3961
+ if (!info[info.Length() - 1]->IsFunction()) {
3993
3962
  return Nan::ThrowError("Callback is required and must be a Function.");
3994
3963
  }
3995
3964
 
3996
- WriteTreeToBaton* baton = new WriteTreeToBaton;
3965
+ WriteTreeToBaton* baton = new WriteTreeToBaton();
3997
3966
 
3998
3967
  baton->error_code = GIT_OK;
3999
3968
  baton->error = NULL;
4000
3969
 
3970
+
3971
+ nodegit::Context *nodegitContext = reinterpret_cast<nodegit::Context *>(info.Data().As<External>()->Value());
3972
+ std::map<std::string, std::shared_ptr<nodegit::CleanupHandle>> cleanupHandles;
3973
+
4001
3974
  baton->out = (git_oid *)malloc(sizeof(git_oid ));
4002
3975
  baton->index = Nan::ObjectWrap::Unwrap<GitIndex>(info.This())->GetValue();
4003
3976
  // start convert_from_v8 block
@@ -4006,28 +3979,30 @@ from_repo = Nan::ObjectWrap::Unwrap<GitRepository>(Nan::To<v8::Object>(info[0]).
4006
3979
  // end convert_from_v8 block
4007
3980
  baton->repo = from_repo;
4008
3981
 
4009
- Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[1]));
4010
- WriteTreeToWorker *worker = new WriteTreeToWorker(baton, callback);
3982
+ Nan::Callback *callback = new Nan::Callback(v8::Local<Function>::Cast(info[info.Length() - 1]));
3983
+ WriteTreeToWorker *worker = new WriteTreeToWorker(baton, callback, cleanupHandles);
4011
3984
 
4012
- worker->SaveToPersistent("index", info.This());
4013
- if (!info[0]->IsUndefined() && !info[0]->IsNull())
4014
- worker->SaveToPersistent("repo", Nan::To<v8::Object>(info[0]).ToLocalChecked());
4015
-
4016
- AsyncLibgit2QueueWorker(worker);
3985
+ worker->Reference<GitIndex>("index", info.This());
3986
+ worker->Reference<GitRepository>("repo", info[0]);
3987
+
3988
+ nodegitContext->QueueWorker(worker);
4017
3989
  return;
4018
3990
  }
4019
3991
 
3992
+ nodegit::LockMaster GitIndex::WriteTreeToWorker::AcquireLocks() {
3993
+ nodegit::LockMaster lockMaster(
3994
+ /*asyncAction: */true
3995
+ ,baton->out
3996
+ ,baton->index
3997
+ ,baton->repo
3998
+ );
3999
+
4000
+ return lockMaster;
4001
+ }
4002
+
4020
4003
  void GitIndex::WriteTreeToWorker::Execute() {
4021
4004
  git_error_clear();
4022
4005
 
4023
- {
4024
- LockMaster lockMaster(
4025
- /*asyncAction: */true
4026
- ,baton->out
4027
- ,baton->index
4028
- ,baton->repo
4029
- );
4030
-
4031
4006
  int result = git_index_write_tree_to(
4032
4007
  baton->out,baton->index,baton->repo );
4033
4008
 
@@ -4037,25 +4012,46 @@ baton->out,baton->index,baton->repo );
4037
4012
  baton->error = git_error_dup(git_error_last());
4038
4013
  }
4039
4014
 
4015
+ }
4016
+
4017
+ void GitIndex::WriteTreeToWorker::HandleErrorCallback() {
4018
+ if (!GetIsCancelled()) {
4019
+ v8::Local<v8::Object> err = Nan::To<v8::Object>(Nan::Error(ErrorMessage())).ToLocalChecked();
4020
+ Nan::Set(err, Nan::New("errorFunction").ToLocalChecked(), Nan::New("Index.writeTreeTo").ToLocalChecked());
4021
+ v8::Local<v8::Value> argv[1] = {
4022
+ err
4023
+ };
4024
+ callback->Call(1, argv, async_resource);
4025
+ }
4026
+
4027
+ if (baton->error) {
4028
+ if (baton->error->message) {
4029
+ free((void *)baton->error->message);
4030
+ }
4031
+
4032
+ free((void *)baton->error);
4040
4033
  }
4034
+
4035
+
4036
+ delete baton;
4041
4037
  }
4042
4038
 
4043
4039
  void GitIndex::WriteTreeToWorker::HandleOKCallback() {
4044
4040
  if (baton->error_code == GIT_OK) {
4045
- v8::Local<v8::Value> to;
4041
+ v8::Local<v8::Value> v8ConversionSlot;
4046
4042
  // start convert_to_v8 block
4047
4043
  if (baton->out != NULL) {
4048
- to = GitOid::New(
4044
+ v8ConversionSlot = GitOid::New(
4049
4045
  baton->out,
4050
4046
  true
4051
4047
  );
4052
4048
  }
4053
4049
  else {
4054
- to = Nan::Null();
4050
+ v8ConversionSlot = Nan::Null();
4055
4051
  }
4056
4052
  // end convert_to_v8 block
4057
- v8::Local<v8::Value> result = to;
4058
-
4053
+ v8::Local<v8::Value> result = v8ConversionSlot;
4054
+
4059
4055
  v8::Local<v8::Value> argv[2] = {
4060
4056
  Nan::Null(),
4061
4057
  result
@@ -4079,45 +4075,15 @@ void GitIndex::WriteTreeToWorker::HandleOKCallback() {
4079
4075
  free((void *)baton->error->message);
4080
4076
  free((void *)baton->error);
4081
4077
  } else if (baton->error_code < 0) {
4082
- std::queue< v8::Local<v8::Value> > workerArguments;
4083
- workerArguments.push(GetFromPersistent("repo"));
4084
4078
  bool callbackFired = false;
4085
- while(!workerArguments.empty()) {
4086
- v8::Local<v8::Value> node = workerArguments.front();
4087
- workerArguments.pop();
4088
-
4089
- if (
4090
- !node->IsObject()
4091
- || node->IsArray()
4092
- || node->IsBooleanObject()
4093
- || node->IsDate()
4094
- || node->IsFunction()
4095
- || node->IsNumberObject()
4096
- || node->IsRegExp()
4097
- || node->IsStringObject()
4098
- ) {
4099
- continue;
4100
- }
4101
-
4102
- v8::Local<v8::Object> nodeObj = Nan::To<v8::Object>(node).ToLocalChecked();
4103
- v8::Local<v8::Value> checkValue = GetPrivate(nodeObj, Nan::New("NodeGitPromiseError").ToLocalChecked());
4104
-
4105
- if (!checkValue.IsEmpty() && !checkValue->IsNull() && !checkValue->IsUndefined()) {
4079
+ if (!callbackErrorHandle.IsEmpty()) {
4080
+ v8::Local<v8::Value> maybeError = Nan::New(callbackErrorHandle);
4081
+ if (!maybeError->IsNull() && !maybeError->IsUndefined()) {
4106
4082
  v8::Local<v8::Value> argv[1] = {
4107
- Nan::To<v8::Object>(checkValue).ToLocalChecked()
4083
+ maybeError
4108
4084
  };
4109
4085
  callback->Call(1, argv, async_resource);
4110
4086
  callbackFired = true;
4111
- break;
4112
- }
4113
-
4114
- v8::Local<v8::Array> properties = Nan::GetPropertyNames(nodeObj).ToLocalChecked();
4115
- for (unsigned int propIndex = 0; propIndex < properties->Length(); ++propIndex) {
4116
- v8::Local<v8::String> propName = Nan::To<v8::String>(Nan::Get(properties, propIndex).ToLocalChecked()).ToLocalChecked();
4117
- v8::Local<v8::Value> nodeToQueue = Nan::Get(nodeObj, propName).ToLocalChecked();
4118
- if (!nodeToQueue->IsUndefined()) {
4119
- workerArguments.push(nodeToQueue);
4120
- }
4121
4087
  }
4122
4088
  }
4123
4089