git 5.0.0.beta.3 → 5.0.0.beta.4

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 (268) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +27 -0
  3. data/.github/copilot-instructions.md +3 -8
  4. data/.github/hooks/bin-setup-on-worktree.json +11 -0
  5. data/.github/hooks/run-bin-setup-once.sh +14 -0
  6. data/.github/skills/breaking-change-analysis/SKILL.md +6 -9
  7. data/.github/skills/ci-cd-troubleshooting/SKILL.md +2 -2
  8. data/.github/skills/command-implementation/REFERENCE.md +34 -33
  9. data/.github/skills/command-implementation/SKILL.md +5 -4
  10. data/.github/skills/command-test-conventions/SKILL.md +13 -9
  11. data/.github/skills/command-yard-documentation/SKILL.md +14 -6
  12. data/.github/skills/development-workflow/SKILL.md +20 -14
  13. data/.github/skills/facade-implementation/REFERENCE.md +19 -22
  14. data/.github/skills/facade-implementation/SKILL.md +0 -5
  15. data/.github/skills/facade-test-conventions/SKILL.md +4 -7
  16. data/.github/skills/facade-yard-documentation/SKILL.md +8 -2
  17. data/.github/skills/make-skill-template/SKILL.md +53 -3
  18. data/.github/skills/pr-readiness-review/SKILL.md +22 -2
  19. data/.github/skills/project-context/SKILL.md +16 -23
  20. data/.github/skills/pull-request-review/SKILL.md +2 -2
  21. data/.github/skills/rebase/SKILL.md +148 -0
  22. data/.github/skills/refactor-command-to-commandlineresult/SKILL.md +1 -1
  23. data/.github/skills/resolve-feedback/SKILL.md +288 -0
  24. data/.github/skills/review-arguments-dsl/CHECKLIST.md +3 -3
  25. data/.github/skills/reviewing-skills/SKILL.md +28 -3
  26. data/.github/skills/test-debugging/SKILL.md +20 -19
  27. data/.github/skills/yard-documentation/SKILL.md +671 -483
  28. data/.github/skills/yard-documentation/element-rules.md +162 -0
  29. data/.github/skills-deprecated/README.md +21 -0
  30. data/.github/{skills → skills-deprecated}/extract-command-from-lib/SKILL.md +9 -9
  31. data/.github/{skills → skills-deprecated}/extract-facade-from-base-lib/SKILL.md +12 -12
  32. data/.github/workflows/continuous_integration.yml +3 -2
  33. data/.rubocop.yml +7 -39
  34. data/.yard-lint.yml +75 -0
  35. data/CONTRIBUTING.md +186 -174
  36. data/Gemfile +17 -0
  37. data/README.md +47 -12
  38. data/Rakefile +3 -21
  39. data/UPGRADING.md +219 -70
  40. data/docker/test/Dockerfile +32 -0
  41. data/docker/test/docker-compose.yml +0 -0
  42. data/git.gemspec +3 -4
  43. data/lib/git/author.rb +20 -1
  44. data/lib/git/branch.rb +26 -6
  45. data/lib/git/branch_delete_failure.rb +3 -0
  46. data/lib/git/branch_delete_result.rb +6 -3
  47. data/lib/git/branch_info.rb +6 -6
  48. data/lib/git/command_line/base.rb +6 -13
  49. data/lib/git/command_line/capturing.rb +67 -10
  50. data/lib/git/command_line/result.rb +0 -8
  51. data/lib/git/command_line/streaming.rb +45 -5
  52. data/lib/git/command_line.rb +4 -3
  53. data/lib/git/commands/add.rb +61 -53
  54. data/lib/git/commands/am/abort.rb +2 -2
  55. data/lib/git/commands/am/apply.rb +109 -98
  56. data/lib/git/commands/am/continue.rb +2 -2
  57. data/lib/git/commands/am/quit.rb +2 -2
  58. data/lib/git/commands/am/retry.rb +4 -2
  59. data/lib/git/commands/am/show_current_patch.rb +1 -1
  60. data/lib/git/commands/am/skip.rb +2 -2
  61. data/lib/git/commands/am.rb +2 -2
  62. data/lib/git/commands/apply.rb +7 -2
  63. data/lib/git/commands/archive/list_formats.rb +3 -3
  64. data/lib/git/commands/archive.rb +7 -2
  65. data/lib/git/commands/arguments.rb +1370 -359
  66. data/lib/git/commands/base.rb +111 -13
  67. data/lib/git/commands/branch/copy.rb +29 -21
  68. data/lib/git/commands/branch/create.rb +72 -68
  69. data/lib/git/commands/branch/delete.rb +25 -17
  70. data/lib/git/commands/branch/list.rb +76 -60
  71. data/lib/git/commands/branch/move.rb +29 -21
  72. data/lib/git/commands/branch/set_upstream.rb +8 -8
  73. data/lib/git/commands/branch/show_current.rb +3 -3
  74. data/lib/git/commands/branch/unset_upstream.rb +4 -8
  75. data/lib/git/commands/branch.rb +2 -2
  76. data/lib/git/commands/cat_file/batch.rb +36 -20
  77. data/lib/git/commands/cat_file/filtered.rb +12 -12
  78. data/lib/git/commands/cat_file/raw.rb +13 -13
  79. data/lib/git/commands/cat_file.rb +4 -4
  80. data/lib/git/commands/checkout/branch.rb +7 -5
  81. data/lib/git/commands/checkout/files.rb +5 -4
  82. data/lib/git/commands/checkout.rb +4 -4
  83. data/lib/git/commands/checkout_index.rb +5 -4
  84. data/lib/git/commands/clean.rb +6 -4
  85. data/lib/git/commands/clone.rb +5 -4
  86. data/lib/git/commands/commit.rb +5 -4
  87. data/lib/git/commands/commit_tree.rb +5 -4
  88. data/lib/git/commands/config_option_syntax/add.rb +7 -4
  89. data/lib/git/commands/config_option_syntax/get.rb +9 -5
  90. data/lib/git/commands/config_option_syntax/get_all.rb +7 -4
  91. data/lib/git/commands/config_option_syntax/get_color.rb +8 -4
  92. data/lib/git/commands/config_option_syntax/get_color_bool.rb +7 -4
  93. data/lib/git/commands/config_option_syntax/get_regexp.rb +8 -4
  94. data/lib/git/commands/config_option_syntax/get_urlmatch.rb +8 -4
  95. data/lib/git/commands/config_option_syntax/list.rb +8 -4
  96. data/lib/git/commands/config_option_syntax/remove_section.rb +7 -2
  97. data/lib/git/commands/config_option_syntax/rename_section.rb +7 -2
  98. data/lib/git/commands/config_option_syntax/replace_all.rb +7 -2
  99. data/lib/git/commands/config_option_syntax/set.rb +7 -2
  100. data/lib/git/commands/config_option_syntax/unset.rb +7 -4
  101. data/lib/git/commands/config_option_syntax/unset_all.rb +7 -2
  102. data/lib/git/commands/describe.rb +5 -4
  103. data/lib/git/commands/diff.rb +13 -12
  104. data/lib/git/commands/diff_files.rb +7 -6
  105. data/lib/git/commands/diff_index.rb +10 -7
  106. data/lib/git/commands/fetch.rb +6 -4
  107. data/lib/git/commands/fsck.rb +6 -4
  108. data/lib/git/commands/gc.rb +6 -4
  109. data/lib/git/commands/grep.rb +6 -5
  110. data/lib/git/commands/init.rb +6 -4
  111. data/lib/git/commands/log.rb +287 -285
  112. data/lib/git/commands/ls_files.rb +69 -65
  113. data/lib/git/commands/ls_remote.rb +62 -56
  114. data/lib/git/commands/ls_tree.rb +50 -46
  115. data/lib/git/commands/maintenance/register.rb +25 -23
  116. data/lib/git/commands/maintenance/run.rb +7 -2
  117. data/lib/git/commands/maintenance/start.rb +7 -2
  118. data/lib/git/commands/maintenance/stop.rb +7 -2
  119. data/lib/git/commands/maintenance/unregister.rb +7 -2
  120. data/lib/git/commands/merge/abort.rb +2 -2
  121. data/lib/git/commands/merge/continue.rb +2 -2
  122. data/lib/git/commands/merge/quit.rb +2 -2
  123. data/lib/git/commands/merge/start.rb +7 -2
  124. data/lib/git/commands/merge.rb +2 -2
  125. data/lib/git/commands/merge_base.rb +7 -2
  126. data/lib/git/commands/mv.rb +7 -2
  127. data/lib/git/commands/name_rev.rb +7 -2
  128. data/lib/git/commands/pull.rb +7 -2
  129. data/lib/git/commands/push.rb +7 -2
  130. data/lib/git/commands/read_tree.rb +7 -2
  131. data/lib/git/commands/remote/add.rb +7 -2
  132. data/lib/git/commands/remote/get_url.rb +4 -2
  133. data/lib/git/commands/remote/list.rb +4 -2
  134. data/lib/git/commands/remote/prune.rb +4 -2
  135. data/lib/git/commands/remote/remove.rb +4 -2
  136. data/lib/git/commands/remote/rename.rb +4 -2
  137. data/lib/git/commands/remote/set_branches.rb +9 -2
  138. data/lib/git/commands/remote/set_head.rb +12 -5
  139. data/lib/git/commands/remote/set_url.rb +9 -2
  140. data/lib/git/commands/remote/set_url_add.rb +11 -2
  141. data/lib/git/commands/remote/set_url_delete.rb +9 -2
  142. data/lib/git/commands/remote/show.rb +18 -12
  143. data/lib/git/commands/remote/update.rb +19 -12
  144. data/lib/git/commands/remote.rb +2 -2
  145. data/lib/git/commands/repack.rb +67 -63
  146. data/lib/git/commands/reset.rb +51 -44
  147. data/lib/git/commands/rev_parse.rb +135 -128
  148. data/lib/git/commands/revert/abort.rb +2 -2
  149. data/lib/git/commands/revert/continue.rb +7 -2
  150. data/lib/git/commands/revert/quit.rb +2 -2
  151. data/lib/git/commands/revert/skip.rb +2 -2
  152. data/lib/git/commands/revert/start.rb +7 -2
  153. data/lib/git/commands/revert.rb +2 -2
  154. data/lib/git/commands/rm.rb +35 -36
  155. data/lib/git/commands/show.rb +1 -1
  156. data/lib/git/commands/show_ref/exclude_existing.rb +3 -4
  157. data/lib/git/commands/show_ref/exists.rb +15 -13
  158. data/lib/git/commands/show_ref/list.rb +39 -35
  159. data/lib/git/commands/show_ref/verify.rb +29 -27
  160. data/lib/git/commands/show_ref.rb +4 -4
  161. data/lib/git/commands/stash/apply.rb +31 -25
  162. data/lib/git/commands/stash/branch.rb +10 -8
  163. data/lib/git/commands/stash/clear.rb +7 -5
  164. data/lib/git/commands/stash/create.rb +10 -8
  165. data/lib/git/commands/stash/drop.rb +15 -9
  166. data/lib/git/commands/stash/list.rb +9 -5
  167. data/lib/git/commands/stash/pop.rb +21 -12
  168. data/lib/git/commands/stash/push.rb +20 -11
  169. data/lib/git/commands/stash/show.rb +21 -12
  170. data/lib/git/commands/stash/store.rb +19 -10
  171. data/lib/git/commands/stash.rb +2 -2
  172. data/lib/git/commands/status.rb +7 -2
  173. data/lib/git/commands/symbolic_ref/delete.rb +18 -14
  174. data/lib/git/commands/symbolic_ref/read.rb +24 -20
  175. data/lib/git/commands/symbolic_ref/update.rb +20 -17
  176. data/lib/git/commands/symbolic_ref.rb +4 -4
  177. data/lib/git/commands/tag/create.rb +45 -42
  178. data/lib/git/commands/tag/delete.rb +5 -3
  179. data/lib/git/commands/tag/list.rb +47 -44
  180. data/lib/git/commands/tag/verify.rb +12 -12
  181. data/lib/git/commands/tag.rb +2 -2
  182. data/lib/git/commands/update_ref/batch.rb +6 -1
  183. data/lib/git/commands/update_ref/delete.rb +19 -21
  184. data/lib/git/commands/update_ref/update.rb +22 -25
  185. data/lib/git/commands/update_ref.rb +4 -4
  186. data/lib/git/commands/version.rb +14 -11
  187. data/lib/git/commands/worktree/add.rb +50 -51
  188. data/lib/git/commands/worktree/list.rb +17 -17
  189. data/lib/git/commands/worktree/lock.rb +12 -12
  190. data/lib/git/commands/worktree/move.rb +16 -16
  191. data/lib/git/commands/worktree/prune.rb +2 -2
  192. data/lib/git/commands/worktree/remove.rb +2 -2
  193. data/lib/git/commands/worktree/repair.rb +2 -2
  194. data/lib/git/commands/worktree/unlock.rb +2 -2
  195. data/lib/git/commands/write_tree.rb +2 -2
  196. data/lib/git/commands.rb +4 -3
  197. data/lib/git/config.rb +47 -1
  198. data/lib/git/configuring.rb +89 -15
  199. data/lib/git/detached_head_info.rb +4 -1
  200. data/lib/git/diff.rb +2 -5
  201. data/lib/git/diff_file_numstat_info.rb +3 -1
  202. data/lib/git/diff_file_patch_info.rb +3 -1
  203. data/lib/git/diff_file_raw_info.rb +3 -1
  204. data/lib/git/diff_info.rb +8 -15
  205. data/lib/git/diff_path_status.rb +16 -3
  206. data/lib/git/diff_result.rb +3 -1
  207. data/lib/git/diff_stats.rb +15 -0
  208. data/lib/git/dirstat_info.rb +24 -8
  209. data/lib/git/encoding_utils.rb +32 -1
  210. data/lib/git/errors.rb +19 -9
  211. data/lib/git/escaped_path.rb +55 -3
  212. data/lib/git/execution_context/repository.rb +15 -0
  213. data/lib/git/execution_context.rb +76 -74
  214. data/lib/git/file_ref.rb +6 -3
  215. data/lib/git/fsck_object.rb +8 -0
  216. data/lib/git/fsck_result.rb +26 -15
  217. data/lib/git/log.rb +152 -5
  218. data/lib/git/object.rb +284 -8
  219. data/lib/git/parsers/branch.rb +18 -0
  220. data/lib/git/parsers/cat_file.rb +2 -2
  221. data/lib/git/parsers/diff.rb +213 -5
  222. data/lib/git/parsers/fsck.rb +11 -0
  223. data/lib/git/parsers/ls_remote.rb +1 -1
  224. data/lib/git/parsers/stash.rb +51 -0
  225. data/lib/git/parsers/tag.rb +38 -0
  226. data/lib/git/remote.rb +34 -2
  227. data/lib/git/repository/branching.rb +23 -21
  228. data/lib/git/repository/committing.rb +46 -6
  229. data/lib/git/repository/context_helpers.rb +45 -16
  230. data/lib/git/repository/diffing.rb +32 -23
  231. data/lib/git/repository/factories.rb +153 -28
  232. data/lib/git/repository/inspecting.rb +1 -1
  233. data/lib/git/repository/logging.rb +169 -30
  234. data/lib/git/repository/maintenance.rb +1 -1
  235. data/lib/git/repository/merging.rb +3 -3
  236. data/lib/git/repository/object_operations.rb +108 -14
  237. data/lib/git/repository/remote_operations.rb +150 -171
  238. data/lib/git/repository/shared_private.rb +7 -5
  239. data/lib/git/repository/staging.rb +36 -12
  240. data/lib/git/repository/stashing.rb +16 -16
  241. data/lib/git/repository/status_operations.rb +1 -1
  242. data/lib/git/repository/worktree_operations.rb +1 -1
  243. data/lib/git/repository.rb +123 -63
  244. data/lib/git/stash.rb +16 -21
  245. data/lib/git/stash_info.rb +4 -4
  246. data/lib/git/stashes.rb +20 -26
  247. data/lib/git/status.rb +21 -7
  248. data/lib/git/tag_delete_failure.rb +3 -0
  249. data/lib/git/tag_delete_result.rb +6 -3
  250. data/lib/git/tag_info.rb +1 -0
  251. data/lib/git/url.rb +12 -5
  252. data/lib/git/version.rb +6 -4
  253. data/lib/git/version_constraint.rb +4 -0
  254. data/lib/git.rb +398 -314
  255. data/redesign/3_architecture_implementation.md +59 -29
  256. data/redesign/Phase 4 - Step B.md +921 -0
  257. data/redesign/Phase 4 - Step C.md +833 -0
  258. data/redesign/c1a-public-api-scope.tsv +256 -0
  259. data/redesign/phase-4-step-b-test-audit.tsv +485 -0
  260. data/tasks/yard.rake +24 -17
  261. metadata +24 -57
  262. data/commitlint.test +0 -4
  263. data/lib/git/args_builder.rb +0 -103
  264. data/lib/git/command_line_result.rb +0 -8
  265. data/lib/git/deprecation.rb +0 -9
  266. data/tasks/test.rake +0 -25
  267. /data/.github/{skills → skills-deprecated}/extract-facade-from-base-lib/KEYWORD_ARG_REMEDIATION.md +0 -0
  268. /data/.github/{skills → skills-deprecated}/review-backward-compatibility/SKILL.md +0 -0
@@ -84,168 +84,179 @@ module Git
84
84
  operand :mbox, repeatable: true
85
85
  end
86
86
 
87
- # @!method call(*, **)
87
+ # @overload call(*mbox, **options)
88
88
  #
89
- # @overload call(*mbox, **options)
89
+ # Apply patches from one or more mailbox files to the current branch
90
90
  #
91
- # Apply patches from one or more mailbox files to the current branch.
91
+ # @param mbox [Array<String>] zero or more mailbox file paths or Maildir
92
+ # directories
92
93
  #
93
- # @param mbox [Array<String>] zero or more mailbox file paths or Maildir
94
- # directories
94
+ # If omitted, reads from standard input.
95
95
  #
96
- # If omitted, reads from standard input.
96
+ # @param options [Hash] command options
97
97
  #
98
- # @param options [Hash] command options
98
+ # @option options [Boolean, nil] :signoff (nil) add Signed-off-by trailer
99
99
  #
100
- # @option options [Boolean, nil] :signoff (nil) add Signed-off-by trailer
100
+ # Alias: `:s`
101
101
  #
102
- # Alias: `:s`
102
+ # @option options [Boolean, nil] :keep (nil) preserve the Subject line
103
+ # in commit messages (`--keep`)
103
104
  #
104
- # @option options [Boolean, nil] :keep (nil) pass -k flag to git-mailinfo,
105
- # preserving the Subject line intact
105
+ # Alias: `:k`
106
106
  #
107
- # Alias: `:k`
107
+ # @option options [Boolean, nil] :keep_non_patch (nil) retain non-patch
108
+ # parts of the message body (`--keep-non-patch`)
108
109
  #
109
- # @option options [Boolean, nil] :keep_non_patch (nil) pass -b flag to
110
- # git-mailinfo
110
+ # @option options [Boolean, nil] :keep_cr (nil) retain CR at end of
111
+ # lines (`--keep-cr`)
111
112
  #
112
- # @option options [Boolean, nil] :keep_cr (nil) retain CR at end of lines (`--keep-cr`)
113
+ # @option options [Boolean, nil] :no_keep_cr (nil) strip CR at end of
114
+ # lines (`--no-keep-cr`)
113
115
  #
114
- # @option options [Boolean, nil] :no_keep_cr (nil) strip CR at end of lines (`--no-keep-cr`)
116
+ # @option options [Boolean, nil] :scissors (nil) remove everything in the
117
+ # body before a scissors line (`--scissors`)
115
118
  #
116
- # @option options [Boolean, nil] :scissors (nil) remove everything in the
117
- # body before a scissors line (`--scissors`)
119
+ # Alias: `:c`
118
120
  #
119
- # Alias: `:c`
121
+ # @option options [Boolean, nil] :no_scissors (nil) disable scissors
122
+ # mode (`--no-scissors`)
120
123
  #
121
- # @option options [Boolean, nil] :no_scissors (nil) disable scissors mode (`--no-scissors`)
124
+ # @option options [String] :quoted_cr (nil) how to handle CR in quoted
125
+ # text passed to git-mailinfo
122
126
  #
123
- # @option options [String] :quoted_cr (nil) how to handle CR in quoted
124
- # text passed to git-mailinfo
127
+ # Valid actions: `'nowarn'`, `'warn'`, `'error'`.
125
128
  #
126
- # Valid actions: `'nowarn'`, `'warn'`, `'error'`.
129
+ # @option options [String] :empty (nil) how to handle an e-mail message
130
+ # lacking a patch
127
131
  #
128
- # @option options [String] :empty (nil) how to handle an e-mail message
129
- # lacking a patch
132
+ # Valid values: `'stop'` (fail, default), `'drop'` (skip the message),
133
+ # `'keep'` (create an empty commit).
130
134
  #
131
- # Valid values: `'stop'` (fail, default), `'drop'` (skip the message),
132
- # `'keep'` (create an empty commit).
135
+ # @option options [Boolean, nil] :message_id (nil) add the Message-ID
136
+ # header to commit messages (`--message-id`)
133
137
  #
134
- # @option options [Boolean, nil] :message_id (nil) pass -m flag to
135
- # git-mailinfo, adding the Message-ID header to the commit message (`--message-id`)
138
+ # Alias: `:m`
136
139
  #
137
- # Alias: `:m`
140
+ # @option options [Boolean, nil] :no_message_id (nil) do not add the
141
+ # Message-ID header (`--no-message-id`)
138
142
  #
139
- # @option options [Boolean, nil] :no_message_id (nil) do not add the Message-ID header (`--no-message-id`)
143
+ # @option options [Boolean, nil] :quiet (nil) be quiet; only print error
144
+ # messages
140
145
  #
141
- # @option options [Boolean, nil] :quiet (nil) be quiet; only print error
142
- # messages
146
+ # Alias: `:q`
143
147
  #
144
- # Alias: `:q`
148
+ # @option options [Boolean, nil] :utf8 (nil) re-code the commit log message
149
+ # in UTF-8 (`--utf8`)
145
150
  #
146
- # @option options [Boolean, nil] :utf8 (nil) re-code the commit log message
147
- # in UTF-8 (`--utf8`)
151
+ # Alias: `:u`
148
152
  #
149
- # Alias: `:u`
153
+ # @option options [Boolean, nil] :no_utf8 (nil) do not re-code the
154
+ # commit log message (`--no-utf8`)
150
155
  #
151
- # @option options [Boolean, nil] :no_utf8 (nil) do not re-code the commit log message (`--no-utf8`)
156
+ # @option options [Boolean, nil] :three_way (nil) attempt 3-way merge when
157
+ # context does not match (`--3way`)
152
158
  #
153
- # @option options [Boolean, nil] :three_way (nil) attempt 3-way merge when
154
- # context does not match (`--3way`)
159
+ # @option options [Boolean, nil] :no_three_way (nil) disable 3-way
160
+ # merge fallback (`--no-3way`)
155
161
  #
156
- # @option options [Boolean, nil] :no_three_way (nil) disable 3-way merge fallback (`--no-3way`)
162
+ # @option options [Boolean, nil] :rerere_autoupdate (nil) allow rerere to
163
+ # update the index with auto-resolved conflicts (`--rerere-autoupdate`)
157
164
  #
158
- # @option options [Boolean, nil] :rerere_autoupdate (nil) allow rerere to
159
- # update the index with auto-resolved conflicts (`--rerere-autoupdate`)
165
+ # @option options [Boolean, nil] :no_rerere_autoupdate (nil) prevent rerere from
166
+ # auto-updating the index (`--no-rerere-autoupdate`)
160
167
  #
161
- # @option options [Boolean, nil] :no_rerere_autoupdate (nil) prevent rerere from
162
- # auto-updating the index (`--no-rerere-autoupdate`)
168
+ # @option options [Boolean, nil] :ignore_space_change (nil) ignore whitespace
169
+ # changes when applying (passed to git-apply)
163
170
  #
164
- # @option options [Boolean, nil] :ignore_space_change (nil) ignore whitespace
165
- # changes when applying (passed to git-apply)
171
+ # @option options [Boolean, nil] :ignore_whitespace (nil) ignore whitespace
172
+ # when applying (passed to git-apply)
166
173
  #
167
- # @option options [Boolean, nil] :ignore_whitespace (nil) ignore whitespace
168
- # when applying (passed to git-apply)
174
+ # @option options [String] :whitespace (nil) whitespace error handling
175
+ # (e.g., `'nowarn'`, `'warn'`, `'fix'`, `'error'`)
169
176
  #
170
- # @option options [String] :whitespace (nil) whitespace error handling
171
- # (e.g., `'nowarn'`, `'warn'`, `'fix'`, `'error'`)
177
+ # Passed to git-apply.
172
178
  #
173
- # Passed to git-apply.
179
+ # @option options [Integer, String] :C (nil) ensure at least `<n>` lines of
180
+ # surrounding context match when applying (`-C<n>`)
174
181
  #
175
- # @option options [Integer] :C (nil) ensure at least `<n>` lines of
176
- # surrounding context match when applying (`-C<n>`)
182
+ # Passed to git-apply.
177
183
  #
178
- # Passed to git-apply.
184
+ # @option options [Integer, String] :p (nil) strip `<n>` leading path
185
+ # components
186
+ # from file names (`-p<n>`)
179
187
  #
180
- # @option options [Integer] :p (nil) strip `<n>` leading path components
181
- # from file names (`-p<n>`)
188
+ # Passed to git-apply.
182
189
  #
183
- # Passed to git-apply.
190
+ # @option options [String] :directory (nil) prepend `<dir>` to all
191
+ # filenames
184
192
  #
185
- # @option options [String] :directory (nil) prepend `<dir>` to all
186
- # filenames
193
+ # Passed to git-apply.
187
194
  #
188
- # Passed to git-apply.
195
+ # @option options [String, Array<String>] :exclude (nil) skip files
196
+ # matching the given path pattern
189
197
  #
190
- # @option options [Array<String>] :exclude (nil) skip files matching the
191
- # given path pattern
198
+ # May be repeated. Passed to git-apply.
192
199
  #
193
- # May be repeated. Passed to git-apply.
200
+ # @option options [String, Array<String>] :include (nil) apply only to
201
+ # files matching the given path pattern
194
202
  #
195
- # @option options [Array<String>] :include (nil) apply only to files
196
- # matching the given path pattern
203
+ # May be repeated. Passed to git-apply.
197
204
  #
198
- # May be repeated. Passed to git-apply.
205
+ # @option options [Boolean, nil] :reject (nil) leave rejected hunks in
206
+ # `*.rej` files instead of aborting
199
207
  #
200
- # @option options [Boolean, nil] :reject (nil) leave rejected hunks in
201
- # `*.rej` files instead of aborting
208
+ # Passed to git-apply.
202
209
  #
203
- # Passed to git-apply.
210
+ # @option options [String] :patch_format (nil) override patch format
211
+ # detection
204
212
  #
205
- # @option options [String] :patch_format (nil) override patch format
206
- # detection
213
+ # Valid formats: `'mbox'`, `'mboxrd'`, `'stgit'`, `'stgit-series'`,
214
+ # `'hg'`.
207
215
  #
208
- # Valid formats: `'mbox'`, `'mboxrd'`, `'stgit'`, `'stgit-series'`,
209
- # `'hg'`.
216
+ # @option options [Boolean, nil] :interactive (nil) run interactively,
217
+ # prompting before each patch is applied
210
218
  #
211
- # @option options [Boolean, nil] :interactive (nil) run interactively,
212
- # prompting before each patch is applied
219
+ # Alias: `:i`
213
220
  #
214
- # Alias: `:i`
221
+ # @option options [Boolean, nil] :verify (nil) run pre-applypatch and
222
+ # applypatch-msg hooks (`--verify`)
215
223
  #
216
- # @option options [Boolean, nil] :verify (nil) run pre-applypatch and
217
- # applypatch-msg hooks (`--verify`)
224
+ # Hooks are run by default when this option is omitted.
218
225
  #
219
- # Hooks are run by default when this option is omitted.
226
+ # @option options [Boolean, nil] :no_verify (nil) bypass pre-applypatch and
227
+ # applypatch-msg hooks (`--no-verify`)
220
228
  #
221
- # @option options [Boolean, nil] :no_verify (nil) bypass pre-applypatch and
222
- # applypatch-msg hooks (`--no-verify`)
229
+ # @option options [Boolean, nil] :committer_date_is_author_date (nil) use the
230
+ # author date as the committer date
223
231
  #
224
- # @option options [Boolean, nil] :committer_date_is_author_date (nil) use the
225
- # author date as the committer date
232
+ # @option options [Boolean, nil] :ignore_date (nil) use the committer date as
233
+ # the author date
226
234
  #
227
- # @option options [Boolean, nil] :ignore_date (nil) use the committer date as
228
- # the author date
235
+ # @option options [Boolean, String, nil] :gpg_sign (nil) sign commits using
236
+ # GPG (`--gpg-sign`)
229
237
  #
230
- # @option options [Boolean, String, nil] :gpg_sign (nil) sign commits using
231
- # GPG (`--gpg-sign`)
238
+ # Pass a key-ID string to select the signing key; pass `true` to use
239
+ # the committer identity. Alias: `:S`
232
240
  #
233
- # Pass a key-ID string to select the signing key; pass `true` to use
234
- # the committer identity. Alias: `:S`
241
+ # @option options [Boolean, nil] :no_gpg_sign (nil) countermand commit.gpgSign
242
+ # configuration (`--no-gpg-sign`)
235
243
  #
236
- # @option options [Boolean, nil] :no_gpg_sign (nil) countermand commit.gpgSign
237
- # configuration (`--no-gpg-sign`)
244
+ # @option options [String] :chdir (nil) change to this directory before
245
+ # running git
238
246
  #
239
- # @option options [String] :chdir (nil) change to this directory before
240
- # running git
247
+ # Not passed to the git CLI.
241
248
  #
242
- # Not passed to the git CLI.
249
+ # @return [Git::CommandLine::Result] the result of calling `git am`
243
250
  #
244
- # @return [Git::CommandLineResult] the result of calling `git am`
251
+ # @raise [ArgumentError] if unsupported options are provided
245
252
  #
246
- # @raise [ArgumentError] if unsupported options are provided
253
+ # @raise [Git::FailedError] if git exits with a non-zero exit status
247
254
  #
248
- # @raise [Git::FailedError] if git exits with a non-zero exit status
255
+ # @api public
256
+ #
257
+ def call(*, **)
258
+ super
259
+ end
249
260
  end
250
261
  end
251
262
  end
@@ -28,13 +28,13 @@ module Git
28
28
  literal '--continue'
29
29
  end
30
30
 
31
- # @!method call(*, **)
31
+ # @!method call()
32
32
  #
33
33
  # @overload call()
34
34
  #
35
35
  # Resume applying patches after conflicts have been resolved
36
36
  #
37
- # @return [Git::CommandLineResult] the result of calling `git am --continue`
37
+ # @return [Git::CommandLine::Result] the result of calling `git am --continue`
38
38
  #
39
39
  # @raise [Git::FailedError] if git exits with a non-zero exit status
40
40
  end
@@ -28,13 +28,13 @@ module Git
28
28
  literal '--quit'
29
29
  end
30
30
 
31
- # @!method call(*, **)
31
+ # @!method call()
32
32
  #
33
33
  # @overload call()
34
34
  #
35
35
  # Abort the am session but keep the current HEAD position
36
36
  #
37
- # @return [Git::CommandLineResult] the result of calling `git am --quit`
37
+ # @return [Git::CommandLine::Result] the result of calling `git am --quit`
38
38
  #
39
39
  # @raise [Git::FailedError] if git exits with a non-zero exit status
40
40
  end
@@ -32,13 +32,15 @@ module Git
32
32
  # git am --retry was introduced in git 2.46.0
33
33
  requires_git_version '2.46.0'
34
34
 
35
- # @!method call(*, **)
35
+ # @!method call()
36
36
  #
37
37
  # @overload call()
38
38
  #
39
39
  # Retry applying the most-recently-failed patch
40
40
  #
41
- # @return [Git::CommandLineResult] the result of calling `git am --retry`
41
+ # @return [Git::CommandLine::Result] the result of calling `git am --retry`
42
+ #
43
+ # @raise [Git::VersionError] if git version is below 2.46.0
42
44
  #
43
45
  # @raise [Git::FailedError] if git exits with a non-zero exit status
44
46
  end
@@ -41,7 +41,7 @@ module Git
41
41
  #
42
42
  # @param options [Hash] command options
43
43
  #
44
- # @return [Git::CommandLineResult] the result of calling
44
+ # @return [Git::CommandLine::Result] the result of calling
45
45
  # `git am --show-current-patch`
46
46
  #
47
47
  # @raise [ArgumentError] if `show_current_patch` is `false` or `nil`
@@ -27,13 +27,13 @@ module Git
27
27
  literal '--skip'
28
28
  end
29
29
 
30
- # @!method call(*, **)
30
+ # @!method call()
31
31
  #
32
32
  # @overload call()
33
33
  #
34
34
  # Skip the current patch and continue with remaining patches
35
35
  #
36
- # @return [Git::CommandLineResult] the result of calling `git am --skip`
36
+ # @return [Git::CommandLine::Result] the result of calling `git am --skip`
37
37
  #
38
38
  # @raise [Git::FailedError] if git exits with a non-zero exit status
39
39
  end
@@ -23,10 +23,10 @@ module Git
23
23
  # - {Am::ShowCurrentPatch} — show the patch being applied (`--show-current-patch`)
24
24
  # - {Am::Skip} — skip the current patch (`--skip`)
25
25
  #
26
- # @api private
27
- #
28
26
  # @see https://git-scm.com/docs/git-am git-am documentation
29
27
  #
28
+ # @api private
29
+ #
30
30
  module Am
31
31
  end
32
32
  end
@@ -90,7 +90,12 @@ module Git
90
90
  operand :patch, repeatable: true
91
91
  end
92
92
 
93
- # @!method call(*, **)
93
+ # @!method call(*, **options)
94
+ #
95
+ # @param options [Hash] command options
96
+ #
97
+ # @option options [Boolean, nil] :stat (nil) command option key; see overload
98
+ # docs for the full option list
94
99
  #
95
100
  # @overload call(*patch, **options)
96
101
  #
@@ -225,7 +230,7 @@ module Git
225
230
  # @option options [String] :chdir (nil) change to this directory before
226
231
  # running git; not passed to the git CLI
227
232
  #
228
- # @return [Git::CommandLineResult] the result of calling `git apply`
233
+ # @return [Git::CommandLine::Result] the result of calling `git apply`
229
234
  #
230
235
  # @raise [ArgumentError] if unsupported options are provided
231
236
  #
@@ -31,13 +31,13 @@ module Git
31
31
  literal '--list'
32
32
  end
33
33
 
34
- # @!method call(*, **)
34
+ # @!method call()
35
35
  #
36
- # @overload call
36
+ # @overload call()
37
37
  #
38
38
  # Execute `git archive --list` to show available formats.
39
39
  #
40
- # @return [Git::CommandLineResult] the result of calling `git archive --list`
40
+ # @return [Git::CommandLine::Result] the result of calling `git archive --list`
41
41
  #
42
42
  # @raise [Git::FailedError] if git exits with a non-zero exit status
43
43
  end
@@ -55,7 +55,12 @@ module Git
55
55
  operand :path, repeatable: true
56
56
  end
57
57
 
58
- # @!method call(*, **)
58
+ # @!method call(*, **options)
59
+ #
60
+ # @param options [Hash] command options
61
+ #
62
+ # @option options [String] :format (nil) command option key; see overload docs
63
+ # for the full option list
59
64
  #
60
65
  # @overload call(tree_ish = nil, *path, **options)
61
66
  #
@@ -111,7 +116,7 @@ module Git
111
116
  # @option options [IO, #write] :out (nil) stream archive output to this IO object
112
117
  # instead of capturing it; the result's `.stdout` will be `''`
113
118
  #
114
- # @return [Git::CommandLineResult] the result of calling `git archive`
119
+ # @return [Git::CommandLine::Result] the result of calling `git archive`
115
120
  #
116
121
  # @raise [ArgumentError] if unsupported options are provided
117
122
  #