git 1.17.2 → 1.18.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 +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +13 -0
- data/Rakefile +1 -1
- data/lib/git/failed_error.rb +8 -6
- data/lib/git/lib.rb +2 -1
- data/lib/git/version.rb +1 -1
- data/lib/git.rb +15 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3c801f928c5b75999c02cecd054c0007a8e2f0460c27bc2b983741824d7b194
|
4
|
+
data.tar.gz: 861bf03f14ed76dcf43acefcc8fe33787e202a9af52e7789d6d1660f84b4fc51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a4bf752eb3332572f968ea23a5cc4a4e4547279f60ce2341d6d6d815f5d9f4cbd17237b266c9cd2850c77c2c9a189ff98034af5385333632f557e765cb7b64a
|
7
|
+
data.tar.gz: e678b9da94ccd8295347688d3dd3e400764da4af3f850ceaa0038e4ddb34804fd2cc3942119a9f66968b4c014fb07a040352c7b6494556298cebd826bc765fd8
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,18 @@
|
|
5
5
|
|
6
6
|
# Change Log
|
7
7
|
|
8
|
+
## v1.18.0 (2023-03-19)
|
9
|
+
|
10
|
+
[Full Changelog](https://github.com/ruby-git/ruby-git/compare/v1.17.2..v1.18.0)
|
11
|
+
|
12
|
+
Changes since v1.17.2:
|
13
|
+
|
14
|
+
* 3c70 Add support for `--update-head-ok` to `fetch` (#660)
|
15
|
+
* b53d Do not generate yard documentation when building in TruffleRuby (#659)
|
16
|
+
* 5af1 Correctly report command output when there is an error (#658)
|
17
|
+
* b27a Add test to ensure that `Git.open` works to open a submodule (#655)
|
18
|
+
* 5b0e Update Git.clone to set multiple config variables (#653)
|
19
|
+
|
8
20
|
## v1.17.2 (2023-03-07)
|
9
21
|
|
10
22
|
[Full Changelog](https://github.com/ruby-git/ruby-git/compare/v1.17.1..v1.17.2)
|
data/README.md
CHANGED
@@ -188,6 +188,18 @@ end
|
|
188
188
|
g.config('user.name') # returns 'Scott Chacon'
|
189
189
|
g.config # returns whole config hash
|
190
190
|
|
191
|
+
# Configuration can be set when cloning using the :config option.
|
192
|
+
# This option can be an single configuration String or an Array
|
193
|
+
# if multiple config items need to be set.
|
194
|
+
#
|
195
|
+
g = Git.clone(
|
196
|
+
git_uri, destination_path,
|
197
|
+
:config => [
|
198
|
+
'core.sshCommand=ssh -i /home/user/.ssh/id_rsa',
|
199
|
+
'submodule.recurse=true'
|
200
|
+
]
|
201
|
+
)
|
202
|
+
|
191
203
|
g.tags # returns array of Git::Tag objects
|
192
204
|
|
193
205
|
g.show()
|
@@ -299,6 +311,7 @@ g.fetch
|
|
299
311
|
g.fetch(g.remotes.first)
|
300
312
|
g.fetch('origin', {:ref => 'some/ref/head'} )
|
301
313
|
g.fetch(all: true, force: true, depth: 2)
|
314
|
+
g.fetch('origin', {:'update-head-ok' => true})
|
302
315
|
|
303
316
|
g.pull
|
304
317
|
g.pull(Git::Repo, Git::Branch) # fetch and a merge
|
data/Rakefile
CHANGED
@@ -18,7 +18,7 @@ task :test do
|
|
18
18
|
end
|
19
19
|
default_tasks << :test
|
20
20
|
|
21
|
-
unless RUBY_PLATFORM == 'java'
|
21
|
+
unless RUBY_PLATFORM == 'java' || RUBY_ENGINE == 'truffleruby'
|
22
22
|
#
|
23
23
|
# YARD documentation for this project can NOT be built with JRuby.
|
24
24
|
# This project uses the redcarpet gem which can not be installed on JRuby.
|
data/lib/git/failed_error.rb
CHANGED
@@ -14,18 +14,20 @@ module Git
|
|
14
14
|
class FailedError < Git::GitExecuteError
|
15
15
|
# Create a FailedError object
|
16
16
|
#
|
17
|
+
# Since this gem redirects stderr to stdout, the stdout of the process is used.
|
18
|
+
#
|
17
19
|
# @example
|
18
20
|
# `exit 1` # set $? appropriately for this example
|
19
|
-
# result = Git::CommandLineResult.new(%w[git status], $?, '',
|
21
|
+
# result = Git::CommandLineResult.new(%w[git status], $?, 'stdout', 'stderr')
|
20
22
|
# error = Git::FailedError.new(result)
|
21
23
|
# error.message #=>
|
22
|
-
# "[\"git\", \"status\"]\nstatus: pid 89784 exit 1\
|
24
|
+
# "[\"git\", \"status\"]\nstatus: pid 89784 exit 1\noutput: \"stdout\""
|
23
25
|
#
|
24
26
|
# @param result [Git::CommandLineResult] the result of the git command including
|
25
27
|
# the git command, status, stdout, and stderr
|
26
28
|
#
|
27
29
|
def initialize(result)
|
28
|
-
super("#{result.git_cmd}\nstatus: #{result.status}\
|
30
|
+
super("#{result.git_cmd}\nstatus: #{result.status}\noutput: #{result.stdout.inspect}")
|
29
31
|
@result = result
|
30
32
|
end
|
31
33
|
|
@@ -35,14 +37,14 @@ module Git
|
|
35
37
|
#
|
36
38
|
# @example
|
37
39
|
# `exit 1` # set $? appropriately for this example
|
38
|
-
# result = Git::CommandLineResult.new(%w[git status], $?, '',
|
40
|
+
# result = Git::CommandLineResult.new(%w[git status], $?, 'stdout', 'stderr')
|
39
41
|
# error = Git::FailedError.new(result)
|
40
42
|
# error.result #=>
|
41
43
|
# #<Git::CommandLineResult:0x00000001046bd488
|
42
44
|
# @git_cmd=["git", "status"],
|
43
45
|
# @status=#<Process::Status: pid 89784 exit 1>,
|
44
|
-
# @stderr="
|
45
|
-
# @stdout="">
|
46
|
+
# @stderr="stderr",
|
47
|
+
# @stdout="stdout">
|
46
48
|
#
|
47
49
|
# @return [Git::CommandLineResult]
|
48
50
|
#
|
data/lib/git/lib.rb
CHANGED
@@ -101,7 +101,7 @@ module Git
|
|
101
101
|
arr_opts << '--bare' if opts[:bare]
|
102
102
|
arr_opts << '--branch' << opts[:branch] if opts[:branch]
|
103
103
|
arr_opts << '--depth' << opts[:depth].to_i if opts[:depth] && opts[:depth].to_i > 0
|
104
|
-
arr_opts << '--config' <<
|
104
|
+
Array(opts[:config]).each { |c| arr_opts << '--config' << c }
|
105
105
|
arr_opts << '--origin' << opts[:remote] || opts[:origin] if opts[:remote] || opts[:origin]
|
106
106
|
arr_opts << '--recursive' if opts[:recursive]
|
107
107
|
arr_opts << '--mirror' if opts[:mirror]
|
@@ -951,6 +951,7 @@ module Git
|
|
951
951
|
arr_opts << '--prune' if opts[:p] || opts[:prune]
|
952
952
|
arr_opts << '--prune-tags' if opts[:P] || opts[:'prune-tags']
|
953
953
|
arr_opts << '--force' if opts[:f] || opts[:force]
|
954
|
+
arr_opts << '--update-head-ok' if opts[:u] || opts[:'update-head-ok']
|
954
955
|
arr_opts << '--unshallow' if opts[:unshallow]
|
955
956
|
arr_opts << '--depth' << opts[:depth] if opts[:depth]
|
956
957
|
arr_opts << '--' if remote || opts[:ref]
|
data/lib/git/version.rb
CHANGED
data/lib/git.rb
CHANGED
@@ -133,6 +133,9 @@ module Git
|
|
133
133
|
# @option options [String] :branch The name of a branch or tag to checkout
|
134
134
|
# instead of the default branch.
|
135
135
|
#
|
136
|
+
# @option options [Array, String] :config A list of configuration options to
|
137
|
+
# set on the newly created repository.
|
138
|
+
#
|
136
139
|
# @option options [Integer] :depth Create a shallow clone with a history
|
137
140
|
# truncated to the specified number of commits.
|
138
141
|
#
|
@@ -166,6 +169,18 @@ module Git
|
|
166
169
|
# @example Create a bare repository in the directory `ruby-git.git`
|
167
170
|
# git = Git.clone('https://github.com/ruby-git/ruby-git.git', bare: true)
|
168
171
|
#
|
172
|
+
# @example Clone a repository and set a single config option
|
173
|
+
# git = Git.clone(
|
174
|
+
# 'https://github.com/ruby-git/ruby-git.git',
|
175
|
+
# config: 'submodule.recurse=true'
|
176
|
+
# )
|
177
|
+
#
|
178
|
+
# @example Clone a repository and set multiple config options
|
179
|
+
# git = Git.clone(
|
180
|
+
# 'https://github.com/ruby-git/ruby-git.git',
|
181
|
+
# config: ['user.name=John Doe', 'user.email=john@doe.com']
|
182
|
+
# )
|
183
|
+
#
|
169
184
|
# @return [Git::Base] an object that can execute git commands in the context
|
170
185
|
# of the cloned local working copy or cloned repository.
|
171
186
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Chacon and others
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-03-
|
11
|
+
date: 2023-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|