Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
github
hub
提交
5079ae40
H
hub
项目概览
github
/
hub
大约 1 年 前同步成功
通知
3
Star
22523
Fork
2406
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hub
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5079ae40
编写于
7月 27, 2014
作者:
M
Mislav Marohnić
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix `hub cherry-pick` remote and GitHub notation detection
上级
55399494
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
15 addition
and
8 deletion
+15
-8
commands/cherry_pick.go
commands/cherry_pick.go
+5
-4
commands/utils.go
commands/utils.go
+6
-4
github/project.go
github/project.go
+4
-0
未找到文件。
commands/cherry_pick.go
浏览文件 @
5079ae40
...
@@ -48,8 +48,9 @@ func transformCherryPickArgs(args *Args) {
...
@@ -48,8 +48,9 @@ func transformCherryPickArgs(args *Args) {
if
project
!=
nil
{
if
project
!=
nil
{
args
.
ReplaceParam
(
args
.
IndexOfParam
(
ref
),
sha
)
args
.
ReplaceParam
(
args
.
IndexOfParam
(
ref
),
sha
)
if
hasGitRemote
(
project
.
Owner
)
{
remote
:=
gitRemoteForProject
(
project
)
args
.
Before
(
"git"
,
"fetch"
,
project
.
Owner
)
if
remote
!=
nil
{
args
.
Before
(
"git"
,
"fetch"
,
remote
.
Name
)
}
else
{
}
else
{
args
.
Before
(
"git"
,
"remote"
,
"add"
,
"-f"
,
project
.
Owner
,
project
.
GitURL
(
""
,
""
,
false
))
args
.
Before
(
"git"
,
"remote"
,
"add"
,
"-f"
,
project
.
Owner
,
project
.
GitURL
(
""
,
""
,
false
))
}
}
...
@@ -69,14 +70,14 @@ func parseCherryPickProjectAndSha(ref string) (project *github.Project, sha stri
...
@@ -69,14 +70,14 @@ func parseCherryPickProjectAndSha(ref string) (project *github.Project, sha stri
}
}
}
}
ownerWithShaRegexp
:=
regexp
.
MustCompile
(
"^(
%s
)@([a-f0-9]{7,40})$"
)
ownerWithShaRegexp
:=
regexp
.
MustCompile
(
"^(
[a-zA-Z0-9][a-zA-Z0-9-]*
)@([a-f0-9]{7,40})$"
)
if
ownerWithShaRegexp
.
MatchString
(
ref
)
{
if
ownerWithShaRegexp
.
MatchString
(
ref
)
{
matches
:=
ownerWithShaRegexp
.
FindStringSubmatch
(
ref
)
matches
:=
ownerWithShaRegexp
.
FindStringSubmatch
(
ref
)
sha
=
matches
[
2
]
sha
=
matches
[
2
]
localRepo
,
err
:=
github
.
LocalRepo
()
localRepo
,
err
:=
github
.
LocalRepo
()
utils
.
Check
(
err
)
utils
.
Check
(
err
)
project
,
err
:
=
localRepo
.
CurrentProject
()
project
,
err
=
localRepo
.
CurrentProject
()
utils
.
Check
(
err
)
utils
.
Check
(
err
)
project
.
Owner
=
matches
[
1
]
project
.
Owner
=
matches
[
1
]
}
}
...
...
commands/utils.go
浏览文件 @
5079ae40
...
@@ -51,16 +51,18 @@ func parseUserBranchFromPR(pullRequest *octokit.PullRequest) (user string, branc
...
@@ -51,16 +51,18 @@ func parseUserBranchFromPR(pullRequest *octokit.PullRequest) (user string, branc
return
return
}
}
func
hasGitRemote
(
name
string
)
bool
{
func
gitRemoteForProject
(
project
*
github
.
Project
)
(
foundRemote
*
github
.
Remote
)
{
remotes
,
err
:=
github
.
Remotes
()
remotes
,
err
:=
github
.
Remotes
()
utils
.
Check
(
err
)
utils
.
Check
(
err
)
for
_
,
remote
:=
range
remotes
{
for
_
,
remote
:=
range
remotes
{
if
remote
.
Name
==
name
{
remoteProject
,
pErr
:=
remote
.
Project
()
return
true
if
pErr
==
nil
&&
remoteProject
.
SameAs
(
project
)
{
foundRemote
=
&
remote
return
}
}
}
}
return
false
return
nil
}
}
func
isEmptyDir
(
path
string
)
bool
{
func
isEmptyDir
(
path
string
)
bool
{
...
...
github/project.go
浏览文件 @
5079ae40
...
@@ -23,6 +23,10 @@ func (p Project) String() string {
...
@@ -23,6 +23,10 @@ func (p Project) String() string {
return
fmt
.
Sprintf
(
"%s/%s"
,
p
.
Owner
,
p
.
Name
)
return
fmt
.
Sprintf
(
"%s/%s"
,
p
.
Owner
,
p
.
Name
)
}
}
func
(
p
*
Project
)
SameAs
(
other
*
Project
)
bool
{
return
p
.
Owner
==
other
.
Owner
&&
p
.
Name
==
other
.
Name
&&
p
.
Host
==
other
.
Host
}
func
(
p
*
Project
)
WebURL
(
name
,
owner
,
path
string
)
string
{
func
(
p
*
Project
)
WebURL
(
name
,
owner
,
path
string
)
string
{
if
owner
==
""
{
if
owner
==
""
{
owner
=
p
.
Owner
owner
=
p
.
Owner
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录