mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-29 22:43:19 -05:00
if 'git.untrackedChanges' is set to 'hidden' ignore untracked files when running 'git status'
Co-authored-by: Markus Korn <markus.korn@gmail.com>
This commit is contained in:
@@ -1849,11 +1849,17 @@ export class Repository {
|
||||
}
|
||||
}
|
||||
|
||||
getStatus(opts?: { limit?: number; ignoreSubmodules?: boolean }): Promise<{ status: IFileStatus[]; statusLength: number; didHitLimit: boolean }> {
|
||||
getStatus(opts?: { limit?: number; ignoreSubmodules?: boolean; untrackedChanges?: 'mixed' | 'separate' | 'hidden' }): Promise<{ status: IFileStatus[]; statusLength: number; didHitLimit: boolean }> {
|
||||
return new Promise<{ status: IFileStatus[]; statusLength: number; didHitLimit: boolean }>((c, e) => {
|
||||
const parser = new GitStatusParser();
|
||||
const env = { GIT_OPTIONAL_LOCKS: '0' };
|
||||
const args = ['status', '-z', '-u'];
|
||||
const args = ['status', '-z'];
|
||||
|
||||
if (opts?.untrackedChanges === 'hidden') {
|
||||
args.push('-uno');
|
||||
} else {
|
||||
args.push('-uall');
|
||||
}
|
||||
|
||||
if (opts?.ignoreSubmodules) {
|
||||
args.push('--ignore-submodules');
|
||||
|
||||
@@ -1857,11 +1857,12 @@ export class Repository implements Disposable {
|
||||
@throttle
|
||||
private async updateModelState(): Promise<void> {
|
||||
const scopedConfig = workspace.getConfiguration('git', Uri.file(this.repository.root));
|
||||
const untrackedChanges = scopedConfig.get<'mixed' | 'separate' | 'hidden'>('untrackedChanges');
|
||||
const ignoreSubmodules = scopedConfig.get<boolean>('ignoreSubmodules');
|
||||
|
||||
const limit = scopedConfig.get<number>('statusLimit', 10000);
|
||||
|
||||
const { status, statusLength, didHitLimit } = await this.repository.getStatus({ limit, ignoreSubmodules });
|
||||
const { status, statusLength, didHitLimit } = await this.repository.getStatus({ limit, ignoreSubmodules, untrackedChanges });
|
||||
|
||||
if (didHitLimit) {
|
||||
/* __GDPR__
|
||||
@@ -1943,7 +1944,6 @@ export class Repository implements Disposable {
|
||||
this._submodules = submodules!;
|
||||
this.rebaseCommit = rebaseCommit;
|
||||
|
||||
const untrackedChanges = scopedConfig.get<'mixed' | 'separate' | 'hidden'>('untrackedChanges');
|
||||
const index: Resource[] = [];
|
||||
const workingTree: Resource[] = [];
|
||||
const merge: Resource[] = [];
|
||||
|
||||
Reference in New Issue
Block a user