git 2.3.3 → 3.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5bc80ed5447f019e983721b8d5b9658be3acda92512312f81d9cad47d7b751e1
4
- data.tar.gz: 3cfb80132b7dc28a0e10f7513e688bf8b43bc0786460cdfc93d00ce547533e83
3
+ metadata.gz: 15e8ef783ed47126c9fc866e91548649296d172d6e94e9b4cdb07feec8442ba8
4
+ data.tar.gz: ee8da57446d27f9edff8153a3a0146ade937f807000b088757c76e5f93fbf283
5
5
  SHA512:
6
- metadata.gz: 86e89789bc17358bf813f46896bb509491b8db027104d440c0a3e8f7bb7716da0c76d6a264a589e188a1e7d5331c833d5b161536a6bd6dccf44ef3df64b6c780
7
- data.tar.gz: 8e54f34cb83b0d3027870b1eea35eb23896cd572fc23c167655fb308e15e19ac3a24f7c7c5173fdb734aacfe410516d2bf2793baf4660b443a049a3259176cf0
6
+ metadata.gz: 88cde2fac57799293f836c3c21e2753d232e64a667b4eae96077e75379c388b19edb48ea0bfc85a243e134d5f7aec5fe5b3bb926af348e8fccb47ee4feac8967
7
+ data.tar.gz: 227ebb848662a40f7a4904d88199980c38ae5ca8c9779808d32096abcb8475166c13bb027279a03751169e2f13387b7fef4f9932650013d99e9152f64697a069
@@ -18,12 +18,12 @@ jobs:
18
18
  fail-fast: false
19
19
  matrix:
20
20
  # Only the latest versions of JRuby and TruffleRuby are tested
21
- ruby: ["3.0", "3.1", "3.2", "3.3", "truffleruby-24.0.0", "jruby-9.4.5.0"]
21
+ ruby: ["3.1", "3.2", "3.3", "3.4", "truffleruby-24.1.2", "jruby-9.4.12.0"]
22
22
  operating-system: [ubuntu-latest]
23
23
  experimental: [No]
24
24
  include:
25
25
  - # Only test with minimal Ruby version on Windows
26
- ruby: 3.0
26
+ ruby: 3.1
27
27
  operating-system: windows-latest
28
28
 
29
29
  steps:
data/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@
5
5
 
6
6
  # Change Log
7
7
 
8
+ ## v3.0.0 (2025-02-27)
9
+
10
+ [Full Changelog](https://github.com/ruby-git/ruby-git/compare/v2.3.3..v3.0.0)
11
+
12
+ Changes since v2.3.3:
13
+
14
+ * 534fcf5 chore: use ProcessExecuter.run instead of the implementing it in this gem
15
+ * 629f3b6 feat: update dependenices
16
+ * 501d135 feat: add support for Ruby 3.4 and drop support for Ruby 3.0
17
+ * 38c0eb5 build: update the CI build to use current versions to TruffleRuby and JRuby
18
+ * d3f3a9d chore: add frozen_string_literal: true magic comment
19
+
8
20
  ## v2.3.3 (2024-12-04)
9
21
 
10
22
  [Full Changelog](https://github.com/ruby-git/ruby-git/compare/v2.3.2..v2.3.3)
data/git.gemspec CHANGED
@@ -29,13 +29,13 @@ Gem::Specification.new do |s|
29
29
 
30
30
  s.add_runtime_dependency 'activesupport', '>= 5.0'
31
31
  s.add_runtime_dependency 'addressable', '~> 2.8'
32
- s.add_runtime_dependency 'process_executer', '~> 1.1'
33
- s.add_runtime_dependency 'rchardet', '~> 1.8'
32
+ s.add_runtime_dependency 'process_executer', '~> 1.3'
33
+ s.add_runtime_dependency 'rchardet', '~> 1.9'
34
34
 
35
- s.add_development_dependency 'create_github_release', '~> 1.4'
36
- s.add_development_dependency 'minitar', '~> 0.9'
37
- s.add_development_dependency 'mocha', '~> 2.1'
38
- s.add_development_dependency 'rake', '~> 13.1'
35
+ s.add_development_dependency 'create_github_release', '~> 2.1'
36
+ s.add_development_dependency 'minitar', '~> 0.12'
37
+ s.add_development_dependency 'mocha', '~> 2.7'
38
+ s.add_development_dependency 'rake', '~> 13.2'
39
39
  s.add_development_dependency 'test-unit', '~> 3.6'
40
40
 
41
41
  unless RUBY_PLATFORM == 'java'
data/lib/git/author.rb CHANGED
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
  class Author
3
5
  attr_accessor :name, :email, :date
4
-
6
+
5
7
  def initialize(author_string)
6
8
  if m = /(.*?) <(.*?)> (\d+) (.*)/.match(author_string)
7
9
  @name = m[1]
@@ -9,6 +11,5 @@ module Git
9
11
  @date = Time.at(m[3].to_i)
10
12
  end
11
13
  end
12
-
13
14
  end
14
15
  end
data/lib/git/base.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'logger'
2
4
  require 'open3'
3
5
 
data/lib/git/branch.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'git/path'
2
4
 
3
5
  module Git
data/lib/git/branches.rb CHANGED
@@ -1,15 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
-
4
+
3
5
  # object that holds all the available branches
4
6
  class Branches
5
7
 
6
8
  include Enumerable
7
-
9
+
8
10
  def initialize(base)
9
11
  @branches = {}
10
-
12
+
11
13
  @base = base
12
-
14
+
13
15
  @base.lib.branches_all.each do |b|
14
16
  @branches[b[0]] = Git::Branch.new(@base, b[0])
15
17
  end
@@ -18,21 +20,21 @@ module Git
18
20
  def local
19
21
  self.select { |b| !b.remote }
20
22
  end
21
-
23
+
22
24
  def remote
23
25
  self.select { |b| b.remote }
24
26
  end
25
-
27
+
26
28
  # array like methods
27
29
 
28
30
  def size
29
31
  @branches.size
30
- end
31
-
32
+ end
33
+
32
34
  def each(&block)
33
35
  @branches.values.each(&block)
34
36
  end
35
-
37
+
36
38
  # Returns the target branch
37
39
  #
38
40
  # Example:
@@ -50,14 +52,14 @@ module Git
50
52
  @branches.values.inject(@branches) do |branches, branch|
51
53
  branches[branch.full] ||= branch
52
54
 
53
- # This is how Git (version 1.7.9.5) works.
54
- # Lets you ignore the 'remotes' if its at the beginning of the branch full name (even if is not a real remote branch).
55
+ # This is how Git (version 1.7.9.5) works.
56
+ # Lets you ignore the 'remotes' if its at the beginning of the branch full name (even if is not a real remote branch).
55
57
  branches[branch.full.sub('remotes/', '')] ||= branch if branch.full =~ /^remotes\/.+/
56
-
58
+
57
59
  branches
58
60
  end[branch_name.to_s]
59
61
  end
60
-
62
+
61
63
  def to_s
62
64
  out = ''
63
65
  @branches.each do |k, b|
@@ -65,7 +67,6 @@ module Git
65
67
  end
66
68
  out
67
69
  end
68
-
69
70
  end
70
71
 
71
72
  end
@@ -189,13 +189,14 @@ module Git
189
189
  #
190
190
  # @raise [Git::TimeoutError] if the command times out
191
191
  #
192
- def run(*args, out:, err:, normalize:, chomp:, merge:, chdir: nil, timeout: nil)
192
+ def run(*args, out: nil, err: nil, normalize:, chomp:, merge:, chdir: nil, timeout: nil)
193
193
  git_cmd = build_git_cmd(args)
194
- out ||= StringIO.new
195
- err ||= (merge ? out : StringIO.new)
196
- status = execute(git_cmd, out, err, chdir: (chdir || :not_set), timeout: timeout)
197
-
198
- process_result(git_cmd, status, out, err, normalize, chomp, timeout)
194
+ begin
195
+ result = ProcessExecuter.run(env, *git_cmd, out: out, err: err, merge:, chdir: (chdir || :not_set), timeout: timeout, raise_errors: false)
196
+ rescue ProcessExecuter::Command::ProcessIOError => e
197
+ raise Git::ProcessIOError.new(e.message), cause: e.exception.cause
198
+ end
199
+ process_result(result, normalize, chomp, timeout)
199
200
  end
200
201
 
201
202
  private
@@ -210,121 +211,12 @@ module Git
210
211
  [binary_path, *global_opts, *args].map { |e| e.to_s }
211
212
  end
212
213
 
213
- # Determine the output to return in the `CommandLineResult`
214
- #
215
- # If the writer can return the output by calling `#string` (such as a StringIO),
216
- # then return the result of normalizing the encoding and chomping the output
217
- # as requested.
218
- #
219
- # If the writer does not support `#string`, then return nil. The output is
220
- # assumed to be collected by the writer itself such as when the writer
221
- # is a file instead of a StringIO.
222
- #
223
- # @param writer [#string] the writer to post-process
224
- #
225
- # @return [String, nil]
226
- #
227
- # @api private
228
- #
229
- def post_process(writer, normalize, chomp)
230
- if writer.respond_to?(:string)
231
- output = writer.string.dup
232
- output = output.lines.map { |l| Git::EncodingUtils.normalize_encoding(l) }.join if normalize
233
- output.chomp! if chomp
234
- output
235
- else
236
- nil
237
- end
238
- end
239
-
240
- # Post-process all writers and return an array of the results
241
- #
242
- # @param writers [Array<#write>] the writers to post-process
243
- # @param normalize [Boolean] whether to normalize the output of each writer
244
- # @param chomp [Boolean] whether to chomp the output of each writer
245
- #
246
- # @return [Array<String, nil>] the output of each writer that supports `#string`
247
- #
248
- # @api private
249
- #
250
- def post_process_all(writers, normalize, chomp)
251
- Array.new.tap do |result|
252
- writers.each { |writer| result << post_process(writer, normalize, chomp) }
253
- end
254
- end
255
-
256
- # Raise an error when there was exception while collecting the subprocess output
257
- #
258
- # @param git_cmd [Array<String>] the git command that was executed
259
- # @param pipe_name [Symbol] the name of the pipe that raised the exception
260
- # @param pipe [ProcessExecuter::MonitoredPipe] the pipe that raised the exception
261
- #
262
- # @raise [Git::ProcessIOError]
263
- #
264
- # @return [void] this method always raises an error
265
- #
266
- # @api private
267
- #
268
- def raise_pipe_error(git_cmd, pipe_name, pipe)
269
- raise Git::ProcessIOError.new("Pipe Exception for #{git_cmd}: #{pipe_name}"), cause: pipe.exception
270
- end
271
-
272
- # Execute the git command and collect the output
273
- #
274
- # @param cmd [Array<String>] the git command to execute
275
- # @param chdir [String] the directory to run the command in
276
- # @param timeout [Numeric, nil] the maximum seconds to wait for the command to complete
277
- #
278
- # If timeout is zero of nil, the command will not time out. If the command
279
- # times out, it is killed via a SIGKILL signal and `Git::TimeoutError` is raised.
280
- #
281
- # If the command does not respond to SIGKILL, it will hang this method.
282
- #
283
- # @raise [Git::ProcessIOError] if an exception was raised while collecting subprocess output
284
- # @raise [Git::TimeoutError] if the command times out
285
- #
286
- # @return [ProcessExecuter::Status] the status of the completed subprocess
287
- #
288
- # @api private
289
- #
290
- def spawn(cmd, out_writers, err_writers, chdir:, timeout:)
291
- out_pipe = ProcessExecuter::MonitoredPipe.new(*out_writers, chunk_size: 10_000)
292
- err_pipe = ProcessExecuter::MonitoredPipe.new(*err_writers, chunk_size: 10_000)
293
- ProcessExecuter.spawn(env, *cmd, out: out_pipe, err: err_pipe, chdir: chdir, timeout: timeout)
294
- ensure
295
- out_pipe.close
296
- err_pipe.close
297
- raise_pipe_error(cmd, :stdout, out_pipe) if out_pipe.exception
298
- raise_pipe_error(cmd, :stderr, err_pipe) if err_pipe.exception
299
- end
300
-
301
- # The writers that will be used to collect stdout and stderr
302
- #
303
- # Additional writers could be added here if you wanted to tee output
304
- # or send output to the terminal.
305
- #
306
- # @param out [#write] the object to write stdout to
307
- # @param err [#write] the object to write stderr to
308
- #
309
- # @return [Array<Array<#write>, Array<#write>>] the writers for stdout and stderr
310
- #
311
- # @api private
312
- #
313
- def writers(out, err)
314
- out_writers = [out]
315
- err_writers = [err]
316
- [out_writers, err_writers]
317
- end
318
-
319
214
  # Process the result of the command and return a Git::CommandLineResult
320
215
  #
321
216
  # Post process output, log the command and result, and raise an error if the
322
217
  # command failed.
323
218
  #
324
- # @param git_cmd [Array<String>] the git command that was executed
325
- # @param status [Process::Status] the status of the completed subprocess
326
- # @param out [#write] the object that stdout was written to
327
- # @param err [#write] the object that stderr was written to
219
+ # @param result [ProcessExecuter::Command::Result] the result it is a Process::Status and include command, stdout, and stderr
328
220
  # @param normalize [Boolean] whether to normalize the output of each writer
329
221
  # @param chomp [Boolean] whether to chomp the output of each writer
330
222
  # @param timeout [Numeric, nil] the maximum seconds to wait for the command to complete
@@ -338,40 +230,58 @@ module Git
338
230
  #
339
231
  # @api private
340
232
  #
341
- def process_result(git_cmd, status, out, err, normalize, chomp, timeout)
342
- out_str, err_str = post_process_all([out, err], normalize, chomp)
343
- logger.info { "#{git_cmd} exited with status #{status}" }
344
- logger.debug { "stdout:\n#{out_str.inspect}\nstderr:\n#{err_str.inspect}" }
345
- Git::CommandLineResult.new(git_cmd, status, out_str, err_str).tap do |result|
346
- raise Git::TimeoutError.new(result, timeout) if status.timeout?
347
- raise Git::SignaledError.new(result) if status.signaled?
348
- raise Git::FailedError.new(result) unless status.success?
233
+ def process_result(result, normalize, chomp, timeout)
234
+ command = result.command
235
+ processed_out, processed_err = post_process_all([result.stdout, result.stderr], normalize, chomp)
236
+ logger.info { "#{command} exited with status #{result}" }
237
+ logger.debug { "stdout:\n#{processed_out.inspect}\nstderr:\n#{processed_err.inspect}" }
238
+ Git::CommandLineResult.new(command, result, processed_out, processed_err).tap do |processed_result|
239
+ raise Git::TimeoutError.new(processed_result, timeout) if result.timeout?
240
+ raise Git::SignaledError.new(processed_result) if result.signaled?
241
+ raise Git::FailedError.new(processed_result) unless result.success?
349
242
  end
350
243
  end
351
244
 
352
- # Execute the git command and write the command output to out and err
245
+ # Post-process command output and return an array of the results
353
246
  #
354
- # @param git_cmd [Array<String>] the git command to execute
355
- # @param out [#write] the object to write stdout to
356
- # @param err [#write] the object to write stderr to
357
- # @param chdir [String] the directory to run the command in
358
- # @param timeout [Numeric, nil] the maximum seconds to wait for the command to complete
247
+ # @param raw_outputs [Array] the output to post-process
248
+ # @param normalize [Boolean] whether to normalize the output of each writer
249
+ # @param chomp [Boolean] whether to chomp the output of each writer
359
250
  #
360
- # If timeout is zero of nil, the command will not time out. If the command
361
- # times out, it is killed via a SIGKILL signal and `Git::TimeoutError` is raised.
251
+ # @return [Array<String, nil>] the processed output of each command output object that supports `#string`
362
252
  #
363
- # If the command does not respond to SIGKILL, it will hang this method.
253
+ # @api private
364
254
  #
365
- # @raise [Git::ProcessIOError] if an exception was raised while collecting subprocess output
366
- # @raise [Git::TimeoutError] if the command times out
255
+ def post_process_all(raw_outputs, normalize, chomp)
256
+ Array.new.tap do |result|
257
+ raw_outputs.each { |raw_output| result << post_process(raw_output, normalize, chomp) }
258
+ end
259
+ end
260
+
261
+ # Determine the output to return in the `CommandLineResult`
367
262
  #
368
- # @return [Git::CommandLineResult] the result of the command to return to the caller
263
+ # If the writer can return the output by calling `#string` (such as a StringIO),
264
+ # then return the result of normalizing the encoding and chomping the output
265
+ # as requested.
266
+ #
267
+ # If the writer does not support `#string`, then return nil. The output is
268
+ # assumed to be collected by the writer itself such as when the writer
269
+ # is a file instead of a StringIO.
270
+ #
271
+ # @param raw_output [#string] the output to post-process
272
+ # @return [String, nil]
369
273
  #
370
274
  # @api private
371
275
  #
372
- def execute(git_cmd, out, err, chdir:, timeout:)
373
- out_writers, err_writers = writers(out, err)
374
- spawn(git_cmd, out_writers, err_writers, chdir: chdir, timeout: timeout)
276
+ def post_process(raw_output, normalize, chomp)
277
+ if raw_output.respond_to?(:string)
278
+ output = raw_output.string.dup
279
+ output = output.lines.map { |l| Git::EncodingUtils.normalize_encoding(l) }.join if normalize
280
+ output.chomp! if chomp
281
+ output
282
+ else
283
+ nil
284
+ end
375
285
  end
376
286
  end
377
287
  end
data/lib/git/config.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
 
3
5
  class Config
data/lib/git/diff.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
 
3
5
  # object that holds the last X commits on given branch
data/lib/git/index.rb CHANGED
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
  class Index < Git::Path
3
-
4
5
  end
5
6
  end
data/lib/git/lib.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'git/command_line'
2
4
  require 'git/errors'
3
5
  require 'logger'
@@ -570,7 +572,7 @@ module Git
570
572
  case key
571
573
  when 'commit'
572
574
  hsh_array << hsh if hsh
573
- hsh = {'sha' => value, 'message' => '', 'parent' => []}
575
+ hsh = {'sha' => value, 'message' => +'', 'parent' => []}
574
576
  when 'parent'
575
577
  hsh['parent'] << value
576
578
  else
data/lib/git/log.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
 
3
5
  # Return the last n commits that match the specified criteria
data/lib/git/object.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'git/author'
2
4
  require 'git/diff'
3
5
  require 'git/errors'
data/lib/git/path.rb CHANGED
@@ -1,19 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
-
4
+
3
5
  class Path
4
-
6
+
5
7
  attr_accessor :path
6
-
8
+
7
9
  def initialize(path, check_path=true)
8
10
  path = File.expand_path(path)
9
-
11
+
10
12
  if check_path && !File.exist?(path)
11
13
  raise ArgumentError, 'path does not exist', [path]
12
14
  end
13
-
15
+
14
16
  @path = path
15
17
  end
16
-
18
+
17
19
  def readable?
18
20
  File.readable?(@path)
19
21
  end
@@ -21,11 +23,10 @@ module Git
21
23
  def writable?
22
24
  File.writable?(@path)
23
25
  end
24
-
26
+
25
27
  def to_s
26
28
  @path
27
29
  end
28
-
29
30
  end
30
31
 
31
32
  end
data/lib/git/remote.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
  class Remote < Path
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
 
3
5
  class Repository < Path
data/lib/git/stash.rb CHANGED
@@ -1,27 +1,28 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
  class Stash
3
-
5
+
4
6
  def initialize(base, message, existing=false)
5
7
  @base = base
6
8
  @message = message
7
9
  save unless existing
8
10
  end
9
-
11
+
10
12
  def save
11
13
  @saved = @base.lib.stash_save(@message)
12
14
  end
13
-
15
+
14
16
  def saved?
15
17
  @saved
16
18
  end
17
-
19
+
18
20
  def message
19
21
  @message
20
22
  end
21
-
23
+
22
24
  def to_s
23
25
  message
24
26
  end
25
-
26
27
  end
27
28
  end
data/lib/git/stashes.rb CHANGED
@@ -1,14 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
-
4
+
3
5
  # object that holds all the available stashes
4
6
  class Stashes
5
7
  include Enumerable
6
-
8
+
7
9
  def initialize(base)
8
10
  @stashes = []
9
-
11
+
10
12
  @base = base
11
-
13
+
12
14
  @base.lib.stashes_all.each do |id, message|
13
15
  @stashes.unshift(Git::Stash.new(@base, message, true))
14
16
  end
@@ -24,16 +26,16 @@ module Git
24
26
  def all
25
27
  @base.lib.stashes_all
26
28
  end
27
-
29
+
28
30
  def save(message)
29
31
  s = Git::Stash.new(@base, message)
30
32
  @stashes.unshift(s) if s.saved?
31
33
  end
32
-
34
+
33
35
  def apply(index=nil)
34
36
  @base.lib.stash_apply(index)
35
37
  end
36
-
38
+
37
39
  def clear
38
40
  @base.lib.stash_clear
39
41
  @stashes = []
@@ -42,14 +44,13 @@ module Git
42
44
  def size
43
45
  @stashes.size
44
46
  end
45
-
47
+
46
48
  def each(&block)
47
49
  @stashes.each(&block)
48
50
  end
49
-
51
+
50
52
  def [](index)
51
53
  @stashes[index.to_i]
52
54
  end
53
-
54
55
  end
55
56
  end
data/lib/git/status.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
  # The status class gets the status of a git repository
3
5
  #
@@ -100,7 +102,7 @@ module Git
100
102
  end
101
103
 
102
104
  def pretty
103
- out = ''
105
+ out = +''
104
106
  each do |file|
105
107
  out << pretty_file(file)
106
108
  end
data/lib/git/version.rb CHANGED
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
  # The current gem version
3
5
  # @return [String] the current gem version.
4
- VERSION='2.3.3'
6
+ VERSION='3.0.0'
5
7
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
  class WorkingDirectory < Git::Path
3
5
  end
data/lib/git/worktree.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'git/path'
2
4
 
3
5
  module Git
data/lib/git/worktrees.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Git
2
4
  # object that holds all the available worktrees
3
5
  class Worktrees
data/lib/git.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support'
2
4
  require 'active_support/deprecation'
3
5
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.3
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Chacon and others
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-04 00:00:00.000000000 Z
10
+ date: 2025-02-27 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -44,84 +43,84 @@ dependencies:
44
43
  requirements:
45
44
  - - "~>"
46
45
  - !ruby/object:Gem::Version
47
- version: '1.1'
46
+ version: '1.3'
48
47
  type: :runtime
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - "~>"
53
52
  - !ruby/object:Gem::Version
54
- version: '1.1'
53
+ version: '1.3'
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: rchardet
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - "~>"
60
59
  - !ruby/object:Gem::Version
61
- version: '1.8'
60
+ version: '1.9'
62
61
  type: :runtime
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
65
  - - "~>"
67
66
  - !ruby/object:Gem::Version
68
- version: '1.8'
67
+ version: '1.9'
69
68
  - !ruby/object:Gem::Dependency
70
69
  name: create_github_release
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
72
  - - "~>"
74
73
  - !ruby/object:Gem::Version
75
- version: '1.4'
74
+ version: '2.1'
76
75
  type: :development
77
76
  prerelease: false
78
77
  version_requirements: !ruby/object:Gem::Requirement
79
78
  requirements:
80
79
  - - "~>"
81
80
  - !ruby/object:Gem::Version
82
- version: '1.4'
81
+ version: '2.1'
83
82
  - !ruby/object:Gem::Dependency
84
83
  name: minitar
85
84
  requirement: !ruby/object:Gem::Requirement
86
85
  requirements:
87
86
  - - "~>"
88
87
  - !ruby/object:Gem::Version
89
- version: '0.9'
88
+ version: '0.12'
90
89
  type: :development
91
90
  prerelease: false
92
91
  version_requirements: !ruby/object:Gem::Requirement
93
92
  requirements:
94
93
  - - "~>"
95
94
  - !ruby/object:Gem::Version
96
- version: '0.9'
95
+ version: '0.12'
97
96
  - !ruby/object:Gem::Dependency
98
97
  name: mocha
99
98
  requirement: !ruby/object:Gem::Requirement
100
99
  requirements:
101
100
  - - "~>"
102
101
  - !ruby/object:Gem::Version
103
- version: '2.1'
102
+ version: '2.7'
104
103
  type: :development
105
104
  prerelease: false
106
105
  version_requirements: !ruby/object:Gem::Requirement
107
106
  requirements:
108
107
  - - "~>"
109
108
  - !ruby/object:Gem::Version
110
- version: '2.1'
109
+ version: '2.7'
111
110
  - !ruby/object:Gem::Dependency
112
111
  name: rake
113
112
  requirement: !ruby/object:Gem::Requirement
114
113
  requirements:
115
114
  - - "~>"
116
115
  - !ruby/object:Gem::Version
117
- version: '13.1'
116
+ version: '13.2'
118
117
  type: :development
119
118
  prerelease: false
120
119
  version_requirements: !ruby/object:Gem::Requirement
121
120
  requirements:
122
121
  - - "~>"
123
122
  - !ruby/object:Gem::Version
124
- version: '13.1'
123
+ version: '13.2'
125
124
  - !ruby/object:Gem::Dependency
126
125
  name: test-unit
127
126
  requirement: !ruby/object:Gem::Requirement
@@ -243,9 +242,8 @@ licenses:
243
242
  metadata:
244
243
  homepage_uri: http://github.com/ruby-git/ruby-git
245
244
  source_code_uri: http://github.com/ruby-git/ruby-git
246
- changelog_uri: https://rubydoc.info/gems/git/2.3.3/file/CHANGELOG.md
247
- documentation_uri: https://rubydoc.info/gems/git/2.3.3
248
- post_install_message:
245
+ changelog_uri: https://rubydoc.info/gems/git/3.0.0/file/CHANGELOG.md
246
+ documentation_uri: https://rubydoc.info/gems/git/3.0.0
249
247
  rdoc_options: []
250
248
  require_paths:
251
249
  - lib
@@ -261,8 +259,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
261
259
  version: '0'
262
260
  requirements:
263
261
  - git 2.28.0 or greater
264
- rubygems_version: 3.5.22
265
- signing_key:
262
+ rubygems_version: 3.6.2
266
263
  specification_version: 4
267
264
  summary: An API to create, read, and manipulate Git repositories
268
265
  test_files: []