Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
c2f0c40f
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c2f0c40f
编写于
4月 26, 2018
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use progress notification API for git clone
fixes #48692
上级
96a19943
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
20 deletion
+10
-20
extensions/git/src/commands.ts
extensions/git/src/commands.ts
+10
-20
未找到文件。
extensions/git/src/commands.ts
浏览文件 @
c2f0c40f
...
...
@@ -5,7 +5,7 @@
'
use strict
'
;
import
{
Uri
,
commands
,
Disposable
,
window
,
workspace
,
QuickPickItem
,
OutputChannel
,
Range
,
WorkspaceEdit
,
Position
,
LineChange
,
SourceControlResourceState
,
TextDocumentShowOptions
,
ViewColumn
,
ProgressLocation
,
TextEditor
,
CancellationTokenSource
,
StatusBarAlignment
,
MessageOptions
}
from
'
vscode
'
;
import
{
Uri
,
commands
,
Disposable
,
window
,
workspace
,
QuickPickItem
,
OutputChannel
,
Range
,
WorkspaceEdit
,
Position
,
LineChange
,
SourceControlResourceState
,
TextDocumentShowOptions
,
ViewColumn
,
ProgressLocation
,
TextEditor
,
MessageOptions
}
from
'
vscode
'
;
import
{
Ref
,
RefType
,
Git
,
GitErrorCodes
,
Branch
}
from
'
./git
'
;
import
{
Repository
,
Resource
,
Status
,
CommitOptions
,
ResourceGroupType
}
from
'
./repository
'
;
import
{
Model
}
from
'
./model
'
;
...
...
@@ -328,8 +328,6 @@ export class CommandCenter {
return
''
;
}
private
static
cloneId
=
0
;
@
command
(
'
git.clone
'
)
async
clone
(
url
?:
string
):
Promise
<
void
>
{
if
(
!
url
)
{
...
...
@@ -368,22 +366,17 @@ export class CommandCenter {
return
;
}
const
tokenSource
=
new
CancellationTokenSource
();
const
cancelCommandId
=
`cancelClone
${
CommandCenter
.
cloneId
++
}
`
;
const
commandDisposable
=
commands
.
registerCommand
(
cancelCommandId
,
()
=>
tokenSource
.
cancel
());
const
statusBarItem
=
window
.
createStatusBarItem
(
StatusBarAlignment
.
Left
);
statusBarItem
.
text
=
localize
(
'
cancel
'
,
"
$(sync~spin) Cloning repository... Click to cancel
"
);
statusBarItem
.
tooltip
=
localize
(
'
cancel tooltip
'
,
"
Cancel clone
"
);
statusBarItem
.
command
=
cancelCommandId
;
statusBarItem
.
show
();
const
clonePromise
=
this
.
git
.
clone
(
url
,
parentPath
.
replace
(
/^~/
,
os
.
homedir
()),
tokenSource
.
token
);
try
{
window
.
withProgress
({
location
:
ProgressLocation
.
SourceControl
,
title
:
localize
(
'
cloning
'
,
"
Cloning git repository...
"
)
},
()
=>
clonePromise
);
const
opts
=
{
location
:
ProgressLocation
.
Notification
,
title
:
localize
(
'
cloning
'
,
"
Cloning git repository '{0}'...
"
,
url
),
cancellable
:
true
};
const
repositoryPath
=
await
clonePromise
;
const
repositoryPath
=
await
window
.
withProgress
(
opts
,
(
_
,
token
)
=>
this
.
git
.
clone
(
url
!
,
parentPath
.
replace
(
/^~/
,
os
.
homedir
()),
token
)
);
const
open
=
localize
(
'
openrepo
'
,
"
Open Repository
"
);
const
result
=
await
window
.
showInformationMessage
(
localize
(
'
proposeopen
'
,
"
Would you like to open the cloned repository?
"
),
open
);
...
...
@@ -419,9 +412,6 @@ export class CommandCenter {
}
throw
err
;
}
finally
{
commandDisposable
.
dispose
();
statusBarItem
.
dispose
();
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录