esr-rim 1.4.4 → 1.4.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +13 -1
- data/Rakefile +4 -4
- data/lib/rim/command_helper.rb +13 -12
- data/lib/rim/git.rb +7 -0
- data/lib/rim/info_helper.rb +5 -1
- data/lib/rim/info_module_helper.rb +5 -0
- data/lib/rim/sync_module_helper.rb +1 -1
- data/lib/rim/version.rb +1 -2
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b293dbe27fac4aa9a8a8a9ddd5e4646137bc2ef1e1199c15fb88b5949c45177
|
4
|
+
data.tar.gz: 8ac963407d05985800068f93c0bfd3eed86afce4326d2d60cf1d71d4cd226d29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c4c1e5a227cc9984a524cd2edc0141f1422b9101db9d865469cbe1573668b97ef9f38829d6104155b59208a07df35e615f4e56f100d6cc1c06132743d08e8a1
|
7
|
+
data.tar.gz: 71d75b7b8d54415c5dc366d161286bb4944886bdc89fc575d2ab3b3023f0e9cfe9944d4a5e9cd7936a1332321f67afc12bb1a9f951e0997e790a090ad0fa4739
|
data/CHANGELOG
CHANGED
@@ -142,4 +142,16 @@
|
|
142
142
|
|
143
143
|
# 1.4.4
|
144
144
|
|
145
|
-
* Fixed exception which results in ugly log output for Ruby >= 2.5
|
145
|
+
* Fixed exception which results in ugly log output for Ruby >= 2.5
|
146
|
+
|
147
|
+
# 1.4.5
|
148
|
+
|
149
|
+
* Wrong build: deprecated
|
150
|
+
|
151
|
+
# 1.4.6
|
152
|
+
|
153
|
+
* Fixed issue #28: rim sync is not working in root of destination repository
|
154
|
+
|
155
|
+
# 1.4.7
|
156
|
+
|
157
|
+
* Added a notification in `rim info` in case the current SHA1 is not an existing commit
|
data/Rakefile
CHANGED
@@ -14,13 +14,13 @@ RTextGemSpec = Gem::Specification.new do |s|
|
|
14
14
|
s.date = Time.now.strftime("%Y-%m-%d")
|
15
15
|
s.summary = "RIM - multi git tool"
|
16
16
|
s.description = "RIM lets you work with multiple git repositories from within one single git repository."
|
17
|
-
s.authors = "ESR Labs
|
17
|
+
s.authors = "ESR Labs GmbH"
|
18
18
|
s.homepage = "http://github.com/esrlabs/esr-rim"
|
19
19
|
s.add_dependency('subcommand', '>= 1.0.6')
|
20
20
|
gemfiles = Rake::FileList.new
|
21
21
|
gemfiles.include("{lib,test}/**/*")
|
22
22
|
gemfiles.include(DocFiles)
|
23
|
-
gemfiles.include("Rakefile")
|
23
|
+
gemfiles.include("Rakefile")
|
24
24
|
s.files = gemfiles
|
25
25
|
s.rdoc_options = ["--main", "README.md", "-x", "test"]
|
26
26
|
s.extra_rdoc_files = DocFiles
|
@@ -37,14 +37,14 @@ end
|
|
37
37
|
|
38
38
|
RTextPackageTask = Gem::PackageTask.new(RTextGemSpec) do |p|
|
39
39
|
p.need_zip = false
|
40
|
-
end
|
40
|
+
end
|
41
41
|
|
42
42
|
task :prepare_package_rdoc => :rdoc do
|
43
43
|
RTextPackageTask.package_files.include("doc/**/*")
|
44
44
|
end
|
45
45
|
|
46
46
|
desc 'run unit tests'
|
47
|
-
task :
|
47
|
+
task :unit_tests do
|
48
48
|
sh "ruby test/unit_tests.rb"
|
49
49
|
end
|
50
50
|
|
data/lib/rim/command_helper.rb
CHANGED
@@ -27,7 +27,7 @@ class CommandHelper < Processor
|
|
27
27
|
def check_ready
|
28
28
|
raise RimException.new("The workspace git contains uncommitted changes.") if !local_changes?(@ws_root)
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
def check_arguments
|
32
32
|
raise RimException.new("Unexpected command line arguments.") if !ARGV.empty?
|
33
33
|
end
|
@@ -49,7 +49,7 @@ class CommandHelper < Processor
|
|
49
49
|
end
|
50
50
|
true
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
def modules_from_paths(paths, opts = {})
|
54
54
|
if paths.empty?
|
55
55
|
module_from_path(nil, opts)
|
@@ -61,7 +61,7 @@ class CommandHelper < Processor
|
|
61
61
|
raise RimException.new("Multiple modules cannot be used with URL option.")
|
62
62
|
end
|
63
63
|
end
|
64
|
-
|
64
|
+
|
65
65
|
def module_from_path(path, opts = {})
|
66
66
|
module_path = find_file_dir_in_workspace(path || ".", RimInfo::InfoFileName)
|
67
67
|
if module_path
|
@@ -79,10 +79,10 @@ class CommandHelper < Processor
|
|
79
79
|
raise RimException.new("Invalid .riminfo file found in directory '#{module_path}'.")
|
80
80
|
end
|
81
81
|
else
|
82
|
-
raise RimException.new(path ? "No module info found in '#{path}'." : "No module info found.")
|
82
|
+
raise RimException.new(path ? "No module info found in '#{path}'." : "No module info found.")
|
83
83
|
end
|
84
84
|
end
|
85
|
-
|
85
|
+
|
86
86
|
def module_paths(paths, exclude_paths = nil)
|
87
87
|
module_paths = []
|
88
88
|
(paths.empty? ? ['.'] : paths).each do |p|
|
@@ -98,11 +98,11 @@ class CommandHelper < Processor
|
|
98
98
|
end
|
99
99
|
module_paths.sort
|
100
100
|
end
|
101
|
-
|
101
|
+
|
102
102
|
def all_module_paths_from_path(path)
|
103
103
|
Dir.glob(File.join(path, "**/.riminfo")).map { |f| Pathname.new(File.expand_path(File.dirname(f))).relative_path_from(Pathname.pwd).to_s }
|
104
104
|
end
|
105
|
-
|
105
|
+
|
106
106
|
def add_unique_module_info(module_info)
|
107
107
|
if !@paths.include?(module_info.local_path)
|
108
108
|
@paths.push(module_info.local_path)
|
@@ -119,19 +119,20 @@ class CommandHelper < Processor
|
|
119
119
|
|
120
120
|
def find_file_dir_in_workspace(start_dir, file)
|
121
121
|
path = File.expand_path(start_dir)
|
122
|
-
|
122
|
+
loop do
|
123
123
|
if File.exist?(File.join(path, file))
|
124
124
|
return path
|
125
|
-
|
125
|
+
elsif path != @ws_root
|
126
126
|
parent = File.dirname(path)
|
127
127
|
if parent != path
|
128
128
|
path = parent
|
129
129
|
else
|
130
|
-
|
130
|
+
return nil
|
131
131
|
end
|
132
|
-
|
132
|
+
else
|
133
|
+
return nil
|
134
|
+
end
|
133
135
|
end
|
134
|
-
nil
|
135
136
|
end
|
136
137
|
|
137
138
|
protected
|
data/lib/rim/git.rb
CHANGED
@@ -98,6 +98,13 @@ class GitSession
|
|
98
98
|
end
|
99
99
|
nil
|
100
100
|
end
|
101
|
+
|
102
|
+
# check whether a commit exists
|
103
|
+
def commit_exists?(sha)
|
104
|
+
execute("git rev-parse --quiet --verify #{sha}^{commit}") do |b, e|
|
105
|
+
return !e
|
106
|
+
end
|
107
|
+
end
|
101
108
|
|
102
109
|
# check whether branch exists
|
103
110
|
def has_branch?(branch)
|
data/lib/rim/info_helper.rb
CHANGED
@@ -23,7 +23,11 @@ class InfoHelper < CommandHelper
|
|
23
23
|
@module_helpers.each do |h|
|
24
24
|
path = h.module_info.local_path.split(/[\\\/]/).last.ljust(40)
|
25
25
|
info = "#{path}: ->#{h.target_rev.ljust(10)} @#{h.current_sha1[0..6]}"
|
26
|
-
|
26
|
+
|
27
|
+
if (!h.current_commit_exists)
|
28
|
+
info += " [COMMIT NOT FOUND]"
|
29
|
+
@logger.info(info)
|
30
|
+
elsif h.upstream_revs
|
27
31
|
if h.upstream_revs.size > 0
|
28
32
|
info += " [#{h.upstream_revs.size} commits behind]"
|
29
33
|
else
|
@@ -5,6 +5,7 @@ module RIM
|
|
5
5
|
class InfoModuleHelper < ModuleHelper
|
6
6
|
|
7
7
|
attr_accessor :target_rev
|
8
|
+
attr_accessor :current_commit_exists
|
8
9
|
attr_accessor :current_sha1
|
9
10
|
attr_accessor :upstream_revs
|
10
11
|
attr_accessor :upstream_non_fast_forward
|
@@ -19,6 +20,10 @@ class InfoModuleHelper < ModuleHelper
|
|
19
20
|
@target_rev = rim_info.target_revision
|
20
21
|
@current_sha1 = rim_info.revision_sha1
|
21
22
|
RIM::git_session(git_path) do |s|
|
23
|
+
if s.commit_exists?(current_sha1)
|
24
|
+
@current_commit_exists = true
|
25
|
+
end
|
26
|
+
|
22
27
|
if s.has_remote_branch?(target_rev)
|
23
28
|
# repository is mirrored so branches are "local"
|
24
29
|
if s.is_ancestor?(current_sha1, target_rev)
|
@@ -32,7 +32,7 @@ module RIM
|
|
32
32
|
raise RimException.new("Unknown target revision '#{@module_info.target_revision}' for module '#{@module_info.local_path}'.")
|
33
33
|
end
|
34
34
|
local_path = File.join(@dest_root, @module_info.local_path)
|
35
|
-
prepare_empty_folder(local_path,
|
35
|
+
prepare_empty_folder(local_path, [*@module_info.ignores, ".git/**/*"])
|
36
36
|
temp_commit(d, "clear directory") if d.uncommited_changes?
|
37
37
|
strip = ""
|
38
38
|
if @module_info.subdir
|
data/lib/rim/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: esr-rim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- ESR Labs
|
7
|
+
- ESR Labs GmbH
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: subcommand
|
@@ -106,8 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
106
|
- !ruby/object:Gem::Version
|
107
107
|
version: '0'
|
108
108
|
requirements: []
|
109
|
-
|
110
|
-
rubygems_version: 2.7.7
|
109
|
+
rubygems_version: 3.1.2
|
111
110
|
signing_key:
|
112
111
|
specification_version: 4
|
113
112
|
summary: RIM - multi git tool
|