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/branch.ts DELETED
@@ -1,206 +0,0 @@
1
- import { git, isGitError } from './core'
2
- import { Repository } from '../models/repository'
3
- import { Branch } from '../models/branch'
4
- import { formatAsLocalRef } from './refs'
5
- import { deleteRef } from './update-ref'
6
- import { GitError as DugiteError } from './exec'
7
- import { envForRemoteOperation } from './environment'
8
- import { createForEachRefParser } from './git-delimiter-parser'
9
- import { IRemote } from '../models/remote'
10
- import { coerceToString } from './coerce-to-string'
11
-
12
- /**
13
- * Create a new branch from the given start point.
14
- *
15
- * @param repository - The repository in which to create the new branch
16
- * @param name - The name of the new branch
17
- * @param startPoint - A committish string that the new branch should be based
18
- * on, or undefined if the branch should be created based
19
- * off of the current state of HEAD
20
- */
21
- export async function createBranch(
22
- repository: Repository,
23
- name: string,
24
- startPoint: string | null,
25
- noTrack?: boolean
26
- ): Promise<void> {
27
- const args =
28
- startPoint !== null ? ['branch', name, startPoint] : ['branch', name]
29
-
30
- // if we're branching directly from a remote branch, we don't want to track it
31
- // tracking it will make the rest of desktop think we want to push to that
32
- // remote branch's upstream (which would likely be the upstream of the fork)
33
- if (noTrack) {
34
- args.push('--no-track')
35
- }
36
-
37
- await git(args, repository.path, 'createBranch')
38
- }
39
-
40
- export const getBranchNames = ({ path }: Repository): Promise<string[]> => {
41
- const parser = createForEachRefParser({ name: '%(refname:short)' })
42
- return git(['branch', ...parser.formatArgs], path, 'getBranchNames').then(x =>
43
- parser.parse(x.stdout).map(b => b.name)
44
- )
45
- }
46
-
47
- /** Rename the given branch to a new name. */
48
- export async function renameBranch(
49
- repository: Repository,
50
- branch: Branch,
51
- newName: string,
52
- force?: boolean
53
- ): Promise<void> {
54
- try {
55
- await git(
56
- ['branch', force ? '-M' : '-m', branch.nameWithoutRemote, newName],
57
- repository.path,
58
- 'renameBranch'
59
- )
60
- } catch (error) {
61
- // If we failed to rename and the branch name only differs by case, we
62
- // we'll try again with the -M flag to force the rename. See
63
- // https://github.com/desktop/desktop/issues/21320
64
- if (
65
- // Only retry if the caller hasn't explicitly asked us to force the rename
66
- force === undefined &&
67
- isGitError(error) &&
68
- error.result.gitError === DugiteError.BranchAlreadyExists
69
- ) {
70
- const stderr = coerceToString(error.result.stderr)
71
- const m = /fatal: a branch named '(.+?)' already exists/.exec(stderr)
72
-
73
- if (m && m[1].toLowerCase() === newName.toLowerCase()) {
74
- // At this point we're almost certain that we are dealing with a
75
- // case-only rename on a case insensitive filesystem, but we can't
76
- // be 100% sure, NTFS can be configured to be case sensitive and macOS
77
- // might have case sensitive file systems mounted so we have to list
78
- // all branches and check the names.
79
- return (
80
- getBranchNames(repository)
81
- // Throw the original error if we fail to get the branch names
82
- .catch(() => Promise.reject(error))
83
- .then(names =>
84
- // If we find the new name in the list of branches we can't
85
- // safely assume it's a case-only rename and have to
86
- // propagate the original error, otherwise try again with -M
87
- names.includes(newName)
88
- ? Promise.reject(error)
89
- : renameBranch(repository, branch, newName, true)
90
- )
91
- )
92
- }
93
- }
94
- throw error
95
- }
96
- }
97
-
98
- /**
99
- * Delete the branch locally.
100
- */
101
- export async function deleteLocalBranch(
102
- repository: Repository,
103
- branchName: string
104
- ): Promise<true> {
105
- await git(['branch', '-D', branchName], repository.path, 'deleteLocalBranch')
106
- return true
107
- }
108
-
109
- /**
110
- * Deletes a remote branch
111
- *
112
- * @param remoteName - the name of the remote to delete the branch from
113
- * @param remoteBranchName - the name of the branch on the remote
114
- */
115
- export async function deleteRemoteBranch(
116
- repository: Repository,
117
- remote: IRemote,
118
- remoteBranchName: string
119
- ): Promise<true> {
120
- const args = ['push', remote.name, `:${remoteBranchName}`]
121
-
122
- // If the user is not authenticated, the push is going to fail
123
- // Let this propagate and leave it to the caller to handle
124
- const result = await git(args, repository.path, 'deleteRemoteBranch', {
125
- env: await envForRemoteOperation(remote.url),
126
- expectedErrors: new Set<DugiteError>([DugiteError.BranchDeletionFailed]),
127
- })
128
-
129
- // It's possible that the delete failed because the ref has already
130
- // been deleted on the remote. If we identify that specific
131
- // error we can safely remove our remote ref which is what would
132
- // happen if the push didn't fail.
133
- if (result.gitError === DugiteError.BranchDeletionFailed) {
134
- const ref = `refs/remotes/${remote.name}/${remoteBranchName}`
135
- await deleteRef(repository, ref)
136
- }
137
-
138
- return true
139
- }
140
-
141
- /**
142
- * Finds branches that have a tip equal to the given committish
143
- *
144
- * @param repository within which to execute the command
145
- * @param commitish a sha, HEAD, etc that the branch(es) tip should be
146
- * @returns list branch names. null if an error is encountered
147
- */
148
- export async function getBranchesPointedAt(
149
- repository: Repository,
150
- commitish: string
151
- ): Promise<Array<string> | null> {
152
- const args = [
153
- 'branch',
154
- `--points-at=${commitish}`,
155
- '--format=%(refname:short)',
156
- ]
157
- // this command has an implicit \n delimiter
158
- const { stdout, exitCode } = await git(
159
- args,
160
- repository.path,
161
- 'branchPointedAt',
162
- {
163
- // - 1 is returned if a common ancestor cannot be resolved
164
- // - 129 is returned if ref is malformed
165
- // "warning: ignoring broken ref refs/remotes/origin/main."
166
- successExitCodes: new Set([0, 1, 129]),
167
- }
168
- )
169
- if (exitCode === 1 || exitCode === 129) {
170
- return null
171
- }
172
- // split (and remove trailing element cause its always an empty string)
173
- return stdout.split('\n').slice(0, -1)
174
- }
175
-
176
- /**
177
- * Gets all branches that have been merged into the given branch
178
- *
179
- * @param repository The repository in which to search
180
- * @param branchName The to be used as the base branch
181
- * @returns map of branch canonical refs paired to its sha
182
- */
183
- export async function getMergedBranches(
184
- repository: Repository,
185
- branchName: string
186
- ): Promise<Map<string, string>> {
187
- const canonicalBranchRef = formatAsLocalRef(branchName)
188
- const { formatArgs, parse } = createForEachRefParser({
189
- sha: '%(objectname)',
190
- canonicalRef: '%(refname)',
191
- })
192
-
193
- const args = ['branch', ...formatArgs, '--merged', branchName]
194
- const mergedBranches = new Map<string, string>()
195
- const { stdout } = await git(args, repository.path, 'mergedBranches')
196
-
197
- for (const branch of parse(stdout)) {
198
- // Don't include the branch we're using to compare against
199
- // in the list of branches merged into that branch.
200
- if (branch.canonicalRef !== canonicalBranchRef) {
201
- mergedBranches.set(branch.canonicalRef, branch.sha)
202
- }
203
- }
204
-
205
- return mergedBranches
206
- }
@@ -1,235 +0,0 @@
1
- import { git, IGitStringExecutionOptions } from './core'
2
- import { Repository } from '../models/repository'
3
- import { Branch, BranchType } from '../models/branch'
4
- import { clampProgress, ICheckoutProgress } from '../models/progress'
5
- import {
6
- CheckoutProgressParser,
7
- executionOptionsWithProgress,
8
- } from '../lib/progress'
9
- import { AuthenticationErrors } from './authentication'
10
- import {
11
- envForRemoteOperation,
12
- getFallbackUrlForProxyResolve,
13
- } from './environment'
14
- import { WorkingDirectoryFileChange } from '../models/status'
15
- import { ManualConflictResolution } from '../models/manual-conflict-resolution'
16
- import { CommitOneLine, shortenSHA } from '../models/commit'
17
- import { IRemote } from '../models/remote'
18
- import { updateSubmodulesAfterOperation } from './submodule'
19
-
20
- export type ProgressCallback = (progress: ICheckoutProgress) => void
21
-
22
- const CheckoutStepWeight = 0.9
23
-
24
- function getCheckoutArgs(progressCallback?: ProgressCallback) {
25
- return ['checkout', ...(progressCallback ? ['--progress'] : [])]
26
- }
27
-
28
- async function getBranchCheckoutArgs(branch: Branch) {
29
- return [
30
- branch.name,
31
- ...(branch.type === BranchType.Remote
32
- ? ['-b', branch.nameWithoutRemote]
33
- : []),
34
- '--',
35
- ]
36
- }
37
-
38
- async function getCheckoutOpts(
39
- repository: Repository,
40
- title: string,
41
- target: string,
42
- currentRemote: IRemote | null,
43
- progressCallback?: ProgressCallback,
44
- initialDescription?: string
45
- ): Promise<IGitStringExecutionOptions> {
46
- const opts: IGitStringExecutionOptions = {
47
- env: await envForRemoteOperation(
48
- getFallbackUrlForProxyResolve(repository, currentRemote)
49
- ),
50
- expectedErrors: AuthenticationErrors,
51
- }
52
-
53
- if (!progressCallback) {
54
- return opts
55
- }
56
-
57
- const kind = 'checkout'
58
-
59
- // Initial progress
60
- progressCallback({
61
- kind,
62
- title,
63
- description: initialDescription ?? title,
64
- value: 0,
65
- target,
66
- })
67
-
68
- return await executionOptionsWithProgress(
69
- { ...opts, trackLFSProgress: true },
70
- new CheckoutProgressParser(),
71
- progress => {
72
- if (progress.kind === 'progress') {
73
- const description = progress.details.text
74
- const value = progress.percent
75
-
76
- progressCallback({
77
- kind,
78
- title,
79
- description,
80
- value,
81
- target,
82
- })
83
- }
84
- }
85
- )
86
- }
87
-
88
- /**
89
- * Check out the given branch.
90
- *
91
- * @param repository - The repository in which the branch checkout should
92
- * take place
93
- *
94
- * @param branch - The branch name that should be checked out
95
- *
96
- * @param progressCallback - An optional function which will be invoked
97
- * with information about the current progress
98
- * of the checkout operation. When provided this
99
- * enables the '--progress' command line flag for
100
- * 'git checkout'.
101
- */
102
- export async function checkoutBranch(
103
- repository: Repository,
104
- branch: Branch,
105
- currentRemote: IRemote | null,
106
- progressCallback?: ProgressCallback,
107
- allowFileProtocol: boolean = false
108
- ): Promise<true> {
109
- const title = `Checking out branch ${branch.name}`
110
- const opts = await getCheckoutOpts(
111
- repository,
112
- title,
113
- branch.name,
114
- currentRemote,
115
- progressCallback
116
- ? clampProgress(0, CheckoutStepWeight, progressCallback)
117
- : undefined,
118
- `Switching to branch`
119
- )
120
-
121
- const baseArgs = getCheckoutArgs(progressCallback)
122
- const args = [...baseArgs, ...(await getBranchCheckoutArgs(branch))]
123
-
124
- await git(args, repository.path, 'checkoutBranch', opts)
125
-
126
- // Update submodules after checkout
127
- await updateSubmodulesAfterOperation(
128
- repository,
129
- currentRemote,
130
- progressCallback
131
- ? clampProgress<ICheckoutProgress>(
132
- CheckoutStepWeight,
133
- 1,
134
- progressCallback
135
- )
136
- : undefined,
137
- 'checkout',
138
- title,
139
- branch.name,
140
- allowFileProtocol
141
- )
142
-
143
- // we return `true` here so `GitStore.performFailableGitOperation`
144
- // will return _something_ differentiable from `undefined` if this succeeds
145
- return true
146
- }
147
-
148
- /**
149
- * Check out the given commit.
150
- * Literally invokes `git checkout <commit SHA>`.
151
- *
152
- * @param repository - The repository in which the branch checkout should
153
- * take place
154
- *
155
- * @param commit - The commit that should be checked out
156
- *
157
- * @param progressCallback - An optional function which will be invoked
158
- * with information about the current progress
159
- * of the checkout operation. When provided this
160
- * enables the '--progress' command line flag for
161
- * 'git checkout'.
162
- */
163
- export async function checkoutCommit(
164
- repository: Repository,
165
- commit: CommitOneLine,
166
- currentRemote: IRemote | null,
167
- progressCallback?: ProgressCallback,
168
- allowFileProtocol: boolean = false
169
- ): Promise<true> {
170
- const title = `Checking out commit`
171
- const target = shortenSHA(commit.sha)
172
- const opts = await getCheckoutOpts(
173
- repository,
174
- title,
175
- target,
176
- currentRemote,
177
- progressCallback
178
- ? clampProgress(0, CheckoutStepWeight, progressCallback)
179
- : undefined
180
- )
181
-
182
- const baseArgs = getCheckoutArgs(progressCallback)
183
- const args = [...baseArgs, commit.sha]
184
-
185
- await git(args, repository.path, 'checkoutCommit', opts)
186
-
187
- // Update submodules after checkout
188
- await updateSubmodulesAfterOperation(
189
- repository,
190
- currentRemote,
191
- progressCallback
192
- ? clampProgress<ICheckoutProgress>(
193
- CheckoutStepWeight,
194
- 1,
195
- progressCallback
196
- )
197
- : undefined,
198
- 'checkout',
199
- title,
200
- target,
201
- allowFileProtocol
202
- )
203
-
204
- // we return `true` here so `GitStore.performFailableGitOperation`
205
- // will return _something_ differentiable from `undefined` if this succeeds
206
- return true
207
- }
208
-
209
- /** Check out the paths at HEAD. */
210
- export async function checkoutPaths(
211
- repository: Repository,
212
- paths: ReadonlyArray<string>
213
- ): Promise<void> {
214
- await git(
215
- ['checkout', 'HEAD', '--', ...paths],
216
- repository.path,
217
- 'checkoutPaths'
218
- )
219
- }
220
-
221
- /**
222
- * Check out either stage #2 (ours) or #3 (theirs) for a conflicted
223
- * file.
224
- */
225
- export async function checkoutConflictedFile(
226
- repository: Repository,
227
- file: WorkingDirectoryFileChange,
228
- resolution: ManualConflictResolution
229
- ) {
230
- await git(
231
- ['checkout', `--${resolution}`, '--', file.path],
232
- repository.path,
233
- 'checkoutConflictedFile'
234
- )
235
- }