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