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
@@ -162,471 +162,473 @@ module Git
162
162
  execution_option :timeout
163
163
  end
164
164
 
165
- # @!method call(*, **)
166
165
  #
167
- # @overload call(*revision_range, **options)
166
+ # @overload call(*revision_range, **options)
168
167
  #
169
- # Execute the `git log` command.
168
+ # Execute the `git log` command.
170
169
  #
171
- # @param revision_range [Array<String>] zero or more revision specifiers
170
+ # @param revision_range [Array<String>] zero or more revision specifiers
172
171
  #
173
- # Examples include `'v1.0..v2.0'`, `'abc123'`, `'^v0.9'`, or any
174
- # expression accepted by git-log(1). When multiple values are given they
175
- # are passed as separate positional arguments to git. Defaults to no
176
- # revision constraint (i.e. all reachable commits).
172
+ # Examples include `'v1.0..v2.0'`, `'abc123'`, `'^v0.9'`, or any
173
+ # expression accepted by git-log(1). When multiple values are given they
174
+ # are passed as separate positional arguments to git. Defaults to no
175
+ # revision constraint (i.e. all reachable commits).
177
176
  #
178
- # @param options [Hash] command options
177
+ # @param options [Hash] command options
179
178
  #
180
- # ### Commit Limiting
179
+ # ### Commit Limiting
181
180
  #
182
- # @option options [Integer, String] :max_count (nil) maximum number of commits to output
181
+ # @option options [Integer, String] :max_count (nil) maximum number of commits to output
183
182
  #
184
- # Alias: `:n`
183
+ # Alias: `:n`
185
184
  #
186
- # @option options [Integer, String] :skip (nil) skip this many commits before starting output
185
+ # @option options [Integer, String] :skip (nil) skip this many commits before starting output
187
186
  #
188
- # @option options [String] :since (nil) show commits more recent than the given date
187
+ # @option options [String] :since (nil) show commits more recent than the given date
189
188
  #
190
- # Examples: `'2 weeks ago'`, `'2024-01-01'`
189
+ # Examples: `'2 weeks ago'`, `'2024-01-01'`
191
190
  #
192
- # @option options [String] :after (nil) show commits more recent than the given date
193
- # (synonym for `:since`)
191
+ # @option options [String] :after (nil) show commits more recent than the given date
192
+ # (synonym for `:since`)
194
193
  #
195
- # @option options [String] :since_as_filter (nil) like `:since` but visits all commits
196
- # in the range rather than stopping at the first older commit
194
+ # @option options [String] :since_as_filter (nil) like `:since` but visits all commits
195
+ # in the range rather than stopping at the first older commit
197
196
  #
198
- # @option options [String] :until (nil) show commits older than the given date
197
+ # @option options [String] :until (nil) show commits older than the given date
199
198
  #
200
- # Examples: `'1 month ago'`, `'2024-01-01'`
199
+ # Examples: `'1 month ago'`, `'2024-01-01'`
201
200
  #
202
- # @option options [String] :before (nil) show commits older than the given date
203
- # (synonym for `:until`)
201
+ # @option options [String] :before (nil) show commits older than the given date
202
+ # (synonym for `:until`)
204
203
  #
205
- # @option options [String] :author (nil) limit commits to those whose author line
206
- # matches the given pattern (regular expression)
204
+ # @option options [String] :author (nil) limit commits to those whose author line
205
+ # matches the given pattern (regular expression)
207
206
  #
208
- # @option options [String] :committer (nil) limit commits to those whose committer
209
- # line matches the given pattern (regular expression)
207
+ # @option options [String] :committer (nil) limit commits to those whose committer
208
+ # line matches the given pattern (regular expression)
210
209
  #
211
- # @option options [String] :grep_reflog (nil) limit commits to those with reflog entries
212
- # matching the given pattern; requires `:walk_reflogs`
210
+ # @option options [String] :grep_reflog (nil) limit commits to those with reflog entries
211
+ # matching the given pattern; requires `:walk_reflogs`
213
212
  #
214
- # @option options [String] :grep (nil) limit commits to those whose log message matches
215
- # the given pattern (regular expression)
213
+ # @option options [String] :grep (nil) limit commits to those whose log message matches
214
+ # the given pattern (regular expression)
216
215
  #
217
- # @option options [Boolean, nil] :all_match (nil) limit output to commits matching all
218
- # `--grep` patterns (default: any)
216
+ # @option options [Boolean, nil] :all_match (nil) limit output to commits matching all
217
+ # `--grep` patterns (default: any)
219
218
  #
220
- # @option options [Boolean, nil] :invert_grep (nil) limit output to commits whose log
221
- # message does **not** match the `:grep` pattern
219
+ # @option options [Boolean, nil] :invert_grep (nil) limit output to commits whose log
220
+ # message does **not** match the `:grep` pattern
222
221
  #
223
- # @option options [Boolean, nil] :regexp_ignore_case (nil) match `--grep`, `--author`,
224
- # and `--committer` patterns case-insensitively
222
+ # @option options [Boolean, nil] :regexp_ignore_case (nil) match `--grep`, `--author`,
223
+ # and `--committer` patterns case-insensitively
225
224
  #
226
- # Alias: `:i`
225
+ # Alias: `:i`
227
226
  #
228
- # @option options [Boolean, nil] :basic_regexp (nil) treat limiting patterns as basic POSIX
229
- # regular expressions (this is the default behavior)
227
+ # @option options [Boolean, nil] :basic_regexp (nil) treat limiting patterns as basic POSIX
228
+ # regular expressions (this is the default behavior)
230
229
  #
231
- # @option options [Boolean, nil] :extended_regexp (nil) treat limiting patterns as extended
232
- # POSIX regular expressions
230
+ # @option options [Boolean, nil] :extended_regexp (nil) treat limiting patterns as extended
231
+ # POSIX regular expressions
233
232
  #
234
- # Mutually exclusive with `:fixed_strings` and `:perl_regexp`. Alias: `:E`
233
+ # Mutually exclusive with `:fixed_strings` and `:perl_regexp`. Alias: `:E`
235
234
  #
236
- # @option options [Boolean, nil] :fixed_strings (nil) treat limiting patterns as fixed
237
- # strings instead of regular expressions
235
+ # @option options [Boolean, nil] :fixed_strings (nil) treat limiting patterns as fixed
236
+ # strings instead of regular expressions
238
237
  #
239
- # Mutually exclusive with `:extended_regexp` and `:perl_regexp`. Alias: `:F`
238
+ # Mutually exclusive with `:extended_regexp` and `:perl_regexp`. Alias: `:F`
240
239
  #
241
- # @option options [Boolean, nil] :perl_regexp (nil) treat limiting patterns as
242
- # Perl-compatible regular expressions
240
+ # @option options [Boolean, nil] :perl_regexp (nil) treat limiting patterns as
241
+ # Perl-compatible regular expressions
243
242
  #
244
- # Mutually exclusive with `:extended_regexp` and `:fixed_strings`. Alias: `:P`
243
+ # Mutually exclusive with `:extended_regexp` and `:fixed_strings`. Alias: `:P`
245
244
  #
246
- # @option options [Boolean, nil] :remove_empty (nil) stop when a given path disappears
247
- # from the tree
245
+ # @option options [Boolean, nil] :remove_empty (nil) stop when a given path disappears
246
+ # from the tree
248
247
  #
249
- # @option options [Boolean, nil] :merges (nil) include only merge commits (`--merges`)
248
+ # @option options [Boolean, nil] :merges (nil) include only merge commits (`--merges`)
250
249
  #
251
- # Equivalent to `--min-parents=2`.
250
+ # Equivalent to `--min-parents=2`.
252
251
  #
253
- # @option options [Boolean, nil] :no_merges (nil) exclude merge commits (`--no-merges`)
252
+ # @option options [Boolean, nil] :no_merges (nil) exclude merge commits (`--no-merges`)
254
253
  #
255
- # Equivalent to `--max-parents=1`.
254
+ # Equivalent to `--max-parents=1`.
256
255
  #
257
- # @option options [Integer, String] :min_parents (nil) show only commits with at least this
258
- # many parents
256
+ # @option options [Integer, String] :min_parents (nil) show only commits with at least this
257
+ # many parents
259
258
  #
260
- # @option options [Integer, String] :max_parents (nil) show only commits with at most this
261
- # many parents
259
+ # @option options [Integer, String] :max_parents (nil) show only commits with at most this
260
+ # many parents
262
261
  #
263
- # @option options [Boolean, nil] :first_parent (nil) follow only the first parent commit
264
- # upon seeing a merge commit
262
+ # @option options [Boolean, nil] :first_parent (nil) follow only the first parent commit
263
+ # upon seeing a merge commit
265
264
  #
266
- # @option options [Boolean, nil] :exclude_first_parent_only (nil) when excluding commits
267
- # with `^`, follow only the first parent of merge commits
265
+ # @option options [Boolean, nil] :exclude_first_parent_only (nil) when excluding commits
266
+ # with `^`, follow only the first parent of merge commits
268
267
  #
269
- # @option options [Boolean, nil] :all (nil) pretend as if all refs in `refs/`, along
270
- # with `HEAD`, are listed on the command line
268
+ # @option options [Boolean, nil] :all (nil) pretend as if all refs in `refs/`, along
269
+ # with `HEAD`, are listed on the command line
271
270
  #
272
- # @option options [Boolean, String, nil] :branches (nil) pretend as if all refs in
273
- # `refs/heads` are listed on the command line
271
+ # @option options [Boolean, String, nil] :branches (nil) pretend as if all refs in
272
+ # `refs/heads` are listed on the command line
274
273
  #
275
- # Pass a shell glob pattern (e.g. `'feature*'`) to restrict to matching branch names
274
+ # Pass a shell glob pattern (e.g. `'feature*'`) to restrict to matching branch names
276
275
  #
277
- # @option options [Boolean, String, nil] :tags (nil) pretend as if all refs in
278
- # `refs/tags` are listed on the command line
276
+ # @option options [Boolean, String, nil] :tags (nil) pretend as if all refs in
277
+ # `refs/tags` are listed on the command line
279
278
  #
280
- # Pass a shell glob pattern to restrict to matching tag names
279
+ # Pass a shell glob pattern to restrict to matching tag names
281
280
  #
282
- # @option options [Boolean, String, nil] :remotes (nil) pretend as if all refs in
283
- # `refs/remotes` are listed on the command line
281
+ # @option options [Boolean, String, nil] :remotes (nil) pretend as if all refs in
282
+ # `refs/remotes` are listed on the command line
284
283
  #
285
- # Pass a shell glob pattern to restrict to matching remote-tracking branches
284
+ # Pass a shell glob pattern to restrict to matching remote-tracking branches
286
285
  #
287
- # @option options [String] :glob (nil) pretend as if all refs matching the given shell
288
- # glob pattern are listed on the command line
286
+ # @option options [String] :glob (nil) pretend as if all refs matching the given shell
287
+ # glob pattern are listed on the command line
289
288
  #
290
- # @option options [String] :exclude (nil) do not include refs matching the given glob
291
- # that `--all`, `--branches`, `--tags`, `--remotes`, or `--glob` would otherwise use
289
+ # @option options [String] :exclude (nil) do not include refs matching the given glob
290
+ # that `--all`, `--branches`, `--tags`, `--remotes`, or `--glob` would otherwise use
292
291
  #
293
- # @option options [String] :exclude_hidden (nil) do not include refs hidden by the given
294
- # configuration; value is one of `fetch`, `receive`, or `uploadpack`
292
+ # @option options [String] :exclude_hidden (nil) do not include refs hidden by the given
293
+ # configuration; value is one of `fetch`, `receive`, or `uploadpack`
295
294
  #
296
- # @option options [Boolean, nil] :reflog (nil) pretend as if all objects mentioned by
297
- # reflogs are listed on the command line
295
+ # @option options [Boolean, nil] :reflog (nil) pretend as if all objects mentioned by
296
+ # reflogs are listed on the command line
298
297
  #
299
- # @option options [Boolean, nil] :alternate_refs (nil) pretend as if all objects mentioned
300
- # as ref tips of alternate repositories are listed on the command line
298
+ # @option options [Boolean, nil] :alternate_refs (nil) pretend as if all objects mentioned
299
+ # as ref tips of alternate repositories are listed on the command line
301
300
  #
302
- # @option options [Boolean, nil] :single_worktree (nil) examine only the current working
303
- # tree when `--all`, `--reflog`, or similar options are in use
301
+ # @option options [Boolean, nil] :single_worktree (nil) examine only the current working
302
+ # tree when `--all`, `--reflog`, or similar options are in use
304
303
  #
305
- # @option options [Boolean, nil] :ignore_missing (nil) ignore invalid object names in input
304
+ # @option options [Boolean, nil] :ignore_missing (nil) ignore invalid object names in input
306
305
  #
307
- # @option options [Boolean, nil] :bisect (nil) pretend as if the bad bisect ref was listed
308
- # and the good bisect refs were excluded
306
+ # @option options [Boolean, nil] :bisect (nil) pretend as if the bad bisect ref was listed
307
+ # and the good bisect refs were excluded
309
308
  #
310
- # @option options [Boolean, nil] :cherry_mark (nil) like `:cherry_pick` but marks
311
- # equivalent commits with `=` instead of omitting them; inequivalent ones with +++
309
+ # @option options [Boolean, nil] :cherry_mark (nil) like `:cherry_pick` but marks
310
+ # equivalent commits with `=` instead of omitting them; inequivalent ones with +++
312
311
  #
313
- # @option options [Boolean, nil] :cherry_pick (nil) omit commits that introduce the same
314
- # change as a commit on the other side of a symmetric difference
312
+ # @option options [Boolean, nil] :cherry_pick (nil) omit commits that introduce the same
313
+ # change as a commit on the other side of a symmetric difference
315
314
  #
316
- # @option options [Boolean, nil] :left_only (nil) list only commits reachable from the
317
- # left side of a symmetric difference
315
+ # @option options [Boolean, nil] :left_only (nil) list only commits reachable from the
316
+ # left side of a symmetric difference
318
317
  #
319
- # @option options [Boolean, nil] :right_only (nil) list only commits reachable from the
320
- # right side of a symmetric difference
318
+ # @option options [Boolean, nil] :right_only (nil) list only commits reachable from the
319
+ # right side of a symmetric difference
321
320
  #
322
- # @option options [Boolean, nil] :cherry (nil) synonym for
323
- # `--right-only --cherry-mark --no-merges`
321
+ # @option options [Boolean, nil] :cherry (nil) synonym for
322
+ # `--right-only --cherry-mark --no-merges`
324
323
  #
325
- # @option options [Boolean, nil] :walk_reflogs (nil) walk reflog entries from most recent
326
- # to oldest instead of the commit ancestry chain
324
+ # @option options [Boolean, nil] :walk_reflogs (nil) walk reflog entries from most recent
325
+ # to oldest instead of the commit ancestry chain
327
326
  #
328
- # Alias: `:g`
327
+ # Alias: `:g`
329
328
  #
330
- # @option options [Boolean, nil] :merge (nil) show commits touching conflicted paths in
331
- # the range `HEAD...MERGE_HEAD`; only useful with unmerged index entries
329
+ # @option options [Boolean, nil] :merge (nil) show commits touching conflicted paths in
330
+ # the range `HEAD...MERGE_HEAD`; only useful with unmerged index entries
332
331
  #
333
- # @option options [Boolean, nil] :boundary (nil) output excluded boundary commits,
334
- # prefixed with `-`
332
+ # @option options [Boolean, nil] :boundary (nil) output excluded boundary commits,
333
+ # prefixed with `-`
335
334
  #
336
- # ### History Simplification
335
+ # ### History Simplification
337
336
  #
338
- # @option options [Boolean, nil] :simplify_by_decoration (nil) show only commits referenced
339
- # by some branch or tag
337
+ # @option options [Boolean, nil] :simplify_by_decoration (nil) show only commits referenced
338
+ # by some branch or tag
340
339
  #
341
- # @option options [Boolean, nil] :show_pulls (nil) include merge commits that are not
342
- # TREESAME to their first parent but are TREESAME to a later parent
340
+ # @option options [Boolean, nil] :show_pulls (nil) include merge commits that are not
341
+ # TREESAME to their first parent but are TREESAME to a later parent
343
342
  #
344
- # @option options [Boolean, nil] :full_history (nil) do not prune history; show all commits
345
- # that touched the given path(s)
343
+ # @option options [Boolean, nil] :full_history (nil) do not prune history; show all commits
344
+ # that touched the given path(s)
346
345
  #
347
- # @option options [Boolean, nil] :dense (nil) show only commits not TREESAME to any parent
346
+ # @option options [Boolean, nil] :dense (nil) show only commits not TREESAME to any parent
348
347
  #
349
- # @option options [Boolean, nil] :sparse (nil) show all commits in the simplified history
348
+ # @option options [Boolean, nil] :sparse (nil) show all commits in the simplified history
350
349
  #
351
- # @option options [Boolean, nil] :simplify_merges (nil) remove needless merges from the
352
- # result of `:full_history` with parent rewriting
350
+ # @option options [Boolean, nil] :simplify_merges (nil) remove needless merges from the
351
+ # result of `:full_history` with parent rewriting
353
352
  #
354
- # @option options [Boolean, String, nil] :ancestry_path (nil) limit to commits on the
355
- # ancestry chain between the range endpoints
353
+ # @option options [Boolean, String, nil] :ancestry_path (nil) limit to commits on the
354
+ # ancestry chain between the range endpoints
356
355
  #
357
- # Pass `true` for `--ancestry-path`; pass a commit SHA for `--ancestry-path=<commit>`
356
+ # Pass `true` for `--ancestry-path`; pass a commit SHA for `--ancestry-path=<commit>`
358
357
  #
359
- # ### Commit Ordering
358
+ # ### Commit Ordering
360
359
  #
361
- # @option options [Boolean, nil] :date_order (nil) show commits in commit timestamp order,
362
- # no parents before all children
360
+ # @option options [Boolean, nil] :date_order (nil) show commits in commit timestamp order,
361
+ # no parents before all children
363
362
  #
364
- # @option options [Boolean, nil] :author_date_order (nil) like `:date_order` but ordered
365
- # by author timestamp
363
+ # @option options [Boolean, nil] :author_date_order (nil) like `:date_order` but ordered
364
+ # by author timestamp
366
365
  #
367
- # @option options [Boolean, nil] :topo_order (nil) avoid showing commits on multiple lines
368
- # of history intermixed
366
+ # @option options [Boolean, nil] :topo_order (nil) avoid showing commits on multiple lines
367
+ # of history intermixed
369
368
  #
370
- # @option options [Boolean, nil] :reverse (nil) output selected commits in reverse order;
371
- # cannot be combined with `:walk_reflogs`
369
+ # @option options [Boolean, nil] :reverse (nil) output selected commits in reverse order;
370
+ # cannot be combined with `:walk_reflogs`
372
371
  #
373
- # ### Object Traversal
372
+ # ### Object Traversal
374
373
  #
375
- # @option options [Boolean, String, nil] :no_walk (nil) show only the given commits without
376
- # traversing ancestors
374
+ # @option options [Boolean, String, nil] :no_walk (nil) show only the given commits without
375
+ # traversing ancestors
377
376
  #
378
- # Pass `true` for `--no-walk` (sorted); pass `"unsorted"` for `--no-walk=unsorted`
377
+ # Pass `true` for `--no-walk` (sorted); pass `"unsorted"` for `--no-walk=unsorted`
379
378
  #
380
- # @option options [Boolean, nil] :do_walk (nil) override a previous `--no-walk`
379
+ # @option options [Boolean, nil] :do_walk (nil) override a previous `--no-walk`
381
380
  #
382
- # ### Commit Formatting
381
+ # ### Commit Formatting
383
382
  #
384
- # @option options [Boolean, String, nil] :pretty (nil) pretty-print commit log in a format
383
+ # @option options [Boolean, String, nil] :pretty (nil) pretty-print commit log in a format
385
384
  #
386
- # Pass `true` for `--pretty` (`medium` format); pass a format name such as `"oneline"`,
387
- # `"short"`, `"full"`, `"fuller"`, `"email"`, `"raw"`, or a `format:<string>`
388
- # expression for `--pretty=<format>`.
385
+ # Pass `true` for `--pretty` (`medium` format); pass a format name such as `"oneline"`,
386
+ # `"short"`, `"full"`, `"fuller"`, `"email"`, `"raw"`, or a `format:<string>`
387
+ # expression for `--pretty=<format>`.
389
388
  #
390
- # Alias: `:format`
389
+ # Alias: `:format`
391
390
  #
392
- # @option options [Boolean, nil] :abbrev_commit (nil) abbreviate commit hash (`--abbrev-commit`)
391
+ # @option options [Boolean, nil] :abbrev_commit (nil) abbreviate commit hash (`--abbrev-commit`)
393
392
  #
394
- # @option options [Boolean, nil] :no_abbrev_commit (nil) do not abbreviate commit hash (`--no-abbrev-commit`)
393
+ # @option options [Boolean, nil] :no_abbrev_commit (nil) do not abbreviate commit hash (`--no-abbrev-commit`)
395
394
  #
396
- # @option options [Boolean, nil] :oneline (nil) shorthand for
397
- # `--pretty=oneline --abbrev-commit`
395
+ # @option options [Boolean, nil] :oneline (nil) shorthand for
396
+ # `--pretty=oneline --abbrev-commit`
398
397
  #
399
- # @option options [String] :encoding (nil) re-encode the commit log message in the
400
- # given character encoding before output
398
+ # @option options [String] :encoding (nil) re-encode the commit log message in the
399
+ # given character encoding before output
401
400
  #
402
- # @option options [Boolean, String, nil] :expand_tabs (nil) expand tabs in log messages (`--expand-tabs`)
401
+ # @option options [Boolean, String, nil] :expand_tabs (nil) expand tabs in log messages (`--expand-tabs`)
403
402
  #
404
- # Pass `true` for `--expand-tabs` (width 8); pass an integer string like `"4"` for
405
- # `--expand-tabs=<n>`
403
+ # Pass `true` for `--expand-tabs` (width 8); pass an integer string like `"4"` for
404
+ # `--expand-tabs=<n>`
406
405
  #
407
- # @option options [Boolean, nil] :no_expand_tabs (nil) do not expand tabs in log messages (`--no-expand-tabs`)
406
+ # @option options [Boolean, nil] :no_expand_tabs (nil) do not expand tabs in log messages (`--no-expand-tabs`)
408
407
  #
409
- # @option options [Boolean, String, nil] :notes (nil) show notes annotating the commit (`--notes`)
408
+ # @option options [Boolean, String, nil] :notes (nil) show notes annotating the commit (`--notes`)
410
409
  #
411
- # Pass `true` for `--notes`; pass a ref string for `--notes=<ref>`
410
+ # Pass `true` for `--notes`; pass a ref string for `--notes=<ref>`
412
411
  #
413
- # @option options [Boolean, nil] :no_notes (nil) suppress notes output (`--no-notes`)
412
+ # @option options [Boolean, nil] :no_notes (nil) suppress notes output (`--no-notes`)
414
413
  #
415
- # @option options [Boolean, nil] :show_notes_by_default (nil) show the default notes unless
416
- # options for displaying specific notes are given
414
+ # @option options [Boolean, nil] :show_notes_by_default (nil) show the default notes unless
415
+ # options for displaying specific notes are given
417
416
  #
418
- # @option options [Boolean, nil] :show_signature (nil) verify a signed commit with
419
- # `gpg --verify`
417
+ # @option options [Boolean, nil] :show_signature (nil) verify a signed commit with
418
+ # `gpg --verify`
420
419
  #
421
- # @option options [Boolean, nil] :relative_date (nil) show dates relative to the current
422
- # time (synonym for `--date=relative`)
420
+ # @option options [Boolean, nil] :relative_date (nil) show dates relative to the current
421
+ # time (synonym for `--date=relative`)
423
422
  #
424
- # @option options [String] :date (nil) format for dates in human-readable output
423
+ # @option options [String] :date (nil) format for dates in human-readable output
425
424
  #
426
- # Examples: `'relative'`, `'iso'`, `'short'`, `'format:%Y-%m-%d'`
425
+ # Examples: `'relative'`, `'iso'`, `'short'`, `'format:%Y-%m-%d'`
427
426
  #
428
- # @option options [Boolean, nil] :parents (nil) print the parents of each commit and
429
- # enable parent rewriting
427
+ # @option options [Boolean, nil] :parents (nil) print the parents of each commit and
428
+ # enable parent rewriting
430
429
  #
431
- # @option options [Boolean, nil] :children (nil) print the children of each commit and
432
- # enable parent rewriting
430
+ # @option options [Boolean, nil] :children (nil) print the children of each commit and
431
+ # enable parent rewriting
433
432
  #
434
- # @option options [Boolean, nil] :left_right (nil) mark which side of a symmetric
435
- # difference a commit is reachable from (`<` for left, `>` for right)
433
+ # @option options [Boolean, nil] :left_right (nil) mark which side of a symmetric
434
+ # difference a commit is reachable from (`<` for left, `>` for right)
436
435
  #
437
- # @option options [Boolean, nil] :graph (nil) draw a text-based graphical representation
438
- # of the commit history on the left side of output; implies `--topo-order`
436
+ # @option options [Boolean, nil] :graph (nil) draw a text-based graphical representation
437
+ # of the commit history on the left side of output; implies `--topo-order`
439
438
  #
440
- # @option options [Boolean, String, nil] :show_linear_break (nil) put a barrier between
441
- # non-linear consecutive commits when `--graph` is not used
439
+ # @option options [Boolean, String, nil] :show_linear_break (nil) put a barrier between
440
+ # non-linear consecutive commits when `--graph` is not used
442
441
  #
443
- # Pass `true` for `--show-linear-break`; pass a string for a custom barrier text
442
+ # Pass `true` for `--show-linear-break`; pass a string for a custom barrier text
444
443
  #
445
- # @option options [Boolean, nil] :follow (nil) continue listing the history of a file
446
- # beyond renames; requires `:path` to be set to exactly one path element
444
+ # @option options [Boolean, nil] :follow (nil) continue listing the history of a file
445
+ # beyond renames; requires `:path` to be set to exactly one path element
447
446
  #
448
- # @option options [Boolean, String, nil] :decorate (nil) print ref names of commits shown (`--decorate`)
447
+ # @option options [Boolean, String, nil] :decorate (nil) print ref names of commits shown (`--decorate`)
449
448
  #
450
- # Pass `true` for `--decorate` (short format); pass a string such as `"full"` for
451
- # `--decorate=<format>`
449
+ # Pass `true` for `--decorate` (short format); pass a string such as `"full"` for
450
+ # `--decorate=<format>`
452
451
  #
453
- # @option options [Boolean, nil] :no_decorate (nil) do not print ref names (`--no-decorate`)
452
+ # @option options [Boolean, nil] :no_decorate (nil) do not print ref names (`--no-decorate`)
454
453
  #
455
- # @option options [String] :decorate_refs (nil) use only refs matching this pattern
456
- # for decorations
454
+ # @option options [String] :decorate_refs (nil) use only refs matching this pattern
455
+ # for decorations
457
456
  #
458
- # @option options [String] :decorate_refs_exclude (nil) do not use refs matching this
459
- # pattern for decorations
457
+ # @option options [String] :decorate_refs_exclude (nil) do not use refs matching this
458
+ # pattern for decorations
460
459
  #
461
- # @option options [Boolean, nil] :clear_decorations (nil) clear all previous
462
- # `--decorate-refs` / `--decorate-refs-exclude` options
460
+ # @option options [Boolean, nil] :clear_decorations (nil) clear all previous
461
+ # `--decorate-refs` / `--decorate-refs-exclude` options
463
462
  #
464
- # @option options [Boolean, nil] :source (nil) print the ref name by which each commit
465
- # was reached
463
+ # @option options [Boolean, nil] :source (nil) print the ref name by which each commit
464
+ # was reached
466
465
  #
467
- # @option options [Boolean, nil] :use_mailmap (nil) use the mailmap file to map author/
468
- # committer names and addresses to canonical real names (`--use-mailmap`)
466
+ # @option options [Boolean, nil] :use_mailmap (nil) use the mailmap file to map author/
467
+ # committer names and addresses to canonical real names (`--use-mailmap`)
469
468
  #
470
- # @option options [Boolean, nil] :no_use_mailmap (nil) disable mailmap substitution (`--no-use-mailmap`)
469
+ # @option options [Boolean, nil] :no_use_mailmap (nil) disable mailmap substitution (`--no-use-mailmap`)
471
470
  #
472
- # @option options [Boolean, nil] :full_diff (nil) show full diff for commits touching the
473
- # specified paths, not just the diff for those paths
471
+ # @option options [Boolean, nil] :full_diff (nil) show full diff for commits touching the
472
+ # specified paths, not just the diff for those paths
474
473
  #
475
- # @option options [Boolean, nil] :log_size (nil) include a `log size <n>` line for each
476
- # commit indicating the length of the commit message in bytes
474
+ # @option options [Boolean, nil] :log_size (nil) include a `log size <n>` line for each
475
+ # commit indicating the length of the commit message in bytes
477
476
  #
478
- # ### Diff Formatting
477
+ # ### Diff Formatting
479
478
  #
480
- # @option options [Boolean, nil] :patch (nil) generate patch output
479
+ # @option options [Boolean, nil] :patch (nil) generate patch output
481
480
  #
482
- # Alias: `:p`
481
+ # Alias: `:p`
483
482
  #
484
- # @option options [Boolean, nil] :no_patch (nil) suppress all diff output
483
+ # @option options [Boolean, nil] :no_patch (nil) suppress all diff output
485
484
  #
486
- # Alias: `:s`
485
+ # Alias: `:s`
487
486
  #
488
- # @option options [String] :diff_merges (nil) diff format for merge commits
487
+ # @option options [String] :diff_merges (nil) diff format for merge commits
489
488
  #
490
- # Values: `"off"`, `"on"`, `"first-parent"`, `"separate"`, `"combined"`,
491
- # `"dense-combined"`, `"remerge"`
489
+ # Values: `"off"`, `"on"`, `"first-parent"`, `"separate"`, `"combined"`,
490
+ # `"dense-combined"`, `"remerge"`
492
491
  #
493
- # @option options [Boolean, nil] :no_diff_merges (nil) disable diff output for merge
494
- # commits (synonym for `--diff-merges=off`)
492
+ # @option options [Boolean, nil] :no_diff_merges (nil) disable diff output for merge
493
+ # commits (synonym for `--diff-merges=off`)
495
494
  #
496
- # @option options [Boolean, nil] :combined_all_paths (nil) in combined diffs, list the
497
- # file name from all parents; only meaningful with `-c` or `--cc`
495
+ # @option options [Boolean, nil] :combined_all_paths (nil) in combined diffs, list the
496
+ # file name from all parents; only meaningful with `-c` or `--cc`
498
497
  #
499
- # @option options [Boolean, nil] :raw (nil) show a summary of changes using the raw diff
500
- # format for each commit
498
+ # @option options [Boolean, nil] :raw (nil) show a summary of changes using the raw diff
499
+ # format for each commit
501
500
  #
502
- # @option options [Boolean, String, nil] :stat (nil) generate a diffstat
501
+ # @option options [Boolean, String, nil] :stat (nil) generate a diffstat
503
502
  #
504
- # Pass `true` for `--stat`; pass a string such as `"80,40"` for
505
- # `--stat=<width>[,<name-width>[,<count>]]`
503
+ # Pass `true` for `--stat`; pass a string such as `"80,40"` for
504
+ # `--stat=<width>[,<name-width>[,<count>]]`
506
505
  #
507
- # @option options [Boolean, nil] :compact_summary (nil) output a condensed summary of
508
- # extended header information in diffstat; implies `--stat`
506
+ # @option options [Boolean, nil] :compact_summary (nil) output a condensed summary of
507
+ # extended header information in diffstat; implies `--stat`
509
508
  #
510
- # @option options [Boolean, nil] :numstat (nil) like `--stat` but shows numbers of added
511
- # and deleted lines in decimal notation without abbreviation
509
+ # @option options [Boolean, nil] :numstat (nil) like `--stat` but shows numbers of added
510
+ # and deleted lines in decimal notation without abbreviation
512
511
  #
513
- # @option options [Boolean, nil] :shortstat (nil) output only the last line of the
514
- # `--stat` format
512
+ # @option options [Boolean, nil] :shortstat (nil) output only the last line of the
513
+ # `--stat` format
515
514
  #
516
- # @option options [Boolean, String, nil] :dirstat (nil) output distribution of relative
517
- # amount of changes per sub-directory
515
+ # @option options [Boolean, String, nil] :dirstat (nil) output distribution of relative
516
+ # amount of changes per sub-directory
518
517
  #
519
- # Pass `true` for `--dirstat`; pass a parameter string such as `"files,10"` for
520
- # `--dirstat=<params>`
518
+ # Pass `true` for `--dirstat`; pass a parameter string such as `"files,10"` for
519
+ # `--dirstat=<params>`
521
520
  #
522
- # @option options [Boolean, nil] :summary (nil) output a condensed summary of extended
523
- # header information such as creations, renames, and mode changes
521
+ # @option options [Boolean, nil] :summary (nil) output a condensed summary of extended
522
+ # header information such as creations, renames, and mode changes
524
523
  #
525
- # @option options [Boolean, nil] :name_only (nil) show only the names of changed files
524
+ # @option options [Boolean, nil] :name_only (nil) show only the names of changed files
526
525
  #
527
- # @option options [Boolean, nil] :name_status (nil) show only the names and status of
528
- # changed files
526
+ # @option options [Boolean, nil] :name_status (nil) show only the names and status of
527
+ # changed files
529
528
  #
530
- # @option options [Boolean, String, nil] :submodule (nil) specify how differences in
531
- # submodules are shown
529
+ # @option options [Boolean, String, nil] :submodule (nil) specify how differences in
530
+ # submodules are shown
532
531
  #
533
- # Pass `true` for `--submodule` (log format); pass `"short"`, `"log"`, or `"diff"`
534
- # for `--submodule=<format>`
532
+ # Pass `true` for `--submodule` (log format); pass `"short"`, `"log"`, or `"diff"`
533
+ # for `--submodule=<format>`
535
534
  #
536
- # @option options [Boolean, String, nil] :color (nil) show colored diff output (`--color`)
535
+ # @option options [Boolean, String, nil] :color (nil) show colored diff output (`--color`)
537
536
  #
538
- # Pass `true` for `--color`; pass a string such as `"always"` for `--color=<when>`
537
+ # Pass `true` for `--color`; pass a string such as `"always"` for `--color=<when>`
539
538
  #
540
- # @option options [Boolean, nil] :no_color (nil) suppress colored diff output (`--no-color`)
539
+ # @option options [Boolean, nil] :no_color (nil) suppress colored diff output (`--no-color`)
541
540
  #
542
- # @option options [Boolean, nil] :full_index (nil) show the full pre- and post-image blob
543
- # object names on the index line of patch output
541
+ # @option options [Boolean, nil] :full_index (nil) show the full pre- and post-image blob
542
+ # object names on the index line of patch output
544
543
  #
545
- # @option options [Boolean, nil] :binary (nil) output a binary diff that can be applied
546
- # with `git apply`; implies `--patch`
544
+ # @option options [Boolean, nil] :binary (nil) output a binary diff that can be applied
545
+ # with `git apply`; implies `--patch`
547
546
  #
548
- # @option options [Boolean, String, nil] :abbrev (nil) show the shortest unique object
549
- # name prefix in diff-raw output
547
+ # @option options [Boolean, String, nil] :abbrev (nil) show the shortest unique object
548
+ # name prefix in diff-raw output
550
549
  #
551
- # Pass `true` for `--abbrev`; pass an integer string for `--abbrev=<n>`
550
+ # Pass `true` for `--abbrev`; pass an integer string for `--abbrev=<n>`
552
551
  #
553
- # @option options [String] :diff_filter (nil) select files by status letter
554
- # (e.g. `"AD"` for Added and Deleted)
552
+ # @option options [String] :diff_filter (nil) select files by status letter
553
+ # (e.g. `"AD"` for Added and Deleted)
555
554
  #
556
- # @option options [Boolean, String, nil] :find_renames (nil) detect renames
555
+ # @option options [Boolean, String, nil] :find_renames (nil) detect renames
557
556
  #
558
- # Pass `true` for `--find-renames`; pass a percentage threshold string such as
559
- # `"90"` for `--find-renames=<n>`
557
+ # Pass `true` for `--find-renames`; pass a percentage threshold string such as
558
+ # `"90"` for `--find-renames=<n>`
560
559
  #
561
- # @option options [Boolean, String, nil] :find_copies (nil) detect copies as well as
562
- # renames
560
+ # @option options [Boolean, String, nil] :find_copies (nil) detect copies as well as
561
+ # renames
563
562
  #
564
- # Pass `true` for `--find-copies`; pass a threshold string for `--find-copies=<n>`
563
+ # Pass `true` for `--find-copies`; pass a threshold string for `--find-copies=<n>`
565
564
  #
566
- # @option options [Boolean, nil] :find_copies_harder (nil) inspect unmodified files as
567
- # candidates for copy source; expensive for large projects
565
+ # @option options [Boolean, nil] :find_copies_harder (nil) inspect unmodified files as
566
+ # candidates for copy source; expensive for large projects
568
567
  #
569
- # @option options [Boolean, String, nil] :relative (nil) show pathnames relative to the
570
- # given subdirectory, or the current directory when run from a subdirectory (`--relative`)
568
+ # @option options [Boolean, String, nil] :relative (nil) show pathnames relative to the
569
+ # given subdirectory, or the current directory when run from a subdirectory (`--relative`)
571
570
  #
572
- # Pass `true` for `--relative`; pass a path string for `--relative=<path>`
571
+ # Pass `true` for `--relative`; pass a path string for `--relative=<path>`
573
572
  #
574
- # @option options [Boolean, nil] :no_relative (nil) show absolute pathnames (`--no-relative`)
573
+ # @option options [Boolean, nil] :no_relative (nil) show absolute pathnames (`--no-relative`)
575
574
  #
576
- # @option options [Boolean, nil] :text (nil) treat all files as text; alias `-a`
575
+ # @option options [Boolean, nil] :text (nil) treat all files as text; alias `-a`
577
576
  #
578
- # @option options [Boolean, nil] :ignore_space_at_eol (nil) ignore changes in whitespace
579
- # at end of line
577
+ # @option options [Boolean, nil] :ignore_space_at_eol (nil) ignore changes in whitespace
578
+ # at end of line
580
579
  #
581
- # @option options [Boolean, nil] :ignore_space_change (nil) ignore changes in amount of
582
- # whitespace; alias `-b`
580
+ # @option options [Boolean, nil] :ignore_space_change (nil) ignore changes in amount of
581
+ # whitespace; alias `-b`
583
582
  #
584
- # @option options [Boolean, nil] :ignore_all_space (nil) ignore whitespace when comparing
585
- # lines; alias `-w`
583
+ # @option options [Boolean, nil] :ignore_all_space (nil) ignore whitespace when comparing
584
+ # lines; alias `-w`
586
585
  #
587
- # @option options [Boolean, nil] :ignore_blank_lines (nil) ignore changes whose lines are
588
- # all blank
586
+ # @option options [Boolean, nil] :ignore_blank_lines (nil) ignore changes whose lines are
587
+ # all blank
589
588
  #
590
- # @option options [String] :ignore_matching_lines (nil) ignore changes whose all lines
591
- # match the given regular expression
589
+ # @option options [String] :ignore_matching_lines (nil) ignore changes whose all lines
590
+ # match the given regular expression
592
591
  #
593
- # @option options [Boolean, nil] :ext_diff (nil) allow external diff helpers (`--ext-diff`)
592
+ # @option options [Boolean, nil] :ext_diff (nil) allow external diff helpers (`--ext-diff`)
594
593
  #
595
- # @option options [Boolean, nil] :no_ext_diff (nil) disallow external diff helpers (`--no-ext-diff`)
594
+ # @option options [Boolean, nil] :no_ext_diff (nil) disallow external diff helpers (`--no-ext-diff`)
596
595
  #
597
- # @option options [Boolean, nil] :textconv (nil) allow external text conversion filters
598
- # when comparing binary files (`--textconv`)
596
+ # @option options [Boolean, nil] :textconv (nil) allow external text conversion filters
597
+ # when comparing binary files (`--textconv`)
599
598
  #
600
- # @option options [Boolean, nil] :no_textconv (nil) disallow external text conversion filters
601
- # (`--no-textconv`)
599
+ # @option options [Boolean, nil] :no_textconv (nil) disallow external text conversion filters
600
+ # (`--no-textconv`)
602
601
  #
603
- # @option options [Boolean, nil] :no_prefix (nil) do not show any source or destination
604
- # prefix
602
+ # @option options [Boolean, nil] :no_prefix (nil) do not show any source or destination
603
+ # prefix
605
604
  #
606
- # @option options [String] :src_prefix (nil) show the given source prefix instead of
607
- # `a/`
605
+ # @option options [String] :src_prefix (nil) show the given source prefix instead of
606
+ # `a/`
608
607
  #
609
- # @option options [String] :dst_prefix (nil) show the given destination prefix instead
610
- # of `b/`
608
+ # @option options [String] :dst_prefix (nil) show the given destination prefix instead
609
+ # of `b/`
611
610
  #
612
- # ### Paths
611
+ # ### Paths
613
612
  #
614
- # @option options [Array<String>] :path (nil) limit commits to those that affected the
615
- # given paths
613
+ # @option options [Array<String>] :path (nil) limit commits to those that affected the
614
+ # given paths
616
615
  #
617
- # ### Execution
616
+ # ### Execution
618
617
  #
619
- # @option options [Integer, Float] :timeout (nil) number of seconds to wait before the
620
- # command is aborted with a timeout error
618
+ # @option options [Integer, Float] :timeout (nil) number of seconds to wait before the
619
+ # command is aborted with a timeout error
621
620
  #
622
- # @return [Git::CommandLineResult] the result of calling `git log`
621
+ # @return [Git::CommandLine::Result] the result of calling `git log`
623
622
  #
624
- # @raise [ArgumentError] if unsupported options are provided
623
+ # @raise [ArgumentError] if unsupported options are provided
625
624
  #
626
- # @raise [Git::FailedError] if git exits with a non-zero exit status
625
+ # @raise [Git::FailedError] if git exits with a non-zero exit status
627
626
  #
628
627
  # @api public
629
628
  #
629
+ def call(*, **)
630
+ super
631
+ end
630
632
  end
631
633
  end
632
634
  end