git 4.3.2 → 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 -2
- 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 -40
- data/CONTRIBUTING.md +694 -53
- data/README.md +17 -5
- 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 +486 -410
- data/lib/git/branch.rb +380 -43
- 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 -1028
- 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 +224 -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 +114 -18
- 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
data/README.md
CHANGED
|
@@ -30,6 +30,7 @@ Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?log
|
|
|
30
30
|
- [Ruby Version Support Policy](#ruby-version-support-policy)
|
|
31
31
|
- [Git Version Support Policy](#git-version-support-policy)
|
|
32
32
|
- [📢 Project Announcements 📢](#-project-announcements-)
|
|
33
|
+
- [2026-06-04: v5.0.0.beta.1 Released](#2026-06-04-v500beta1-released)
|
|
33
34
|
- [2026-01-07: AI Policy Introduced](#2026-01-07-ai-policy-introduced)
|
|
34
35
|
- [2025-07-09: Architectural Redesign](#2025-07-09-architectural-redesign)
|
|
35
36
|
- [2025-07-07: We Now Use RuboCop](#2025-07-07-we-now-use-rubocop)
|
|
@@ -190,11 +191,11 @@ Here are the operations that need read permission only:
|
|
|
190
191
|
```ruby
|
|
191
192
|
repo = Git.open(working_dir, :log => Logger.new(STDOUT))
|
|
192
193
|
|
|
193
|
-
repo.index
|
|
194
|
-
repo.index.readable?
|
|
195
|
-
repo.index.writable?
|
|
196
|
-
repo.repo
|
|
197
|
-
repo.dir
|
|
194
|
+
repo.index # Pathname to the index file
|
|
195
|
+
repo.index.readable? # check if index is readable
|
|
196
|
+
repo.index.writable? # check if index is writable
|
|
197
|
+
repo.repo # Pathname to the .git directory
|
|
198
|
+
repo.dir # Pathname to the working directory
|
|
198
199
|
|
|
199
200
|
# ls-tree with recursion into subtrees (list files)
|
|
200
201
|
repo.ls_tree("HEAD", recursive: true)
|
|
@@ -649,6 +650,17 @@ notes.
|
|
|
649
650
|
|
|
650
651
|
## 📢 Project Announcements 📢
|
|
651
652
|
|
|
653
|
+
### 2026-06-04: v5.0.0.beta.1 Released
|
|
654
|
+
|
|
655
|
+
The architectural redesign is approximately **65% complete** and we have published
|
|
656
|
+
[`git 5.0.0.beta.1`](https://rubygems.org/gems/git/versions/5.0.0.beta.1) as our
|
|
657
|
+
first pre-release.
|
|
658
|
+
|
|
659
|
+
The intent is full backward compatibility with 4.x, but given the size and scope of
|
|
660
|
+
the redesign, some incompatibilities may exist. Please give the latest beta a try and
|
|
661
|
+
[open an issue](https://github.com/ruby-git/ruby-git/issues) if you hit anything
|
|
662
|
+
unexpected — your feedback helps us ship a solid 5.0.0.
|
|
663
|
+
|
|
652
664
|
### 2026-01-07: AI Policy Introduced
|
|
653
665
|
|
|
654
666
|
We have adopted a formal [AI Policy](AI_POLICY.md) to clarify expectations for
|
data/Rakefile
CHANGED
|
@@ -5,14 +5,66 @@ require 'rake/clean'
|
|
|
5
5
|
# Load all .rake files from tasks and its subdirectories.
|
|
6
6
|
Dir.glob('tasks/**/*.rake').each { |r| load r }
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
desc 'Run all tests (TestUnit and RSpec)'
|
|
9
|
+
task 'test-all': %i[test spec]
|
|
10
|
+
|
|
11
|
+
desc 'Run all tests in parallel (TestUnit and RSpec run concurrently)'
|
|
12
|
+
task 'test-all:parallel' do
|
|
13
|
+
errors = []
|
|
14
|
+
mutex = Mutex.new
|
|
15
|
+
threads = %w[test:parallel spec:parallel].map do |t|
|
|
16
|
+
Thread.new do
|
|
17
|
+
Rake::Task[t].invoke
|
|
18
|
+
rescue Exception => e # rubocop:disable Lint/RescueException
|
|
19
|
+
mutex.synchronize { errors << e }
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
threads.each(&:join)
|
|
23
|
+
raise errors.first if errors.any?
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
default_tasks = %i[test spec:unit spec:integration rubocop]
|
|
11
27
|
default_tasks << :yard if Rake::Task.task_defined?(:yard)
|
|
12
|
-
default_tasks << :
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
28
|
+
default_tasks << :build
|
|
29
|
+
|
|
30
|
+
default_tasks_parallel = %w[test:parallel spec:unit:parallel spec:integration:parallel rubocop]
|
|
31
|
+
default_tasks_parallel << :yard if Rake::Task.task_defined?(:yard)
|
|
32
|
+
default_tasks_parallel << :build
|
|
33
|
+
|
|
34
|
+
# Use parallel test execution for MRI where it cuts build times by 30-48%.
|
|
35
|
+
# JRuby and TruffleRuby are slower with parallel_tests because each worker
|
|
36
|
+
# process pays JVM/Truffle startup and warm-up overhead independently,
|
|
37
|
+
# resulting in 18-28% slower builds vs. serial execution.
|
|
38
|
+
parallel_supported = RUBY_ENGINE == 'ruby'
|
|
39
|
+
task default: parallel_supported ? default_tasks_parallel : default_tasks
|
|
40
|
+
|
|
41
|
+
desc 'Same as default but runs tests in parallel'
|
|
42
|
+
task 'default:parallel': default_tasks_parallel
|
|
43
|
+
|
|
44
|
+
module Rake
|
|
45
|
+
# Overload Rake::Task to add logging
|
|
46
|
+
class Task
|
|
47
|
+
# Store the original execute method
|
|
48
|
+
alias original_execute execute
|
|
49
|
+
|
|
50
|
+
# Override execute to add a print statement
|
|
51
|
+
def execute(args = nil)
|
|
52
|
+
# Only output the task name if it wasn't the only top-level task
|
|
53
|
+
# rake default # => output task name for each task called by the default task
|
|
54
|
+
# rake rubocop # => do not output the task name
|
|
55
|
+
# rake rubocop yard # => output task name for rubocop and yard
|
|
56
|
+
top_level_tasks = Rake.application.top_level_tasks
|
|
57
|
+
box("Rake task: #{name}") unless top_level_tasks.length == 1 && name == top_level_tasks[0]
|
|
58
|
+
original_execute(args)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
private
|
|
17
62
|
|
|
18
|
-
|
|
63
|
+
def box(message)
|
|
64
|
+
width = message.length + 2
|
|
65
|
+
puts "┌#{'─' * width}┐"
|
|
66
|
+
puts "│ #{message} │"
|
|
67
|
+
puts "└#{'─' * width}┘"
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
data/commitlint.test
ADDED
data/git.gemspec
CHANGED
|
@@ -35,18 +35,24 @@ Gem::Specification.new do |spec|
|
|
|
35
35
|
spec.add_dependency 'rchardet', '~> 1.9'
|
|
36
36
|
|
|
37
37
|
spec.add_development_dependency 'create_github_release', '~> 2.1'
|
|
38
|
+
spec.add_development_dependency 'fuubar', '~> 2.5'
|
|
38
39
|
spec.add_development_dependency 'main_branch_shared_rubocop_config', '~> 0.1'
|
|
39
|
-
spec.add_development_dependency 'minitar', '~> 1.
|
|
40
|
-
spec.add_development_dependency 'mocha', '~> 2.
|
|
41
|
-
spec.add_development_dependency '
|
|
42
|
-
spec.add_development_dependency '
|
|
40
|
+
spec.add_development_dependency 'minitar', '~> 1.1'
|
|
41
|
+
spec.add_development_dependency 'mocha', '~> 2.8'
|
|
42
|
+
spec.add_development_dependency 'parallel_tests', '~> 5.6'
|
|
43
|
+
spec.add_development_dependency 'rake', '~> 13.3'
|
|
44
|
+
spec.add_development_dependency 'rspec', '~> 3.13'
|
|
45
|
+
spec.add_development_dependency 'rubocop', '~> 1.82'
|
|
46
|
+
spec.add_development_dependency 'simplecov', '~> 0.22'
|
|
47
|
+
spec.add_development_dependency 'simplecov-lcov', '~> 0.9'
|
|
48
|
+
spec.add_development_dependency 'simplecov-rspec', '~> 0.4'
|
|
49
|
+
spec.add_development_dependency 'test-unit', '~> 3.7'
|
|
43
50
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
unless RUBY_PLATFORM == 'java'
|
|
47
|
-
spec.add_development_dependency 'irb', '~> 1.6'
|
|
51
|
+
unless RUBY_PLATFORM == 'java' || RUBY_ENGINE == 'truffleruby'
|
|
52
|
+
spec.add_development_dependency 'irb', '~> 1.16'
|
|
48
53
|
spec.add_development_dependency 'redcarpet', '~> 3.6'
|
|
49
54
|
spec.add_development_dependency 'yard', '~> 0.9', '>= 0.9.28'
|
|
55
|
+
spec.add_development_dependency 'yard_example_test', '~> 0.2', '>= 0.2.1'
|
|
50
56
|
spec.add_development_dependency 'yardstick', '~> 0.9'
|
|
51
57
|
end
|
|
52
58
|
|
data/lib/git/args_builder.rb
CHANGED
|
@@ -12,14 +12,6 @@ module Git
|
|
|
12
12
|
ARG_BUILDERS = {
|
|
13
13
|
boolean: ->(config, value) { value ? config[:flag] : [] },
|
|
14
14
|
|
|
15
|
-
boolean_negatable: lambda do |config, value|
|
|
16
|
-
case value
|
|
17
|
-
when true then config[:flag]
|
|
18
|
-
when false then config[:flag].sub('--', '--no-')
|
|
19
|
-
else []
|
|
20
|
-
end
|
|
21
|
-
end,
|
|
22
|
-
|
|
23
15
|
valued_equals: ->(config, value) { "#{config[:flag]}=#{value}" if value },
|
|
24
16
|
|
|
25
17
|
valued_space: ->(config, value) { [config[:flag], value.to_s] if value },
|