esr-rim 1.3.6 → 1.3.7
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 +8 -8
- data/CHANGELOG +6 -0
- data/lib/rim/sync_module_helper.rb +7 -8
- data/lib/rim/version.rb +1 -1
- data/test/sync_module_helper_test.rb +42 -12
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MTIwZTVjMGFiNmQ3YjdmNmJmY2NmYTVkMzk2ODY2YzBkMjEwZDQ5YQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MmU3YmU2NTA2OGZmYzI1Yjg0Y2ExYWFjN2MwNGExYjIzMmY0ZWZhNw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZjViYzhkNTgxMDM2ZWZlMDAxM2IxZGYzOGVjZWFhODFmNGI3OGI3OTlmYjZl
|
10
|
+
YWQ2MTE2NGY3ZDBjMTRjOGQ1MjA0NmQ4NjhmODA4NWM0NTVkYzlmN2ZiNzk4
|
11
|
+
NmRiMDliMDFjZTMwMGNiNWIwODVkNjVjZGNlMzI3MTMyYzlkM2M=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MGI3ODk5ZGEyYmJiZmVhMzE1ZmIxMTgyOGE0OTc5MjVkNWVjYzY4NTM0YjNh
|
14
|
+
M2JjZjExMzk1MzA2ODdhMWZlYjNkODU1NzM4Zjc3MTI1ZDBiNjllMTNmNWFl
|
15
|
+
NjE3ZWNlMTVhZWQ1NjBmZjUwMmZmYjg4OWVkNWQ1YzNlNzI3NDk=
|
data/CHANGELOG
CHANGED
@@ -109,3 +109,9 @@
|
|
109
109
|
* Normalize path set in RIM_HOME before using (fixes problems with backslash used in Windows).
|
110
110
|
* Use SHA1 for shortened paths only if shorter than original path.
|
111
111
|
* Set RIM_HOME to non-persistent path for unit tests.
|
112
|
+
|
113
|
+
# 1.3.7
|
114
|
+
|
115
|
+
* fixed Issue #18: rim can't sync commits containing ignored files
|
116
|
+
|
117
|
+
|
@@ -61,15 +61,14 @@ module RIM
|
|
61
61
|
def needs_commit?(session)
|
62
62
|
# do we need to commit something?
|
63
63
|
stat = session.status(@module_info.local_path)
|
64
|
-
ignored
|
64
|
+
# no files should be ignored due to --force option. Anyway we will check for ignored files
|
65
|
+
ignored = []
|
66
|
+
session.execute("git add --all --force #{@module_info.local_path}") do |out, e|
|
67
|
+
ignored = parse_ignored_files(session, out, e)
|
68
|
+
end
|
65
69
|
if ignored.empty?
|
66
|
-
session.
|
67
|
-
|
68
|
-
end
|
69
|
-
if ignored.empty?
|
70
|
-
stat = session.status(@module_info.local_path)
|
71
|
-
ignored = stat.lines.select{ |l| l.ignored? }
|
72
|
-
end
|
70
|
+
stat = session.status(@module_info.local_path)
|
71
|
+
ignored = stat.lines.select{ |l| l.ignored? }
|
73
72
|
end
|
74
73
|
if !ignored.empty?
|
75
74
|
messages = ["Sync failed due to files/dirs of #{@module_info.local_path} which are ignored by workspace's .gitignore:"]
|
data/lib/rim/version.rb
CHANGED
@@ -18,20 +18,20 @@ class SyncModuleHelperTest < Minitest::Test
|
|
18
18
|
@logger.level = Logger::ERROR unless ARGV.include? "debug"
|
19
19
|
RIM::GitSession.logger = @logger
|
20
20
|
test_dir = empty_test_dir("module_sync_helper_test")
|
21
|
-
remote_git_dir = File.join(test_dir, "remote_git")
|
22
|
-
@
|
23
|
-
FileUtils.mkdir(remote_git_dir)
|
24
|
-
RIM::git_session(remote_git_dir) do |s|
|
21
|
+
@remote_git_dir = File.join(test_dir, "remote_git")
|
22
|
+
@remote_git_dir_url = "file://" + @remote_git_dir
|
23
|
+
FileUtils.mkdir(@remote_git_dir)
|
24
|
+
RIM::git_session(@remote_git_dir) do |s|
|
25
25
|
s.execute("git init")
|
26
26
|
s.execute("git checkout -B testbr")
|
27
|
-
write_file(remote_git_dir, "readme.txt")
|
27
|
+
write_file(@remote_git_dir, "readme.txt")
|
28
28
|
s.execute("git add .")
|
29
29
|
s.execute("git commit -m \"Initial commit\"")
|
30
30
|
end
|
31
31
|
@ws_dir = File.join(test_dir, "ws")
|
32
32
|
FileUtils.mkdir(@ws_dir)
|
33
33
|
RIM::git_session(@ws_dir) do |s|
|
34
|
-
s.execute("git clone #{@
|
34
|
+
s.execute("git clone #{@remote_git_dir_url} .")
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -40,13 +40,43 @@ class SyncModuleHelperTest < Minitest::Test
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def test_files_are_copied_to_working_dir
|
43
|
-
info = RIM::ModuleInfo.new(@
|
43
|
+
info = RIM::ModuleInfo.new(@remote_git_dir_url, "test", "testbr")
|
44
44
|
cut = RIM::SyncModuleHelper.new(@ws_dir, @ws_dir, info, @logger)
|
45
45
|
cut.sync
|
46
46
|
assert File.exists?(File.join(@ws_dir, "test/readme.txt"))
|
47
47
|
assert File.exists?(File.join(@ws_dir, "test/.riminfo"))
|
48
48
|
end
|
49
49
|
|
50
|
+
def test_files_ignored_by_gitignore_of_workspace_are_copied_to_working_dir
|
51
|
+
RIM::git_session(@remote_git_dir) do |s|
|
52
|
+
write_file(@remote_git_dir, 'ignored_file.txt')
|
53
|
+
s.execute("git add .")
|
54
|
+
s.execute("git commit -m \"Add a single file\"")
|
55
|
+
end
|
56
|
+
RIM::git_session(@ws_dir) do |s|
|
57
|
+
write_file(@ws_dir, '.gitignore', 'ignored*\n')
|
58
|
+
s.execute("git add .")
|
59
|
+
s.execute("git commit -m \"Ignore a single file\"")
|
60
|
+
end
|
61
|
+
info = RIM::ModuleInfo.new(@remote_git_dir_url, "test", "testbr")
|
62
|
+
cut = RIM::SyncModuleHelper.new(@ws_dir, @ws_dir, info, @logger)
|
63
|
+
cut.sync
|
64
|
+
assert File.exists?(File.join(@ws_dir, "test/readme.txt"))
|
65
|
+
assert File.exists?(File.join(@ws_dir, "test/.riminfo"))
|
66
|
+
assert File.exists?(File.join(@ws_dir, "test/ignored_file.txt"))
|
67
|
+
# Add a single ignored file afterwards and sync again
|
68
|
+
RIM::git_session(@remote_git_dir) do |s|
|
69
|
+
write_file(@remote_git_dir, 'ignored_file_2.txt')
|
70
|
+
s.execute("git add .")
|
71
|
+
s.execute("git commit -m \"Add a second ignored file\"")
|
72
|
+
end
|
73
|
+
cut.sync
|
74
|
+
assert File.exists?(File.join(@ws_dir, "test/readme.txt"))
|
75
|
+
assert File.exists?(File.join(@ws_dir, "test/.riminfo"))
|
76
|
+
assert File.exists?(File.join(@ws_dir, "test/ignored_file.txt"))
|
77
|
+
assert File.exists?(File.join(@ws_dir, "test/ignored_file_2.txt"))
|
78
|
+
end
|
79
|
+
|
50
80
|
def test_files_of_ignore_list_are_not_removed_when_copying
|
51
81
|
test_folder = File.join(@ws_dir, "test")
|
52
82
|
write_file(test_folder, "file1")
|
@@ -54,7 +84,7 @@ class SyncModuleHelperTest < Minitest::Test
|
|
54
84
|
write_file(File.join(test_folder, "folder"), "file1")
|
55
85
|
write_file(File.join(test_folder, "folder"), "file2")
|
56
86
|
write_file(File.join(test_folder, "folder2"), "file1")
|
57
|
-
info = RIM::ModuleInfo.new(@
|
87
|
+
info = RIM::ModuleInfo.new(@remote_git_dir_url, "test", "testbr", "**/file2")
|
58
88
|
cut = RIM::SyncModuleHelper.new(@ws_dir, @ws_dir, info, @logger)
|
59
89
|
cut.sync
|
60
90
|
assert File.exists?(File.join(test_folder, "readme.txt"))
|
@@ -67,7 +97,7 @@ class SyncModuleHelperTest < Minitest::Test
|
|
67
97
|
end
|
68
98
|
|
69
99
|
def test_commit_message_is_set_by_default
|
70
|
-
info = RIM::ModuleInfo.new(@
|
100
|
+
info = RIM::ModuleInfo.new(@remote_git_dir_url, "test", "testbr")
|
71
101
|
cut = RIM::SyncModuleHelper.new(@ws_dir, @ws_dir, info, @logger)
|
72
102
|
cut.sync
|
73
103
|
RIM::git_session(@ws_dir) do |s|
|
@@ -77,7 +107,7 @@ class SyncModuleHelperTest < Minitest::Test
|
|
77
107
|
end
|
78
108
|
|
79
109
|
def test_commit_message_can_be_changed
|
80
|
-
info = RIM::ModuleInfo.new(@
|
110
|
+
info = RIM::ModuleInfo.new(@remote_git_dir_url, "test", "testbr")
|
81
111
|
cut = RIM::SyncModuleHelper.new(@ws_dir, @ws_dir, info, @logger)
|
82
112
|
cut.sync("This is the commit header.")
|
83
113
|
RIM::git_session(@ws_dir) do |s|
|
@@ -86,10 +116,10 @@ class SyncModuleHelperTest < Minitest::Test
|
|
86
116
|
end
|
87
117
|
end
|
88
118
|
|
89
|
-
def write_file(dir, name)
|
119
|
+
def write_file(dir, name, content = nil)
|
90
120
|
FileUtils.mkdir_p(dir)
|
91
121
|
File.open(File.join(dir, name), "w") do |f|
|
92
|
-
f.write("Content of #{name}\n")
|
122
|
+
f.write(content || "Content of #{name}\n")
|
93
123
|
end
|
94
124
|
end
|
95
125
|
|
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.3.
|
4
|
+
version: 1.3.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ESR Labs AG
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: subcommand
|