Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
4a80681a
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,发现更多精彩内容 >>
提交
4a80681a
编写于
10月 15, 2019
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
差异文件
Merge commit 'refs/pull/66522/head' of github.com:microsoft/vscode into pr/66522
上级
5e5bb4ad
23058bec
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
47 addition
and
20 deletion
+47
-20
extensions/git/src/commands.ts
extensions/git/src/commands.ts
+20
-19
extensions/git/src/git.ts
extensions/git/src/git.ts
+19
-1
extensions/git/src/repository.ts
extensions/git/src/repository.ts
+8
-0
未找到文件。
extensions/git/src/commands.ts
浏览文件 @
4a80681a
...
...
@@ -1361,31 +1361,32 @@ export class CommandCenter {
private
async
commitWithAnyInput
(
repository
:
Repository
,
opts
?:
CommitOptions
):
Promise
<
void
>
{
const
message
=
repository
.
inputBox
.
value
;
const
getCommitMessage
=
async
()
=>
{
if
(
message
)
{
return
message
;
}
let
_message
:
string
|
undefined
=
message
;
if
(
!
_message
)
{
let
value
:
string
|
undefined
=
undefined
;
let
value
:
string
|
undefined
=
undefined
;
if
(
opts
&&
opts
.
amend
&&
repository
.
HEAD
&&
repository
.
HEAD
.
commit
)
{
value
=
(
await
repository
.
getCommit
(
repository
.
HEAD
.
commit
)).
message
;
}
if
(
opts
&&
opts
.
amend
&&
repository
.
HEAD
&&
repository
.
HEAD
.
commit
)
{
value
=
(
await
repository
.
getCommit
(
repository
.
HEAD
.
commit
)).
message
;
}
const
branchName
=
repository
.
headShortName
;
let
placeHolder
:
string
;
const
branchName
=
repository
.
headShortName
;
let
placeHolder
:
string
;
if
(
branchName
)
{
placeHolder
=
localize
(
'
commitMessageWithHeadLabel2
'
,
"
Message (commit on '{0}')
"
,
branchName
);
}
else
{
placeHolder
=
localize
(
'
commit message
'
,
"
Commit message
"
);
}
if
(
branchName
)
{
placeHolder
=
localize
(
'
commitMessageWithHeadLabel2
'
,
"
Message (commit on '{0}')
"
,
branchName
);
}
else
{
placeHolder
=
localize
(
'
commit message
'
,
"
Commit message
"
);
_message
=
await
window
.
showInputBox
({
value
,
placeHolder
,
prompt
:
localize
(
'
provide commit message
'
,
"
Please provide a commit message
"
),
ignoreFocusOut
:
true
});
}
return
await
window
.
showInputBox
({
value
,
placeHolder
,
prompt
:
localize
(
'
provide commit message
'
,
"
Please provide a commit message
"
),
ignoreFocusOut
:
true
});
return
_message
?
repository
.
cleanUpCommitEditMessage
(
_message
)
:
_message
;
};
const
didCommit
=
await
this
.
smartCommit
(
repository
,
getCommitMessage
,
opts
);
...
...
extensions/git/src/git.ts
浏览文件 @
4a80681a
...
...
@@ -1748,6 +1748,24 @@ export class Repository {
}
}
cleanupCommitEditMessage
(
message
:
string
):
string
{
//TODO: Support core.commentChar
return
message
.
replace
(
/^
\s
*#.*$
\n?
/gm
,
''
).
trim
();
}
async
getMergeMessage
():
Promise
<
string
|
undefined
>
{
const
mergeMsgPath
=
path
.
join
(
this
.
repositoryRoot
,
'
.git
'
,
'
MERGE_MSG
'
);
try
{
const
raw
=
await
readfile
(
mergeMsgPath
,
'
utf8
'
);
return
raw
.
trim
();
}
catch
{
return
undefined
;
}
}
async
getCommitTemplate
():
Promise
<
string
>
{
try
{
const
result
=
await
this
.
run
([
'
config
'
,
'
--get
'
,
'
commit.template
'
]);
...
...
@@ -1766,7 +1784,7 @@ export class Repository {
}
const
raw
=
await
readfile
(
templatePath
,
'
utf8
'
);
return
raw
.
replace
(
/^
\s
*#.*$
\n?
/gm
,
''
);
return
raw
.
trim
(
);
}
catch
(
err
)
{
return
''
;
...
...
extensions/git/src/repository.ts
浏览文件 @
4a80681a
...
...
@@ -1257,6 +1257,10 @@ export class Repository implements Disposable {
return
await
this
.
run
(
Operation
.
GetCommitTemplate
,
async
()
=>
this
.
repository
.
getCommitTemplate
());
}
async
cleanUpCommitEditMessage
(
editMessage
:
string
):
Promise
<
string
>
{
return
this
.
repository
.
cleanupCommitEditMessage
(
editMessage
);
}
async
ignore
(
files
:
Uri
[]):
Promise
<
void
>
{
return
await
this
.
run
(
Operation
.
Ignore
,
async
()
=>
{
const
ignoreFile
=
`
${
this
.
repository
.
root
}${
path
.
sep
}
.gitignore`
;
...
...
@@ -1426,6 +1430,10 @@ export class Repository implements Disposable {
const
shouldIgnore
=
config
.
get
<
boolean
>
(
'
ignoreLimitWarning
'
)
===
true
;
const
useIcons
=
!
config
.
get
<
boolean
>
(
'
decorations.enabled
'
,
true
);
this
.
isRepositoryHuge
=
didHitLimit
;
const
mergeMessage
=
await
this
.
repository
.
getMergeMessage
();
if
(
mergeMessage
)
{
this
.
inputBox
.
value
=
mergeMessage
;
}
if
(
didHitLimit
&&
!
shouldIgnore
&&
!
this
.
didWarnAboutLimit
)
{
const
knownHugeFolderPaths
=
await
this
.
findKnownHugeFolderPathsToIgnore
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录