Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
github
hub
提交
7d006785
H
hub
项目概览
github
/
hub
12 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
7d006785
编写于
12月 25, 2009
作者:
S
Stephen Celis
提交者:
Chris Wanstrath
12月 29, 2009
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support clone flags (e.g., hub clone --bare repo).
上级
60ccd993
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
17 addition
and
4 deletion
+17
-4
lib/hub/commands.rb
lib/hub/commands.rb
+11
-4
test/hub_test.rb
test/hub_test.rb
+6
-0
未找到文件。
lib/hub/commands.rb
浏览文件 @
7d006785
...
@@ -54,15 +54,22 @@ module Hub
...
@@ -54,15 +54,22 @@ module Hub
# > git clone git@github.com:kneath/hemingway.git
# > git clone git@github.com:kneath/hemingway.git
def
clone
(
args
)
def
clone
(
args
)
ssh
=
args
.
delete
(
'-p'
)
ssh
=
args
.
delete
(
'-p'
)
args
[
1
..-
1
].
each_with_index
do
|
arg
,
i
|
i
+=
1
last_args
=
args
[
1
..-
1
].
reject
{
|
arg
|
arg
==
"--"
}.
last
(
3
)
last_args
.
each
do
|
arg
|
if
arg
=~
/^-/
# Skip mandatory arguments.
last_args
.
shift
if
arg
=~
/^(--(ref|o|br|u|t|d)[^=]+|-(o|b|u|d))$/
next
end
if
arg
.
scan
(
'/'
).
size
==
1
&&
!
arg
.
include?
(
':'
)
if
arg
.
scan
(
'/'
).
size
==
1
&&
!
arg
.
include?
(
':'
)
url
=
ssh
?
PRIVATE
:
PUBLIC
url
=
ssh
?
PRIVATE
:
PUBLIC
args
[
i
]
=
url
%
arg
.
split
(
'/'
)
args
[
args
.
index
(
arg
)
]
=
url
%
arg
.
split
(
'/'
)
break
break
elsif
arg
!~
/:|\//
elsif
arg
!~
/:|\//
url
=
ssh
?
PRIVATE
:
PUBLIC
url
=
ssh
?
PRIVATE
:
PUBLIC
args
[
i
]
=
url
%
[
github_user
,
arg
]
args
[
args
.
index
(
arg
)
]
=
url
%
[
github_user
,
arg
]
break
break
end
end
end
end
...
...
test/hub_test.rb
浏览文件 @
7d006785
...
@@ -30,6 +30,12 @@ class HubTest < Test::Unit::TestCase
...
@@ -30,6 +30,12 @@ class HubTest < Test::Unit::TestCase
assert_command
input
,
command
assert_command
input
,
command
end
end
def
test_clone_with_arguments_and_path
input
=
"clone --bare -o master -- resque"
command
=
"git clone --bare -o master -- git://github.com/tpw/resque.git"
assert_command
input
,
command
end
def
test_your_private_clone_fails_without_config
def
test_your_private_clone_fails_without_config
out
=
hub
(
"clone -p mustache"
)
do
out
=
hub
(
"clone -p mustache"
)
do
Hub
::
Commands
::
USER
.
replace
(
""
)
Hub
::
Commands
::
USER
.
replace
(
""
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录