Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
3d143cc7
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,发现更多精彩内容 >>
提交
3d143cc7
编写于
10月 15, 2019
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'pr/66522'
上级
03bc3fa4
d5664e35
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
72 addition
and
36 deletion
+72
-36
extensions/git/src/commands.ts
extensions/git/src/commands.ts
+21
-20
extensions/git/src/git.ts
extensions/git/src/git.ts
+18
-1
extensions/git/src/repository.ts
extensions/git/src/repository.ts
+13
-7
src/vs/workbench/api/browser/mainThreadSCM.ts
src/vs/workbench/api/browser/mainThreadSCM.ts
+1
-1
src/vs/workbench/api/common/extHostSCM.ts
src/vs/workbench/api/common/extHostSCM.ts
+4
-0
src/vs/workbench/contrib/scm/browser/repositoryPanel.ts
src/vs/workbench/contrib/scm/browser/repositoryPanel.ts
+13
-5
src/vs/workbench/contrib/scm/common/scm.ts
src/vs/workbench/contrib/scm/common/scm.ts
+2
-2
未找到文件。
extensions/git/src/commands.ts
浏览文件 @
3d143cc7
...
...
@@ -1361,37 +1361,38 @@ 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
);
if
(
message
&&
didCommit
)
{
repository
.
inputBox
.
value
=
await
repository
.
get
Commi
tTemplate
();
repository
.
inputBox
.
value
=
await
repository
.
get
Inpu
tTemplate
();
}
}
...
...
extensions/git/src/git.ts
浏览文件 @
3d143cc7
...
...
@@ -1748,6 +1748,23 @@ 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 +1783,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
浏览文件 @
3d143cc7
...
...
@@ -750,8 +750,6 @@ export class Repository implements Disposable {
const
onDidChangeCountBadge
=
filterEvent
(
workspace
.
onDidChangeConfiguration
,
e
=>
e
.
affectsConfiguration
(
'
git.countBadge
'
,
root
));
onDidChangeCountBadge
(
this
.
setCountBadge
,
this
,
this
.
disposables
);
this
.
setCountBadge
();
this
.
updateCommitTemplate
();
}
validateInput
(
text
:
string
,
position
:
number
):
SourceControlInputBoxValidation
|
undefined
{
...
...
@@ -827,12 +825,14 @@ export class Repository implements Disposable {
return
toGitUri
(
uri
,
''
,
{
replaceFileExtension
:
true
});
}
private
async
updateCommitTemplate
():
Promise
<
void
>
{
try
{
this
.
_sourceControl
.
commitTemplate
=
await
this
.
repository
.
getCommitTemplate
();
}
catch
(
e
)
{
// noop
async
getInputTemplate
():
Promise
<
string
>
{
const
mergeMessage
=
await
this
.
repository
.
getMergeMessage
();
if
(
mergeMessag
e
)
{
return
mergeMessage
;
}
return
await
this
.
repository
.
getCommitTemplate
();
}
getConfigs
():
Promise
<
{
key
:
string
;
value
:
string
;
}[]
>
{
...
...
@@ -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`
;
...
...
@@ -1528,6 +1532,8 @@ export class Repository implements Disposable {
this
.
setCountBadge
();
this
.
_onDidChangeStatus
.
fire
();
this
.
_sourceControl
.
commitTemplate
=
await
this
.
getInputTemplate
();
}
private
setCountBadge
():
void
{
...
...
src/vs/workbench/api/browser/mainThreadSCM.ts
浏览文件 @
3d143cc7
...
...
@@ -114,7 +114,7 @@ class MainThreadSCMProvider implements ISCMProvider {
get
rootUri
():
URI
|
undefined
{
return
this
.
_rootUri
;
}
get
contextValue
():
string
{
return
this
.
_contextValue
;
}
get
commitTemplate
():
string
|
undefined
{
return
this
.
features
.
commitTemplate
;
}
get
commitTemplate
():
string
{
return
this
.
features
.
commitTemplate
||
''
;
}
get
acceptInputCommand
():
Command
|
undefined
{
return
this
.
features
.
acceptInputCommand
;
}
get
statusBarCommands
():
Command
[]
|
undefined
{
return
this
.
features
.
statusBarCommands
;
}
get
count
():
number
|
undefined
{
return
this
.
features
.
count
;
}
...
...
src/vs/workbench/api/common/extHostSCM.ts
浏览文件 @
3d143cc7
...
...
@@ -395,6 +395,10 @@ class ExtHostSourceControl implements vscode.SourceControl {
}
set
commitTemplate
(
commitTemplate
:
string
|
undefined
)
{
if
(
commitTemplate
===
this
.
_commitTemplate
)
{
return
;
}
this
.
_commitTemplate
=
commitTemplate
;
this
.
_proxy
.
$updateSourceControl
(
this
.
handle
,
{
commitTemplate
});
}
...
...
src/vs/workbench/contrib/scm/browser/repositoryPanel.ts
浏览文件 @
3d143cc7
...
...
@@ -596,6 +596,7 @@ export class RepositoryPanel extends ViewletPanel {
private
menus
:
SCMMenus
;
private
toggleViewModelModeAction
:
ToggleViewModeAction
|
undefined
;
protected
contextKeyService
:
IContextKeyService
;
private
commitTemplate
=
''
;
constructor
(
readonly
repository
:
ISCMRepository
,
...
...
@@ -698,10 +699,10 @@ export class RepositoryPanel extends ViewletPanel {
this
.
_register
(
this
.
inputBox
.
onDidHeightChange
(()
=>
this
.
layoutBody
()));
if
(
this
.
repository
.
provider
.
onDidChangeCommitTemplate
)
{
this
.
_register
(
this
.
repository
.
provider
.
onDidChangeCommitTemplate
(
this
.
updateInputBox
,
this
));
this
.
_register
(
this
.
repository
.
provider
.
onDidChangeCommitTemplate
(
this
.
onDidChangeCommitTemplate
,
this
));
}
this
.
updateInputBox
();
this
.
onDidChangeCommitTemplate
();
// Input box visibility
this
.
_register
(
this
.
repository
.
input
.
onDidChangeVisibility
(
this
.
updateInputBoxVisibility
,
this
));
...
...
@@ -922,12 +923,19 @@ export class RepositoryPanel extends ViewletPanel {
.
filter
(
r
=>
!!
r
&&
!
isSCMResourceGroup
(
r
))
!
as
any
;
}
private
updateInputBox
():
void
{
if
(
typeof
this
.
repository
.
provider
.
commitTemplate
===
'
undefined
'
||
!
this
.
repository
.
input
.
visible
||
this
.
inputBox
.
value
)
{
private
onDidChangeCommitTemplate
():
void
{
if
(
typeof
this
.
repository
.
provider
.
commitTemplate
===
'
undefined
'
||
!
this
.
repository
.
input
.
visible
)
{
return
;
}
this
.
inputBox
.
value
=
this
.
repository
.
provider
.
commitTemplate
;
const
oldCommitTemplate
=
this
.
commitTemplate
;
this
.
commitTemplate
=
this
.
repository
.
provider
.
commitTemplate
;
if
(
this
.
inputBox
.
value
&&
this
.
inputBox
.
value
!==
oldCommitTemplate
)
{
return
;
}
this
.
inputBox
.
value
=
this
.
commitTemplate
;
}
private
updateInputBoxVisibility
():
void
{
...
...
src/vs/workbench/contrib/scm/common/scm.ts
浏览文件 @
3d143cc7
...
...
@@ -56,8 +56,8 @@ export interface ISCMProvider extends IDisposable {
readonly
rootUri
?:
URI
;
readonly
count
?:
number
;
readonly
commitTemplate
?
:
string
;
readonly
onDidChangeCommitTemplate
?
:
Event
<
string
>
;
readonly
commitTemplate
:
string
;
readonly
onDidChangeCommitTemplate
:
Event
<
string
>
;
readonly
onDidChangeStatusBarCommands
?:
Event
<
Command
[]
>
;
readonly
acceptInputCommand
?:
Command
;
readonly
statusBarCommands
?:
Command
[];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录