git 4.4.1 → 5.0.0.beta.1
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.
- checksums.yaml +4 -4
- data/.github/copilot-instructions.md +67 -2705
- data/.github/pull_request_template.md +3 -1
- data/.github/skills/breaking-change-analysis/SKILL.md +102 -0
- data/.github/skills/ci-cd-troubleshooting/SKILL.md +264 -0
- data/.github/skills/command-implementation/REFERENCE.md +993 -0
- data/.github/skills/command-implementation/SKILL.md +229 -0
- data/.github/skills/command-test-conventions/SKILL.md +660 -0
- data/.github/skills/command-yard-documentation/SKILL.md +426 -0
- data/.github/skills/dependency-management/SKILL.md +72 -0
- data/.github/skills/development-workflow/SKILL.md +506 -0
- data/.github/skills/extract-command-from-lib/SKILL.md +487 -0
- data/.github/skills/extract-facade-from-base-lib/SKILL.md +586 -0
- data/.github/skills/facade-implementation/REFERENCE.md +840 -0
- data/.github/skills/facade-implementation/SKILL.md +260 -0
- data/.github/skills/facade-test-conventions/SKILL.md +380 -0
- data/.github/skills/facade-yard-documentation/SKILL.md +429 -0
- data/.github/skills/make-skill-template/SKILL.md +176 -0
- data/.github/skills/pr-readiness-review/SKILL.md +185 -0
- data/.github/skills/project-context/SKILL.md +313 -0
- data/.github/skills/pull-request-review/SKILL.md +168 -0
- data/.github/skills/refactor-command-to-commandlineresult/SKILL.md +131 -0
- data/.github/skills/release-management/SKILL.md +125 -0
- data/.github/skills/review-arguments-dsl/CHECKLIST.md +788 -0
- data/.github/skills/review-arguments-dsl/SKILL.md +214 -0
- data/.github/skills/review-backward-compatibility/SKILL.md +275 -0
- data/.github/skills/review-cross-command-consistency/SKILL.md +139 -0
- data/.github/skills/reviewing-skills/SKILL.md +189 -0
- data/.github/skills/rspec-unit-testing-standards/SKILL.md +639 -0
- data/.github/skills/tdd-refactor-step/SKILL.md +236 -0
- data/.github/skills/test-debugging/SKILL.md +160 -0
- data/.github/skills/yard-documentation/SKILL.md +793 -0
- data/.github/workflows/continuous_integration.yml +3 -67
- data/.github/workflows/enforce_conventional_commits.yml +1 -1
- data/.github/workflows/experimental_continuous_integration.yml +2 -2
- data/.github/workflows/release.yml +3 -4
- data/.gitignore +8 -0
- data/.husky/pre-commit +13 -0
- data/.release-please-manifest.json +1 -1
- data/.rspec +3 -0
- data/.rubocop.yml +7 -3
- data/.rubocop_todo.yml +23 -5
- data/.yardopts +1 -0
- data/CHANGELOG.md +0 -66
- data/CONTRIBUTING.md +694 -53
- data/README.md +17 -17
- data/Rakefile +61 -9
- data/commitlint.test +4 -0
- data/git.gemspec +14 -8
- data/lib/git/args_builder.rb +0 -8
- data/lib/git/base.rb +488 -412
- data/lib/git/branch.rb +117 -59
- data/lib/git/branch_delete_failure.rb +31 -0
- data/lib/git/branch_delete_result.rb +63 -0
- data/lib/git/branch_info.rb +178 -0
- data/lib/git/branches.rb +130 -24
- data/lib/git/command_line/base.rb +245 -0
- data/lib/git/command_line/capturing.rb +249 -0
- data/lib/git/command_line/result.rb +96 -0
- data/lib/git/command_line/streaming.rb +194 -0
- data/lib/git/command_line.rb +43 -322
- data/lib/git/command_line_result.rb +4 -88
- data/lib/git/commands/add.rb +131 -0
- data/lib/git/commands/am/abort.rb +43 -0
- data/lib/git/commands/am/apply.rb +252 -0
- data/lib/git/commands/am/continue.rb +43 -0
- data/lib/git/commands/am/quit.rb +43 -0
- data/lib/git/commands/am/retry.rb +47 -0
- data/lib/git/commands/am/show_current_patch.rb +64 -0
- data/lib/git/commands/am/skip.rb +42 -0
- data/lib/git/commands/am.rb +33 -0
- data/lib/git/commands/apply.rb +237 -0
- data/lib/git/commands/archive/list_formats.rb +46 -0
- data/lib/git/commands/archive.rb +140 -0
- data/lib/git/commands/arguments.rb +3510 -0
- data/lib/git/commands/base.rb +403 -0
- data/lib/git/commands/branch/copy.rb +94 -0
- data/lib/git/commands/branch/create.rb +173 -0
- data/lib/git/commands/branch/delete.rb +80 -0
- data/lib/git/commands/branch/list.rb +162 -0
- data/lib/git/commands/branch/move.rb +94 -0
- data/lib/git/commands/branch/set_upstream.rb +86 -0
- data/lib/git/commands/branch/show_current.rb +49 -0
- data/lib/git/commands/branch/unset_upstream.rb +57 -0
- data/lib/git/commands/branch.rb +34 -0
- data/lib/git/commands/cat_file/batch.rb +364 -0
- data/lib/git/commands/cat_file/filtered.rb +105 -0
- data/lib/git/commands/cat_file/raw.rb +210 -0
- data/lib/git/commands/cat_file.rb +49 -0
- data/lib/git/commands/checkout/branch.rb +151 -0
- data/lib/git/commands/checkout/files.rb +115 -0
- data/lib/git/commands/checkout.rb +38 -0
- data/lib/git/commands/checkout_index.rb +105 -0
- data/lib/git/commands/clean.rb +100 -0
- data/lib/git/commands/clone.rb +240 -0
- data/lib/git/commands/commit.rb +272 -0
- data/lib/git/commands/commit_tree.rb +100 -0
- data/lib/git/commands/config_option_syntax/add.rb +83 -0
- data/lib/git/commands/config_option_syntax/get.rb +117 -0
- data/lib/git/commands/config_option_syntax/get_all.rb +115 -0
- data/lib/git/commands/config_option_syntax/get_color.rb +91 -0
- data/lib/git/commands/config_option_syntax/get_color_bool.rb +93 -0
- data/lib/git/commands/config_option_syntax/get_regexp.rb +115 -0
- data/lib/git/commands/config_option_syntax/get_urlmatch.rb +102 -0
- data/lib/git/commands/config_option_syntax/list.rb +107 -0
- data/lib/git/commands/config_option_syntax/remove_section.rb +74 -0
- data/lib/git/commands/config_option_syntax/rename_section.rb +78 -0
- data/lib/git/commands/config_option_syntax/replace_all.rb +104 -0
- data/lib/git/commands/config_option_syntax/set.rb +114 -0
- data/lib/git/commands/config_option_syntax/unset.rb +89 -0
- data/lib/git/commands/config_option_syntax/unset_all.rb +89 -0
- data/lib/git/commands/config_option_syntax.rb +56 -0
- data/lib/git/commands/describe.rb +155 -0
- data/lib/git/commands/diff.rb +656 -0
- data/lib/git/commands/diff_files.rb +518 -0
- data/lib/git/commands/diff_index.rb +496 -0
- data/lib/git/commands/fetch.rb +352 -0
- data/lib/git/commands/fsck.rb +136 -0
- data/lib/git/commands/gc.rb +132 -0
- data/lib/git/commands/grep.rb +338 -0
- data/lib/git/commands/init.rb +99 -0
- data/lib/git/commands/log.rb +632 -0
- data/lib/git/commands/ls_files.rb +191 -0
- data/lib/git/commands/ls_remote.rb +155 -0
- data/lib/git/commands/ls_tree.rb +131 -0
- data/lib/git/commands/maintenance/register.rb +75 -0
- data/lib/git/commands/maintenance/run.rb +104 -0
- data/lib/git/commands/maintenance/start.rb +66 -0
- data/lib/git/commands/maintenance/stop.rb +55 -0
- data/lib/git/commands/maintenance/unregister.rb +79 -0
- data/lib/git/commands/maintenance.rb +31 -0
- data/lib/git/commands/merge/abort.rb +44 -0
- data/lib/git/commands/merge/continue.rb +44 -0
- data/lib/git/commands/merge/quit.rb +46 -0
- data/lib/git/commands/merge/start.rb +245 -0
- data/lib/git/commands/merge.rb +28 -0
- data/lib/git/commands/merge_base.rb +86 -0
- data/lib/git/commands/mv.rb +77 -0
- data/lib/git/commands/name_rev.rb +114 -0
- data/lib/git/commands/pull.rb +377 -0
- data/lib/git/commands/push.rb +246 -0
- data/lib/git/commands/read_tree.rb +149 -0
- data/lib/git/commands/remote/add.rb +91 -0
- data/lib/git/commands/remote/get_url.rb +66 -0
- data/lib/git/commands/remote/list.rb +54 -0
- data/lib/git/commands/remote/prune.rb +61 -0
- data/lib/git/commands/remote/remove.rb +52 -0
- data/lib/git/commands/remote/rename.rb +69 -0
- data/lib/git/commands/remote/set_branches.rb +63 -0
- data/lib/git/commands/remote/set_head.rb +82 -0
- data/lib/git/commands/remote/set_url.rb +71 -0
- data/lib/git/commands/remote/set_url_add.rb +61 -0
- data/lib/git/commands/remote/set_url_delete.rb +64 -0
- data/lib/git/commands/remote/show.rb +71 -0
- data/lib/git/commands/remote/update.rb +72 -0
- data/lib/git/commands/remote.rb +42 -0
- data/lib/git/commands/repack.rb +277 -0
- data/lib/git/commands/reset.rb +147 -0
- data/lib/git/commands/rev_parse.rb +297 -0
- data/lib/git/commands/revert/abort.rb +45 -0
- data/lib/git/commands/revert/continue.rb +57 -0
- data/lib/git/commands/revert/quit.rb +47 -0
- data/lib/git/commands/revert/skip.rb +44 -0
- data/lib/git/commands/revert/start.rb +153 -0
- data/lib/git/commands/revert.rb +29 -0
- data/lib/git/commands/rm.rb +114 -0
- data/lib/git/commands/show.rb +632 -0
- data/lib/git/commands/show_ref/exclude_existing.rb +120 -0
- data/lib/git/commands/show_ref/exists.rb +78 -0
- data/lib/git/commands/show_ref/list.rb +145 -0
- data/lib/git/commands/show_ref/verify.rb +120 -0
- data/lib/git/commands/show_ref.rb +42 -0
- data/lib/git/commands/stash/apply.rb +75 -0
- data/lib/git/commands/stash/branch.rb +65 -0
- data/lib/git/commands/stash/clear.rb +41 -0
- data/lib/git/commands/stash/create.rb +58 -0
- data/lib/git/commands/stash/drop.rb +67 -0
- data/lib/git/commands/stash/list.rb +39 -0
- data/lib/git/commands/stash/pop.rb +78 -0
- data/lib/git/commands/stash/push.rb +103 -0
- data/lib/git/commands/stash/show.rb +149 -0
- data/lib/git/commands/stash/store.rb +63 -0
- data/lib/git/commands/stash.rb +38 -0
- data/lib/git/commands/status.rb +169 -0
- data/lib/git/commands/symbolic_ref/delete.rb +68 -0
- data/lib/git/commands/symbolic_ref/read.rb +95 -0
- data/lib/git/commands/symbolic_ref/update.rb +76 -0
- data/lib/git/commands/symbolic_ref.rb +38 -0
- data/lib/git/commands/tag/create.rb +139 -0
- data/lib/git/commands/tag/delete.rb +55 -0
- data/lib/git/commands/tag/list.rb +143 -0
- data/lib/git/commands/tag/verify.rb +71 -0
- data/lib/git/commands/tag.rb +26 -0
- data/lib/git/commands/update_ref/batch.rb +140 -0
- data/lib/git/commands/update_ref/delete.rb +92 -0
- data/lib/git/commands/update_ref/update.rb +106 -0
- data/lib/git/commands/update_ref.rb +42 -0
- data/lib/git/commands/version.rb +52 -0
- data/lib/git/commands/worktree/add.rb +140 -0
- data/lib/git/commands/worktree/list.rb +64 -0
- data/lib/git/commands/worktree/lock.rb +58 -0
- data/lib/git/commands/worktree/management_base.rb +51 -0
- data/lib/git/commands/worktree/move.rb +66 -0
- data/lib/git/commands/worktree/prune.rb +67 -0
- data/lib/git/commands/worktree/remove.rb +63 -0
- data/lib/git/commands/worktree/repair.rb +76 -0
- data/lib/git/commands/worktree/unlock.rb +47 -0
- data/lib/git/commands/worktree.rb +43 -0
- data/lib/git/commands/write_tree.rb +68 -0
- data/lib/git/commands.rb +89 -0
- data/lib/git/detached_head_info.rb +54 -0
- data/lib/git/diff.rb +297 -7
- data/lib/git/diff_file_numstat_info.rb +29 -0
- data/lib/git/diff_file_patch_info.rb +134 -0
- data/lib/git/diff_file_raw_info.rb +127 -0
- data/lib/git/diff_info.rb +169 -0
- data/lib/git/diff_path_status.rb +78 -19
- data/lib/git/diff_result.rb +32 -0
- data/lib/git/diff_stats.rb +59 -14
- data/lib/git/dirstat_info.rb +86 -0
- data/lib/git/errors.rb +65 -2
- data/lib/git/execution_context/global.rb +56 -0
- data/lib/git/execution_context/repository.rb +147 -0
- data/lib/git/execution_context.rb +482 -0
- data/lib/git/file_ref.rb +74 -0
- data/lib/git/fsck_object.rb +9 -9
- data/lib/git/fsck_result.rb +1 -1
- data/lib/git/lib.rb +1606 -1085
- data/lib/git/log.rb +15 -2
- data/lib/git/object.rb +92 -22
- data/lib/git/parsers/branch.rb +224 -0
- data/lib/git/parsers/cat_file.rb +111 -0
- data/lib/git/parsers/diff.rb +585 -0
- data/lib/git/parsers/fsck.rb +133 -0
- data/lib/git/parsers/grep.rb +42 -0
- data/lib/git/parsers/ls_tree.rb +58 -0
- data/lib/git/parsers/stash.rb +208 -0
- data/lib/git/parsers/tag.rb +257 -0
- data/lib/git/remote.rb +133 -9
- data/lib/git/repository/branching.rb +572 -0
- data/lib/git/repository/committing.rb +191 -0
- data/lib/git/repository/configuring.rb +156 -0
- data/lib/git/repository/diffing.rb +775 -0
- data/lib/git/repository/inspecting.rb +153 -0
- data/lib/git/repository/logging.rb +247 -0
- data/lib/git/repository/merging.rb +295 -0
- data/lib/git/repository/object_operations.rb +1101 -0
- data/lib/git/repository/path_resolver.rb +207 -0
- data/lib/git/repository/remote_operations.rb +753 -0
- data/lib/git/repository/shared_private.rb +51 -0
- data/lib/git/repository/staging.rb +390 -0
- data/lib/git/repository/stashing.rb +107 -0
- data/lib/git/repository/status_operations.rb +180 -0
- data/lib/git/repository/worktree_operations.rb +159 -0
- data/lib/git/repository.rb +264 -1
- data/lib/git/stash.rb +85 -4
- data/lib/git/stash_info.rb +104 -0
- data/lib/git/stashes.rb +130 -13
- data/lib/git/status.rb +226 -18
- data/lib/git/tag_delete_failure.rb +31 -0
- data/lib/git/tag_delete_result.rb +63 -0
- data/lib/git/tag_info.rb +105 -0
- data/lib/git/version.rb +109 -2
- data/lib/git/version_constraint.rb +81 -0
- data/lib/git/worktree.rb +120 -5
- data/lib/git/worktrees.rb +107 -7
- data/lib/git.rb +117 -56
- data/redesign/1_architecture_existing.md +54 -18
- data/redesign/2_architecture_redesign.md +365 -46
- data/redesign/3_architecture_implementation.md +1451 -54
- data/tasks/gem_tasks.rake +4 -0
- data/tasks/npm_tasks.rake +7 -0
- data/tasks/rspec.rake +48 -0
- data/tasks/test.rake +13 -1
- data/tasks/yard.rake +34 -7
- metadata +349 -20
- data/lib/git/index.rb +0 -6
- data/lib/git/path.rb +0 -38
- data/lib/git/working_directory.rb +0 -6
- /data/{release-please-config.json → .release-please-config.json} +0 -0
|
@@ -1,92 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
# The result of running a git command
|
|
5
|
-
#
|
|
6
|
-
# This object stores the Git command executed and its status, stdout, and stderr.
|
|
7
|
-
#
|
|
8
|
-
# @api public
|
|
9
|
-
#
|
|
10
|
-
class CommandLineResult
|
|
11
|
-
# Create a CommandLineResult object
|
|
12
|
-
#
|
|
13
|
-
# @example
|
|
14
|
-
# `true`
|
|
15
|
-
# git_cmd = %w[git version]
|
|
16
|
-
# status = $?
|
|
17
|
-
# stdout = "git version 2.39.1\n"
|
|
18
|
-
# stderr = ""
|
|
19
|
-
# result = Git::CommandLineResult.new(git_cmd, status, stdout, stderr)
|
|
20
|
-
#
|
|
21
|
-
# @param git_cmd [Array<String>] the git command that was executed
|
|
22
|
-
# @param status [ProcessExecuter::ResultWithCapture] the status of the process
|
|
23
|
-
# @param stdout [String] the processed stdout of the process
|
|
24
|
-
# @param stderr [String] the processed stderr of the process
|
|
25
|
-
#
|
|
26
|
-
def initialize(git_cmd, status, stdout, stderr)
|
|
27
|
-
@git_cmd = git_cmd
|
|
28
|
-
@status = status
|
|
29
|
-
@stdout = stdout
|
|
30
|
-
@stderr = stderr
|
|
31
|
-
|
|
32
|
-
# ProcessExecuter::ResultWithCapture changed the timeout? method to timed_out?
|
|
33
|
-
# in version 4.x. This is a compatibility layer to maintain the old method name
|
|
34
|
-
# for backward compatibility.
|
|
35
|
-
#
|
|
36
|
-
status.define_singleton_method(:timeout?) { timed_out? }
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
# @attribute [r] git_cmd
|
|
40
|
-
#
|
|
41
|
-
# The git command that was executed
|
|
42
|
-
#
|
|
43
|
-
# @example
|
|
44
|
-
# git_cmd = %w[git version]
|
|
45
|
-
# result = Git::CommandLineResult.new(git_cmd, $?, "", "")
|
|
46
|
-
# result.git_cmd #=> ["git", "version"]
|
|
47
|
-
#
|
|
48
|
-
# @return [Array<String>]
|
|
49
|
-
#
|
|
50
|
-
attr_reader :git_cmd
|
|
3
|
+
require 'git/command_line/result'
|
|
51
4
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
#
|
|
56
|
-
# @example
|
|
57
|
-
# `true`
|
|
58
|
-
# status = $?
|
|
59
|
-
# result = Git::CommandLineResult.new(status, "", "")
|
|
60
|
-
# result.status #=> #<Process::Status: pid 87859 exit 0>
|
|
61
|
-
#
|
|
62
|
-
# @return [Process::Status]
|
|
63
|
-
#
|
|
64
|
-
attr_reader :status
|
|
65
|
-
|
|
66
|
-
# @attribute [r] stdout
|
|
67
|
-
#
|
|
68
|
-
# The output of the process
|
|
69
|
-
#
|
|
70
|
-
# @example
|
|
71
|
-
# stdout = "git version 2.39.1\n"
|
|
72
|
-
# result = Git::CommandLineResult.new($?, stdout, "")
|
|
73
|
-
# result.stdout #=> "git version 2.39.1\n"
|
|
74
|
-
#
|
|
75
|
-
# @return [String]
|
|
76
|
-
#
|
|
77
|
-
attr_reader :stdout
|
|
78
|
-
|
|
79
|
-
# @attribute [r] stderr
|
|
80
|
-
#
|
|
81
|
-
# The error output of the process
|
|
82
|
-
#
|
|
83
|
-
# @example
|
|
84
|
-
# stderr = "Tag not found\n"
|
|
85
|
-
# result = Git::CommandLineResult.new($?, "", stderr)
|
|
86
|
-
# result.stderr #=> "Tag not found\n"
|
|
87
|
-
#
|
|
88
|
-
# @return [String]
|
|
89
|
-
#
|
|
90
|
-
attr_reader :stderr
|
|
91
|
-
end
|
|
5
|
+
module Git
|
|
6
|
+
# Backward-compatible alias for {Git::CommandLine::Result}
|
|
7
|
+
CommandLineResult = Git::CommandLine::Result
|
|
92
8
|
end
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'git/commands/base'
|
|
4
|
+
|
|
5
|
+
module Git
|
|
6
|
+
module Commands
|
|
7
|
+
# Implements the `git add` command
|
|
8
|
+
#
|
|
9
|
+
# This command updates the index using the current content found in the working tree,
|
|
10
|
+
# to prepare the content staged for the next commit.
|
|
11
|
+
#
|
|
12
|
+
# @note `arguments` block audited against https://git-scm.com/docs/git-add/2.53.0
|
|
13
|
+
#
|
|
14
|
+
# @see https://git-scm.com/docs/git-add git-add
|
|
15
|
+
#
|
|
16
|
+
# @see Git::Commands
|
|
17
|
+
#
|
|
18
|
+
# @api private
|
|
19
|
+
#
|
|
20
|
+
# @example Basic usage
|
|
21
|
+
# add = Git::Commands::Add.new(execution_context)
|
|
22
|
+
# add.call('path/to/file')
|
|
23
|
+
# add.call('file1.rb', 'file2.rb')
|
|
24
|
+
# add.call(all: true)
|
|
25
|
+
#
|
|
26
|
+
class Add < Git::Commands::Base
|
|
27
|
+
arguments do
|
|
28
|
+
literal 'add'
|
|
29
|
+
flag_option %i[verbose v]
|
|
30
|
+
flag_option %i[dry_run n]
|
|
31
|
+
flag_option %i[force f]
|
|
32
|
+
flag_option %i[all A], negatable: true
|
|
33
|
+
flag_option :ignore_removal, negatable: true
|
|
34
|
+
flag_option %i[update u]
|
|
35
|
+
flag_option :sparse
|
|
36
|
+
flag_option %i[intent_to_add N]
|
|
37
|
+
flag_option :refresh
|
|
38
|
+
flag_option :ignore_errors
|
|
39
|
+
flag_option :ignore_missing
|
|
40
|
+
flag_option :renormalize
|
|
41
|
+
flag_option :no_warn_embedded_repo
|
|
42
|
+
value_option :chmod, inline: true
|
|
43
|
+
value_option :pathspec_from_file, inline: true
|
|
44
|
+
flag_option :pathspec_file_nul
|
|
45
|
+
end_of_options
|
|
46
|
+
operand :pathspec, repeatable: true
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @!method call(*, **)
|
|
50
|
+
#
|
|
51
|
+
# @overload call(*pathspec, **options)
|
|
52
|
+
#
|
|
53
|
+
# Execute the `git add` command
|
|
54
|
+
#
|
|
55
|
+
# @param pathspec [Array<String>] files to be added to the repository
|
|
56
|
+
# (relative to the worktree root)
|
|
57
|
+
#
|
|
58
|
+
# @param options [Hash] command options
|
|
59
|
+
#
|
|
60
|
+
# @option options [Boolean, nil] :verbose (nil) be verbose
|
|
61
|
+
#
|
|
62
|
+
# Alias: :v
|
|
63
|
+
#
|
|
64
|
+
# @option options [Boolean, nil] :dry_run (nil) don't actually add files; show what would be added
|
|
65
|
+
#
|
|
66
|
+
# Alias: :n
|
|
67
|
+
#
|
|
68
|
+
# @option options [Boolean, nil] :force (nil) allow adding otherwise ignored files
|
|
69
|
+
#
|
|
70
|
+
# Alias: :f
|
|
71
|
+
#
|
|
72
|
+
# @option options [Boolean, nil] :all (nil) add, modify, and remove index entries to
|
|
73
|
+
# match the worktree (--all)
|
|
74
|
+
#
|
|
75
|
+
# Alias: :A
|
|
76
|
+
#
|
|
77
|
+
# @option options [Boolean, nil] :no_all (nil) add and modify index entries without staging
|
|
78
|
+
# removals (--no-all)
|
|
79
|
+
#
|
|
80
|
+
# @option options [Boolean, nil] :ignore_removal (nil) add and modify files; ignore removals
|
|
81
|
+
# (--ignore-removal)
|
|
82
|
+
#
|
|
83
|
+
# @option options [Boolean, nil] :no_ignore_removal (nil) include file removals (--no-ignore-removal)
|
|
84
|
+
#
|
|
85
|
+
# @option options [Boolean, nil] :update (nil) update tracked files only; does not add new files
|
|
86
|
+
#
|
|
87
|
+
# Alias: :u
|
|
88
|
+
#
|
|
89
|
+
# @option options [Boolean, nil] :sparse (nil) allow updating index entries outside the
|
|
90
|
+
# sparse-checkout cone
|
|
91
|
+
#
|
|
92
|
+
# @option options [Boolean, nil] :intent_to_add (nil) record that the path will be added later,
|
|
93
|
+
# placing an empty entry in the index
|
|
94
|
+
#
|
|
95
|
+
# Alias: :N
|
|
96
|
+
#
|
|
97
|
+
# @option options [Boolean, nil] :refresh (nil) refresh stat() information in the index without
|
|
98
|
+
# adding files
|
|
99
|
+
#
|
|
100
|
+
# @option options [Boolean, nil] :ignore_errors (nil) continue adding other files if some files
|
|
101
|
+
# cannot be added due to indexing errors
|
|
102
|
+
#
|
|
103
|
+
# @option options [Boolean, nil] :ignore_missing (nil) check whether any given files would be
|
|
104
|
+
# ignored
|
|
105
|
+
#
|
|
106
|
+
# @option options [Boolean, nil] :renormalize (nil) apply the "clean" process freshly to all tracked
|
|
107
|
+
# files to forcibly re-add them with correct line endings
|
|
108
|
+
#
|
|
109
|
+
# @option options [Boolean, nil] :no_warn_embedded_repo (nil) suppress warning when adding an
|
|
110
|
+
# embedded repository without using `git submodule add`
|
|
111
|
+
#
|
|
112
|
+
# @option options [String] :chmod (nil) override the executable bit of added files in the index
|
|
113
|
+
#
|
|
114
|
+
# Value must be `'+x'` or `'-x'`
|
|
115
|
+
#
|
|
116
|
+
# @option options [String] :pathspec_from_file (nil) read pathspec from the given file
|
|
117
|
+
# (use `'-'` for stdin)
|
|
118
|
+
#
|
|
119
|
+
# @option options [Boolean, nil] :pathspec_file_nul (nil) separate pathspec elements with NUL
|
|
120
|
+
# when reading from a file
|
|
121
|
+
#
|
|
122
|
+
# @return [Git::CommandLineResult] the result of calling `git add`
|
|
123
|
+
#
|
|
124
|
+
# @raise [ArgumentError] if unsupported options are provided
|
|
125
|
+
#
|
|
126
|
+
# @raise [Git::FailedError] if git exits with a non-zero exit status
|
|
127
|
+
#
|
|
128
|
+
# @api public
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'git/commands/base'
|
|
4
|
+
|
|
5
|
+
module Git
|
|
6
|
+
module Commands
|
|
7
|
+
module Am
|
|
8
|
+
# Implements `git am --abort` to abort an in-progress am session
|
|
9
|
+
#
|
|
10
|
+
# Aborts the in-progress patch application and restores the branch to
|
|
11
|
+
# the state it was in before the `git am` session started.
|
|
12
|
+
#
|
|
13
|
+
# @example Abort an am session
|
|
14
|
+
# abort_cmd = Git::Commands::Am::Abort.new(execution_context)
|
|
15
|
+
# abort_cmd.call
|
|
16
|
+
#
|
|
17
|
+
# @note `arguments` block audited against https://git-scm.com/docs/git-am/2.53.0
|
|
18
|
+
#
|
|
19
|
+
# @see Git::Commands::Am
|
|
20
|
+
#
|
|
21
|
+
# @see https://git-scm.com/docs/git-am git-am
|
|
22
|
+
#
|
|
23
|
+
# @api private
|
|
24
|
+
#
|
|
25
|
+
class Abort < Git::Commands::Base
|
|
26
|
+
arguments do
|
|
27
|
+
literal 'am'
|
|
28
|
+
literal '--abort'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @!method call(*, **)
|
|
32
|
+
#
|
|
33
|
+
# @overload call()
|
|
34
|
+
#
|
|
35
|
+
# Abort the in-progress am session and restore the branch
|
|
36
|
+
#
|
|
37
|
+
# @return [Git::CommandLineResult] the result of calling `git am --abort`
|
|
38
|
+
#
|
|
39
|
+
# @raise [Git::FailedError] if git exits with a non-zero exit status
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'git/commands/base'
|
|
4
|
+
|
|
5
|
+
module Git
|
|
6
|
+
module Commands
|
|
7
|
+
module Am
|
|
8
|
+
# Implements `git am` to apply a series of patches from a mailbox
|
|
9
|
+
#
|
|
10
|
+
# Splits mail messages in a mailbox into commit log messages, authorship
|
|
11
|
+
# information, and patches, and applies them to the current branch.
|
|
12
|
+
#
|
|
13
|
+
# @example Apply patches from a mailbox file
|
|
14
|
+
# am = Git::Commands::Am::Apply.new(execution_context)
|
|
15
|
+
# am.call('patches.mbox', chdir: repo.workdir)
|
|
16
|
+
#
|
|
17
|
+
# @example Apply patches with sign-off
|
|
18
|
+
# am.call('patches.mbox', signoff: true, chdir: repo.workdir)
|
|
19
|
+
#
|
|
20
|
+
# @example Apply with 3-way merge fallback
|
|
21
|
+
# am.call('patches.mbox', three_way: true, chdir: repo.workdir)
|
|
22
|
+
#
|
|
23
|
+
# @note `arguments` block audited against https://git-scm.com/docs/git-am/2.53.0
|
|
24
|
+
#
|
|
25
|
+
# @see https://git-scm.com/docs/git-am git-am
|
|
26
|
+
#
|
|
27
|
+
# @api private
|
|
28
|
+
#
|
|
29
|
+
class Apply < Git::Commands::Base
|
|
30
|
+
arguments do
|
|
31
|
+
literal 'am'
|
|
32
|
+
|
|
33
|
+
# Commit message / mailinfo options
|
|
34
|
+
flag_option %i[signoff s]
|
|
35
|
+
flag_option %i[keep k]
|
|
36
|
+
flag_option :keep_non_patch
|
|
37
|
+
flag_option :keep_cr, negatable: true
|
|
38
|
+
flag_option %i[scissors c], negatable: true
|
|
39
|
+
value_option :quoted_cr
|
|
40
|
+
value_option :empty
|
|
41
|
+
flag_option %i[message_id m], negatable: true
|
|
42
|
+
|
|
43
|
+
# Output
|
|
44
|
+
flag_option %i[quiet q]
|
|
45
|
+
|
|
46
|
+
# Encoding
|
|
47
|
+
flag_option %i[utf8 u], negatable: true
|
|
48
|
+
|
|
49
|
+
# Application strategy
|
|
50
|
+
flag_option :three_way, as: '--3way', negatable: true
|
|
51
|
+
flag_option :rerere_autoupdate, negatable: true
|
|
52
|
+
|
|
53
|
+
# Whitespace and patch application options (passed to git-apply)
|
|
54
|
+
flag_option :ignore_space_change
|
|
55
|
+
flag_option :ignore_whitespace
|
|
56
|
+
value_option :whitespace
|
|
57
|
+
value_option :C, inline: true
|
|
58
|
+
value_option :p, inline: true
|
|
59
|
+
value_option :directory
|
|
60
|
+
value_option :exclude, repeatable: true
|
|
61
|
+
value_option :include, repeatable: true
|
|
62
|
+
flag_option :reject
|
|
63
|
+
|
|
64
|
+
# Patch format
|
|
65
|
+
value_option :patch_format
|
|
66
|
+
|
|
67
|
+
# Interactive mode
|
|
68
|
+
flag_option %i[interactive i]
|
|
69
|
+
|
|
70
|
+
# Hook verification
|
|
71
|
+
flag_option :verify, negatable: true
|
|
72
|
+
|
|
73
|
+
# Date handling
|
|
74
|
+
flag_option :committer_date_is_author_date
|
|
75
|
+
flag_option :ignore_date
|
|
76
|
+
|
|
77
|
+
# GPG signing
|
|
78
|
+
flag_or_value_option %i[gpg_sign S], inline: true, negatable: true
|
|
79
|
+
|
|
80
|
+
# Execution
|
|
81
|
+
execution_option :chdir
|
|
82
|
+
|
|
83
|
+
end_of_options
|
|
84
|
+
operand :mbox, repeatable: true
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# @!method call(*, **)
|
|
88
|
+
#
|
|
89
|
+
# @overload call(*mbox, **options)
|
|
90
|
+
#
|
|
91
|
+
# Apply patches from one or more mailbox files to the current branch.
|
|
92
|
+
#
|
|
93
|
+
# @param mbox [Array<String>] zero or more mailbox file paths or Maildir
|
|
94
|
+
# directories
|
|
95
|
+
#
|
|
96
|
+
# If omitted, reads from standard input.
|
|
97
|
+
#
|
|
98
|
+
# @param options [Hash] command options
|
|
99
|
+
#
|
|
100
|
+
# @option options [Boolean, nil] :signoff (nil) add Signed-off-by trailer
|
|
101
|
+
#
|
|
102
|
+
# Alias: `:s`
|
|
103
|
+
#
|
|
104
|
+
# @option options [Boolean, nil] :keep (nil) pass -k flag to git-mailinfo,
|
|
105
|
+
# preserving the Subject line intact
|
|
106
|
+
#
|
|
107
|
+
# Alias: `:k`
|
|
108
|
+
#
|
|
109
|
+
# @option options [Boolean, nil] :keep_non_patch (nil) pass -b flag to
|
|
110
|
+
# git-mailinfo
|
|
111
|
+
#
|
|
112
|
+
# @option options [Boolean, nil] :keep_cr (nil) retain CR at end of lines (`--keep-cr`)
|
|
113
|
+
#
|
|
114
|
+
# @option options [Boolean, nil] :no_keep_cr (nil) strip CR at end of lines (`--no-keep-cr`)
|
|
115
|
+
#
|
|
116
|
+
# @option options [Boolean, nil] :scissors (nil) remove everything in the
|
|
117
|
+
# body before a scissors line (`--scissors`)
|
|
118
|
+
#
|
|
119
|
+
# Alias: `:c`
|
|
120
|
+
#
|
|
121
|
+
# @option options [Boolean, nil] :no_scissors (nil) disable scissors mode (`--no-scissors`)
|
|
122
|
+
#
|
|
123
|
+
# @option options [String] :quoted_cr (nil) how to handle CR in quoted
|
|
124
|
+
# text passed to git-mailinfo
|
|
125
|
+
#
|
|
126
|
+
# Valid actions: `'nowarn'`, `'warn'`, `'error'`.
|
|
127
|
+
#
|
|
128
|
+
# @option options [String] :empty (nil) how to handle an e-mail message
|
|
129
|
+
# lacking a patch
|
|
130
|
+
#
|
|
131
|
+
# Valid values: `'stop'` (fail, default), `'drop'` (skip the message),
|
|
132
|
+
# `'keep'` (create an empty commit).
|
|
133
|
+
#
|
|
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`)
|
|
136
|
+
#
|
|
137
|
+
# Alias: `:m`
|
|
138
|
+
#
|
|
139
|
+
# @option options [Boolean, nil] :no_message_id (nil) do not add the Message-ID header (`--no-message-id`)
|
|
140
|
+
#
|
|
141
|
+
# @option options [Boolean, nil] :quiet (nil) be quiet; only print error
|
|
142
|
+
# messages
|
|
143
|
+
#
|
|
144
|
+
# Alias: `:q`
|
|
145
|
+
#
|
|
146
|
+
# @option options [Boolean, nil] :utf8 (nil) re-code the commit log message
|
|
147
|
+
# in UTF-8 (`--utf8`)
|
|
148
|
+
#
|
|
149
|
+
# Alias: `:u`
|
|
150
|
+
#
|
|
151
|
+
# @option options [Boolean, nil] :no_utf8 (nil) do not re-code the commit log message (`--no-utf8`)
|
|
152
|
+
#
|
|
153
|
+
# @option options [Boolean, nil] :three_way (nil) attempt 3-way merge when
|
|
154
|
+
# context does not match (`--3way`)
|
|
155
|
+
#
|
|
156
|
+
# @option options [Boolean, nil] :no_three_way (nil) disable 3-way merge fallback (`--no-3way`)
|
|
157
|
+
#
|
|
158
|
+
# @option options [Boolean, nil] :rerere_autoupdate (nil) allow rerere to
|
|
159
|
+
# update the index with auto-resolved conflicts (`--rerere-autoupdate`)
|
|
160
|
+
#
|
|
161
|
+
# @option options [Boolean, nil] :no_rerere_autoupdate (nil) prevent rerere from
|
|
162
|
+
# auto-updating the index (`--no-rerere-autoupdate`)
|
|
163
|
+
#
|
|
164
|
+
# @option options [Boolean, nil] :ignore_space_change (nil) ignore whitespace
|
|
165
|
+
# changes when applying (passed to git-apply)
|
|
166
|
+
#
|
|
167
|
+
# @option options [Boolean, nil] :ignore_whitespace (nil) ignore whitespace
|
|
168
|
+
# when applying (passed to git-apply)
|
|
169
|
+
#
|
|
170
|
+
# @option options [String] :whitespace (nil) whitespace error handling
|
|
171
|
+
# (e.g., `'nowarn'`, `'warn'`, `'fix'`, `'error'`)
|
|
172
|
+
#
|
|
173
|
+
# Passed to git-apply.
|
|
174
|
+
#
|
|
175
|
+
# @option options [Integer] :C (nil) ensure at least `<n>` lines of
|
|
176
|
+
# surrounding context match when applying (`-C<n>`)
|
|
177
|
+
#
|
|
178
|
+
# Passed to git-apply.
|
|
179
|
+
#
|
|
180
|
+
# @option options [Integer] :p (nil) strip `<n>` leading path components
|
|
181
|
+
# from file names (`-p<n>`)
|
|
182
|
+
#
|
|
183
|
+
# Passed to git-apply.
|
|
184
|
+
#
|
|
185
|
+
# @option options [String] :directory (nil) prepend `<dir>` to all
|
|
186
|
+
# filenames
|
|
187
|
+
#
|
|
188
|
+
# Passed to git-apply.
|
|
189
|
+
#
|
|
190
|
+
# @option options [Array<String>] :exclude (nil) skip files matching the
|
|
191
|
+
# given path pattern
|
|
192
|
+
#
|
|
193
|
+
# May be repeated. Passed to git-apply.
|
|
194
|
+
#
|
|
195
|
+
# @option options [Array<String>] :include (nil) apply only to files
|
|
196
|
+
# matching the given path pattern
|
|
197
|
+
#
|
|
198
|
+
# May be repeated. Passed to git-apply.
|
|
199
|
+
#
|
|
200
|
+
# @option options [Boolean, nil] :reject (nil) leave rejected hunks in
|
|
201
|
+
# `*.rej` files instead of aborting
|
|
202
|
+
#
|
|
203
|
+
# Passed to git-apply.
|
|
204
|
+
#
|
|
205
|
+
# @option options [String] :patch_format (nil) override patch format
|
|
206
|
+
# detection
|
|
207
|
+
#
|
|
208
|
+
# Valid formats: `'mbox'`, `'mboxrd'`, `'stgit'`, `'stgit-series'`,
|
|
209
|
+
# `'hg'`.
|
|
210
|
+
#
|
|
211
|
+
# @option options [Boolean, nil] :interactive (nil) run interactively,
|
|
212
|
+
# prompting before each patch is applied
|
|
213
|
+
#
|
|
214
|
+
# Alias: `:i`
|
|
215
|
+
#
|
|
216
|
+
# @option options [Boolean, nil] :verify (nil) run pre-applypatch and
|
|
217
|
+
# applypatch-msg hooks (`--verify`)
|
|
218
|
+
#
|
|
219
|
+
# Hooks are run by default when this option is omitted.
|
|
220
|
+
#
|
|
221
|
+
# @option options [Boolean, nil] :no_verify (nil) bypass pre-applypatch and
|
|
222
|
+
# applypatch-msg hooks (`--no-verify`)
|
|
223
|
+
#
|
|
224
|
+
# @option options [Boolean, nil] :committer_date_is_author_date (nil) use the
|
|
225
|
+
# author date as the committer date
|
|
226
|
+
#
|
|
227
|
+
# @option options [Boolean, nil] :ignore_date (nil) use the committer date as
|
|
228
|
+
# the author date
|
|
229
|
+
#
|
|
230
|
+
# @option options [Boolean, String, nil] :gpg_sign (nil) sign commits using
|
|
231
|
+
# GPG (`--gpg-sign`)
|
|
232
|
+
#
|
|
233
|
+
# Pass a key-ID string to select the signing key; pass `true` to use
|
|
234
|
+
# the committer identity. Alias: `:S`
|
|
235
|
+
#
|
|
236
|
+
# @option options [Boolean, nil] :no_gpg_sign (nil) countermand commit.gpgSign
|
|
237
|
+
# configuration (`--no-gpg-sign`)
|
|
238
|
+
#
|
|
239
|
+
# @option options [String] :chdir (nil) change to this directory before
|
|
240
|
+
# running git
|
|
241
|
+
#
|
|
242
|
+
# Not passed to the git CLI.
|
|
243
|
+
#
|
|
244
|
+
# @return [Git::CommandLineResult] the result of calling `git am`
|
|
245
|
+
#
|
|
246
|
+
# @raise [ArgumentError] if unsupported options are provided
|
|
247
|
+
#
|
|
248
|
+
# @raise [Git::FailedError] if git exits with a non-zero exit status
|
|
249
|
+
end
|
|
250
|
+
end
|
|
251
|
+
end
|
|
252
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'git/commands/base'
|
|
4
|
+
|
|
5
|
+
module Git
|
|
6
|
+
module Commands
|
|
7
|
+
module Am
|
|
8
|
+
# Implements `git am --continue` to resume after resolving conflicts
|
|
9
|
+
#
|
|
10
|
+
# After the user has resolved a conflict in the working tree and updated
|
|
11
|
+
# the index, this command continues applying the remaining patches.
|
|
12
|
+
#
|
|
13
|
+
# @example Resume an am session after resolving conflicts
|
|
14
|
+
# continue_cmd = Git::Commands::Am::Continue.new(execution_context)
|
|
15
|
+
# continue_cmd.call
|
|
16
|
+
#
|
|
17
|
+
# @note `arguments` block audited against https://git-scm.com/docs/git-am/2.53.0
|
|
18
|
+
#
|
|
19
|
+
# @see Git::Commands::Am
|
|
20
|
+
#
|
|
21
|
+
# @see https://git-scm.com/docs/git-am git-am
|
|
22
|
+
#
|
|
23
|
+
# @api private
|
|
24
|
+
#
|
|
25
|
+
class Continue < Git::Commands::Base
|
|
26
|
+
arguments do
|
|
27
|
+
literal 'am'
|
|
28
|
+
literal '--continue'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @!method call(*, **)
|
|
32
|
+
#
|
|
33
|
+
# @overload call()
|
|
34
|
+
#
|
|
35
|
+
# Resume applying patches after conflicts have been resolved
|
|
36
|
+
#
|
|
37
|
+
# @return [Git::CommandLineResult] the result of calling `git am --continue`
|
|
38
|
+
#
|
|
39
|
+
# @raise [Git::FailedError] if git exits with a non-zero exit status
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'git/commands/base'
|
|
4
|
+
|
|
5
|
+
module Git
|
|
6
|
+
module Commands
|
|
7
|
+
module Am
|
|
8
|
+
# Implements `git am --quit` to abort the in-progress am session
|
|
9
|
+
#
|
|
10
|
+
# Aborts the in-progress patch application but keeps the current HEAD
|
|
11
|
+
# position (does not restore the branch to its pre-am state).
|
|
12
|
+
#
|
|
13
|
+
# @example Quit an am session without restoring HEAD
|
|
14
|
+
# quit_cmd = Git::Commands::Am::Quit.new(execution_context)
|
|
15
|
+
# quit_cmd.call
|
|
16
|
+
#
|
|
17
|
+
# @note `arguments` block audited against https://git-scm.com/docs/git-am/2.53.0
|
|
18
|
+
#
|
|
19
|
+
# @see Git::Commands::Am
|
|
20
|
+
#
|
|
21
|
+
# @see https://git-scm.com/docs/git-am git-am
|
|
22
|
+
#
|
|
23
|
+
# @api private
|
|
24
|
+
#
|
|
25
|
+
class Quit < Git::Commands::Base
|
|
26
|
+
arguments do
|
|
27
|
+
literal 'am'
|
|
28
|
+
literal '--quit'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @!method call(*, **)
|
|
32
|
+
#
|
|
33
|
+
# @overload call()
|
|
34
|
+
#
|
|
35
|
+
# Abort the am session but keep the current HEAD position
|
|
36
|
+
#
|
|
37
|
+
# @return [Git::CommandLineResult] the result of calling `git am --quit`
|
|
38
|
+
#
|
|
39
|
+
# @raise [Git::FailedError] if git exits with a non-zero exit status
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'git/commands/base'
|
|
4
|
+
|
|
5
|
+
module Git
|
|
6
|
+
module Commands
|
|
7
|
+
module Am
|
|
8
|
+
# Implements `git am --retry` to retry the most-recently-failed patch
|
|
9
|
+
#
|
|
10
|
+
# Tries to apply the last conflicting patch again. Generally only useful
|
|
11
|
+
# when retrying with extra options (e.g. `--3way`), or in scripts where
|
|
12
|
+
# stdin is not a tty and the implicit retry heuristic does not trigger.
|
|
13
|
+
#
|
|
14
|
+
# @example Retry the current patch
|
|
15
|
+
# retry_cmd = Git::Commands::Am::Retry.new(execution_context)
|
|
16
|
+
# retry_cmd.call
|
|
17
|
+
#
|
|
18
|
+
# @note `arguments` block audited against https://git-scm.com/docs/git-am/2.53.0
|
|
19
|
+
#
|
|
20
|
+
# @see Git::Commands::Am
|
|
21
|
+
#
|
|
22
|
+
# @see https://git-scm.com/docs/git-am git-am
|
|
23
|
+
#
|
|
24
|
+
# @api private
|
|
25
|
+
#
|
|
26
|
+
class Retry < Git::Commands::Base
|
|
27
|
+
arguments do
|
|
28
|
+
literal 'am'
|
|
29
|
+
literal '--retry'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# git am --retry was introduced in git 2.46.0
|
|
33
|
+
requires_git_version '2.46.0'
|
|
34
|
+
|
|
35
|
+
# @!method call(*, **)
|
|
36
|
+
#
|
|
37
|
+
# @overload call()
|
|
38
|
+
#
|
|
39
|
+
# Retry applying the most-recently-failed patch
|
|
40
|
+
#
|
|
41
|
+
# @return [Git::CommandLineResult] the result of calling `git am --retry`
|
|
42
|
+
#
|
|
43
|
+
# @raise [Git::FailedError] if git exits with a non-zero exit status
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|