git-chopstick-core 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +324 -32
  3. package/dist/git/add.d.ts +9 -0
  4. package/dist/git/add.js +11 -0
  5. package/dist/git/add.js.map +1 -0
  6. package/dist/git/apply.d.ts +33 -0
  7. package/dist/git/apply.js +103 -0
  8. package/dist/git/apply.js.map +1 -0
  9. package/dist/git/authentication.d.ts +5 -0
  10. package/dist/git/authentication.js +19 -0
  11. package/dist/git/authentication.js.map +1 -0
  12. package/dist/git/branch.d.ts +43 -0
  13. package/dist/git/branch.js +150 -0
  14. package/dist/git/branch.js.map +1 -0
  15. package/dist/git/checkout-index.d.ts +19 -0
  16. package/dist/git/checkout-index.js +29 -0
  17. package/dist/git/checkout-index.js.map +1 -0
  18. package/dist/git/checkout.d.ts +46 -0
  19. package/dist/git/checkout.js +126 -0
  20. package/dist/git/checkout.js.map +1 -0
  21. package/dist/git/cherry-pick.d.ts +82 -0
  22. package/dist/git/cherry-pick.js +371 -0
  23. package/dist/git/cherry-pick.js.map +1 -0
  24. package/dist/git/clean.d.ts +5 -0
  25. package/dist/git/clean.js +8 -0
  26. package/dist/git/clean.js.map +1 -0
  27. package/dist/git/clone.d.ts +22 -0
  28. package/dist/git/clone.js +58 -0
  29. package/dist/git/clone.js.map +1 -0
  30. package/dist/git/coerce-to-buffer.d.ts +1 -0
  31. package/dist/git/coerce-to-buffer.js +2 -0
  32. package/dist/git/coerce-to-buffer.js.map +1 -0
  33. package/dist/git/coerce-to-string.d.ts +1 -0
  34. package/dist/git/coerce-to-string.js +2 -0
  35. package/dist/git/coerce-to-string.js.map +1 -0
  36. package/dist/git/commit.d.ts +25 -0
  37. package/dist/git/commit.js +99 -0
  38. package/dist/git/commit.js.map +1 -0
  39. package/dist/git/config.d.ts +98 -0
  40. package/dist/git/config.js +249 -0
  41. package/dist/git/config.js.map +1 -0
  42. package/dist/git/core.d.ts +167 -0
  43. package/dist/git/core.js +368 -0
  44. package/dist/git/core.js.map +1 -0
  45. package/dist/git/create-tail-stream.d.ts +4 -0
  46. package/dist/git/create-tail-stream.js +30 -0
  47. package/dist/git/create-tail-stream.js.map +1 -0
  48. package/dist/git/credential.d.ts +5 -0
  49. package/dist/git/credential.js +64 -0
  50. package/dist/git/credential.js.map +1 -0
  51. package/dist/git/description.d.ts +5 -0
  52. package/dist/git/description.js +24 -0
  53. package/dist/git/description.js.map +1 -0
  54. package/dist/git/diff-check.d.ts +7 -0
  55. package/dist/git/diff-check.js +17 -0
  56. package/dist/git/diff-check.js.map +1 -0
  57. package/dist/git/diff-index.d.ts +31 -0
  58. package/dist/git/diff-index.js +76 -0
  59. package/dist/git/diff-index.js.map +1 -0
  60. package/dist/git/diff.d.ts +81 -0
  61. package/dist/git/diff.js +611 -0
  62. package/dist/git/diff.js.map +1 -0
  63. package/dist/git/environment.d.ts +51 -0
  64. package/dist/git/environment.js +97 -0
  65. package/dist/git/environment.js.map +1 -0
  66. package/dist/git/exec.d.ts +109 -0
  67. package/dist/git/exec.js +224 -0
  68. package/dist/git/exec.js.map +1 -0
  69. package/dist/git/fetch.d.ts +25 -0
  70. package/dist/git/fetch.js +100 -0
  71. package/dist/git/fetch.js.map +1 -0
  72. package/dist/git/for-each-ref.d.ts +13 -0
  73. package/dist/git/for-each-ref.js +114 -0
  74. package/dist/git/for-each-ref.js.map +1 -0
  75. package/dist/git/format-patch.d.ts +10 -0
  76. package/dist/git/format-patch.js +16 -0
  77. package/dist/git/format-patch.js.map +1 -0
  78. package/dist/git/git-delimiter-parser.d.ts +38 -0
  79. package/dist/git/git-delimiter-parser.js +79 -0
  80. package/dist/git/git-delimiter-parser.js.map +1 -0
  81. package/dist/git/gitignore.d.ts +26 -0
  82. package/dist/git/gitignore.js +124 -0
  83. package/dist/git/gitignore.js.map +1 -0
  84. package/dist/git/index.d.ts +46 -0
  85. package/dist/git/index.js +47 -0
  86. package/dist/git/index.js.map +1 -0
  87. package/dist/git/init.d.ts +2 -0
  88. package/dist/git/init.js +7 -0
  89. package/dist/git/init.js.map +1 -0
  90. package/dist/git/interpret-trailers.d.ts +88 -0
  91. package/dist/git/interpret-trailers.js +130 -0
  92. package/dist/git/interpret-trailers.js.map +1 -0
  93. package/dist/git/lfs.d.ts +25 -0
  94. package/dist/git/lfs.js +73 -0
  95. package/dist/git/lfs.js.map +1 -0
  96. package/dist/git/log.d.ts +56 -0
  97. package/dist/git/log.js +258 -0
  98. package/dist/git/log.js.map +1 -0
  99. package/dist/git/merge-tree.d.ts +13 -0
  100. package/dist/git/merge-tree.js +24 -0
  101. package/dist/git/merge-tree.js.map +1 -0
  102. package/dist/git/merge.d.ts +50 -0
  103. package/dist/git/merge.js +111 -0
  104. package/dist/git/merge.js.map +1 -0
  105. package/dist/git/multi-operation-terminal-output.d.ts +20 -0
  106. package/dist/git/multi-operation-terminal-output.js +56 -0
  107. package/dist/git/multi-operation-terminal-output.js.map +1 -0
  108. package/dist/git/pull.d.ts +24 -0
  109. package/dist/git/pull.js +91 -0
  110. package/dist/git/pull.js.map +1 -0
  111. package/dist/git/push-terminal-chunk.d.ts +19 -0
  112. package/dist/git/push-terminal-chunk.js +36 -0
  113. package/dist/git/push-terminal-chunk.js.map +1 -0
  114. package/dist/git/push.d.ts +42 -0
  115. package/dist/git/push.js +80 -0
  116. package/dist/git/push.js.map +1 -0
  117. package/dist/git/rebase.d.ts +119 -0
  118. package/dist/git/rebase.js +415 -0
  119. package/dist/git/rebase.js.map +1 -0
  120. package/dist/git/reflog.d.ts +14 -0
  121. package/dist/git/reflog.js +88 -0
  122. package/dist/git/reflog.js.map +1 -0
  123. package/dist/git/refs.d.ts +26 -0
  124. package/dist/git/refs.js +53 -0
  125. package/dist/git/refs.js.map +1 -0
  126. package/dist/git/remote.d.ts +31 -0
  127. package/dist/git/remote.js +81 -0
  128. package/dist/git/remote.js.map +1 -0
  129. package/dist/git/reorder.d.ts +23 -0
  130. package/dist/git/reorder.js +111 -0
  131. package/dist/git/reorder.js.map +1 -0
  132. package/dist/git/reset.d.ts +41 -0
  133. package/dist/git/reset.js +86 -0
  134. package/dist/git/reset.js.map +1 -0
  135. package/dist/git/rev-list.d.ts +67 -0
  136. package/dist/git/rev-list.js +157 -0
  137. package/dist/git/rev-list.js.map +1 -0
  138. package/dist/git/rev-parse.d.ts +24 -0
  139. package/dist/git/rev-parse.js +65 -0
  140. package/dist/git/rev-parse.js.map +1 -0
  141. package/dist/git/revert.d.ts +12 -0
  142. package/dist/git/revert.js +30 -0
  143. package/dist/git/revert.js.map +1 -0
  144. package/dist/git/rm.d.ts +12 -0
  145. package/dist/git/rm.js +22 -0
  146. package/dist/git/rm.js.map +1 -0
  147. package/dist/git/show.d.ts +42 -0
  148. package/dist/git/show.js +59 -0
  149. package/dist/git/show.js.map +1 -0
  150. package/dist/git/spawn.d.ts +18 -0
  151. package/dist/git/spawn.js +16 -0
  152. package/dist/git/spawn.js.map +1 -0
  153. package/dist/git/squash.d.ts +28 -0
  154. package/dist/git/squash.js +127 -0
  155. package/dist/git/squash.js.map +1 -0
  156. package/dist/git/stage.d.ts +21 -0
  157. package/dist/git/stage.js +72 -0
  158. package/dist/git/stage.js.map +1 -0
  159. package/dist/git/stash.d.ts +53 -0
  160. package/dist/git/stash.js +204 -0
  161. package/dist/git/stash.js.map +1 -0
  162. package/dist/git/status.d.ts +39 -0
  163. package/dist/git/status.js +293 -0
  164. package/dist/git/status.js.map +1 -0
  165. package/dist/git/submodule.d.ts +20 -0
  166. package/dist/git/submodule.js +153 -0
  167. package/dist/git/submodule.js.map +1 -0
  168. package/dist/git/tag.d.ts +32 -0
  169. package/dist/git/tag.js +101 -0
  170. package/dist/git/tag.js.map +1 -0
  171. package/dist/git/update-index.d.ts +11 -0
  172. package/dist/git/update-index.js +99 -0
  173. package/dist/git/update-index.js.map +1 -0
  174. package/dist/git/update-ref.d.ts +23 -0
  175. package/dist/git/update-ref.js +32 -0
  176. package/dist/git/update-ref.js.map +1 -0
  177. package/dist/git/var.d.ts +18 -0
  178. package/dist/git/var.js +33 -0
  179. package/dist/git/var.js.map +1 -0
  180. package/dist/git/worktree-include.d.ts +42 -0
  181. package/dist/git/worktree-include.js +109 -0
  182. package/dist/git/worktree-include.js.map +1 -0
  183. package/dist/git/worktree.d.ts +25 -0
  184. package/dist/git/worktree.js +139 -0
  185. package/dist/git/worktree.js.map +1 -0
  186. package/dist/index.d.ts +4 -0
  187. package/dist/index.js +7 -0
  188. package/dist/index.js.map +1 -0
  189. package/dist/lib/api.d.ts +2 -0
  190. package/dist/lib/api.js +7 -0
  191. package/dist/lib/api.js.map +1 -0
  192. package/dist/lib/diff-parser.d.ts +20 -0
  193. package/dist/lib/diff-parser.js +184 -0
  194. package/dist/lib/diff-parser.js.map +1 -0
  195. package/dist/lib/directory-exists.d.ts +1 -0
  196. package/dist/lib/directory-exists.js +11 -0
  197. package/dist/lib/directory-exists.js.map +1 -0
  198. package/dist/lib/errno-exception.d.ts +6 -0
  199. package/dist/lib/errno-exception.js +6 -0
  200. package/dist/lib/errno-exception.js.map +1 -0
  201. package/dist/lib/fatal-error.d.ts +4 -0
  202. package/dist/lib/fatal-error.js +18 -0
  203. package/dist/lib/fatal-error.js.map +1 -0
  204. package/dist/lib/feature-flag.d.ts +14 -0
  205. package/dist/lib/feature-flag.js +25 -0
  206. package/dist/lib/feature-flag.js.map +1 -0
  207. package/dist/lib/file-system.d.ts +1 -0
  208. package/dist/lib/file-system.js +7 -0
  209. package/dist/lib/file-system.js.map +1 -0
  210. package/dist/lib/get-old-path.d.ts +2 -0
  211. package/dist/lib/get-old-path.js +9 -0
  212. package/dist/lib/get-old-path.js.map +1 -0
  213. package/dist/lib/git/environment.d.ts +3 -0
  214. package/dist/lib/git/environment.js +7 -0
  215. package/dist/lib/git/environment.js.map +1 -0
  216. package/dist/lib/git-perf.d.ts +1 -0
  217. package/dist/lib/git-perf.js +4 -0
  218. package/dist/lib/git-perf.js.map +1 -0
  219. package/dist/lib/helpers/default-branch.d.ts +1 -0
  220. package/dist/lib/helpers/default-branch.js +4 -0
  221. package/dist/lib/helpers/default-branch.js.map +1 -0
  222. package/dist/lib/helpers/path.d.ts +1 -0
  223. package/dist/lib/helpers/path.js +5 -0
  224. package/dist/lib/helpers/path.js.map +1 -0
  225. package/dist/lib/hooks/with-hooks-env.d.ts +3 -0
  226. package/dist/lib/hooks/with-hooks-env.js +4 -0
  227. package/dist/lib/hooks/with-hooks-env.js.map +1 -0
  228. package/dist/lib/merge.d.ts +1 -0
  229. package/dist/lib/merge.js +4 -0
  230. package/dist/lib/merge.js.map +1 -0
  231. package/dist/lib/noop.d.ts +1 -0
  232. package/dist/lib/noop.js +2 -0
  233. package/dist/lib/noop.js.map +1 -0
  234. package/dist/lib/patch-formatter.d.ts +5 -0
  235. package/dist/lib/patch-formatter.js +7 -0
  236. package/dist/lib/patch-formatter.js.map +1 -0
  237. package/dist/lib/path-exists.d.ts +1 -0
  238. package/dist/lib/path-exists.js +3 -0
  239. package/dist/lib/path-exists.js.map +1 -0
  240. package/dist/lib/progress/from-process.d.ts +2 -0
  241. package/dist/lib/progress/from-process.js +4 -0
  242. package/dist/lib/progress/from-process.js.map +1 -0
  243. package/dist/lib/progress/index.d.ts +49 -0
  244. package/dist/lib/progress/index.js +32 -0
  245. package/dist/lib/progress/index.js.map +1 -0
  246. package/dist/lib/progress/revert.d.ts +8 -0
  247. package/dist/lib/progress/revert.js +15 -0
  248. package/dist/lib/progress/revert.js.map +1 -0
  249. package/dist/lib/rebase.d.ts +1 -0
  250. package/dist/lib/rebase.js +4 -0
  251. package/dist/lib/rebase.js.map +1 -0
  252. package/dist/lib/remove-remote-prefix.d.ts +1 -0
  253. package/dist/lib/remove-remote-prefix.js +5 -0
  254. package/dist/lib/remove-remote-prefix.js.map +1 -0
  255. package/dist/lib/resolve-git-proxy.d.ts +1 -0
  256. package/dist/lib/resolve-git-proxy.js +4 -0
  257. package/dist/lib/resolve-git-proxy.js.map +1 -0
  258. package/dist/lib/round.d.ts +1 -0
  259. package/dist/lib/round.js +5 -0
  260. package/dist/lib/round.js.map +1 -0
  261. package/dist/lib/split-buffer.d.ts +1 -0
  262. package/dist/lib/split-buffer.js +15 -0
  263. package/dist/lib/split-buffer.js.map +1 -0
  264. package/dist/lib/status-parser.d.ts +19 -0
  265. package/dist/lib/status-parser.js +137 -0
  266. package/dist/lib/status-parser.js.map +1 -0
  267. package/dist/lib/stores/helpers/find-default-remote.d.ts +1 -0
  268. package/dist/lib/stores/helpers/find-default-remote.js +4 -0
  269. package/dist/lib/stores/helpers/find-default-remote.js.map +1 -0
  270. package/dist/lib/trampoline/trampoline-environment.d.ts +1 -0
  271. package/dist/lib/trampoline/trampoline-environment.js +4 -0
  272. package/dist/lib/trampoline/trampoline-environment.js.map +1 -0
  273. package/dist/models/branch.d.ts +44 -0
  274. package/dist/models/branch.js +59 -0
  275. package/dist/models/branch.js.map +1 -0
  276. package/dist/models/cherry-pick.d.ts +11 -0
  277. package/dist/models/cherry-pick.js +2 -0
  278. package/dist/models/cherry-pick.js.map +1 -0
  279. package/dist/models/clone-options.d.ts +6 -0
  280. package/dist/models/clone-options.js +2 -0
  281. package/dist/models/clone-options.js.map +1 -0
  282. package/dist/models/commit-identity.d.ts +9 -0
  283. package/dist/models/commit-identity.js +34 -0
  284. package/dist/models/commit-identity.js.map +1 -0
  285. package/dist/models/commit.d.ts +30 -0
  286. package/dist/models/commit.js +32 -0
  287. package/dist/models/commit.js.map +1 -0
  288. package/dist/models/computed-action.d.ts +6 -0
  289. package/dist/models/computed-action.js +8 -0
  290. package/dist/models/computed-action.js.map +1 -0
  291. package/dist/models/diff/diff-data.d.ts +53 -0
  292. package/dist/models/diff/diff-data.js +19 -0
  293. package/dist/models/diff/diff-data.js.map +1 -0
  294. package/dist/models/diff/diff-line.d.ts +18 -0
  295. package/dist/models/diff/diff-line.js +33 -0
  296. package/dist/models/diff/diff-line.js.map +1 -0
  297. package/dist/models/diff/diff-selection.d.ts +22 -0
  298. package/dist/models/diff/diff-selection.js +127 -0
  299. package/dist/models/diff/diff-selection.js.map +1 -0
  300. package/dist/models/diff/image-diff.d.ts +6 -0
  301. package/dist/models/diff/image-diff.js +8 -0
  302. package/dist/models/diff/image-diff.js.map +1 -0
  303. package/dist/models/diff/image.d.ts +7 -0
  304. package/dist/models/diff/image.js +13 -0
  305. package/dist/models/diff/image.js.map +1 -0
  306. package/dist/models/diff/index.d.ts +6 -0
  307. package/dist/models/diff/index.js +7 -0
  308. package/dist/models/diff/index.js.map +1 -0
  309. package/dist/models/diff/raw-diff.d.ts +32 -0
  310. package/dist/models/diff/raw-diff.js +38 -0
  311. package/dist/models/diff/raw-diff.js.map +1 -0
  312. package/dist/models/git-author.d.ts +7 -0
  313. package/dist/models/git-author.js +18 -0
  314. package/dist/models/git-author.js.map +1 -0
  315. package/dist/models/index.d.ts +21 -0
  316. package/dist/models/index.js +20 -0
  317. package/dist/models/index.js.map +1 -0
  318. package/dist/models/manual-conflict-resolution.d.ts +4 -0
  319. package/dist/models/manual-conflict-resolution.js +6 -0
  320. package/dist/models/manual-conflict-resolution.js.map +1 -0
  321. package/dist/models/merge.d.ts +6 -0
  322. package/dist/models/merge.js +2 -0
  323. package/dist/models/merge.js.map +1 -0
  324. package/dist/models/multi-commit-operation.d.ts +6 -0
  325. package/dist/models/multi-commit-operation.js +8 -0
  326. package/dist/models/multi-commit-operation.js.map +1 -0
  327. package/dist/models/progress.d.ts +41 -0
  328. package/dist/models/progress.js +7 -0
  329. package/dist/models/progress.js.map +1 -0
  330. package/dist/models/rebase.d.ts +17 -0
  331. package/dist/models/rebase.js +8 -0
  332. package/dist/models/rebase.js.map +1 -0
  333. package/dist/models/remote.d.ts +5 -0
  334. package/dist/models/remote.js +8 -0
  335. package/dist/models/remote.js.map +1 -0
  336. package/dist/models/repository.d.ts +7 -0
  337. package/dist/models/repository.js +15 -0
  338. package/dist/models/repository.js.map +1 -0
  339. package/dist/models/stash-entry.d.ts +20 -0
  340. package/dist/models/stash-entry.js +7 -0
  341. package/dist/models/stash-entry.js.map +1 -0
  342. package/dist/models/status.d.ts +166 -0
  343. package/dist/models/status.js +135 -0
  344. package/dist/models/status.js.map +1 -0
  345. package/dist/models/submodule.d.ts +12 -0
  346. package/dist/models/submodule.js +2 -0
  347. package/dist/models/submodule.js.map +1 -0
  348. package/dist/models/worktree.d.ts +10 -0
  349. package/dist/models/worktree.js +2 -0
  350. package/dist/models/worktree.js.map +1 -0
  351. package/package.json +17 -2
  352. package/src/git/add.ts +3 -3
  353. package/src/git/apply.ts +8 -8
  354. package/src/git/authentication.ts +3 -2
  355. package/src/git/branch.ts +10 -10
  356. package/src/git/checkout-index.ts +2 -2
  357. package/src/git/checkout.ts +12 -12
  358. package/src/git/cherry-pick.ts +16 -16
  359. package/src/git/clean.ts +2 -2
  360. package/src/git/clone.ts +6 -6
  361. package/src/git/commit.ts +7 -7
  362. package/src/git/config.ts +2 -2
  363. package/src/git/core.ts +8 -8
  364. package/src/git/credential.ts +1 -1
  365. package/src/git/diff-check.ts +1 -1
  366. package/src/git/diff-index.ts +2 -2
  367. package/src/git/diff.ts +18 -18
  368. package/src/git/environment.ts +5 -5
  369. package/src/git/fetch.ts +7 -7
  370. package/src/git/for-each-ref.ts +5 -5
  371. package/src/git/format-patch.ts +3 -3
  372. package/src/git/git-delimiter-parser.ts +1 -1
  373. package/src/git/gitignore.ts +2 -2
  374. package/src/git/index.ts +46 -36
  375. package/src/git/init.ts +2 -2
  376. package/src/git/interpret-trailers.ts +3 -3
  377. package/src/git/lfs.ts +2 -2
  378. package/src/git/log.ts +8 -8
  379. package/src/git/merge-tree.ts +5 -5
  380. package/src/git/merge.ts +5 -5
  381. package/src/git/multi-operation-terminal-output.ts +3 -3
  382. package/src/git/pull.ts +7 -7
  383. package/src/git/push-terminal-chunk.ts +1 -1
  384. package/src/git/push.ts +7 -7
  385. package/src/git/rebase.ts +16 -16
  386. package/src/git/reflog.ts +2 -2
  387. package/src/git/refs.ts +2 -2
  388. package/src/git/remote.ts +6 -6
  389. package/src/git/reorder.ts +7 -7
  390. package/src/git/reset.ts +3 -3
  391. package/src/git/rev-list.ts +5 -5
  392. package/src/git/rev-parse.ts +2 -2
  393. package/src/git/revert.ts +8 -8
  394. package/src/git/rm.ts +3 -3
  395. package/src/git/show.ts +4 -4
  396. package/src/git/spawn.ts +3 -3
  397. package/src/git/squash.ts +7 -7
  398. package/src/git/stage.ts +7 -7
  399. package/src/git/stash.ts +10 -10
  400. package/src/git/status.ts +13 -13
  401. package/src/git/submodule.ts +9 -9
  402. package/src/git/tag.ts +4 -4
  403. package/src/git/update-index.ts +5 -5
  404. package/src/git/update-ref.ts +2 -2
  405. package/src/git/var.ts +3 -3
  406. package/src/git/worktree-include.ts +3 -3
  407. package/src/git/worktree.ts +4 -4
  408. package/src/index.ts +11 -0
  409. package/src/lib/diff-parser.ts +2 -2
  410. package/src/lib/get-old-path.ts +1 -1
  411. package/src/lib/git/environment.ts +1 -1
  412. package/src/lib/patch-formatter.ts +3 -3
  413. package/src/lib/progress/from-process.ts +1 -1
  414. package/src/lib/progress/index.ts +1 -1
  415. package/src/lib/status-parser.ts +2 -2
  416. package/src/models/branch.ts +1 -1
  417. package/src/models/cherry-pick.ts +2 -2
  418. package/src/models/commit.ts +1 -1
  419. package/src/models/diff/diff-data.ts +3 -3
  420. package/src/models/diff/index.ts +6 -6
  421. package/src/models/diff/raw-diff.ts +1 -1
  422. package/src/models/index.ts +36 -0
  423. package/src/models/rebase.ts +2 -2
  424. package/src/models/stash-entry.ts +1 -1
  425. package/src/models/status.ts +1 -1
  426. package/examples/get-status.ts +0 -84
  427. package/tsconfig.json +0 -17
@@ -0,0 +1,76 @@
1
+ import { git } from './core.js';
2
+ /**
3
+ * Possible statuses of an entry in Git, see the git diff-index
4
+ * man page for additional details.
5
+ */
6
+ export var IndexStatus;
7
+ (function (IndexStatus) {
8
+ IndexStatus[IndexStatus["Unknown"] = 0] = "Unknown";
9
+ IndexStatus[IndexStatus["Added"] = 1] = "Added";
10
+ IndexStatus[IndexStatus["Copied"] = 2] = "Copied";
11
+ IndexStatus[IndexStatus["Deleted"] = 3] = "Deleted";
12
+ IndexStatus[IndexStatus["Modified"] = 4] = "Modified";
13
+ IndexStatus[IndexStatus["Renamed"] = 5] = "Renamed";
14
+ IndexStatus[IndexStatus["TypeChanged"] = 6] = "TypeChanged";
15
+ IndexStatus[IndexStatus["Unmerged"] = 7] = "Unmerged";
16
+ })(IndexStatus || (IndexStatus = {}));
17
+ function getIndexStatus(status) {
18
+ switch (status[0]) {
19
+ case 'A':
20
+ return IndexStatus.Added;
21
+ case 'C':
22
+ return IndexStatus.Copied;
23
+ case 'D':
24
+ return IndexStatus.Deleted;
25
+ case 'M':
26
+ return IndexStatus.Modified;
27
+ case 'R':
28
+ return IndexStatus.Renamed;
29
+ case 'T':
30
+ return IndexStatus.TypeChanged;
31
+ case 'U':
32
+ return IndexStatus.Unmerged;
33
+ case 'X':
34
+ return IndexStatus.Unknown;
35
+ default:
36
+ throw new Error(`Unknown index status: ${status}`);
37
+ }
38
+ }
39
+ function getNoRenameIndexStatus(status) {
40
+ const parsed = getIndexStatus(status);
41
+ switch (parsed) {
42
+ case IndexStatus.Copied:
43
+ case IndexStatus.Renamed:
44
+ throw new Error(`Invalid index status for no-rename index status: ${parsed}`);
45
+ }
46
+ return parsed;
47
+ }
48
+ /** The SHA for the null tree. */
49
+ export const NullTreeSHA = '4b825dc642cb6eb9a060e54bf8d69288fbee4904';
50
+ /**
51
+ * Get a list of files which have recorded changes in the index as compared to
52
+ * HEAD along with the type of change.
53
+ *
54
+ * @param repository The repository for which to retrieve the index changes.
55
+ */
56
+ export async function getIndexChanges(repository) {
57
+ const args = ['diff-index', '--cached', '--name-status', '--no-renames', '-z'];
58
+ let result = await git([...args, 'HEAD', '--'], repository.path, 'getIndexChanges', {
59
+ successExitCodes: new Set([0, 128]),
60
+ });
61
+ // 128 from diff-index either means that the path isn't a repository or (more
62
+ // likely) that the repository HEAD is unborn. If HEAD is unborn we'll diff
63
+ // the index against the null tree instead.
64
+ if (result.exitCode === 128) {
65
+ result = await git([...args, NullTreeSHA], repository.path, 'getIndexChanges');
66
+ }
67
+ const map = new Map();
68
+ const pieces = result.stdout.split('\0');
69
+ for (let i = 0; i < pieces.length - 1; i += 2) {
70
+ const status = getNoRenameIndexStatus(pieces[i]);
71
+ const path = pieces[i + 1];
72
+ map.set(path, status);
73
+ }
74
+ return map;
75
+ }
76
+ //# sourceMappingURL=diff-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-index.js","sourceRoot":"","sources":["../../src/git/diff-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { Repository } from '../models/repository.js';
2
+ import { WorkingDirectoryFileChange, FileChange } from '../models/status.js';
3
+ import { IRawDiff, IDiff, Image, LineEndingsChange } from '../models/diff/index.js';
4
+ import { IChangesetData } from './log.js';
5
+ import { IStatusEntry } from '../lib/status-parser.js';
6
+ /**
7
+ * Render the difference between a file in the given commit and its parent
8
+ *
9
+ * @param commitish A commit SHA or some other identifier that ultimately dereferences
10
+ * to a commit.
11
+ */
12
+ export declare function getCommitDiff(repository: Repository, file: FileChange, commitish: string, hideWhitespaceInDiff?: boolean): Promise<IDiff>;
13
+ /**
14
+ * Render the diff between two branches with --merge-base for a file
15
+ * (Show what would be the result of merge)
16
+ */
17
+ export declare function getBranchMergeBaseDiff(repository: Repository, file: FileChange, baseBranchName: string, comparisonBranchName: string, hideWhitespaceInDiff: boolean | undefined, latestCommit: string): Promise<IDiff>;
18
+ /**
19
+ * Render the difference between two commits for a file
20
+ *
21
+ */
22
+ export declare function getCommitRangeDiff(repository: Repository, file: FileChange, commits: ReadonlyArray<string>, hideWhitespaceInDiff?: boolean, useNullTreeSHA?: boolean): Promise<IDiff>;
23
+ /**
24
+ * Get the files that were changed for the merge base comparison of two branches.
25
+ * (What would be the result of a merge)
26
+ */
27
+ export declare function getBranchMergeBaseChangedFiles(repository: Repository, baseBranchName: string, comparisonBranchName: string, latestComparisonBranchCommitRef: string): Promise<IChangesetData | null>;
28
+ export declare function getCommitRangeChangedFiles(repository: Repository, shas: ReadonlyArray<string>, useNullTreeSHA?: boolean): Promise<IChangesetData>;
29
+ /**
30
+ * Render the diff for a file within the repository working directory. The file will be
31
+ * compared against HEAD if it's tracked, if not it'll be compared to an empty file meaning
32
+ * that all content in the file will be treated as additions.
33
+ */
34
+ export declare function getWorkingDirectoryDiff(repository: Repository, file: WorkingDirectoryFileChange, hideWhitespaceInDiff?: boolean): Promise<IDiff>;
35
+ /**
36
+ * Render the diff for a list of files within the repository working directory.
37
+ * The files will be compared against HEAD if it's tracked, if not it'll be
38
+ * compared to an empty file meaning that all content in the file will be
39
+ * treated as additions.
40
+ *
41
+ * @param repository The repository to get the diff for
42
+ * @param files The list of files to get the diff for
43
+ * @param commitish The commitish to compare against, if not provided it will
44
+ * default to HEAD. Mainly used to get a diff that includes
45
+ * both staged changes and the changes in a commit. For example,
46
+ * when the user is amending a commit and wants to generate
47
+ * a commit message based on both the new changes and the
48
+ * changes in the commit.
49
+ */
50
+ export declare function getFilesDiffText(repository: Repository, files: ReadonlyArray<WorkingDirectoryFileChange>, commitish?: string): Promise<string>;
51
+ export declare function convertDiff(repository: Repository, file: FileChange, diff: IRawDiff, newestCommitish: string, oldestCommitish: string, lineEndingsChange?: LineEndingsChange): Promise<IDiff>;
52
+ /**
53
+ * Retrieve the binary contents of a blob from the object database
54
+ *
55
+ * Returns an image object containing the base64 encoded string,
56
+ * as <img> tags support the data URI scheme instead of
57
+ * needing to reference a file:// URI
58
+ *
59
+ * https://en.wikipedia.org/wiki/Data_URI_scheme
60
+ */
61
+ export declare function getBlobImage(repository: Repository, path: string, commitish: string): Promise<Image>;
62
+ /**
63
+ * Retrieve the binary contents of a blob from the working directory
64
+ *
65
+ * Returns an image object containing the base64 encoded string,
66
+ * as <img> tags support the data URI scheme instead of
67
+ * needing to reference a file:// URI
68
+ *
69
+ * https://en.wikipedia.org/wiki/Data_URI_scheme
70
+ */
71
+ export declare function getWorkingDirectoryImage(repository: Repository, file: FileChange): Promise<Image>;
72
+ /**
73
+ * List the modified binary files' paths in the given repository
74
+ *
75
+ * @param repository to run git operation in
76
+ * @param ref ref (sha, branch, etc) to compare the working index against
77
+ *
78
+ * if you're mid-merge pass `'MERGE_HEAD'` to ref to get a diff of `HEAD` vs `MERGE_HEAD`,
79
+ * otherwise you should probably pass `'HEAD'` to get a diff of the working tree vs `HEAD`
80
+ */
81
+ export declare function getBinaryPaths(repository: Repository, ref: string, conflictedFilesInIndex: ReadonlyArray<IStatusEntry>): Promise<ReadonlyArray<string>>;