Skip to content

Commit 3e5ddbf

Browse files
committed
Merge remote-tracking branch 'origin/main' into pr/byteit101/134171
2 parents 4acd587 + f94d326 commit 3e5ddbf

File tree

86 files changed

+1020
-519
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+1020
-519
lines changed

.vscode/notebooks/endgame.github-issues

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{
88
"kind": 2,
99
"language": "github-issues",
10-
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal\n\n$MILESTONE=milestone:\"September 2021\""
10+
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal\n\n$MILESTONE=milestone:\"September 2021\""
1111
},
1212
{
1313
"kind": 1,

.vscode/notebooks/my-endgame.github-issues

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{
88
"kind": 2,
99
"language": "github-issues",
10-
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal\n\n$MILESTONE=milestone:\"September 2021\"\n\n$MINE=assignee:@me"
10+
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal\n\n$MILESTONE=milestone:\"September 2021\"\n\n$MINE=assignee:@me"
1111
},
1212
{
1313
"kind": 1,

.vscode/notebooks/my-work.github-issues

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{
88
"kind": 2,
99
"language": "github-issues",
10-
"value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-references-view\n\n// current milestone name\n$milestone=milestone:\"September 2021\""
10+
"value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-references-view repo:microsoft/vscode-anycode\n\n// current milestone name\n$milestone=milestone:\"September 2021\""
1111
},
1212
{
1313
"kind": 1,

.vscode/notebooks/verification.github-issues

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
{
1313
"kind": 2,
1414
"language": "github-issues",
15-
"value": "$repos=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-jupyter repo:microsoft/vscode-python\n$milestone=milestone:\"August 2021\""
15+
"value": "$repos=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-jupyter repo:microsoft/vscode-python\n$milestone=milestone:\"August 2021\""
1616
},
1717
{
1818
"kind": 1,

extensions/configuration-editing/schemas/devContainer.schema.generated.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,11 @@
124124
"$ref": "vscode://schemas/settings/machine",
125125
"description": "Machine specific settings that should be copied into the container. These are only copied when connecting to the container for the first time, rebuilding the container then triggers it again."
126126
},
127+
"features": {
128+
"type": "object",
129+
"description": "Features to add to the dev container.",
130+
"additionalProperties": true
131+
},
127132
"forwardPorts": {
128133
"type": "array",
129134
"description": "Ports that are forwarded from the container to the local machine. Can be an integer port number, or a string of the format \"host:port_number\".",
@@ -522,6 +527,11 @@
522527
"$ref": "vscode://schemas/settings/machine",
523528
"description": "Machine specific settings that should be copied into the container. These are only copied when connecting to the container for the first time, rebuilding the container then triggers it again."
524529
},
530+
"features": {
531+
"type": "object",
532+
"description": "Features to add to the dev container.",
533+
"additionalProperties": true
534+
},
525535
"forwardPorts": {
526536
"type": "array",
527537
"description": "Ports that are forwarded from the container to the local machine. Can be an integer port number, or a string of the format \"host:port_number\".",
@@ -886,6 +896,11 @@
886896
"$ref": "vscode://schemas/settings/machine",
887897
"description": "Machine specific settings that should be copied into the container. These are only copied when connecting to the container for the first time, rebuilding the container then triggers it again."
888898
},
899+
"features": {
900+
"type": "object",
901+
"description": "Features to add to the dev container.",
902+
"additionalProperties": true
903+
},
889904
"forwardPorts": {
890905
"type": "array",
891906
"description": "Ports that are forwarded from the container to the local machine. Can be an integer port number, or a string of the format \"host:port_number\".",
@@ -1224,6 +1239,11 @@
12241239
"$ref": "vscode://schemas/settings/machine",
12251240
"description": "Machine specific settings that should be copied into the container. These are only copied when connecting to the container for the first time, rebuilding the container then triggers it again."
12261241
},
1242+
"features": {
1243+
"type": "object",
1244+
"description": "Features to add to the dev container.",
1245+
"additionalProperties": true
1246+
},
12271247
"forwardPorts": {
12281248
"type": "array",
12291249
"description": "Ports that are forwarded from the container to the local machine. Can be an integer port number, or a string of the format \"host:port_number\".",
@@ -1527,6 +1547,11 @@
15271547
"$ref": "vscode://schemas/settings/machine",
15281548
"description": "Machine specific settings that should be copied into the container. These are only copied when connecting to the container for the first time, rebuilding the container then triggers it again."
15291549
},
1550+
"features": {
1551+
"type": "object",
1552+
"description": "Features to add to the dev container.",
1553+
"additionalProperties": true
1554+
},
15301555
"forwardPorts": {
15311556
"type": "array",
15321557
"description": "Ports that are forwarded from the container to the local machine. Can be an integer port number, or a string of the format \"host:port_number\".",

extensions/configuration-editing/schemas/devContainer.schema.src.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@
2424
"$ref": "vscode://schemas/settings/machine",
2525
"description": "Machine specific settings that should be copied into the container. These are only copied when connecting to the container for the first time, rebuilding the container then triggers it again."
2626
},
27+
"features": {
28+
"type": "object",
29+
"description": "Features to add to the dev container.",
30+
"additionalProperties": true
31+
},
2732
"forwardPorts": {
2833
"type": "array",
2934
"description": "Ports that are forwarded from the container to the local machine. Can be an integer port number, or a string of the format \"host:port_number\".",

extensions/git/package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2162,6 +2162,12 @@
21622162
"default": "whenEmpty",
21632163
"description": "%config.showUnpublishedCommitsButton%",
21642164
"scope": "resource"
2165+
},
2166+
"git.statusLimit": {
2167+
"type": "number",
2168+
"scope": "resource",
2169+
"default": 10000,
2170+
"description": "%config.statusLimit%"
21652171
}
21662172
}
21672173
},

extensions/git/package.nls.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@
189189
"config.showUnpublishedCommitsButton.always": "Always shows the action button, if there are unpublished commits.",
190190
"config.showUnpublishedCommitsButton.whenEmpty": "Only shows the action button if there are no other changes and there are unpublished commits.",
191191
"config.showUnpublishedCommitsButton.never": "Never shows the action button.",
192+
"config.statusLimit": "Controls how to limit the number of changes that can be parsed from Git status command. Can be set to 0 for no limit.",
192193
"submenu.explorer": "Git",
193194
"submenu.commit": "Commit",
194195
"submenu.commit.amend": "Amend",

extensions/git/src/git.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1842,7 +1842,7 @@ export class Repository {
18421842
const onStdoutData = (raw: string) => {
18431843
parser.update(raw);
18441844

1845-
if (parser.status.length > limit) {
1845+
if (limit !== 0 && parser.status.length > limit) {
18461846
child.removeListener('exit', onExit);
18471847
child.stdout!.removeListener('data', onStdoutData);
18481848
child.kill();

extensions/git/src/repository.ts

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -842,7 +842,7 @@ export class Repository implements Disposable {
842842
return this.repository.dotGit;
843843
}
844844

845-
private isRepositoryHuge = false;
845+
private isRepositoryHuge: false | { limit: number } = false;
846846
private didWarnAboutLimit = false;
847847

848848
private resourceCommandResolver = new ResourceCommandResolver(this);
@@ -973,6 +973,14 @@ export class Repository implements Disposable {
973973
}
974974

975975
validateInput(text: string, position: number): SourceControlInputBoxValidation | undefined {
976+
let tooManyChangesWarning: SourceControlInputBoxValidation | undefined;
977+
if (this.isRepositoryHuge) {
978+
tooManyChangesWarning = {
979+
message: localize('tooManyChangesWarning', "Too many changes were detected. Only the first {0} changes will be shown below.", this.isRepositoryHuge.limit),
980+
type: SourceControlInputBoxValidationType.Warning
981+
};
982+
}
983+
976984
if (this.rebaseCommit) {
977985
if (this.rebaseCommit.message !== text) {
978986
return {
@@ -986,7 +994,7 @@ export class Repository implements Disposable {
986994
const setting = config.get<'always' | 'warn' | 'off'>('inputValidation');
987995

988996
if (setting === 'off') {
989-
return;
997+
return tooManyChangesWarning;
990998
}
991999

9921000
if (/^\s+$/.test(text)) {
@@ -1022,7 +1030,7 @@ export class Repository implements Disposable {
10221030

10231031
if (line.length <= threshold) {
10241032
if (setting !== 'always') {
1025-
return;
1033+
return tooManyChangesWarning;
10261034
}
10271035

10281036
return {
@@ -1792,12 +1800,16 @@ export class Repository implements Disposable {
17921800
const scopedConfig = workspace.getConfiguration('git', Uri.file(this.repository.root));
17931801
const ignoreSubmodules = scopedConfig.get<boolean>('ignoreSubmodules');
17941802

1795-
const { status, didHitLimit } = await this.repository.getStatus({ ignoreSubmodules });
1803+
const limit = scopedConfig.get<number>('statusLimit', 5000);
1804+
1805+
const { status, didHitLimit } = await this.repository.getStatus({ limit, ignoreSubmodules });
17961806

17971807
const config = workspace.getConfiguration('git');
17981808
const shouldIgnore = config.get<boolean>('ignoreLimitWarning') === true;
17991809
const useIcons = !config.get<boolean>('decorations.enabled', true);
1800-
this.isRepositoryHuge = didHitLimit;
1810+
this.isRepositoryHuge = didHitLimit ? { limit } : false;
1811+
// Triggers or clears any validation warning
1812+
this._sourceControl.inputBox.validateInput = this._sourceControl.inputBox.validateInput;
18011813

18021814
if (didHitLimit && !shouldIgnore && !this.didWarnAboutLimit) {
18031815
const knownHugeFolderPaths = await this.findKnownHugeFolderPathsToIgnore();
@@ -1810,18 +1822,21 @@ export class Repository implements Disposable {
18101822

18111823
const addKnown = localize('add known', "Would you like to add '{0}' to .gitignore?", folderName);
18121824
const yes = { title: localize('yes', "Yes") };
1825+
const no = { title: localize('no', "No") };
18131826

1814-
const result = await window.showWarningMessage(`${gitWarn} ${addKnown}`, yes, neverAgain);
1827+
const result = await window.showWarningMessage(`${gitWarn} ${addKnown}`, yes, no, neverAgain);
1828+
if (result === yes) {
1829+
this.ignore([Uri.file(folderPath)]);
1830+
} else {
1831+
if (result === neverAgain) {
1832+
config.update('ignoreLimitWarning', true, false);
1833+
}
18151834

1816-
if (result === neverAgain) {
1817-
config.update('ignoreLimitWarning', true, false);
18181835
this.didWarnAboutLimit = true;
1819-
} else if (result === yes) {
1820-
this.ignore([Uri.file(folderPath)]);
18211836
}
18221837
} else {
1823-
const result = await window.showWarningMessage(gitWarn, neverAgain);
1824-
1838+
const ok = { title: localize('ok', "OK") };
1839+
const result = await window.showWarningMessage(gitWarn, ok, neverAgain);
18251840
if (result === neverAgain) {
18261841
config.update('ignoreLimitWarning', true, false);
18271842
}

0 commit comments

Comments
 (0)