git 5.0.0.beta.2 → 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 (270) 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 +86 -23
  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 +287 -6
  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 +25 -13
  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 +400 -314
  255. data/redesign/3_architecture_implementation.md +81 -30
  256. data/redesign/Phase 4 - Step A.md +6 -0
  257. data/redesign/Phase 4 - Step B.md +921 -0
  258. data/redesign/Phase 4 - Step C.md +833 -0
  259. data/redesign/c1a-public-api-scope.tsv +256 -0
  260. data/redesign/phase-4-step-b-test-audit.tsv +485 -0
  261. data/tasks/yard.rake +24 -17
  262. metadata +24 -58
  263. data/commitlint.test +0 -4
  264. data/lib/git/args_builder.rb +0 -103
  265. data/lib/git/command_line_result.rb +0 -8
  266. data/lib/git/deprecation.rb +0 -9
  267. data/lib/git/repository/configuring.rb +0 -351
  268. data/tasks/test.rake +0 -25
  269. /data/.github/{skills → skills-deprecated}/extract-facade-from-base-lib/KEYWORD_ARG_REMEDIATION.md +0 -0
  270. /data/.github/{skills → skills-deprecated}/review-backward-compatibility/SKILL.md +0 -0
@@ -62,7 +62,12 @@ module Git
62
62
  operand :value_regex
63
63
  end
64
64
 
65
- # @!method call(*, **)
65
+ # @!method call(*, **options)
66
+ #
67
+ # @param options [Hash] command options
68
+ #
69
+ # @option options [Boolean, nil] :replace_all (nil) command option key;
70
+ # see overload docs for the full option list
66
71
  #
67
72
  # @overload call(name, value, value_regex = nil, **options)
68
73
  #
@@ -103,7 +108,7 @@ module Git
103
108
  # @option options [Boolean, nil] :no_type (nil) unset the previously set type specifier;
104
109
  # `true` emits `--no-type`
105
110
  #
106
- # @return [Git::CommandLineResult] the result of calling `git config`
111
+ # @return [Git::CommandLine::Result] the result of calling `git config`
107
112
  #
108
113
  # @raise [ArgumentError] if unsupported options are provided
109
114
  #
@@ -50,9 +50,7 @@ module Git
50
50
  # git config --unset exits 5 when trying to unset a non-existent or multi-valued key
51
51
  allow_exit_status 0..5
52
52
 
53
- # @!method call(*, **)
54
- #
55
- # @overload call(name, value_regex = nil, **options)
53
+ # @overload call(name, value_regex = nil, **options)
56
54
  #
57
55
  # Execute the `git config --unset` command
58
56
  #
@@ -78,11 +76,16 @@ module Git
78
76
  #
79
77
  # @option options [Boolean, nil] :fixed_value (nil) treat the value regex as an exact string
80
78
  #
81
- # @return [Git::CommandLineResult] the result of calling `git config --unset`
79
+ # @return [Git::CommandLine::Result] the result of calling `git config --unset`
82
80
  #
83
81
  # @raise [ArgumentError] if unsupported options are provided
84
82
  #
85
83
  # @raise [Git::FailedError] if git exits outside the allowed range (exit code > 5)
84
+ #
85
+ # @api public
86
+ def call(*, **)
87
+ super
88
+ end
86
89
  end
87
90
  end
88
91
  end
@@ -50,7 +50,12 @@ module Git
50
50
  # git config --unset-all exits 5 when trying to unset a non-existent key
51
51
  allow_exit_status 0..5
52
52
 
53
- # @!method call(*, **)
53
+ # @!method call(*, **options)
54
+ #
55
+ # @param options [Hash] command options
56
+ #
57
+ # @option options [Boolean, nil] :global (nil) command option key; see
58
+ # overload docs for the full option list
54
59
  #
55
60
  # @overload call(name, value_regex = nil, **options)
56
61
  #
@@ -78,7 +83,7 @@ module Git
78
83
  #
79
84
  # @option options [Boolean, nil] :fixed_value (nil) treat the value regex as an exact string
80
85
  #
81
- # @return [Git::CommandLineResult] the result of calling `git config --unset-all`
86
+ # @return [Git::CommandLine::Result] the result of calling `git config --unset-all`
82
87
  #
83
88
  # @raise [ArgumentError] if unsupported options are provided
84
89
  #
@@ -64,9 +64,7 @@ module Git
64
64
  operand :commit_ish, repeatable: true
65
65
  end
66
66
 
67
- # @!method call(*, **)
68
- #
69
- # @overload call(*commit_ish, **options)
67
+ # @overload call(*commit_ish, **options)
70
68
  #
71
69
  # Execute the `git describe` command
72
70
  #
@@ -141,7 +139,7 @@ module Git
141
139
  # @option options [Boolean, nil] :first_parent (nil) follow only the
142
140
  # first parent of a merge commit
143
141
  #
144
- # @return [Git::CommandLineResult] the result of calling
142
+ # @return [Git::CommandLine::Result] the result of calling
145
143
  # `git describe`
146
144
  #
147
145
  # @raise [ArgumentError] if unsupported options are provided
@@ -150,6 +148,9 @@ module Git
150
148
  # status
151
149
  #
152
150
  # @api public
151
+ def call(*, **)
152
+ super
153
+ end
153
154
  end
154
155
  end
155
156
  end
@@ -155,9 +155,7 @@ module Git
155
155
  # with --check: 2 = whitespace/conflict-marker errors
156
156
  allow_exit_status 0..2
157
157
 
158
- # @!method call(*, **)
159
- #
160
- # @overload call(**options)
158
+ # @overload call(**options)
161
159
  #
162
160
  # Compare the index to the working tree
163
161
  #
@@ -166,7 +164,7 @@ module Git
166
164
  #
167
165
  # @param options [Hash] command options
168
166
  #
169
- # @return [Git::CommandLineResult] the result of calling `git diff`
167
+ # @return [Git::CommandLine::Result] the result of calling `git diff`
170
168
  #
171
169
  # @raise [ArgumentError] if unsupported options are provided
172
170
  #
@@ -175,7 +173,7 @@ module Git
175
173
  #
176
174
  # @api public
177
175
  #
178
- # @overload call(no_index: true, path:, **options)
176
+ # @overload call(no_index: true, path:, **options)
179
177
  #
180
178
  # Compare two paths on the filesystem (outside git)
181
179
  #
@@ -191,7 +189,7 @@ module Git
191
189
  #
192
190
  # @param options [Hash] command options
193
191
  #
194
- # @return [Git::CommandLineResult] the result of calling `git diff`
192
+ # @return [Git::CommandLine::Result] the result of calling `git diff`
195
193
  #
196
194
  # @raise [ArgumentError] if unsupported options are provided
197
195
  #
@@ -200,7 +198,7 @@ module Git
200
198
  #
201
199
  # @api public
202
200
  #
203
- # @overload call(commit = nil, cached:, **options)
201
+ # @overload call(commit = nil, cached:, **options)
204
202
  #
205
203
  # Compare the index to HEAD or the named commit
206
204
  #
@@ -213,7 +211,7 @@ module Git
213
211
  #
214
212
  # @param options [Hash] command options
215
213
  #
216
- # @return [Git::CommandLineResult] the result of calling `git diff`
214
+ # @return [Git::CommandLine::Result] the result of calling `git diff`
217
215
  #
218
216
  # @raise [ArgumentError] if unsupported options are provided
219
217
  #
@@ -222,7 +220,7 @@ module Git
222
220
  #
223
221
  # @api public
224
222
  #
225
- # @overload call(commit, **options)
223
+ # @overload call(commit, **options)
226
224
  #
227
225
  # Compare the working tree to the named commit
228
226
  #
@@ -234,7 +232,7 @@ module Git
234
232
  #
235
233
  # @param options [Hash] command options
236
234
  #
237
- # @return [Git::CommandLineResult] the result of calling `git diff`
235
+ # @return [Git::CommandLine::Result] the result of calling `git diff`
238
236
  #
239
237
  # @raise [ArgumentError] if unsupported options are provided
240
238
  #
@@ -243,7 +241,7 @@ module Git
243
241
  #
244
242
  # @api public
245
243
  #
246
- # @overload call(commit, *commits, **options)
244
+ # @overload call(commit, *commits, **options)
247
245
  #
248
246
  # Compare two or more commits or show a combined diff
249
247
  #
@@ -642,7 +640,7 @@ module Git
642
640
  # @option options [Array<String>] :path (nil) zero or more paths
643
641
  # to limit diff to
644
642
  #
645
- # @return [Git::CommandLineResult] the result of calling
643
+ # @return [Git::CommandLine::Result] the result of calling
646
644
  # `git diff`
647
645
  #
648
646
  # @raise [ArgumentError] if unsupported options are provided
@@ -651,6 +649,9 @@ module Git
651
649
  # range (exit code > 2)
652
650
  #
653
651
  # @api public
652
+ def call(*, **)
653
+ super
654
+ end
654
655
  end
655
656
  end
656
657
  end
@@ -153,9 +153,7 @@ module Git
153
153
  # git diff-files exits 1 when differences are found (not an error)
154
154
  allow_exit_status 0..1
155
155
 
156
- # @!method call(*, **)
157
- #
158
- # @overload call(**options)
156
+ # @overload call(**options)
159
157
  # Compare the index to the working tree with no path restriction
160
158
  #
161
159
  # @param options [Hash] command options
@@ -489,7 +487,7 @@ module Git
489
487
  # @option options [Integer, String] :max_depth (nil) maximum directory depth to
490
488
  # descend for pathspecs
491
489
  #
492
- # @return [Git::CommandLineResult] the result of calling `git diff-files`
490
+ # @return [Git::CommandLine::Result] the result of calling `git diff-files`
493
491
  #
494
492
  # @raise [ArgumentError] if unsupported options are provided
495
493
  #
@@ -498,14 +496,14 @@ module Git
498
496
  #
499
497
  # @api public
500
498
  #
501
- # @overload call(*path, **options)
499
+ # @overload call(*path, **options)
502
500
  # Compare the index to the working tree, limiting output to specific paths
503
501
  #
504
502
  # @param path [Array<String>] pathspecs limiting which files are compared
505
503
  #
506
504
  # @param options [Hash] command options (same as the no-path overload)
507
505
  #
508
- # @return [Git::CommandLineResult] the result of calling `git diff-files`
506
+ # @return [Git::CommandLine::Result] the result of calling `git diff-files`
509
507
  #
510
508
  # @raise [ArgumentError] if unsupported options are provided
511
509
  #
@@ -513,6 +511,9 @@ module Git
513
511
  # (exit code > 1)
514
512
  #
515
513
  # @api public
514
+ def call(*, **)
515
+ super
516
+ end
516
517
  end
517
518
  end
518
519
  end
@@ -161,9 +161,7 @@ module Git
161
161
  # git diff-index exits 1 when differences are found (e.g. with --exit-code)
162
162
  allow_exit_status 0..1
163
163
 
164
- # @!method call(*, **)
165
- #
166
- # @overload call(tree_ish, **options)
164
+ # @overload call(tree_ish, **options)
167
165
  # Compare a tree to the index or working tree
168
166
  #
169
167
  # @example Compare HEAD to the working tree
@@ -461,13 +459,15 @@ module Git
461
459
  # @option options [Integer, String] :max_depth (nil) maximum directory depth to descend for
462
460
  # each pathspec (tree-to-tree diffs only)
463
461
  #
464
- # @return [Git::CommandLineResult] the result of calling `git diff-index`
462
+ # @return [Git::CommandLine::Result] the result of calling `git diff-index`
465
463
  #
466
464
  # @raise [ArgumentError] if unsupported options are provided
467
465
  #
468
466
  # @raise [Git::FailedError] if git exits outside the allowed range (exit code > 1)
469
467
  #
470
- # @overload call(tree_ish, *paths, **options)
468
+ # @api public
469
+ #
470
+ # @overload call(tree_ish, *paths, **options)
471
471
  # Compare a tree to the index or working tree, limiting output to specific paths
472
472
  #
473
473
  # @example Compare HEAD to the index for a single directory
@@ -484,13 +484,16 @@ module Git
484
484
  #
485
485
  # @param options [Hash] command options (same as the single-argument overload)
486
486
  #
487
- # @return [Git::CommandLineResult] the result of calling `git diff-index`
487
+ # @return [Git::CommandLine::Result] the result of calling `git diff-index`
488
488
  #
489
489
  # @raise [ArgumentError] if unsupported options are provided
490
490
  #
491
491
  # @raise [Git::FailedError] if git exits outside the allowed range (exit code > 1)
492
492
  #
493
- # @api public
493
+ # @api public
494
+ def call(*, **)
495
+ super
496
+ end
494
497
  end
495
498
  end
496
499
  end
@@ -116,9 +116,7 @@ module Git
116
116
  operand :refspec, repeatable: true
117
117
  end
118
118
 
119
- # @!method call(*, **)
120
- #
121
- # @overload call(repository = nil, *refspec, **options)
119
+ # @overload call(repository = nil, *refspec, **options)
122
120
  #
123
121
  # Execute the `git fetch` command
124
122
  #
@@ -340,13 +338,17 @@ module Git
340
338
  # Pass `true` to capture git fetch output (which is written to stderr
341
339
  # by default).
342
340
  #
343
- # @return [Git::CommandLineResult] the result of calling `git fetch`
341
+ # @return [Git::CommandLine::Result] the result of calling `git fetch`
344
342
  #
345
343
  # @raise [ArgumentError] if unsupported options are provided
346
344
  #
347
345
  # @raise [Git::FailedError] if git exits with a non-zero exit status
348
346
  #
349
347
  # @api public
348
+ #
349
+ def call(*, **)
350
+ super
351
+ end
350
352
  end
351
353
  end
352
354
  end
@@ -55,9 +55,7 @@ module Git
55
55
  # git fsck uses exit codes 0-7 as bit flags for findings
56
56
  allow_exit_status 0..7
57
57
 
58
- # @!method call(*, **)
59
- #
60
- # @overload call(*object, **options)
58
+ # @overload call(*object, **options)
61
59
  #
62
60
  # Execute the `git fsck` command
63
61
  #
@@ -123,7 +121,7 @@ module Git
123
121
  # @option options [Boolean, nil] :no_references (nil) skip reference checking
124
122
  # (`--no-references`)
125
123
  #
126
- # @return [Git::CommandLineResult] the result of calling `git fsck`
124
+ # @return [Git::CommandLine::Result] the result of calling `git fsck`
127
125
  #
128
126
  # @raise [ArgumentError] if unsupported options are provided
129
127
  #
@@ -131,6 +129,10 @@ module Git
131
129
  # (exit code > 7)
132
130
  #
133
131
  # @api public
132
+ #
133
+ def call(*, **)
134
+ super
135
+ end
134
136
  end
135
137
  end
136
138
  end
@@ -53,9 +53,7 @@ module Git
53
53
  flag_option :keep_largest_pack
54
54
  end
55
55
 
56
- # @!method call(*, **)
57
- #
58
- # @overload call(**options)
56
+ # @overload call(**options)
59
57
  #
60
58
  # Execute the `git gc` command
61
59
  #
@@ -120,13 +118,17 @@ module Git
120
118
  #
121
119
  # When `true`, `gc.bigPackThreshold` is ignored.
122
120
  #
123
- # @return [Git::CommandLineResult] the result of calling `git gc`
121
+ # @return [Git::CommandLine::Result] the result of calling `git gc`
124
122
  #
125
123
  # @raise [ArgumentError] if unsupported options are provided
126
124
  #
127
125
  # @raise [Git::FailedError] if git exits with a non-zero exit status
128
126
  #
129
127
  # @api public
128
+ #
129
+ def call(*, **)
130
+ super
131
+ end
130
132
  end
131
133
  end
132
134
  end
@@ -112,9 +112,7 @@ module Git
112
112
  # `git grep` exits with 1 when no lines are selected — not an error
113
113
  allow_exit_status 0..1
114
114
 
115
- # @!method call(*, **)
116
- #
117
- # @overload call(*tree, **options)
115
+ # @overload call(*tree, **options)
118
116
  #
119
117
  # Execute the `git grep` command
120
118
  #
@@ -319,7 +317,7 @@ module Git
319
317
  # Multiple pathspecs may be passed as an Array. Appended to the
320
318
  # command after `--`.
321
319
  #
322
- # @return [Git::CommandLineResult] the result of calling `git grep`
320
+ # @return [Git::CommandLine::Result] the result of calling `git grep`
323
321
  #
324
322
  # Exit status 0 means matches were found; exit status 1 means no
325
323
  # lines were selected (not an error).
@@ -331,8 +329,11 @@ module Git
331
329
  # @raise [Git::FailedError] if git exits outside the allowed range
332
330
  # (exit code > 1)
333
331
  #
334
- # @api public
332
+ # @api public
335
333
  #
334
+ def call(*, **)
335
+ super
336
+ end
336
337
  end
337
338
  end
338
339
  end
@@ -40,9 +40,7 @@ module Git
40
40
  operand :directory
41
41
  end
42
42
 
43
- # @!method call(*, **)
44
- #
45
- # @overload call(directory = nil, **options)
43
+ # @overload call(directory = nil, **options)
46
44
  #
47
45
  # Execute the `git init` command
48
46
  #
@@ -87,13 +85,17 @@ module Git
87
85
  # Pass a string (e.g. `'group'`, `'all'`, `'0660'`) to emit
88
86
  # `--shared=<permissions>`.
89
87
  #
90
- # @return [Git::CommandLineResult] the result of calling `git init`
88
+ # @return [Git::CommandLine::Result] the result of calling `git init`
91
89
  #
92
90
  # @raise [ArgumentError] if unsupported options are provided
93
91
  #
94
92
  # @raise [Git::FailedError] if git exits with a non-zero exit status
95
93
  #
96
94
  # @api public
95
+ #
96
+ def call(*, **)
97
+ super
98
+ end
97
99
  end
98
100
  end
99
101
  end