git-fastclone 1.4.2 → 1.4.3
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/lib/git-fastclone/version.rb +1 -1
- data/lib/git-fastclone.rb +13 -18
- data/spec/git_fastclone_runner_spec.rb +4 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b755aef58d17ded702b989b16fb92cf93908413403bb99f92b542319c59fdbc
|
4
|
+
data.tar.gz: c7ad9ab44516bea864027aa562af274bd49999aea62eccbfc3df9421cc6674d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f6cff1907474ac42d8a4936dba9e5e684440b72f9995ce80bdb0bc79bc169d79969386b32eb3c8e8cc64358fc1872b0cbb07011d2bebfd753b04423fc1198be
|
7
|
+
data.tar.gz: 889d56227ae2aff1aba3d9dfc33fdd7ab554b9f6ae77f21c036c66af5c2eb47756d49e62a2244ca922855442856caaeb772baace5bc1c9f093d1eae0a3043b02
|
data/lib/git-fastclone.rb
CHANGED
@@ -225,10 +225,9 @@ module GitFastClone
|
|
225
225
|
|
226
226
|
# Only checkout if we're changing branches to a non-default branch
|
227
227
|
if rev
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
end
|
228
|
+
fail_on_error('git', 'checkout', '--quiet', rev.to_s, quiet: !verbose,
|
229
|
+
print_on_failure: print_git_errors,
|
230
|
+
chdir: File.join(abs_clone_path, src_dir))
|
232
231
|
end
|
233
232
|
|
234
233
|
update_submodules(src_dir, url)
|
@@ -250,11 +249,9 @@ module GitFastClone
|
|
250
249
|
|
251
250
|
threads = []
|
252
251
|
submodule_url_list = []
|
253
|
-
output = ''
|
254
|
-
|
255
|
-
|
256
|
-
print_on_failure: print_git_errors)
|
257
|
-
end
|
252
|
+
output = fail_on_error('git', 'submodule', 'init', quiet: !verbose,
|
253
|
+
print_on_failure: print_git_errors,
|
254
|
+
chdir: File.join(abs_clone_path, pwd))
|
258
255
|
|
259
256
|
output.split("\n").each do |line|
|
260
257
|
submodule_path, submodule_url = parse_update_info(line)
|
@@ -270,11 +267,10 @@ module GitFastClone
|
|
270
267
|
def thread_update_submodule(submodule_url, submodule_path, threads, pwd)
|
271
268
|
threads << Thread.new do
|
272
269
|
with_git_mirror(submodule_url) do |mirror, _|
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
end
|
270
|
+
cmd = ['git', 'submodule',
|
271
|
+
verbose ? nil : '--quiet', 'update', '--reference', mirror.to_s, submodule_path.to_s].compact
|
272
|
+
fail_on_error(*cmd, quiet: !verbose, print_on_failure: print_git_errors,
|
273
|
+
chdir: File.join(abs_clone_path, pwd))
|
278
274
|
end
|
279
275
|
|
280
276
|
update_submodules(File.join(pwd, submodule_path), submodule_url)
|
@@ -350,10 +346,9 @@ module GitFastClone
|
|
350
346
|
quiet: !verbose, print_on_failure: print_git_errors)
|
351
347
|
end
|
352
348
|
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
end
|
349
|
+
cmd = ['git', 'remote', verbose ? '--verbose' : nil, 'update', '--prune'].compact
|
350
|
+
fail_on_error(*cmd, quiet: !verbose, print_on_failure: print_git_errors, chdir: mirror)
|
351
|
+
|
357
352
|
reference_updated[repo_name] = true
|
358
353
|
rescue RunnerExecutionRuntimeError => e
|
359
354
|
# To avoid corruption of the cache, if we failed to update or check out we remove
|
@@ -91,7 +91,6 @@ describe GitFastClone::Runner do
|
|
91
91
|
before(:each) do
|
92
92
|
allow(runner_execution_double).to receive(:fail_on_error) {}
|
93
93
|
allow(Dir).to receive(:pwd) { '/pwd' }
|
94
|
-
allow(Dir).to receive(:chdir).and_yield
|
95
94
|
allow(subject).to receive(:with_git_mirror).and_yield('/cache', 0)
|
96
95
|
expect(subject).to receive(:clear_clone_dest_if_needed).once {}
|
97
96
|
end
|
@@ -99,7 +98,7 @@ describe GitFastClone::Runner do
|
|
99
98
|
it 'should clone correctly' do
|
100
99
|
expect(subject).to receive(:fail_on_error).with(
|
101
100
|
'git', 'checkout', '--quiet', 'PH',
|
102
|
-
{
|
101
|
+
{ chdir: '/pwd/.', print_on_failure: false, quiet: true }
|
103
102
|
) { runner_execution_double }
|
104
103
|
expect(subject).to receive(:fail_on_error).with(
|
105
104
|
'git', 'clone', '--quiet', '--reference', '/cache', 'PH', '/pwd/.',
|
@@ -113,7 +112,7 @@ describe GitFastClone::Runner do
|
|
113
112
|
subject.verbose = true
|
114
113
|
expect(subject).to receive(:fail_on_error).with(
|
115
114
|
'git', 'checkout', '--quiet', 'PH',
|
116
|
-
{
|
115
|
+
{ chdir: '/pwd/.', print_on_failure: false, quiet: false }
|
117
116
|
) { runner_execution_double }
|
118
117
|
expect(subject).to receive(:fail_on_error).with(
|
119
118
|
'git', 'clone', '--verbose', '--reference', '/cache', 'PH', '/pwd/.',
|
@@ -338,7 +337,6 @@ describe GitFastClone::Runner do
|
|
338
337
|
|
339
338
|
it 'should correctly update the hash' do
|
340
339
|
allow(subject).to receive(:fail_on_error)
|
341
|
-
allow(Dir).to receive(:chdir) {}
|
342
340
|
|
343
341
|
subject.reference_updated = placeholder_hash
|
344
342
|
subject.store_updated_repo(placeholder_arg, placeholder_arg, placeholder_arg, false)
|
@@ -389,7 +387,6 @@ describe GitFastClone::Runner do
|
|
389
387
|
expected_command = expected_commands.shift
|
390
388
|
expect(command).to eq(expected_command)
|
391
389
|
}
|
392
|
-
allow(Dir).to receive(:chdir).and_yield
|
393
390
|
|
394
391
|
allow(subject).to receive(:print_formatted_error) {}
|
395
392
|
allow(subject).to receive(:reference_repo_dir).and_return(test_reference_repo_dir)
|
@@ -404,7 +401,8 @@ describe GitFastClone::Runner do
|
|
404
401
|
[
|
405
402
|
['git', 'clone', verbose ? '--verbose' : '--quiet', '--mirror', test_url_valid,
|
406
403
|
test_reference_repo_dir],
|
407
|
-
['git', 'remote', verbose ? '--verbose' : nil, 'update',
|
404
|
+
['git', 'remote', verbose ? '--verbose' : nil, 'update',
|
405
|
+
'--prune'].compact
|
408
406
|
]
|
409
407
|
end
|
410
408
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-fastclone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Tauraso
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
12
|
+
date: 2023-09-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: colorize
|
@@ -66,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '0'
|
68
68
|
requirements: []
|
69
|
-
rubygems_version: 3.
|
69
|
+
rubygems_version: 3.1.6
|
70
70
|
signing_key:
|
71
71
|
specification_version: 4
|
72
72
|
summary: git-clone --recursive on steroids!
|