Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
447f5603
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
447f5603
编写于
12月 31, 2015
作者:
G
Grzegorz Bizon
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use metadata stored in artifacats metadata file
上级
e3ef0ac8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
20 addition
and
5 deletion
+20
-5
app/controllers/projects/artifacts_controller.rb
app/controllers/projects/artifacts_controller.rb
+2
-2
app/models/ci/build.rb
app/models/ci/build.rb
+17
-2
lib/gitlab/string_path.rb
lib/gitlab/string_path.rb
+1
-1
未找到文件。
app/controllers/projects/artifacts_controller.rb
浏览文件 @
447f5603
...
...
@@ -18,8 +18,8 @@ class Projects::ArtifactsController < Projects::ApplicationController
return
render_404
unless
build
.
artifacts?
current_path
=
params
[
:path
]
?
"./
#{
params
[
:path
]
}
/"
:
'./'
artifacts_metadata
=
build
.
artifacts_metadata_for
(
current_path
)
@path
=
Gitlab
::
StringPath
.
new
(
current_path
,
artifacts_
metadata
)
metadata
=
build
.
artifacts_metadata_for_path
(
current_path
)
@path
=
Gitlab
::
StringPath
.
new
(
current_path
,
metadata
)
end
private
...
...
app/models/ci/build.rb
浏览文件 @
447f5603
...
...
@@ -349,8 +349,23 @@ module Ci
artifacts?
&&
artifacts_file
.
path
.
end_with?
(
'zip'
)
&&
artifacts_metadata
.
exists?
end
def
artifacts_metadata_for
(
path
)
{}
def
artifacts_metadata_for_path
(
path
)
return
{}
unless
artifacts_metadata
.
exists?
metadata
=
[]
meta_path
=
path
.
sub
(
/^\.\//
,
''
)
File
.
open
(
artifacts_metadata
.
path
)
do
|
file
|
gzip
=
Zlib
::
GzipReader
.
new
(
file
)
gzip
.
each_line
do
|
line
|
if
line
=~
%r{^
#{
meta_path
}
[^/]+/?
\s
}
path
,
meta
=
line
.
split
(
' '
)
metadata
<<
path
end
end
gzip
.
close
end
metadata
end
private
...
...
lib/gitlab/string_path.rb
浏览文件 @
447f5603
...
...
@@ -5,7 +5,7 @@ module Gitlab
# This is IO-operations safe class, that does similar job to
# Ruby's Pathname but without the risk of accessing filesystem.
#
# TODO
:
better support for '../' and './'
# TODO
,
better support for '../' and './'
#
class
StringPath
attr_reader
:path
,
:universe
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录