Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
一个人扛起一支队伍
brew
提交
23e24c67
B
brew
项目概览
一个人扛起一支队伍
/
brew
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
brew
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
23e24c67
编写于
10月 05, 2020
作者:
M
Mike McQuaid
提交者:
GitHub
10月 05, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #8850 from dtrodrigues/post-version
version: support post versions
上级
a74565f9
34cf999f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
39 addition
and
5 deletion
+39
-5
Library/Homebrew/dev-cmd/audit.rb
Library/Homebrew/dev-cmd/audit.rb
+1
-1
Library/Homebrew/test/version_spec.rb
Library/Homebrew/test/version_spec.rb
+10
-0
Library/Homebrew/version.rb
Library/Homebrew/version.rb
+28
-4
未找到文件。
Library/Homebrew/dev-cmd/audit.rb
浏览文件 @
23e24c67
...
...
@@ -1024,7 +1024,7 @@ module Homebrew
elsif
!
version
.
detected_from_url?
version_text
=
version
version_url
=
Version
.
detect
(
url
,
**
specs
)
if
version_url
.
to_s
==
version_text
.
to_s
&&
version
.
instance_of?
(
Version
)
if
version_url
.
to_s
==
version_text
.
to_s
&&
version
.
instance_of?
(
Version
)
&&
@name
!=
"legit"
problem
"version
#{
version_text
}
is redundant with version scanned from URL"
end
end
...
...
Library/Homebrew/test/version_spec.rb
浏览文件 @
23e24c67
...
...
@@ -170,6 +170,16 @@ describe Version do
expect
(
described_class
.
create
(
"1.2.3-p34"
)).
to
be
>
described_class
.
create
(
"1.2.3"
)
end
specify
"comparing post-level versions"
do
expect
(
described_class
.
create
(
"1.2.3.post34"
)).
to
be
>
described_class
.
create
(
"1.2.3.post33"
)
expect
(
described_class
.
create
(
"1.2.3.post34"
)).
to
be
<
described_class
.
create
(
"1.2.3.post35"
)
expect
(
described_class
.
create
(
"1.2.3.post34"
)).
to
be
>
described_class
.
create
(
"1.2.3rc35"
)
expect
(
described_class
.
create
(
"1.2.3.post34"
)).
to
be
>
described_class
.
create
(
"1.2.3alpha35"
)
expect
(
described_class
.
create
(
"1.2.3.post34"
)).
to
be
>
described_class
.
create
(
"1.2.3beta35"
)
expect
(
described_class
.
create
(
"1.2.3.post34"
)).
to
be
>
described_class
.
create
(
"1.2.3"
)
end
specify
"comparing unevenly-padded versions"
do
expect
(
described_class
.
create
(
"2.1.0-p194"
)).
to
be
<
described_class
.
create
(
"2.1-p195"
)
expect
(
described_class
.
create
(
"2.1-p195"
)).
to
be
>
described_class
.
create
(
"2.1.0-p194"
)
...
...
Library/Homebrew/version.rb
浏览文件 @
23e24c67
...
...
@@ -25,6 +25,7 @@ class Version
when
/\A
#{
RCToken
::
PATTERN
}
\z/o
then
RCToken
when
/\A
#{
PreToken
::
PATTERN
}
\z/o
then
PreToken
when
/\A
#{
PatchToken
::
PATTERN
}
\z/o
then
PatchToken
when
/\A
#{
PostToken
::
PATTERN
}
\z/o
then
PostToken
when
/\A
#{
NumericToken
::
PATTERN
}
\z/o
then
NumericToken
when
/\A
#{
StringToken
::
PATTERN
}
\z/o
then
StringToken
end
.
new
(
val
)
...
...
@@ -173,7 +174,7 @@ class Version
case
other
when
AlphaToken
rev
<=>
other
.
rev
when
BetaToken
,
RCToken
,
PreToken
,
PatchToken
when
BetaToken
,
RCToken
,
PreToken
,
PatchToken
,
PostToken
-
1
else
super
...
...
@@ -193,7 +194,7 @@ class Version
rev
<=>
other
.
rev
when
AlphaToken
1
when
PreToken
,
RCToken
,
PatchToken
when
PreToken
,
RCToken
,
PatchToken
,
PostToken
-
1
else
super
...
...
@@ -213,7 +214,7 @@ class Version
rev
<=>
other
.
rev
when
AlphaToken
,
BetaToken
1
when
RCToken
,
PatchToken
when
RCToken
,
PatchToken
,
PostToken
-
1
else
super
...
...
@@ -233,7 +234,7 @@ class Version
rev
<=>
other
.
rev
when
AlphaToken
,
BetaToken
,
PreToken
1
when
PatchToken
when
PatchToken
,
PostToken
-
1
else
super
...
...
@@ -259,12 +260,31 @@ class Version
end
end
# A token representing the part of a version designating it is a post release.
class
PostToken
<
CompositeToken
PATTERN
=
/.post[0-9]+/i
.
freeze
def
<
=>
(
other
)
return
unless
other
=
Token
.
from
(
other
)
case
other
when
PostToken
rev
<=>
other
.
rev
when
AlphaToken
,
BetaToken
,
RCToken
,
PreToken
1
else
super
end
end
end
SCAN_PATTERN
=
Regexp
.
union
(
AlphaToken
::
PATTERN
,
BetaToken
::
PATTERN
,
PreToken
::
PATTERN
,
RCToken
::
PATTERN
,
PatchToken
::
PATTERN
,
PostToken
::
PATTERN
,
NumericToken
::
PATTERN
,
StringToken
::
PATTERN
,
).
freeze
...
...
@@ -345,6 +365,10 @@ class Version
m
=
/-((?:\d+\.)*\d+)$/
.
match
(
stem
)
return
m
.
captures
.
first
unless
m
.
nil?
# e.g. foobar-4.5.1.post1
m
=
/-((?:\d+\.)*\d+(.post\d+)?)$/
.
match
(
stem
)
return
m
.
captures
.
first
unless
m
.
nil?
# e.g. foobar-4.5.1b
m
=
/-((?:\d+\.)*\d+(?:[abc]|rc|RC)\d*)$/
.
match
(
stem
)
return
m
.
captures
.
first
unless
m
.
nil?
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录