coaster 1.4.40 → 1.4.41

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: 58480721a568d8c378466c8f87f91e7e19cd51d9803ec96318df0c7188eef965
4
- data.tar.gz: 98b1f01715fede11a3e08101729d2e8b657b1c7d90e9f6734247f2eda309abc4
3
+ metadata.gz: d821b1ca07a1185a10dad641dfaf20efe61d8cf5598101b71a419bd28198bf47
4
+ data.tar.gz: 47d85862177fca2c8c24ec8e58583a9bdf6e7282d3e08c9f47ab5ecc7f472ee8
5
5
  SHA512:
6
- metadata.gz: 8230c1c7636d8bf9893d2d6c69b5de94ed2d4d57a97d3932be514e5861e31aba8dd9befea360efbbc014fdd90b3708a1fc9b8a93eb4d99b17390bb75078b4317
7
- data.tar.gz: d498452be7d04109328071af0b466ec2058b6df5f2e69812a78f4ee1dc346d78e38bff530533ec8221e78e6fab7ed65e495f195861fab6a063db763d9cbc979d
6
+ metadata.gz: 3712d78ddd6a79e3298901a72e38bf8dc4bcdbb970b358c3319bf710abf4013942320d93b072c2b58968b3ff59485a826f0feebca4a29be9f7f3ec86cc44207e
7
+ data.tar.gz: ffa59924bc6c2700a5f716f30d1212789f5bcf9e553a741904def9be85045b2167b106e949fc19b785520d713696ca8185b6368f73a154b5f1794545ed632ac9
@@ -117,13 +117,30 @@ module Coaster
117
117
  puts "[DEEP_MERGE] #{path} #{pointer}"
118
118
  submodules.values.each do |submodule|
119
119
  sm_sha = submodule_sha(submodule.path, pointer: pointer)
120
- submodule.merge(sm_sha) if sm_sha.present?
120
+ next unless sm_sha.present?
121
+ unless commit_exists?(sm_sha, path: submodule.path)
122
+ raise "서브모듈에 커밋이 존재하지 않습니다!\n" \
123
+ " 서브모듈: #{submodule.path}\n" \
124
+ " 필요한 커밋: #{sm_sha}\n" \
125
+ " 참조한 태그: #{pointer}\n" \
126
+ " 해당 커밋이 force-push 등으로 서브모듈 히스토리에서 제거된 것으로 보입니다.\n" \
127
+ " 해결: 아래 명령어로 오래된 deploy 태그를 삭제한 뒤 빌드를 재실행하세요.\n" \
128
+ " git tag -d #{pointer}\n" \
129
+ " git push origin :refs/tags/#{pointer}"
130
+ end
131
+ submodule.merge(sm_sha)
121
132
  end
122
133
  merge_without_submodules do
123
134
  merge(pointer) if pointer.present?
124
135
  end
125
136
  end
126
137
 
138
+ def commit_exists?(sha, path: nil)
139
+ run_git_cmd("cat-file -t #{sha}").strip == 'commit'
140
+ rescue
141
+ false
142
+ end
143
+
127
144
  def pointers(sha)
128
145
  run_git_cmd("branch --contains #{sha}").split("\n").map do |br|
129
146
  br = (br.start_with?('*') ? br[2..-1] : br).strip
@@ -1,3 +1,3 @@
1
1
  module Coaster
2
- VERSION = '1.4.40'
2
+ VERSION = '1.4.41'
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.40
4
+ version: 1.4.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - buzz jung
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-01-16 00:00:00.000000000 Z
10
+ date: 2026-03-24 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: oj
@@ -258,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
258
258
  - !ruby/object:Gem::Version
259
259
  version: '0'
260
260
  requirements: []
261
- rubygems_version: 3.6.9
261
+ rubygems_version: 4.0.3
262
262
  specification_version: 4
263
263
  summary: A little convenient feature for standard library
264
264
  test_files: