bosh-workspace 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f29b754b572e4d5ed8dec967631ad55ad4c1aaf
4
- data.tar.gz: ef6635245f5b889dce32d237cbc729d757b0e488
3
+ metadata.gz: ddb023e47693f436c7daee1d66f7748200efd6e1
4
+ data.tar.gz: ab7a404ecb45a646ce8a35effb7b40efffdeea3a
5
5
  SHA512:
6
- metadata.gz: f6d369889fcadf43fd158cdbeef13bceca9352acd375b6f7471f7530e9febaab0368a1689a6866ec2db504bfde8c922fe7e091503ad473c2c79a9e34293727ae
7
- data.tar.gz: d76958a05172e80c8ee96ee84010827cfaab34d94f0b8fe36cfb6917f36f98c9cd959a9af21a0508b4a7552b8993d49948534182392bc82bc4b0c8bfc91ffcd2
6
+ metadata.gz: 80a13e5532ca630551be4289cfa37ca51b13fcfa51bd1b151b56c6e1f517c3dc5369399c82e0cb4e003562c34b0005387a9b8194c10d63f16e02ac676608fdd2
7
+ data.tar.gz: b26a3a7727d476bca4b7956d3ed4637da3243c40f97c465de9a4fd3451380370131b93d136e623e455bc9c77ab87bc75818069f0818977cd608b718aa02422d2
@@ -124,19 +124,14 @@ module Bosh::Workspace
124
124
  end
125
125
 
126
126
  # transforms releases/foo-1.yml, releases/bar-2.yml to:
127
- # [ { version: "1", commit: ee8d52f5d, manifest: releases/foo-1.yml } ]
127
+ # [ { version: "1", manifest: releases/foo-1.yml } ]
128
128
  def final_releases
129
129
  @final_releases ||= begin
130
130
  final_releases = []
131
131
  releases_tree.walk_blobs(:preorder) do |_, entry|
132
132
  next if entry[:filemode] == 40960 # Skip symlinks
133
133
  next unless version = entry[:name][/#{@name}-(.+)\.yml/, 1]
134
- blame = repo_blame(File.join(releases_dir, entry[:name]))
135
- final_releases << {
136
- version: version,
137
- manifest: blame[:orig_path],
138
- commit: blame[:final_commit_id]
139
- }
134
+ final_releases << { version: version, manifest: entry[:name] }
140
135
  end
141
136
  final_releases.sort! { |a, b| a[:version].to_i <=> b[:version].to_i }
142
137
  end
@@ -151,11 +146,17 @@ module Bosh::Workspace
151
146
  end
152
147
 
153
148
  def release
149
+ return @release if @release
154
150
  latest_offline_warning if latest? && offline?
155
- return final_releases.last if latest?
156
- final_releases.find { |v| v[:version] == @spec_version }.tap do |release|
157
- missing_release_err(@spec_version, @name) unless release
158
- end
151
+ release = final_releases.last if latest?
152
+ release ||= final_releases.find { |v| v[:version] == @spec_version }
153
+ missing_release_err(@spec_version, @name) unless release
154
+ @release = lookup_release_ref(release)
155
+ end
156
+
157
+ def lookup_release_ref(release)
158
+ b = repo_blame(File.join(releases_dir, release[:manifest]))
159
+ release.merge(manifest: b[:orig_path], commit: b[:final_commit_id])
159
160
  end
160
161
 
161
162
  def missing_release_err(version, name)
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Manifests
3
- VERSION = "0.9.4"
3
+ VERSION = "0.9.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-workspace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ruben Koster
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-11 00:00:00.000000000 Z
11
+ date: 2015-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bosh_cli