git 4.4.3 → 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.
Files changed (282) hide show
  1. checksums.yaml +4 -4
  2. data/.github/copilot-instructions.md +67 -2705
  3. data/.github/pull_request_template.md +3 -1
  4. data/.github/skills/breaking-change-analysis/SKILL.md +102 -0
  5. data/.github/skills/ci-cd-troubleshooting/SKILL.md +264 -0
  6. data/.github/skills/command-implementation/REFERENCE.md +993 -0
  7. data/.github/skills/command-implementation/SKILL.md +229 -0
  8. data/.github/skills/command-test-conventions/SKILL.md +660 -0
  9. data/.github/skills/command-yard-documentation/SKILL.md +426 -0
  10. data/.github/skills/dependency-management/SKILL.md +72 -0
  11. data/.github/skills/development-workflow/SKILL.md +506 -0
  12. data/.github/skills/extract-command-from-lib/SKILL.md +487 -0
  13. data/.github/skills/extract-facade-from-base-lib/SKILL.md +586 -0
  14. data/.github/skills/facade-implementation/REFERENCE.md +840 -0
  15. data/.github/skills/facade-implementation/SKILL.md +260 -0
  16. data/.github/skills/facade-test-conventions/SKILL.md +380 -0
  17. data/.github/skills/facade-yard-documentation/SKILL.md +429 -0
  18. data/.github/skills/make-skill-template/SKILL.md +176 -0
  19. data/.github/skills/pr-readiness-review/SKILL.md +185 -0
  20. data/.github/skills/project-context/SKILL.md +313 -0
  21. data/.github/skills/pull-request-review/SKILL.md +168 -0
  22. data/.github/skills/refactor-command-to-commandlineresult/SKILL.md +131 -0
  23. data/.github/skills/release-management/SKILL.md +125 -0
  24. data/.github/skills/review-arguments-dsl/CHECKLIST.md +788 -0
  25. data/.github/skills/review-arguments-dsl/SKILL.md +214 -0
  26. data/.github/skills/review-backward-compatibility/SKILL.md +275 -0
  27. data/.github/skills/review-cross-command-consistency/SKILL.md +139 -0
  28. data/.github/skills/reviewing-skills/SKILL.md +189 -0
  29. data/.github/skills/rspec-unit-testing-standards/SKILL.md +639 -0
  30. data/.github/skills/tdd-refactor-step/SKILL.md +236 -0
  31. data/.github/skills/test-debugging/SKILL.md +160 -0
  32. data/.github/skills/yard-documentation/SKILL.md +793 -0
  33. data/.github/workflows/continuous_integration.yml +3 -67
  34. data/.github/workflows/enforce_conventional_commits.yml +1 -1
  35. data/.github/workflows/experimental_continuous_integration.yml +2 -2
  36. data/.github/workflows/release.yml +3 -4
  37. data/.gitignore +8 -1
  38. data/.husky/pre-commit +13 -0
  39. data/.release-please-manifest.json +1 -1
  40. data/.rspec +3 -0
  41. data/.rubocop.yml +7 -3
  42. data/.rubocop_todo.yml +23 -5
  43. data/.yardopts +1 -0
  44. data/CHANGELOG.md +0 -84
  45. data/CONTRIBUTING.md +694 -53
  46. data/LICENSE +1 -1
  47. data/README.md +17 -17
  48. data/Rakefile +61 -9
  49. data/commitlint.test +4 -0
  50. data/git.gemspec +15 -9
  51. data/lib/git/args_builder.rb +0 -8
  52. data/lib/git/base.rb +488 -424
  53. data/lib/git/branch.rb +117 -59
  54. data/lib/git/branch_delete_failure.rb +31 -0
  55. data/lib/git/branch_delete_result.rb +63 -0
  56. data/lib/git/branch_info.rb +178 -0
  57. data/lib/git/branches.rb +130 -24
  58. data/lib/git/command_line/base.rb +245 -0
  59. data/lib/git/command_line/capturing.rb +249 -0
  60. data/lib/git/command_line/result.rb +96 -0
  61. data/lib/git/command_line/streaming.rb +194 -0
  62. data/lib/git/command_line.rb +43 -322
  63. data/lib/git/command_line_result.rb +4 -88
  64. data/lib/git/commands/add.rb +131 -0
  65. data/lib/git/commands/am/abort.rb +43 -0
  66. data/lib/git/commands/am/apply.rb +252 -0
  67. data/lib/git/commands/am/continue.rb +43 -0
  68. data/lib/git/commands/am/quit.rb +43 -0
  69. data/lib/git/commands/am/retry.rb +47 -0
  70. data/lib/git/commands/am/show_current_patch.rb +64 -0
  71. data/lib/git/commands/am/skip.rb +42 -0
  72. data/lib/git/commands/am.rb +33 -0
  73. data/lib/git/commands/apply.rb +237 -0
  74. data/lib/git/commands/archive/list_formats.rb +46 -0
  75. data/lib/git/commands/archive.rb +140 -0
  76. data/lib/git/commands/arguments.rb +3510 -0
  77. data/lib/git/commands/base.rb +403 -0
  78. data/lib/git/commands/branch/copy.rb +94 -0
  79. data/lib/git/commands/branch/create.rb +173 -0
  80. data/lib/git/commands/branch/delete.rb +80 -0
  81. data/lib/git/commands/branch/list.rb +162 -0
  82. data/lib/git/commands/branch/move.rb +94 -0
  83. data/lib/git/commands/branch/set_upstream.rb +86 -0
  84. data/lib/git/commands/branch/show_current.rb +49 -0
  85. data/lib/git/commands/branch/unset_upstream.rb +57 -0
  86. data/lib/git/commands/branch.rb +34 -0
  87. data/lib/git/commands/cat_file/batch.rb +364 -0
  88. data/lib/git/commands/cat_file/filtered.rb +105 -0
  89. data/lib/git/commands/cat_file/raw.rb +210 -0
  90. data/lib/git/commands/cat_file.rb +49 -0
  91. data/lib/git/commands/checkout/branch.rb +151 -0
  92. data/lib/git/commands/checkout/files.rb +115 -0
  93. data/lib/git/commands/checkout.rb +38 -0
  94. data/lib/git/commands/checkout_index.rb +105 -0
  95. data/lib/git/commands/clean.rb +100 -0
  96. data/lib/git/commands/clone.rb +240 -0
  97. data/lib/git/commands/commit.rb +272 -0
  98. data/lib/git/commands/commit_tree.rb +100 -0
  99. data/lib/git/commands/config_option_syntax/add.rb +83 -0
  100. data/lib/git/commands/config_option_syntax/get.rb +117 -0
  101. data/lib/git/commands/config_option_syntax/get_all.rb +115 -0
  102. data/lib/git/commands/config_option_syntax/get_color.rb +91 -0
  103. data/lib/git/commands/config_option_syntax/get_color_bool.rb +93 -0
  104. data/lib/git/commands/config_option_syntax/get_regexp.rb +115 -0
  105. data/lib/git/commands/config_option_syntax/get_urlmatch.rb +102 -0
  106. data/lib/git/commands/config_option_syntax/list.rb +107 -0
  107. data/lib/git/commands/config_option_syntax/remove_section.rb +74 -0
  108. data/lib/git/commands/config_option_syntax/rename_section.rb +78 -0
  109. data/lib/git/commands/config_option_syntax/replace_all.rb +104 -0
  110. data/lib/git/commands/config_option_syntax/set.rb +114 -0
  111. data/lib/git/commands/config_option_syntax/unset.rb +89 -0
  112. data/lib/git/commands/config_option_syntax/unset_all.rb +89 -0
  113. data/lib/git/commands/config_option_syntax.rb +56 -0
  114. data/lib/git/commands/describe.rb +155 -0
  115. data/lib/git/commands/diff.rb +656 -0
  116. data/lib/git/commands/diff_files.rb +518 -0
  117. data/lib/git/commands/diff_index.rb +496 -0
  118. data/lib/git/commands/fetch.rb +352 -0
  119. data/lib/git/commands/fsck.rb +136 -0
  120. data/lib/git/commands/gc.rb +132 -0
  121. data/lib/git/commands/grep.rb +338 -0
  122. data/lib/git/commands/init.rb +99 -0
  123. data/lib/git/commands/log.rb +632 -0
  124. data/lib/git/commands/ls_files.rb +191 -0
  125. data/lib/git/commands/ls_remote.rb +155 -0
  126. data/lib/git/commands/ls_tree.rb +131 -0
  127. data/lib/git/commands/maintenance/register.rb +75 -0
  128. data/lib/git/commands/maintenance/run.rb +104 -0
  129. data/lib/git/commands/maintenance/start.rb +66 -0
  130. data/lib/git/commands/maintenance/stop.rb +55 -0
  131. data/lib/git/commands/maintenance/unregister.rb +79 -0
  132. data/lib/git/commands/maintenance.rb +31 -0
  133. data/lib/git/commands/merge/abort.rb +44 -0
  134. data/lib/git/commands/merge/continue.rb +44 -0
  135. data/lib/git/commands/merge/quit.rb +46 -0
  136. data/lib/git/commands/merge/start.rb +245 -0
  137. data/lib/git/commands/merge.rb +28 -0
  138. data/lib/git/commands/merge_base.rb +86 -0
  139. data/lib/git/commands/mv.rb +77 -0
  140. data/lib/git/commands/name_rev.rb +114 -0
  141. data/lib/git/commands/pull.rb +377 -0
  142. data/lib/git/commands/push.rb +246 -0
  143. data/lib/git/commands/read_tree.rb +149 -0
  144. data/lib/git/commands/remote/add.rb +91 -0
  145. data/lib/git/commands/remote/get_url.rb +66 -0
  146. data/lib/git/commands/remote/list.rb +54 -0
  147. data/lib/git/commands/remote/prune.rb +61 -0
  148. data/lib/git/commands/remote/remove.rb +52 -0
  149. data/lib/git/commands/remote/rename.rb +69 -0
  150. data/lib/git/commands/remote/set_branches.rb +63 -0
  151. data/lib/git/commands/remote/set_head.rb +82 -0
  152. data/lib/git/commands/remote/set_url.rb +71 -0
  153. data/lib/git/commands/remote/set_url_add.rb +61 -0
  154. data/lib/git/commands/remote/set_url_delete.rb +64 -0
  155. data/lib/git/commands/remote/show.rb +71 -0
  156. data/lib/git/commands/remote/update.rb +72 -0
  157. data/lib/git/commands/remote.rb +42 -0
  158. data/lib/git/commands/repack.rb +277 -0
  159. data/lib/git/commands/reset.rb +147 -0
  160. data/lib/git/commands/rev_parse.rb +297 -0
  161. data/lib/git/commands/revert/abort.rb +45 -0
  162. data/lib/git/commands/revert/continue.rb +57 -0
  163. data/lib/git/commands/revert/quit.rb +47 -0
  164. data/lib/git/commands/revert/skip.rb +44 -0
  165. data/lib/git/commands/revert/start.rb +153 -0
  166. data/lib/git/commands/revert.rb +29 -0
  167. data/lib/git/commands/rm.rb +114 -0
  168. data/lib/git/commands/show.rb +632 -0
  169. data/lib/git/commands/show_ref/exclude_existing.rb +120 -0
  170. data/lib/git/commands/show_ref/exists.rb +78 -0
  171. data/lib/git/commands/show_ref/list.rb +145 -0
  172. data/lib/git/commands/show_ref/verify.rb +120 -0
  173. data/lib/git/commands/show_ref.rb +42 -0
  174. data/lib/git/commands/stash/apply.rb +75 -0
  175. data/lib/git/commands/stash/branch.rb +65 -0
  176. data/lib/git/commands/stash/clear.rb +41 -0
  177. data/lib/git/commands/stash/create.rb +58 -0
  178. data/lib/git/commands/stash/drop.rb +67 -0
  179. data/lib/git/commands/stash/list.rb +39 -0
  180. data/lib/git/commands/stash/pop.rb +78 -0
  181. data/lib/git/commands/stash/push.rb +103 -0
  182. data/lib/git/commands/stash/show.rb +149 -0
  183. data/lib/git/commands/stash/store.rb +63 -0
  184. data/lib/git/commands/stash.rb +38 -0
  185. data/lib/git/commands/status.rb +169 -0
  186. data/lib/git/commands/symbolic_ref/delete.rb +68 -0
  187. data/lib/git/commands/symbolic_ref/read.rb +95 -0
  188. data/lib/git/commands/symbolic_ref/update.rb +76 -0
  189. data/lib/git/commands/symbolic_ref.rb +38 -0
  190. data/lib/git/commands/tag/create.rb +139 -0
  191. data/lib/git/commands/tag/delete.rb +55 -0
  192. data/lib/git/commands/tag/list.rb +143 -0
  193. data/lib/git/commands/tag/verify.rb +71 -0
  194. data/lib/git/commands/tag.rb +26 -0
  195. data/lib/git/commands/update_ref/batch.rb +140 -0
  196. data/lib/git/commands/update_ref/delete.rb +92 -0
  197. data/lib/git/commands/update_ref/update.rb +106 -0
  198. data/lib/git/commands/update_ref.rb +42 -0
  199. data/lib/git/commands/version.rb +52 -0
  200. data/lib/git/commands/worktree/add.rb +140 -0
  201. data/lib/git/commands/worktree/list.rb +64 -0
  202. data/lib/git/commands/worktree/lock.rb +58 -0
  203. data/lib/git/commands/worktree/management_base.rb +51 -0
  204. data/lib/git/commands/worktree/move.rb +66 -0
  205. data/lib/git/commands/worktree/prune.rb +67 -0
  206. data/lib/git/commands/worktree/remove.rb +63 -0
  207. data/lib/git/commands/worktree/repair.rb +76 -0
  208. data/lib/git/commands/worktree/unlock.rb +47 -0
  209. data/lib/git/commands/worktree.rb +43 -0
  210. data/lib/git/commands/write_tree.rb +68 -0
  211. data/lib/git/commands.rb +89 -0
  212. data/lib/git/detached_head_info.rb +54 -0
  213. data/lib/git/diff.rb +297 -7
  214. data/lib/git/diff_file_numstat_info.rb +29 -0
  215. data/lib/git/diff_file_patch_info.rb +134 -0
  216. data/lib/git/diff_file_raw_info.rb +127 -0
  217. data/lib/git/diff_info.rb +169 -0
  218. data/lib/git/diff_path_status.rb +78 -19
  219. data/lib/git/diff_result.rb +32 -0
  220. data/lib/git/diff_stats.rb +59 -14
  221. data/lib/git/dirstat_info.rb +86 -0
  222. data/lib/git/errors.rb +65 -2
  223. data/lib/git/execution_context/global.rb +56 -0
  224. data/lib/git/execution_context/repository.rb +147 -0
  225. data/lib/git/execution_context.rb +482 -0
  226. data/lib/git/file_ref.rb +74 -0
  227. data/lib/git/fsck_object.rb +9 -9
  228. data/lib/git/fsck_result.rb +1 -1
  229. data/lib/git/lib.rb +1606 -1084
  230. data/lib/git/log.rb +15 -2
  231. data/lib/git/object.rb +92 -22
  232. data/lib/git/parsers/branch.rb +224 -0
  233. data/lib/git/parsers/cat_file.rb +111 -0
  234. data/lib/git/parsers/diff.rb +585 -0
  235. data/lib/git/parsers/fsck.rb +133 -0
  236. data/lib/git/parsers/grep.rb +42 -0
  237. data/lib/git/parsers/ls_tree.rb +58 -0
  238. data/lib/git/parsers/stash.rb +208 -0
  239. data/lib/git/parsers/tag.rb +257 -0
  240. data/lib/git/remote.rb +133 -9
  241. data/lib/git/repository/branching.rb +572 -0
  242. data/lib/git/repository/committing.rb +191 -0
  243. data/lib/git/repository/configuring.rb +156 -0
  244. data/lib/git/repository/diffing.rb +775 -0
  245. data/lib/git/repository/inspecting.rb +153 -0
  246. data/lib/git/repository/logging.rb +247 -0
  247. data/lib/git/repository/merging.rb +295 -0
  248. data/lib/git/repository/object_operations.rb +1101 -0
  249. data/lib/git/repository/path_resolver.rb +207 -0
  250. data/lib/git/repository/remote_operations.rb +753 -0
  251. data/lib/git/repository/shared_private.rb +51 -0
  252. data/lib/git/repository/staging.rb +390 -0
  253. data/lib/git/repository/stashing.rb +107 -0
  254. data/lib/git/repository/status_operations.rb +180 -0
  255. data/lib/git/repository/worktree_operations.rb +159 -0
  256. data/lib/git/repository.rb +264 -1
  257. data/lib/git/stash.rb +85 -4
  258. data/lib/git/stash_info.rb +104 -0
  259. data/lib/git/stashes.rb +130 -13
  260. data/lib/git/status.rb +226 -18
  261. data/lib/git/tag_delete_failure.rb +31 -0
  262. data/lib/git/tag_delete_result.rb +63 -0
  263. data/lib/git/tag_info.rb +105 -0
  264. data/lib/git/version.rb +109 -2
  265. data/lib/git/version_constraint.rb +81 -0
  266. data/lib/git/worktree.rb +120 -5
  267. data/lib/git/worktrees.rb +107 -7
  268. data/lib/git.rb +117 -56
  269. data/redesign/1_architecture_existing.md +54 -18
  270. data/redesign/2_architecture_redesign.md +365 -46
  271. data/redesign/3_architecture_implementation.md +1451 -54
  272. data/tasks/gem_tasks.rake +4 -0
  273. data/tasks/npm_tasks.rake +7 -0
  274. data/tasks/rspec.rake +48 -0
  275. data/tasks/rubocop.rake +2 -9
  276. data/tasks/test.rake +13 -1
  277. data/tasks/yard.rake +34 -7
  278. metadata +351 -22
  279. data/lib/git/index.rb +0 -6
  280. data/lib/git/path.rb +0 -38
  281. data/lib/git/working_directory.rb +0 -6
  282. /data/{release-please-config.json → .release-please-config.json} +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.3
4
+ version: 5.0.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Chacon and others
@@ -43,14 +43,14 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '4.1'
46
+ version: '4.0'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '4.1'
53
+ version: '4.0'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: rchardet
56
56
  requirement: !ruby/object:Gem::Requirement
@@ -79,6 +79,20 @@ dependencies:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
81
  version: '2.1'
82
+ - !ruby/object:Gem::Dependency
83
+ name: fuubar
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.5'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '2.5'
82
96
  - !ruby/object:Gem::Dependency
83
97
  name: main_branch_shared_rubocop_config
84
98
  requirement: !ruby/object:Gem::Requirement
@@ -99,84 +113,154 @@ dependencies:
99
113
  requirements:
100
114
  - - "~>"
101
115
  - !ruby/object:Gem::Version
102
- version: '1.0'
116
+ version: '1.1'
103
117
  type: :development
104
118
  prerelease: false
105
119
  version_requirements: !ruby/object:Gem::Requirement
106
120
  requirements:
107
121
  - - "~>"
108
122
  - !ruby/object:Gem::Version
109
- version: '1.0'
123
+ version: '1.1'
110
124
  - !ruby/object:Gem::Dependency
111
125
  name: mocha
112
126
  requirement: !ruby/object:Gem::Requirement
113
127
  requirements:
114
128
  - - "~>"
115
129
  - !ruby/object:Gem::Version
116
- version: '2.7'
130
+ version: '2.8'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '2.8'
138
+ - !ruby/object:Gem::Dependency
139
+ name: parallel_tests
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '5.6'
117
145
  type: :development
118
146
  prerelease: false
119
147
  version_requirements: !ruby/object:Gem::Requirement
120
148
  requirements:
121
149
  - - "~>"
122
150
  - !ruby/object:Gem::Version
123
- version: '2.7'
151
+ version: '5.6'
124
152
  - !ruby/object:Gem::Dependency
125
153
  name: rake
126
154
  requirement: !ruby/object:Gem::Requirement
127
155
  requirements:
128
156
  - - "~>"
129
157
  - !ruby/object:Gem::Version
130
- version: '13.2'
158
+ version: '13.3'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '13.3'
166
+ - !ruby/object:Gem::Dependency
167
+ name: rspec
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '3.13'
131
173
  type: :development
132
174
  prerelease: false
133
175
  version_requirements: !ruby/object:Gem::Requirement
134
176
  requirements:
135
177
  - - "~>"
136
178
  - !ruby/object:Gem::Version
137
- version: '13.2'
179
+ version: '3.13'
138
180
  - !ruby/object:Gem::Dependency
139
181
  name: rubocop
140
182
  requirement: !ruby/object:Gem::Requirement
141
183
  requirements:
142
184
  - - "~>"
143
185
  - !ruby/object:Gem::Version
144
- version: '1.77'
186
+ version: '1.82'
145
187
  type: :development
146
188
  prerelease: false
147
189
  version_requirements: !ruby/object:Gem::Requirement
148
190
  requirements:
149
191
  - - "~>"
150
192
  - !ruby/object:Gem::Version
151
- version: '1.77'
193
+ version: '1.82'
194
+ - !ruby/object:Gem::Dependency
195
+ name: simplecov
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '0.22'
201
+ type: :development
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '0.22'
208
+ - !ruby/object:Gem::Dependency
209
+ name: simplecov-lcov
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '0.9'
215
+ type: :development
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '0.9'
222
+ - !ruby/object:Gem::Dependency
223
+ name: simplecov-rspec
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '0.4'
229
+ type: :development
230
+ prerelease: false
231
+ version_requirements: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - "~>"
234
+ - !ruby/object:Gem::Version
235
+ version: '0.4'
152
236
  - !ruby/object:Gem::Dependency
153
237
  name: test-unit
154
238
  requirement: !ruby/object:Gem::Requirement
155
239
  requirements:
156
240
  - - "~>"
157
241
  - !ruby/object:Gem::Version
158
- version: '3.6'
242
+ version: '3.7'
159
243
  type: :development
160
244
  prerelease: false
161
245
  version_requirements: !ruby/object:Gem::Requirement
162
246
  requirements:
163
247
  - - "~>"
164
248
  - !ruby/object:Gem::Version
165
- version: '3.6'
249
+ version: '3.7'
166
250
  - !ruby/object:Gem::Dependency
167
251
  name: irb
168
252
  requirement: !ruby/object:Gem::Requirement
169
253
  requirements:
170
254
  - - "~>"
171
255
  - !ruby/object:Gem::Version
172
- version: '1.6'
256
+ version: '1.16'
173
257
  type: :development
174
258
  prerelease: false
175
259
  version_requirements: !ruby/object:Gem::Requirement
176
260
  requirements:
177
261
  - - "~>"
178
262
  - !ruby/object:Gem::Version
179
- version: '1.6'
263
+ version: '1.16'
180
264
  - !ruby/object:Gem::Dependency
181
265
  name: redcarpet
182
266
  requirement: !ruby/object:Gem::Requirement
@@ -211,6 +295,26 @@ dependencies:
211
295
  - - ">="
212
296
  - !ruby/object:Gem::Version
213
297
  version: 0.9.28
298
+ - !ruby/object:Gem::Dependency
299
+ name: yard_example_test
300
+ requirement: !ruby/object:Gem::Requirement
301
+ requirements:
302
+ - - "~>"
303
+ - !ruby/object:Gem::Version
304
+ version: '0.2'
305
+ - - ">="
306
+ - !ruby/object:Gem::Version
307
+ version: 0.2.1
308
+ type: :development
309
+ prerelease: false
310
+ version_requirements: !ruby/object:Gem::Requirement
311
+ requirements:
312
+ - - "~>"
313
+ - !ruby/object:Gem::Version
314
+ version: '0.2'
315
+ - - ">="
316
+ - !ruby/object:Gem::Version
317
+ version: 0.2.1
214
318
  - !ruby/object:Gem::Dependency
215
319
  name: yardstick
216
320
  requirement: !ruby/object:Gem::Requirement
@@ -240,13 +344,45 @@ files:
240
344
  - ".github/copilot-instructions.md"
241
345
  - ".github/issue_template.md"
242
346
  - ".github/pull_request_template.md"
347
+ - ".github/skills/breaking-change-analysis/SKILL.md"
348
+ - ".github/skills/ci-cd-troubleshooting/SKILL.md"
349
+ - ".github/skills/command-implementation/REFERENCE.md"
350
+ - ".github/skills/command-implementation/SKILL.md"
351
+ - ".github/skills/command-test-conventions/SKILL.md"
352
+ - ".github/skills/command-yard-documentation/SKILL.md"
353
+ - ".github/skills/dependency-management/SKILL.md"
354
+ - ".github/skills/development-workflow/SKILL.md"
355
+ - ".github/skills/extract-command-from-lib/SKILL.md"
356
+ - ".github/skills/extract-facade-from-base-lib/SKILL.md"
357
+ - ".github/skills/facade-implementation/REFERENCE.md"
358
+ - ".github/skills/facade-implementation/SKILL.md"
359
+ - ".github/skills/facade-test-conventions/SKILL.md"
360
+ - ".github/skills/facade-yard-documentation/SKILL.md"
361
+ - ".github/skills/make-skill-template/SKILL.md"
362
+ - ".github/skills/pr-readiness-review/SKILL.md"
363
+ - ".github/skills/project-context/SKILL.md"
364
+ - ".github/skills/pull-request-review/SKILL.md"
365
+ - ".github/skills/refactor-command-to-commandlineresult/SKILL.md"
366
+ - ".github/skills/release-management/SKILL.md"
367
+ - ".github/skills/review-arguments-dsl/CHECKLIST.md"
368
+ - ".github/skills/review-arguments-dsl/SKILL.md"
369
+ - ".github/skills/review-backward-compatibility/SKILL.md"
370
+ - ".github/skills/review-cross-command-consistency/SKILL.md"
371
+ - ".github/skills/reviewing-skills/SKILL.md"
372
+ - ".github/skills/rspec-unit-testing-standards/SKILL.md"
373
+ - ".github/skills/tdd-refactor-step/SKILL.md"
374
+ - ".github/skills/test-debugging/SKILL.md"
375
+ - ".github/skills/yard-documentation/SKILL.md"
243
376
  - ".github/workflows/continuous_integration.yml"
244
377
  - ".github/workflows/enforce_conventional_commits.yml"
245
378
  - ".github/workflows/experimental_continuous_integration.yml"
246
379
  - ".github/workflows/release.yml"
247
380
  - ".gitignore"
248
381
  - ".husky/commit-msg"
382
+ - ".husky/pre-commit"
383
+ - ".release-please-config.json"
249
384
  - ".release-please-manifest.json"
385
+ - ".rspec"
250
386
  - ".rubocop.yml"
251
387
  - ".rubocop_todo.yml"
252
388
  - ".yardopts"
@@ -260,37 +396,229 @@ files:
260
396
  - MAINTAINERS.md
261
397
  - README.md
262
398
  - Rakefile
399
+ - commitlint.test
263
400
  - git.gemspec
264
401
  - lib/git.rb
265
402
  - lib/git/args_builder.rb
266
403
  - lib/git/author.rb
267
404
  - lib/git/base.rb
268
405
  - lib/git/branch.rb
406
+ - lib/git/branch_delete_failure.rb
407
+ - lib/git/branch_delete_result.rb
408
+ - lib/git/branch_info.rb
269
409
  - lib/git/branches.rb
270
410
  - lib/git/command_line.rb
411
+ - lib/git/command_line/base.rb
412
+ - lib/git/command_line/capturing.rb
413
+ - lib/git/command_line/result.rb
414
+ - lib/git/command_line/streaming.rb
271
415
  - lib/git/command_line_result.rb
416
+ - lib/git/commands.rb
417
+ - lib/git/commands/add.rb
418
+ - lib/git/commands/am.rb
419
+ - lib/git/commands/am/abort.rb
420
+ - lib/git/commands/am/apply.rb
421
+ - lib/git/commands/am/continue.rb
422
+ - lib/git/commands/am/quit.rb
423
+ - lib/git/commands/am/retry.rb
424
+ - lib/git/commands/am/show_current_patch.rb
425
+ - lib/git/commands/am/skip.rb
426
+ - lib/git/commands/apply.rb
427
+ - lib/git/commands/archive.rb
428
+ - lib/git/commands/archive/list_formats.rb
429
+ - lib/git/commands/arguments.rb
430
+ - lib/git/commands/base.rb
431
+ - lib/git/commands/branch.rb
432
+ - lib/git/commands/branch/copy.rb
433
+ - lib/git/commands/branch/create.rb
434
+ - lib/git/commands/branch/delete.rb
435
+ - lib/git/commands/branch/list.rb
436
+ - lib/git/commands/branch/move.rb
437
+ - lib/git/commands/branch/set_upstream.rb
438
+ - lib/git/commands/branch/show_current.rb
439
+ - lib/git/commands/branch/unset_upstream.rb
440
+ - lib/git/commands/cat_file.rb
441
+ - lib/git/commands/cat_file/batch.rb
442
+ - lib/git/commands/cat_file/filtered.rb
443
+ - lib/git/commands/cat_file/raw.rb
444
+ - lib/git/commands/checkout.rb
445
+ - lib/git/commands/checkout/branch.rb
446
+ - lib/git/commands/checkout/files.rb
447
+ - lib/git/commands/checkout_index.rb
448
+ - lib/git/commands/clean.rb
449
+ - lib/git/commands/clone.rb
450
+ - lib/git/commands/commit.rb
451
+ - lib/git/commands/commit_tree.rb
452
+ - lib/git/commands/config_option_syntax.rb
453
+ - lib/git/commands/config_option_syntax/add.rb
454
+ - lib/git/commands/config_option_syntax/get.rb
455
+ - lib/git/commands/config_option_syntax/get_all.rb
456
+ - lib/git/commands/config_option_syntax/get_color.rb
457
+ - lib/git/commands/config_option_syntax/get_color_bool.rb
458
+ - lib/git/commands/config_option_syntax/get_regexp.rb
459
+ - lib/git/commands/config_option_syntax/get_urlmatch.rb
460
+ - lib/git/commands/config_option_syntax/list.rb
461
+ - lib/git/commands/config_option_syntax/remove_section.rb
462
+ - lib/git/commands/config_option_syntax/rename_section.rb
463
+ - lib/git/commands/config_option_syntax/replace_all.rb
464
+ - lib/git/commands/config_option_syntax/set.rb
465
+ - lib/git/commands/config_option_syntax/unset.rb
466
+ - lib/git/commands/config_option_syntax/unset_all.rb
467
+ - lib/git/commands/describe.rb
468
+ - lib/git/commands/diff.rb
469
+ - lib/git/commands/diff_files.rb
470
+ - lib/git/commands/diff_index.rb
471
+ - lib/git/commands/fetch.rb
472
+ - lib/git/commands/fsck.rb
473
+ - lib/git/commands/gc.rb
474
+ - lib/git/commands/grep.rb
475
+ - lib/git/commands/init.rb
476
+ - lib/git/commands/log.rb
477
+ - lib/git/commands/ls_files.rb
478
+ - lib/git/commands/ls_remote.rb
479
+ - lib/git/commands/ls_tree.rb
480
+ - lib/git/commands/maintenance.rb
481
+ - lib/git/commands/maintenance/register.rb
482
+ - lib/git/commands/maintenance/run.rb
483
+ - lib/git/commands/maintenance/start.rb
484
+ - lib/git/commands/maintenance/stop.rb
485
+ - lib/git/commands/maintenance/unregister.rb
486
+ - lib/git/commands/merge.rb
487
+ - lib/git/commands/merge/abort.rb
488
+ - lib/git/commands/merge/continue.rb
489
+ - lib/git/commands/merge/quit.rb
490
+ - lib/git/commands/merge/start.rb
491
+ - lib/git/commands/merge_base.rb
492
+ - lib/git/commands/mv.rb
493
+ - lib/git/commands/name_rev.rb
494
+ - lib/git/commands/pull.rb
495
+ - lib/git/commands/push.rb
496
+ - lib/git/commands/read_tree.rb
497
+ - lib/git/commands/remote.rb
498
+ - lib/git/commands/remote/add.rb
499
+ - lib/git/commands/remote/get_url.rb
500
+ - lib/git/commands/remote/list.rb
501
+ - lib/git/commands/remote/prune.rb
502
+ - lib/git/commands/remote/remove.rb
503
+ - lib/git/commands/remote/rename.rb
504
+ - lib/git/commands/remote/set_branches.rb
505
+ - lib/git/commands/remote/set_head.rb
506
+ - lib/git/commands/remote/set_url.rb
507
+ - lib/git/commands/remote/set_url_add.rb
508
+ - lib/git/commands/remote/set_url_delete.rb
509
+ - lib/git/commands/remote/show.rb
510
+ - lib/git/commands/remote/update.rb
511
+ - lib/git/commands/repack.rb
512
+ - lib/git/commands/reset.rb
513
+ - lib/git/commands/rev_parse.rb
514
+ - lib/git/commands/revert.rb
515
+ - lib/git/commands/revert/abort.rb
516
+ - lib/git/commands/revert/continue.rb
517
+ - lib/git/commands/revert/quit.rb
518
+ - lib/git/commands/revert/skip.rb
519
+ - lib/git/commands/revert/start.rb
520
+ - lib/git/commands/rm.rb
521
+ - lib/git/commands/show.rb
522
+ - lib/git/commands/show_ref.rb
523
+ - lib/git/commands/show_ref/exclude_existing.rb
524
+ - lib/git/commands/show_ref/exists.rb
525
+ - lib/git/commands/show_ref/list.rb
526
+ - lib/git/commands/show_ref/verify.rb
527
+ - lib/git/commands/stash.rb
528
+ - lib/git/commands/stash/apply.rb
529
+ - lib/git/commands/stash/branch.rb
530
+ - lib/git/commands/stash/clear.rb
531
+ - lib/git/commands/stash/create.rb
532
+ - lib/git/commands/stash/drop.rb
533
+ - lib/git/commands/stash/list.rb
534
+ - lib/git/commands/stash/pop.rb
535
+ - lib/git/commands/stash/push.rb
536
+ - lib/git/commands/stash/show.rb
537
+ - lib/git/commands/stash/store.rb
538
+ - lib/git/commands/status.rb
539
+ - lib/git/commands/symbolic_ref.rb
540
+ - lib/git/commands/symbolic_ref/delete.rb
541
+ - lib/git/commands/symbolic_ref/read.rb
542
+ - lib/git/commands/symbolic_ref/update.rb
543
+ - lib/git/commands/tag.rb
544
+ - lib/git/commands/tag/create.rb
545
+ - lib/git/commands/tag/delete.rb
546
+ - lib/git/commands/tag/list.rb
547
+ - lib/git/commands/tag/verify.rb
548
+ - lib/git/commands/update_ref.rb
549
+ - lib/git/commands/update_ref/batch.rb
550
+ - lib/git/commands/update_ref/delete.rb
551
+ - lib/git/commands/update_ref/update.rb
552
+ - lib/git/commands/version.rb
553
+ - lib/git/commands/worktree.rb
554
+ - lib/git/commands/worktree/add.rb
555
+ - lib/git/commands/worktree/list.rb
556
+ - lib/git/commands/worktree/lock.rb
557
+ - lib/git/commands/worktree/management_base.rb
558
+ - lib/git/commands/worktree/move.rb
559
+ - lib/git/commands/worktree/prune.rb
560
+ - lib/git/commands/worktree/remove.rb
561
+ - lib/git/commands/worktree/repair.rb
562
+ - lib/git/commands/worktree/unlock.rb
563
+ - lib/git/commands/write_tree.rb
272
564
  - lib/git/config.rb
565
+ - lib/git/detached_head_info.rb
273
566
  - lib/git/diff.rb
567
+ - lib/git/diff_file_numstat_info.rb
568
+ - lib/git/diff_file_patch_info.rb
569
+ - lib/git/diff_file_raw_info.rb
570
+ - lib/git/diff_info.rb
274
571
  - lib/git/diff_path_status.rb
572
+ - lib/git/diff_result.rb
275
573
  - lib/git/diff_stats.rb
574
+ - lib/git/dirstat_info.rb
276
575
  - lib/git/encoding_utils.rb
277
576
  - lib/git/errors.rb
278
577
  - lib/git/escaped_path.rb
578
+ - lib/git/execution_context.rb
579
+ - lib/git/execution_context/global.rb
580
+ - lib/git/execution_context/repository.rb
581
+ - lib/git/file_ref.rb
279
582
  - lib/git/fsck_object.rb
280
583
  - lib/git/fsck_result.rb
281
- - lib/git/index.rb
282
584
  - lib/git/lib.rb
283
585
  - lib/git/log.rb
284
586
  - lib/git/object.rb
285
- - lib/git/path.rb
587
+ - lib/git/parsers/branch.rb
588
+ - lib/git/parsers/cat_file.rb
589
+ - lib/git/parsers/diff.rb
590
+ - lib/git/parsers/fsck.rb
591
+ - lib/git/parsers/grep.rb
592
+ - lib/git/parsers/ls_tree.rb
593
+ - lib/git/parsers/stash.rb
594
+ - lib/git/parsers/tag.rb
286
595
  - lib/git/remote.rb
287
596
  - lib/git/repository.rb
597
+ - lib/git/repository/branching.rb
598
+ - lib/git/repository/committing.rb
599
+ - lib/git/repository/configuring.rb
600
+ - lib/git/repository/diffing.rb
601
+ - lib/git/repository/inspecting.rb
602
+ - lib/git/repository/logging.rb
603
+ - lib/git/repository/merging.rb
604
+ - lib/git/repository/object_operations.rb
605
+ - lib/git/repository/path_resolver.rb
606
+ - lib/git/repository/remote_operations.rb
607
+ - lib/git/repository/shared_private.rb
608
+ - lib/git/repository/staging.rb
609
+ - lib/git/repository/stashing.rb
610
+ - lib/git/repository/status_operations.rb
611
+ - lib/git/repository/worktree_operations.rb
288
612
  - lib/git/stash.rb
613
+ - lib/git/stash_info.rb
289
614
  - lib/git/stashes.rb
290
615
  - lib/git/status.rb
616
+ - lib/git/tag_delete_failure.rb
617
+ - lib/git/tag_delete_result.rb
618
+ - lib/git/tag_info.rb
291
619
  - lib/git/url.rb
292
620
  - lib/git/version.rb
293
- - lib/git/working_directory.rb
621
+ - lib/git/version_constraint.rb
294
622
  - lib/git/worktree.rb
295
623
  - lib/git/worktrees.rb
296
624
  - package.json
@@ -298,8 +626,9 @@ files:
298
626
  - redesign/2_architecture_redesign.md
299
627
  - redesign/3_architecture_implementation.md
300
628
  - redesign/index.md
301
- - release-please-config.json
302
629
  - tasks/gem_tasks.rake
630
+ - tasks/npm_tasks.rake
631
+ - tasks/rspec.rake
303
632
  - tasks/rubocop.rake
304
633
  - tasks/test.rake
305
634
  - tasks/test_gem.rake
@@ -310,8 +639,8 @@ licenses:
310
639
  metadata:
311
640
  homepage_uri: http://github.com/ruby-git/ruby-git
312
641
  source_code_uri: http://github.com/ruby-git/ruby-git
313
- changelog_uri: https://rubydoc.info/gems/git/4.4.3/file/CHANGELOG.md
314
- documentation_uri: https://rubydoc.info/gems/git/4.4.3
642
+ changelog_uri: https://rubydoc.info/gems/git/5.0.0.beta.1/file/CHANGELOG.md
643
+ documentation_uri: https://rubydoc.info/gems/git/5.0.0.beta.1
315
644
  rubygems_mfa_required: 'true'
316
645
  rdoc_options: []
317
646
  require_paths:
@@ -328,7 +657,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
328
657
  version: '0'
329
658
  requirements:
330
659
  - git 2.28.0 or greater
331
- rubygems_version: 4.0.16
660
+ rubygems_version: 4.0.10
332
661
  specification_version: 4
333
662
  summary: An API to create, read, and manipulate Git repositories
334
663
  test_files: []
data/lib/git/index.rb DELETED
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Git
4
- class Index < Git::Path
5
- end
6
- end
data/lib/git/path.rb DELETED
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Git
4
- # A base class that represents and validates a filesystem path
5
- #
6
- # Use for tracking things relevant to a Git repository, such as the working
7
- # directory or index file.
8
- #
9
- class Path
10
- def path
11
- Git::Deprecation.warn(
12
- 'The .path accessor is deprecated and will be removed in v5.0. ' \
13
- 'Use .to_s instead.'
14
- )
15
- @path
16
- end
17
-
18
- def initialize(path, must_exist: true)
19
- path = File.expand_path(path)
20
-
21
- raise ArgumentError, 'path does not exist', [path] if must_exist && !File.exist?(path)
22
-
23
- @path = path
24
- end
25
-
26
- def readable?
27
- File.readable?(@path)
28
- end
29
-
30
- def writable?
31
- File.writable?(@path)
32
- end
33
-
34
- def to_s
35
- @path
36
- end
37
- end
38
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Git
4
- class WorkingDirectory < Git::Path
5
- end
6
- end