git-chopstick-core 0.1.1 → 0.1.3

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 (461) hide show
  1. package/README.md +324 -32
  2. package/dist/git/add.d.ts +9 -0
  3. package/dist/git/add.js +11 -0
  4. package/dist/git/add.js.map +1 -0
  5. package/dist/git/apply.d.ts +33 -0
  6. package/dist/git/apply.js +103 -0
  7. package/dist/git/apply.js.map +1 -0
  8. package/dist/git/authentication.d.ts +5 -0
  9. package/dist/git/authentication.js +19 -0
  10. package/dist/git/authentication.js.map +1 -0
  11. package/dist/git/branch.d.ts +43 -0
  12. package/dist/git/branch.js +150 -0
  13. package/dist/git/branch.js.map +1 -0
  14. package/dist/git/checkout-index.d.ts +19 -0
  15. package/{src/git/checkout-index.ts → dist/git/checkout-index.js} +11 -22
  16. package/dist/git/checkout-index.js.map +1 -0
  17. package/dist/git/checkout.d.ts +46 -0
  18. package/dist/git/checkout.js +126 -0
  19. package/dist/git/checkout.js.map +1 -0
  20. package/dist/git/cherry-pick.d.ts +82 -0
  21. package/dist/git/cherry-pick.js +371 -0
  22. package/dist/git/cherry-pick.js.map +1 -0
  23. package/dist/git/clean.d.ts +5 -0
  24. package/dist/git/clean.js +8 -0
  25. package/dist/git/clean.js.map +1 -0
  26. package/dist/git/clone.d.ts +22 -0
  27. package/dist/git/clone.js +58 -0
  28. package/dist/git/clone.js.map +1 -0
  29. package/dist/git/coerce-to-buffer.d.ts +1 -0
  30. package/dist/git/coerce-to-buffer.js +2 -0
  31. package/dist/git/coerce-to-buffer.js.map +1 -0
  32. package/dist/git/coerce-to-string.d.ts +1 -0
  33. package/dist/git/coerce-to-string.js +2 -0
  34. package/dist/git/coerce-to-string.js.map +1 -0
  35. package/dist/git/commit.d.ts +25 -0
  36. package/dist/git/commit.js +99 -0
  37. package/dist/git/commit.js.map +1 -0
  38. package/dist/git/config.d.ts +98 -0
  39. package/dist/git/config.js +249 -0
  40. package/dist/git/config.js.map +1 -0
  41. package/dist/git/core.d.ts +167 -0
  42. package/dist/git/core.js +368 -0
  43. package/dist/git/core.js.map +1 -0
  44. package/dist/git/create-tail-stream.d.ts +4 -0
  45. package/dist/git/create-tail-stream.js +30 -0
  46. package/dist/git/create-tail-stream.js.map +1 -0
  47. package/dist/git/credential.d.ts +5 -0
  48. package/dist/git/credential.js +64 -0
  49. package/dist/git/credential.js.map +1 -0
  50. package/dist/git/description.d.ts +5 -0
  51. package/dist/git/description.js +24 -0
  52. package/dist/git/description.js.map +1 -0
  53. package/dist/git/diff-check.d.ts +7 -0
  54. package/dist/git/diff-check.js +17 -0
  55. package/dist/git/diff-check.js.map +1 -0
  56. package/dist/git/diff-index.d.ts +31 -0
  57. package/dist/git/diff-index.js +76 -0
  58. package/dist/git/diff-index.js.map +1 -0
  59. package/dist/git/diff.d.ts +81 -0
  60. package/dist/git/diff.js +611 -0
  61. package/dist/git/diff.js.map +1 -0
  62. package/dist/git/environment.d.ts +51 -0
  63. package/dist/git/environment.js +97 -0
  64. package/dist/git/environment.js.map +1 -0
  65. package/dist/git/exec.d.ts +109 -0
  66. package/dist/git/exec.js +224 -0
  67. package/dist/git/exec.js.map +1 -0
  68. package/dist/git/fetch.d.ts +25 -0
  69. package/dist/git/fetch.js +100 -0
  70. package/dist/git/fetch.js.map +1 -0
  71. package/dist/git/for-each-ref.d.ts +13 -0
  72. package/dist/git/for-each-ref.js +114 -0
  73. package/dist/git/for-each-ref.js.map +1 -0
  74. package/dist/git/format-patch.d.ts +10 -0
  75. package/dist/git/format-patch.js +16 -0
  76. package/dist/git/format-patch.js.map +1 -0
  77. package/dist/git/git-delimiter-parser.d.ts +38 -0
  78. package/dist/git/git-delimiter-parser.js +79 -0
  79. package/dist/git/git-delimiter-parser.js.map +1 -0
  80. package/dist/git/gitignore.d.ts +26 -0
  81. package/dist/git/gitignore.js +124 -0
  82. package/dist/git/gitignore.js.map +1 -0
  83. package/dist/git/index.d.ts +46 -0
  84. package/dist/git/index.js +47 -0
  85. package/dist/git/index.js.map +1 -0
  86. package/dist/git/init.d.ts +2 -0
  87. package/dist/git/init.js +7 -0
  88. package/dist/git/init.js.map +1 -0
  89. package/{src/git/interpret-trailers.ts → dist/git/interpret-trailers.d.ts} +9 -97
  90. package/dist/git/interpret-trailers.js +130 -0
  91. package/dist/git/interpret-trailers.js.map +1 -0
  92. package/dist/git/lfs.d.ts +25 -0
  93. package/dist/git/lfs.js +73 -0
  94. package/dist/git/lfs.js.map +1 -0
  95. package/dist/git/log.d.ts +56 -0
  96. package/dist/git/log.js +258 -0
  97. package/dist/git/log.js.map +1 -0
  98. package/dist/git/merge-tree.d.ts +13 -0
  99. package/dist/git/merge-tree.js +24 -0
  100. package/dist/git/merge-tree.js.map +1 -0
  101. package/dist/git/merge.d.ts +50 -0
  102. package/dist/git/merge.js +111 -0
  103. package/dist/git/merge.js.map +1 -0
  104. package/dist/git/multi-operation-terminal-output.d.ts +20 -0
  105. package/dist/git/multi-operation-terminal-output.js +56 -0
  106. package/dist/git/multi-operation-terminal-output.js.map +1 -0
  107. package/dist/git/pull.d.ts +24 -0
  108. package/dist/git/pull.js +91 -0
  109. package/dist/git/pull.js.map +1 -0
  110. package/{src/git/push-terminal-chunk.ts → dist/git/push-terminal-chunk.d.ts} +1 -23
  111. package/dist/git/push-terminal-chunk.js +36 -0
  112. package/dist/git/push-terminal-chunk.js.map +1 -0
  113. package/dist/git/push.d.ts +42 -0
  114. package/dist/git/push.js +80 -0
  115. package/dist/git/push.js.map +1 -0
  116. package/dist/git/rebase.d.ts +119 -0
  117. package/dist/git/rebase.js +415 -0
  118. package/dist/git/rebase.js.map +1 -0
  119. package/dist/git/reflog.d.ts +14 -0
  120. package/dist/git/reflog.js +88 -0
  121. package/dist/git/reflog.js.map +1 -0
  122. package/dist/git/refs.d.ts +26 -0
  123. package/dist/git/refs.js +53 -0
  124. package/dist/git/refs.js.map +1 -0
  125. package/dist/git/remote.d.ts +31 -0
  126. package/dist/git/remote.js +81 -0
  127. package/dist/git/remote.js.map +1 -0
  128. package/dist/git/reorder.d.ts +23 -0
  129. package/dist/git/reorder.js +111 -0
  130. package/dist/git/reorder.js.map +1 -0
  131. package/dist/git/reset.d.ts +41 -0
  132. package/dist/git/reset.js +86 -0
  133. package/dist/git/reset.js.map +1 -0
  134. package/dist/git/rev-list.d.ts +67 -0
  135. package/dist/git/rev-list.js +157 -0
  136. package/dist/git/rev-list.js.map +1 -0
  137. package/dist/git/rev-parse.d.ts +24 -0
  138. package/dist/git/rev-parse.js +65 -0
  139. package/dist/git/rev-parse.js.map +1 -0
  140. package/dist/git/revert.d.ts +12 -0
  141. package/dist/git/revert.js +30 -0
  142. package/dist/git/revert.js.map +1 -0
  143. package/dist/git/rm.d.ts +12 -0
  144. package/dist/git/rm.js +22 -0
  145. package/dist/git/rm.js.map +1 -0
  146. package/dist/git/show.d.ts +42 -0
  147. package/{src/git/show.ts → dist/git/show.js} +17 -46
  148. package/dist/git/show.js.map +1 -0
  149. package/dist/git/spawn.d.ts +18 -0
  150. package/dist/git/spawn.js +16 -0
  151. package/dist/git/spawn.js.map +1 -0
  152. package/dist/git/squash.d.ts +28 -0
  153. package/dist/git/squash.js +127 -0
  154. package/dist/git/squash.js.map +1 -0
  155. package/dist/git/stage.d.ts +21 -0
  156. package/dist/git/stage.js +72 -0
  157. package/dist/git/stage.js.map +1 -0
  158. package/dist/git/stash.d.ts +53 -0
  159. package/dist/git/stash.js +204 -0
  160. package/dist/git/stash.js.map +1 -0
  161. package/dist/git/status.d.ts +39 -0
  162. package/dist/git/status.js +293 -0
  163. package/dist/git/status.js.map +1 -0
  164. package/dist/git/submodule.d.ts +20 -0
  165. package/dist/git/submodule.js +153 -0
  166. package/dist/git/submodule.js.map +1 -0
  167. package/dist/git/tag.d.ts +32 -0
  168. package/dist/git/tag.js +101 -0
  169. package/dist/git/tag.js.map +1 -0
  170. package/dist/git/update-index.d.ts +11 -0
  171. package/dist/git/update-index.js +99 -0
  172. package/dist/git/update-index.js.map +1 -0
  173. package/dist/git/update-ref.d.ts +23 -0
  174. package/{src/git/update-ref.ts → dist/git/update-ref.js} +10 -28
  175. package/dist/git/update-ref.js.map +1 -0
  176. package/dist/git/var.d.ts +18 -0
  177. package/{src/git/var.ts → dist/git/var.js} +16 -25
  178. package/dist/git/var.js.map +1 -0
  179. package/dist/git/worktree-include.d.ts +42 -0
  180. package/dist/git/worktree-include.js +109 -0
  181. package/dist/git/worktree-include.js.map +1 -0
  182. package/dist/git/worktree.d.ts +25 -0
  183. package/dist/git/worktree.js +139 -0
  184. package/dist/git/worktree.js.map +1 -0
  185. package/dist/index.d.ts +4 -0
  186. package/dist/index.js +7 -0
  187. package/dist/index.js.map +1 -0
  188. package/dist/lib/api.d.ts +2 -0
  189. package/dist/lib/api.js +7 -0
  190. package/dist/lib/api.js.map +1 -0
  191. package/dist/lib/diff-parser.d.ts +20 -0
  192. package/dist/lib/diff-parser.js +184 -0
  193. package/dist/lib/diff-parser.js.map +1 -0
  194. package/dist/lib/directory-exists.d.ts +1 -0
  195. package/dist/lib/directory-exists.js +11 -0
  196. package/dist/lib/directory-exists.js.map +1 -0
  197. package/dist/lib/errno-exception.d.ts +6 -0
  198. package/dist/lib/errno-exception.js +6 -0
  199. package/dist/lib/errno-exception.js.map +1 -0
  200. package/dist/lib/fatal-error.d.ts +4 -0
  201. package/dist/lib/fatal-error.js +18 -0
  202. package/dist/lib/fatal-error.js.map +1 -0
  203. package/dist/lib/feature-flag.d.ts +14 -0
  204. package/dist/lib/feature-flag.js +25 -0
  205. package/dist/lib/feature-flag.js.map +1 -0
  206. package/dist/lib/file-system.d.ts +1 -0
  207. package/dist/lib/file-system.js +7 -0
  208. package/dist/lib/file-system.js.map +1 -0
  209. package/dist/lib/get-old-path.d.ts +2 -0
  210. package/dist/lib/get-old-path.js +9 -0
  211. package/dist/lib/get-old-path.js.map +1 -0
  212. package/dist/lib/git/environment.d.ts +3 -0
  213. package/dist/lib/git/environment.js +7 -0
  214. package/dist/lib/git/environment.js.map +1 -0
  215. package/dist/lib/git-perf.d.ts +1 -0
  216. package/dist/lib/git-perf.js +4 -0
  217. package/dist/lib/git-perf.js.map +1 -0
  218. package/dist/lib/helpers/default-branch.d.ts +1 -0
  219. package/dist/lib/helpers/default-branch.js +4 -0
  220. package/dist/lib/helpers/default-branch.js.map +1 -0
  221. package/dist/lib/helpers/path.d.ts +1 -0
  222. package/dist/lib/helpers/path.js +5 -0
  223. package/dist/lib/helpers/path.js.map +1 -0
  224. package/dist/lib/hooks/with-hooks-env.d.ts +3 -0
  225. package/dist/lib/hooks/with-hooks-env.js +4 -0
  226. package/dist/lib/hooks/with-hooks-env.js.map +1 -0
  227. package/dist/lib/merge.d.ts +1 -0
  228. package/dist/lib/merge.js +4 -0
  229. package/dist/lib/merge.js.map +1 -0
  230. package/dist/lib/noop.d.ts +1 -0
  231. package/dist/lib/noop.js +2 -0
  232. package/dist/lib/noop.js.map +1 -0
  233. package/dist/lib/patch-formatter.d.ts +5 -0
  234. package/dist/lib/patch-formatter.js +7 -0
  235. package/dist/lib/patch-formatter.js.map +1 -0
  236. package/dist/lib/path-exists.d.ts +1 -0
  237. package/dist/lib/path-exists.js +3 -0
  238. package/dist/lib/path-exists.js.map +1 -0
  239. package/dist/lib/progress/from-process.d.ts +2 -0
  240. package/dist/lib/progress/from-process.js +4 -0
  241. package/dist/lib/progress/from-process.js.map +1 -0
  242. package/dist/lib/progress/index.d.ts +49 -0
  243. package/dist/lib/progress/index.js +32 -0
  244. package/dist/lib/progress/index.js.map +1 -0
  245. package/dist/lib/progress/revert.d.ts +8 -0
  246. package/dist/lib/progress/revert.js +15 -0
  247. package/dist/lib/progress/revert.js.map +1 -0
  248. package/dist/lib/rebase.d.ts +1 -0
  249. package/dist/lib/rebase.js +4 -0
  250. package/dist/lib/rebase.js.map +1 -0
  251. package/dist/lib/remove-remote-prefix.d.ts +1 -0
  252. package/dist/lib/remove-remote-prefix.js +5 -0
  253. package/dist/lib/remove-remote-prefix.js.map +1 -0
  254. package/dist/lib/resolve-git-proxy.d.ts +1 -0
  255. package/dist/lib/resolve-git-proxy.js +4 -0
  256. package/dist/lib/resolve-git-proxy.js.map +1 -0
  257. package/dist/lib/round.d.ts +1 -0
  258. package/dist/lib/round.js +5 -0
  259. package/dist/lib/round.js.map +1 -0
  260. package/dist/lib/split-buffer.d.ts +1 -0
  261. package/dist/lib/split-buffer.js +15 -0
  262. package/dist/lib/split-buffer.js.map +1 -0
  263. package/dist/lib/status-parser.d.ts +19 -0
  264. package/dist/lib/status-parser.js +125 -0
  265. package/dist/lib/status-parser.js.map +1 -0
  266. package/dist/lib/stores/helpers/find-default-remote.d.ts +1 -0
  267. package/dist/lib/stores/helpers/find-default-remote.js +4 -0
  268. package/dist/lib/stores/helpers/find-default-remote.js.map +1 -0
  269. package/dist/lib/trampoline/trampoline-environment.d.ts +1 -0
  270. package/dist/lib/trampoline/trampoline-environment.js +4 -0
  271. package/dist/lib/trampoline/trampoline-environment.js.map +1 -0
  272. package/dist/models/branch.d.ts +44 -0
  273. package/dist/models/branch.js +59 -0
  274. package/dist/models/branch.js.map +1 -0
  275. package/dist/models/cherry-pick.d.ts +11 -0
  276. package/dist/models/cherry-pick.js +2 -0
  277. package/dist/models/cherry-pick.js.map +1 -0
  278. package/dist/models/clone-options.d.ts +6 -0
  279. package/dist/models/clone-options.js +2 -0
  280. package/dist/models/clone-options.js.map +1 -0
  281. package/dist/models/commit-identity.d.ts +9 -0
  282. package/dist/models/commit-identity.js +34 -0
  283. package/dist/models/commit-identity.js.map +1 -0
  284. package/dist/models/commit.d.ts +30 -0
  285. package/dist/models/commit.js +32 -0
  286. package/dist/models/commit.js.map +1 -0
  287. package/dist/models/computed-action.d.ts +6 -0
  288. package/dist/models/computed-action.js +8 -0
  289. package/dist/models/computed-action.js.map +1 -0
  290. package/dist/models/diff/diff-data.d.ts +53 -0
  291. package/dist/models/diff/diff-data.js +19 -0
  292. package/dist/models/diff/diff-data.js.map +1 -0
  293. package/dist/models/diff/diff-line.d.ts +18 -0
  294. package/dist/models/diff/diff-line.js +33 -0
  295. package/dist/models/diff/diff-line.js.map +1 -0
  296. package/dist/models/diff/diff-selection.d.ts +22 -0
  297. package/dist/models/diff/diff-selection.js +127 -0
  298. package/dist/models/diff/diff-selection.js.map +1 -0
  299. package/dist/models/diff/image-diff.d.ts +6 -0
  300. package/dist/models/diff/image-diff.js +8 -0
  301. package/dist/models/diff/image-diff.js.map +1 -0
  302. package/dist/models/diff/image.d.ts +7 -0
  303. package/dist/models/diff/image.js +13 -0
  304. package/dist/models/diff/image.js.map +1 -0
  305. package/dist/models/diff/index.d.ts +6 -0
  306. package/dist/models/diff/index.js +7 -0
  307. package/dist/models/diff/index.js.map +1 -0
  308. package/dist/models/diff/raw-diff.d.ts +32 -0
  309. package/dist/models/diff/raw-diff.js +38 -0
  310. package/dist/models/diff/raw-diff.js.map +1 -0
  311. package/dist/models/git-author.d.ts +7 -0
  312. package/dist/models/git-author.js +18 -0
  313. package/dist/models/git-author.js.map +1 -0
  314. package/dist/models/index.d.ts +21 -0
  315. package/dist/models/index.js +20 -0
  316. package/dist/models/index.js.map +1 -0
  317. package/dist/models/manual-conflict-resolution.d.ts +4 -0
  318. package/dist/models/manual-conflict-resolution.js +6 -0
  319. package/dist/models/manual-conflict-resolution.js.map +1 -0
  320. package/dist/models/merge.d.ts +6 -0
  321. package/dist/models/merge.js +2 -0
  322. package/dist/models/merge.js.map +1 -0
  323. package/dist/models/multi-commit-operation.d.ts +6 -0
  324. package/dist/models/multi-commit-operation.js +8 -0
  325. package/dist/models/multi-commit-operation.js.map +1 -0
  326. package/dist/models/progress.d.ts +41 -0
  327. package/dist/models/progress.js +7 -0
  328. package/dist/models/progress.js.map +1 -0
  329. package/dist/models/rebase.d.ts +17 -0
  330. package/dist/models/rebase.js +8 -0
  331. package/dist/models/rebase.js.map +1 -0
  332. package/dist/models/remote.d.ts +5 -0
  333. package/dist/models/remote.js +8 -0
  334. package/dist/models/remote.js.map +1 -0
  335. package/dist/models/repository.d.ts +7 -0
  336. package/dist/models/repository.js +15 -0
  337. package/dist/models/repository.js.map +1 -0
  338. package/dist/models/stash-entry.d.ts +20 -0
  339. package/dist/models/stash-entry.js +7 -0
  340. package/dist/models/stash-entry.js.map +1 -0
  341. package/dist/models/status.d.ts +166 -0
  342. package/dist/models/status.js +135 -0
  343. package/dist/models/status.js.map +1 -0
  344. package/dist/models/submodule.d.ts +12 -0
  345. package/dist/models/submodule.js +2 -0
  346. package/dist/models/submodule.js.map +1 -0
  347. package/dist/models/worktree.d.ts +10 -0
  348. package/dist/models/worktree.js +2 -0
  349. package/dist/models/worktree.js.map +1 -0
  350. package/package.json +44 -5
  351. package/examples/get-status.ts +0 -84
  352. package/src/git/add.ts +0 -16
  353. package/src/git/apply.ts +0 -154
  354. package/src/git/authentication.ts +0 -19
  355. package/src/git/branch.ts +0 -206
  356. package/src/git/checkout.ts +0 -235
  357. package/src/git/cherry-pick.ts +0 -504
  358. package/src/git/clean.ts +0 -9
  359. package/src/git/clone.ts +0 -86
  360. package/src/git/coerce-to-buffer.ts +0 -4
  361. package/src/git/coerce-to-string.ts +0 -4
  362. package/src/git/commit.ts +0 -136
  363. package/src/git/config.ts +0 -392
  364. package/src/git/core.ts +0 -625
  365. package/src/git/create-tail-stream.ts +0 -36
  366. package/src/git/credential.ts +0 -83
  367. package/src/git/description.ts +0 -33
  368. package/src/git/diff-check.ts +0 -27
  369. package/src/git/diff-index.ts +0 -116
  370. package/src/git/diff.ts +0 -880
  371. package/src/git/environment.ts +0 -116
  372. package/src/git/exec.ts +0 -285
  373. package/src/git/fetch.ts +0 -141
  374. package/src/git/for-each-ref.ts +0 -160
  375. package/src/git/format-patch.ts +0 -17
  376. package/src/git/git-delimiter-parser.ts +0 -95
  377. package/src/git/gitignore.ts +0 -157
  378. package/src/git/index.ts +0 -36
  379. package/src/git/init.ts +0 -11
  380. package/src/git/lfs.ts +0 -100
  381. package/src/git/log.ts +0 -376
  382. package/src/git/merge-tree.ts +0 -42
  383. package/src/git/merge.ts +0 -154
  384. package/src/git/multi-operation-terminal-output.ts +0 -68
  385. package/src/git/pull.ts +0 -130
  386. package/src/git/push.ts +0 -119
  387. package/src/git/rebase.ts +0 -627
  388. package/src/git/reflog.ts +0 -127
  389. package/src/git/refs.ts +0 -63
  390. package/src/git/remote.ts +0 -143
  391. package/src/git/reorder.ts +0 -153
  392. package/src/git/reset.ts +0 -101
  393. package/src/git/rev-list.ts +0 -201
  394. package/src/git/rev-parse.ts +0 -92
  395. package/src/git/revert.ts +0 -55
  396. package/src/git/rm.ts +0 -31
  397. package/src/git/spawn.ts +0 -38
  398. package/src/git/squash.ts +0 -173
  399. package/src/git/stage.ts +0 -97
  400. package/src/git/stash.ts +0 -302
  401. package/src/git/status.ts +0 -502
  402. package/src/git/submodule.ts +0 -212
  403. package/src/git/tag.ts +0 -134
  404. package/src/git/update-index.ts +0 -169
  405. package/src/git/worktree-include.ts +0 -146
  406. package/src/git/worktree.ts +0 -219
  407. package/src/index.ts +0 -23
  408. package/src/lib/api.ts +0 -7
  409. package/src/lib/diff-parser.ts +0 -249
  410. package/src/lib/directory-exists.ts +0 -10
  411. package/src/lib/errno-exception.ts +0 -12
  412. package/src/lib/fatal-error.ts +0 -23
  413. package/src/lib/feature-flag.ts +0 -29
  414. package/src/lib/file-system.ts +0 -7
  415. package/src/lib/get-old-path.ts +0 -11
  416. package/src/lib/git/environment.ts +0 -14
  417. package/src/lib/git-perf.ts +0 -3
  418. package/src/lib/helpers/default-branch.ts +0 -3
  419. package/src/lib/helpers/path.ts +0 -5
  420. package/src/lib/hooks/with-hooks-env.ts +0 -7
  421. package/src/lib/merge.ts +0 -3
  422. package/src/lib/noop.ts +0 -1
  423. package/src/lib/patch-formatter.ts +0 -18
  424. package/src/lib/path-exists.ts +0 -7
  425. package/src/lib/progress/from-process.ts +0 -10
  426. package/src/lib/progress/index.ts +0 -43
  427. package/src/lib/progress/revert.ts +0 -17
  428. package/src/lib/rebase.ts +0 -3
  429. package/src/lib/remove-remote-prefix.ts +0 -4
  430. package/src/lib/resolve-git-proxy.ts +0 -3
  431. package/src/lib/round.ts +0 -4
  432. package/src/lib/split-buffer.ts +0 -14
  433. package/src/lib/status-parser.ts +0 -188
  434. package/src/lib/stores/helpers/find-default-remote.ts +0 -3
  435. package/src/lib/trampoline/trampoline-environment.ts +0 -8
  436. package/src/models/branch.ts +0 -78
  437. package/src/models/cherry-pick.ts +0 -12
  438. package/src/models/clone-options.ts +0 -6
  439. package/src/models/commit-identity.ts +0 -35
  440. package/src/models/commit.ts +0 -44
  441. package/src/models/computed-action.ts +0 -6
  442. package/src/models/diff/diff-data.ts +0 -78
  443. package/src/models/diff/diff-line.ts +0 -36
  444. package/src/models/diff/diff-selection.ts +0 -165
  445. package/src/models/diff/image-diff.ts +0 -6
  446. package/src/models/diff/image.ts +0 -8
  447. package/src/models/diff/index.ts +0 -6
  448. package/src/models/diff/raw-diff.ts +0 -41
  449. package/src/models/git-author.ts +0 -16
  450. package/src/models/manual-conflict-resolution.ts +0 -4
  451. package/src/models/merge.ts +0 -6
  452. package/src/models/multi-commit-operation.ts +0 -6
  453. package/src/models/progress.ts +0 -67
  454. package/src/models/rebase.ts +0 -20
  455. package/src/models/remote.ts +0 -10
  456. package/src/models/repository.ts +0 -16
  457. package/src/models/stash-entry.ts +0 -25
  458. package/src/models/status.ts +0 -275
  459. package/src/models/submodule.ts +0 -13
  460. package/src/models/worktree.ts +0 -11
  461. package/tsconfig.json +0 -17
package/src/git/commit.ts DELETED
@@ -1,136 +0,0 @@
1
- import { git, HookCallbackOptions, parseCommitSHA } from './core'
2
- import { stageFiles } from './update-index'
3
- import { Repository } from '../models/repository'
4
- import { WorkingDirectoryFileChange } from '../models/status'
5
- import { unstageAll } from './reset'
6
- import { ManualConflictResolution } from '../models/manual-conflict-resolution'
7
- import { stageManualConflictResolution } from './stage'
8
-
9
- /**
10
- * @param repository repository to execute merge in
11
- * @param message commit message
12
- * @param files files to commit
13
- * @returns the commit SHA
14
- */
15
- export async function createCommit(
16
- repository: Repository,
17
- message: string,
18
- files: ReadonlyArray<WorkingDirectoryFileChange>,
19
- options?: {
20
- amend?: boolean
21
- noVerify?: boolean
22
- signOff?: boolean
23
- allowEmpty?: boolean
24
- } & HookCallbackOptions
25
- ): Promise<string> {
26
- // Clear the staging area, our diffs reflect the difference between the
27
- // working directory and the last commit (if any) so our commits should
28
- // do the same thing.
29
- await unstageAll(repository)
30
-
31
- await stageFiles(repository, files)
32
-
33
- const args = ['-F', '-']
34
-
35
- if (options?.amend) {
36
- args.push('--amend')
37
- }
38
-
39
- if (options?.noVerify) {
40
- args.push('--no-verify')
41
- }
42
-
43
- if (options?.signOff) {
44
- args.push('--signoff')
45
- }
46
-
47
- if (options?.allowEmpty) {
48
- args.push('--allow-empty')
49
- }
50
-
51
- const result = await git(
52
- ['commit', ...args],
53
- repository.path,
54
- 'createCommit',
55
- {
56
- stdin: message,
57
- // https://git-scm.com/docs/githooks/2.46.1
58
- interceptHooks: [
59
- 'pre-commit',
60
- 'prepare-commit-msg',
61
- 'commit-msg',
62
- 'post-commit',
63
- ...(options?.amend ? ['post-rewrite'] : []),
64
- 'pre-auto-gc',
65
- ],
66
- onHookProgress: options?.onHookProgress,
67
- onHookFailure: options?.onHookFailure,
68
- onTerminalOutputAvailable: options?.onTerminalOutputAvailable,
69
- }
70
- )
71
- return parseCommitSHA(result)
72
- }
73
-
74
- /**
75
- * Creates a commit to finish an in-progress merge
76
- * assumes that all conflicts have already been resolved
77
- * *Warning:* Does _not_ clear staged files before it commits!
78
- *
79
- * @param repository repository to execute merge in
80
- * @param files files to commit
81
- */
82
- export async function createMergeCommit(
83
- repository: Repository,
84
- files: ReadonlyArray<WorkingDirectoryFileChange>,
85
- manualResolutions: ReadonlyMap<string, ManualConflictResolution> = new Map()
86
- ): Promise<string> {
87
- // apply manual conflict resolutions
88
- for (const [path, resolution] of manualResolutions) {
89
- const file = files.find(f => f.path === path)
90
- if (file !== undefined) {
91
- await stageManualConflictResolution(repository, file, resolution)
92
- } else {
93
- console.error(
94
- `couldn't find file ${path} even though there's a manual resolution for it`
95
- )
96
- }
97
- }
98
-
99
- const otherFiles = files.filter(f => !manualResolutions.has(f.path))
100
-
101
- await stageFiles(repository, otherFiles)
102
- const result = await git(
103
- [
104
- 'commit',
105
- // no-edit here ensures the app does not accidentally invoke the user's editor
106
- '--no-edit',
107
- // By default Git merge commits do not contain any commentary (which
108
- // are lines prefixed with `#`). This works because the Git CLI will
109
- // prompt the user to edit the file in `.git/COMMIT_MSG` before
110
- // committing, and then it will run `--cleanup=strip`.
111
- //
112
- // This clashes with our use of `--no-edit` above as Git will now change
113
- // it's behavior to invoke `--cleanup=whitespace` as it did not ask
114
- // the user to edit the COMMIT_MSG as part of creating a commit.
115
- //
116
- // From the docs on git-commit (https://git-scm.com/docs/git-commit) I'll
117
- // quote the relevant section:
118
- // --cleanup=<mode>
119
- // strip
120
- // Strip leading and trailing empty lines, trailing whitespace,
121
- // commentary and collapse consecutive empty lines.
122
- // whitespace
123
- // Same as `strip` except #commentary is not removed.
124
- // default
125
- // Same as `strip` if the message is to be edited. Otherwise `whitespace`.
126
- //
127
- // We should emulate the behavior in this situation because we don't
128
- // let the user view or change the commit message before making the
129
- // commit.
130
- '--cleanup=strip',
131
- ],
132
- repository.path,
133
- 'createMergeCommit'
134
- )
135
- return parseCommitSHA(result)
136
- }
package/src/git/config.ts DELETED
@@ -1,392 +0,0 @@
1
- import { git } from './core'
2
- import { Repository } from '../models/repository'
3
- import { normalize } from 'path'
4
-
5
- /**
6
- * Look up a config value by name in the repository.
7
- *
8
- * @param onlyLocal Whether or not the value to be retrieved should stick to
9
- * the local repository settings. It is false by default. This
10
- * is equivalent to using the `--local` argument in the
11
- * `git config` invocation.
12
- */
13
- export function getConfigValue(
14
- repository: Repository,
15
- name: string,
16
- onlyLocal: boolean = false
17
- ): Promise<string | null> {
18
- return getConfigValueInPath(name, repository.path, onlyLocal)
19
- }
20
-
21
- /** Look up a global config value by name. */
22
- export function getGlobalConfigValue(
23
- name: string,
24
- env?: {
25
- HOME: string
26
- }
27
- ): Promise<string | null> {
28
- return getConfigValueInPath(name, null, false, undefined, env)
29
- }
30
-
31
- /**
32
- * Look up a config value by name.
33
- *
34
- * Treats the returned value as a boolean as per Git's
35
- * own definition of a boolean configuration value (i.e.
36
- * 0 -> false, "off" -> false, "yes" -> true etc)
37
- */
38
- export async function getBooleanConfigValue(
39
- repository: Repository,
40
- name: string,
41
- onlyLocal: boolean = false,
42
- env?: {
43
- HOME: string
44
- }
45
- ): Promise<boolean | null> {
46
- const value = await getConfigValueInPath(
47
- name,
48
- repository.path,
49
- onlyLocal,
50
- 'bool',
51
- env
52
- )
53
- return value === null ? null : value !== 'false'
54
- }
55
-
56
- /**
57
- * Look up a global config value by name.
58
- *
59
- * Treats the returned value as a boolean as per Git's
60
- * own definition of a boolean configuration value (i.e.
61
- * 0 -> false, "off" -> false, "yes" -> true etc)
62
- */
63
- export async function getGlobalBooleanConfigValue(
64
- name: string,
65
- env?: {
66
- HOME: string
67
- }
68
- ): Promise<boolean | null> {
69
- const value = await getConfigValueInPath(name, null, false, 'bool', env)
70
- return value === null ? null : value !== 'false'
71
- }
72
-
73
- /**
74
- * Look up a config value by name
75
- *
76
- * @param path The path to execute the `git` command in. If null
77
- * we'll use the global configuration (i.e. --global)
78
- * and execute the Git call from the same location that
79
- * GitHub Desktop is installed in.
80
- * @param onlyLocal Whether or not the value to be retrieved should stick to
81
- * the local repository settings (if a path is specified). It
82
- * is false by default. It is equivalent to using the `--local`
83
- * argument in the `git config` invocation.
84
- * @param type Canonicalize configuration values according to the
85
- * expected type (i.e. 0 -> false, "on" -> true etc).
86
- * See `--type` documentation in `git config`
87
- */
88
- async function getConfigValueInPath(
89
- name: string,
90
- path: string | null,
91
- onlyLocal: boolean = false,
92
- type?: 'bool' | 'int' | 'bool-or-int' | 'path' | 'expiry-date' | 'color',
93
- env?: {
94
- HOME: string
95
- }
96
- ): Promise<string | null> {
97
- const flags = ['config', '-z']
98
- if (!path) {
99
- flags.push('--global')
100
- } else if (onlyLocal) {
101
- flags.push('--local')
102
- }
103
-
104
- if (type !== undefined) {
105
- flags.push('--type', type)
106
- }
107
-
108
- flags.push(name)
109
-
110
- const result = await git(flags, path || __dirname, 'getConfigValueInPath', {
111
- successExitCodes: new Set([0, 1]),
112
- env,
113
- })
114
-
115
- // Git exits with 1 if the value isn't found. That's OK.
116
- if (result.exitCode === 1) {
117
- return null
118
- }
119
-
120
- const output = result.stdout
121
- const pieces = output.split('\0')
122
- return pieces[0]
123
- }
124
-
125
- /**
126
- * Get the path to the global git config
127
- *
128
- * Note: this uses git config --edit which will automatically create the global
129
- * config file if it doesn't exist yet. The primary purpose behind this method
130
- * is to support opening the global git config for editing.
131
- */
132
- export const getGlobalConfigPath = (env?: { HOME: string }) =>
133
- git(['config', '--edit', '--global'], __dirname, 'getGlobalConfigPath', {
134
- // We're using printf instead of echo because echo could attempt to decode
135
- // escape sequences like \n which would be bad in a case like
136
- // c:\Users\niik\.gitconfig
137
- // ^^
138
- env: { ...env, GIT_EDITOR: 'printf %s' },
139
- }).then(x => normalize(x.stdout))
140
-
141
- /** Set the local config value by name. */
142
- export async function setConfigValue(
143
- repository: Repository,
144
- name: string,
145
- value: string,
146
- env?: {
147
- HOME: string
148
- }
149
- ): Promise<void> {
150
- return setConfigValueInPath(name, value, repository.path, env)
151
- }
152
-
153
- /** Set the global config value by name. */
154
- export async function setGlobalConfigValue(
155
- name: string,
156
- value: string,
157
- env?: {
158
- HOME: string
159
- }
160
- ): Promise<void> {
161
- return setConfigValueInPath(name, value, null, env)
162
- }
163
-
164
- /** Set the global config value by name. */
165
- export async function addGlobalConfigValue(
166
- name: string,
167
- value: string
168
- ): Promise<void> {
169
- await git(
170
- ['config', '--global', '--add', name, value],
171
- __dirname,
172
- 'addGlobalConfigValue'
173
- )
174
- }
175
-
176
- /**
177
- * Adds a path to the `safe.directories` configuration variable if it's not
178
- * already present. Adding a path to `safe.directory` will cause Git to ignore
179
- * if the path is owner by a different user than the current.
180
- */
181
- export async function addSafeDirectory(path: string) {
182
- // UNC-paths on Windows need to be prefixed with `%(prefix)/`, see
183
- // https://github.com/git-for-windows/git/commit/e394a16023cbb62784e380f70ad8a833fb960d68
184
- if (process.platform === 'win32' && path[0] === '/') {
185
- path = `%(prefix)/${path}`
186
- }
187
-
188
- await addGlobalConfigValueIfMissing('safe.directory', path)
189
- }
190
-
191
- /** Set the global config value by name. */
192
- export async function addGlobalConfigValueIfMissing(
193
- name: string,
194
- value: string
195
- ): Promise<void> {
196
- const { stdout, exitCode } = await git(
197
- ['config', '--global', '-z', '--get-all', name, value],
198
- __dirname,
199
- 'addGlobalConfigValue',
200
- { successExitCodes: new Set([0, 1]) }
201
- )
202
-
203
- if (exitCode === 1 || !stdout.split('\0').includes(value)) {
204
- await addGlobalConfigValue(name, value)
205
- }
206
- }
207
-
208
- /**
209
- * Set config value by name
210
- *
211
- * @param path The path to execute the `git` command in. If null
212
- * we'll use the global configuration (i.e. --global)
213
- * and execute the Git call from the same location that
214
- * GitHub Desktop is installed in.
215
- */
216
- async function setConfigValueInPath(
217
- name: string,
218
- value: string,
219
- path: string | null,
220
- env?: {
221
- HOME: string
222
- }
223
- ): Promise<void> {
224
- const options = env ? { env } : undefined
225
-
226
- const flags = ['config']
227
-
228
- if (!path) {
229
- flags.push('--global')
230
- }
231
-
232
- flags.push('--replace-all', name, value)
233
-
234
- await git(flags, path || __dirname, 'setConfigValueInPath', options)
235
- }
236
-
237
- /** Remove the local config value by name. */
238
- export async function removeConfigValue(
239
- repository: Repository,
240
- name: string,
241
- env?: {
242
- HOME: string
243
- }
244
- ): Promise<void> {
245
- return removeConfigValueInPath(name, repository.path, env)
246
- }
247
-
248
- /** Remove the global config value by name. */
249
- export async function removeGlobalConfigValue(
250
- name: string,
251
- env?: {
252
- HOME: string
253
- }
254
- ): Promise<void> {
255
- return removeConfigValueInPath(name, null, env)
256
- }
257
-
258
- /**
259
- * Remove config value by name
260
- *
261
- * @param path The path to execute the `git` command in. If null
262
- * we'll use the global configuration (i.e. --global)
263
- * and execute the Git call from the same location that
264
- * GitHub Desktop is installed in.
265
- */
266
- async function removeConfigValueInPath(
267
- name: string,
268
- path: string | null,
269
- env?: {
270
- HOME: string
271
- }
272
- ): Promise<void> {
273
- const options = env ? { env } : undefined
274
-
275
- const flags = ['config']
276
-
277
- if (!path) {
278
- flags.push('--global')
279
- }
280
-
281
- flags.push('--unset-all', name)
282
-
283
- await git(flags, path || __dirname, 'removeConfigValueInPath', options)
284
- }
285
-
286
- export interface IConfigValueOrigin {
287
- readonly value: string
288
- readonly scope: string
289
- readonly origin: string
290
- }
291
-
292
- /**
293
- * Look up a config value along with its source file and scope.
294
- * Requires Git 2.26+ for --show-scope.
295
- */
296
- export async function getConfigValueWithOrigin(
297
- repository: Repository,
298
- name: string
299
- ): Promise<IConfigValueOrigin | null> {
300
- const result = await git(
301
- ['config', '--show-origin', '--show-scope', '-z', name],
302
- repository.path,
303
- 'getConfigValueWithOrigin',
304
- // 0 = found, 1 = key not set, 128 = not a git repo or git error
305
- { successExitCodes: new Set([0, 1, 128]) }
306
- )
307
-
308
- if (result.exitCode !== 0) {
309
- return null
310
- }
311
-
312
- const parts = result.stdout.split('\0')
313
- if (parts.length >= 3) {
314
- return {
315
- scope: parts[0],
316
- origin: parts[1],
317
- value: parts[2],
318
- }
319
- }
320
-
321
- return null
322
- }
323
-
324
- /**
325
- * Extract the file path from a config value origin, stripping the `file:` prefix.
326
- * When repositoryPath is provided, relative paths (e.g. `.git/config` for local
327
- * scope) are resolved to absolute paths.
328
- */
329
- export function getOriginFilePath(
330
- origin: IConfigValueOrigin,
331
- repositoryPath?: string
332
- ): string {
333
- const filePath = origin.origin.replace(/^file:/, '')
334
- // Git returns relative paths for local/worktree scope (e.g. `.git/config`)
335
- if (repositoryPath && !/^([a-zA-Z]:|[/\\])/.test(filePath)) {
336
- const base = repositoryPath.replace(/[\\/]+$/, '')
337
- return `${base}/${filePath}`
338
- }
339
- return filePath
340
- }
341
-
342
- /**
343
- * Check whether a global-scoped config value comes from a conditionally
344
- * included file (via includeIf directive) rather than a standard location.
345
- */
346
- export function isConditionalInclude(origin: IConfigValueOrigin): boolean {
347
- if (origin.scope !== 'global') {
348
- return false
349
- }
350
- const filePath = getOriginFilePath(origin)
351
- return (
352
- !/[/\\]\.gitconfig$/i.test(filePath) &&
353
- !/[/\\]\.config[/\\]git[/\\]config$/i.test(filePath)
354
- )
355
- }
356
-
357
- /** Format a human-readable scope description for a config value origin. */
358
- export function formatConfigScope(origin: IConfigValueOrigin): string {
359
- if (origin.scope === 'local') {
360
- return 'local'
361
- } else if (origin.scope === 'system') {
362
- return 'system'
363
- } else if (origin.scope === 'worktree') {
364
- return 'worktree'
365
- } else if (origin.scope === 'global') {
366
- return isConditionalInclude(origin) ? 'global, via [includeIf]' : 'global'
367
- }
368
- return origin.scope
369
- }
370
-
371
- /**
372
- * Format the file path for a config value origin.
373
- * For local/worktree scope, displays the path with a `<repo>` prefix.
374
- */
375
- export function formatConfigPath(
376
- origin: IConfigValueOrigin,
377
- repositoryPath: string
378
- ): string {
379
- const rawPath = origin.origin.replace(/^file:/, '')
380
- if (origin.scope === 'local' || origin.scope === 'worktree') {
381
- // Git returns relative paths for local scope (e.g. `.git/config`)
382
- if (!/^([a-zA-Z]:|[/\\])/.test(rawPath)) {
383
- return '<repo>/' + rawPath
384
- }
385
- // Absolute path — strip repo prefix
386
- const normalized = repositoryPath.replace(/[\\/]+$/, '')
387
- if (rawPath.toLowerCase().startsWith(normalized.toLowerCase())) {
388
- return '<repo>' + rawPath.slice(normalized.length)
389
- }
390
- }
391
- return rawPath
392
- }