Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
8c4b6a32
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,发现更多精彩内容 >>
提交
8c4b6a32
编写于
6月 15, 2017
作者:
A
Alexis Reigel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bail if the commit has no signature
上级
69e511c4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
7 deletion
+11
-7
app/models/commit.rb
app/models/commit.rb
+1
-5
lib/gitlab/gpg/commit.rb
lib/gitlab/gpg/commit.rb
+4
-2
spec/lib/gitlab/gpg/commit_spec.rb
spec/lib/gitlab/gpg/commit_spec.rb
+6
-0
未找到文件。
app/models/commit.rb
浏览文件 @
8c4b6a32
...
...
@@ -242,11 +242,7 @@ class Commit
cached_signature
=
GpgSignature
.
find_by
(
commit_sha:
sha
)
return
cached_signature
if
cached_signature
.
present?
gpg_commit
=
Gitlab
::
Gpg
::
Commit
.
new
(
self
)
return
unless
gpg_commit
.
has_signature?
@signature
=
gpg_commit
.
signature
@signature
=
Gitlab
::
Gpg
::
Commit
.
new
(
self
).
signature
end
def
revert_branch_name
...
...
lib/gitlab/gpg/commit.rb
浏览文件 @
8c4b6a32
...
...
@@ -10,10 +10,12 @@ module Gitlab
end
def
has_signature?
@signature_text
&&
@signed_text
!!
(
@signature_text
&&
@signed_text
)
end
def
signature
return
unless
has_signature?
Gitlab
::
Gpg
.
using_tmp_keychain
do
# first we need to get the keyid from the signature to query the gpg
# key belonging to the keyid.
...
...
@@ -43,7 +45,7 @@ module Gitlab
project:
commit
.
project
,
gpg_key:
gpg_key
,
gpg_key_primary_keyid:
gpg_key
&
.
primary_keyid
,
valid_signature:
!!
(
gpg_key
&&
verified_signature
&
.
valid?
)
valid_signature:
!!
(
gpg_key
&&
verified_signature
.
valid?
)
)
end
end
...
...
spec/lib/gitlab/gpg/commit_spec.rb
浏览文件 @
8c4b6a32
...
...
@@ -4,6 +4,12 @@ RSpec.describe Gitlab::Gpg::Commit do
describe
'#signature'
do
let!
(
:project
)
{
create
:project
,
:repository
,
path:
'sample-project'
}
context
'unisgned commit'
do
it
'returns nil'
do
expect
(
described_class
.
new
(
project
.
commit
).
signature
).
to
be_nil
end
end
context
'known public key'
do
it
'returns a valid signature'
do
gpg_key
=
create
:gpg_key
,
key:
GpgHelpers
::
User1
.
public_key
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录