Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
4711312d
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4711312d
编写于
5月 26, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
show remote url in pick list
fixes #5974
上级
1f9c258c
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
33 addition
and
5 deletion
+33
-5
src/vs/base/common/arrays.ts
src/vs/base/common/arrays.ts
+15
-0
src/vs/workbench/parts/git/browser/gitActions.ts
src/vs/workbench/parts/git/browser/gitActions.ts
+9
-3
src/vs/workbench/parts/git/common/git.ts
src/vs/workbench/parts/git/common/git.ts
+1
-0
src/vs/workbench/parts/git/node/git.lib.ts
src/vs/workbench/parts/git/node/git.lib.ts
+8
-2
未找到文件。
src/vs/base/common/arrays.ts
浏览文件 @
4711312d
...
...
@@ -170,6 +170,21 @@ export function distinct<T>(array: T[], keyFn?: (t: T) => string): T[] {
});
}
export
function
uniqueFilter
<
T
>
(
keyFn
:
(
t
:
T
)
=>
string
):
(
t
:
T
)
=>
boolean
{
const
seen
:
{
[
key
:
string
]:
boolean
;
}
=
Object
.
create
(
null
);
return
element
=>
{
const
key
=
keyFn
(
element
);
if
(
seen
[
key
])
{
return
false
;
}
seen
[
key
]
=
true
;
return
true
;
};
}
export
function
firstIndex
<
T
>
(
array
:
T
[],
fn
:
(
item
:
T
)
=>
boolean
):
number
{
for
(
let
i
=
0
;
i
<
array
.
length
;
i
++
)
{
const
element
=
array
[
i
];
...
...
src/vs/workbench/parts/git/browser/gitActions.ts
浏览文件 @
4711312d
...
...
@@ -1029,9 +1029,15 @@ export class PublishAction extends GitAction {
promise
=
TPromise
.
as
(
result
?
remoteName
:
null
);
}
else
{
promise
=
this
.
quickOpenService
.
pick
(
remotes
.
map
(
r
=>
r
.
name
),
{
placeHolder
:
nls
.
localize
(
'
publishPickMessage
'
,
"
Pick a remote to publish the branch '{0}' to:
"
,
branchName
)
});
const
picks
=
remotes
.
map
(({
name
,
url
})
=>
({
label
:
name
,
description
:
url
}));
const
placeHolder
=
nls
.
localize
(
'
publishPickMessage
'
,
"
Pick a remote to publish the branch '{0}' to:
"
,
branchName
);
promise
=
this
.
quickOpenService
.
pick
(
picks
,
{
placeHolder
})
.
then
(
pick
=>
pick
&&
pick
.
label
);
}
return
promise
...
...
src/vs/workbench/parts/git/common/git.ts
浏览文件 @
4711312d
...
...
@@ -23,6 +23,7 @@ export interface IRawFileStatus {
export
interface
IRemote
{
name
:
string
;
url
:
string
;
}
export
interface
IHead
{
...
...
src/vs/workbench/parts/git/node/git.lib.ts
浏览文件 @
4711312d
...
...
@@ -11,6 +11,7 @@ import objects = require('vs/base/common/objects');
import
uuid
=
require
(
'
vs/base/common/uuid
'
);
import
nls
=
require
(
'
vs/nls
'
);
import
strings
=
require
(
'
vs/base/common/strings
'
);
import
{
uniqueFilter
}
from
'
vs/base/common/arrays
'
;
import
{
IRawFileStatus
,
IHead
,
ITag
,
IBranch
,
IRemote
,
GitErrorCodes
,
IPushOptions
}
from
'
vs/workbench/parts/git/common/git
'
;
import
{
detectMimesFromStream
}
from
'
vs/base/node/mime
'
;
import
files
=
require
(
'
vs/platform/files/common/files
'
);
...
...
@@ -637,12 +638,17 @@ export class Repository {
}
public
getRemotes
():
TPromise
<
IRemote
[]
>
{
return
this
.
run
([
'
remote
'
],
{
log
:
false
})
const
regex
=
/^
([^\s]
+
)\s
+
([^\s]
+
)\s
/
;
return
this
.
run
([
'
remote
'
,
'
--verbose
'
],
{
log
:
false
})
.
then
(
result
=>
result
.
stdout
.
trim
()
.
split
(
'
\n
'
)
.
filter
(
b
=>
!!
b
)
.
map
(
name
=>
({
name
}))
.
map
(
line
=>
regex
.
exec
(
line
))
.
filter
(
g
=>
!!
g
)
.
map
(
groups
=>
({
name
:
groups
[
1
],
url
:
groups
[
2
]
}))
.
filter
(
uniqueFilter
<
{
name
:
string
;
}
>
(
g
=>
g
.
name
))
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录