Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
镜像
Python_Packaging_Authority
pip
提交
24f4aafa
P
pip
项目概览
镜像
/
Python_Packaging_Authority
/
pip
12 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pip
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
24f4aafa
编写于
9月 27, 2009
作者:
J
Jannis Leidel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed #52 -- Fixed installing from a Git branch
上级
bec22f75
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
0 deletion
+20
-0
pip.py
pip.py
+20
-0
未找到文件。
pip.py
浏览文件 @
24f4aafa
...
...
@@ -3046,6 +3046,24 @@ class Git(VersionControl):
finally
:
shutil
.
rmtree
(
temp_dir
)
def
check_rev_options
(
self
,
rev
,
dest
):
"""Check the revision options before checkout to compensate that tags
and branches may need origin/ as a prefix"""
revisions
=
self
.
get_tag_revs
(
dest
)
revisions
.
update
(
self
.
get_branch_revs
(
dest
))
if
rev
in
revisions
:
# if rev is a sha
return
[
rev
]
inverse_revisions
=
dict
((
v
,
k
)
for
k
,
v
in
revisions
.
iteritems
())
if
rev
not
in
inverse_revisions
:
# is rev a name or tag?
origin_rev
=
'origin/%s'
%
rev
if
origin_rev
in
inverse_revisions
:
rev
=
inverse_revisions
[
origin_rev
]
else
:
raise
InstallationError
(
"Could not find a tag or branch '%s' in repository %s"
%
(
rev
,
display_path
(
dest
)))
return
[
rev
]
def
obtain
(
self
,
dest
):
url
,
rev
=
self
.
get_url_rev
()
if
rev
:
...
...
@@ -3057,6 +3075,7 @@ class Git(VersionControl):
clone
=
True
if
os
.
path
.
exists
(
os
.
path
.
join
(
dest
,
self
.
dirname
)):
existing_url
=
self
.
get_url
(
dest
)
rev_options
=
self
.
check_rev_options
(
rev
,
dest
)
clone
=
False
if
existing_url
==
url
:
logger
.
info
(
'Clone in %s exists, and has correct URL (%s)'
...
...
@@ -3095,6 +3114,7 @@ class Git(VersionControl):
logger
.
notify
(
'Cloning %s%s to %s'
%
(
url
,
rev_display
,
display_path
(
dest
)))
call_subprocess
(
[
GIT_CMD
,
'clone'
,
'-q'
,
url
,
dest
])
rev_options
=
self
.
check_rev_options
(
rev
,
dest
)
call_subprocess
(
[
GIT_CMD
,
'checkout'
,
'-q'
]
+
rev_options
,
cwd
=
dest
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录