提交 fd2173a8 编写于 作者: J Joao Moreno

fixes #29728

上级 3d0bdea0
......@@ -982,14 +982,25 @@ export class CommandCenter {
@command('git.ignore')
async ignore(...resourceStates: SourceControlResourceState[]): Promise<void> {
const resources = resourceStates
.filter(s => s instanceof Resource) as Resource[];
if (resourceStates.length === 0 || !(resourceStates[0].resourceUri instanceof Uri)) {
const uri = window.activeTextEditor && window.activeTextEditor.document.uri;
if (!resources.length) {
if (!uri) {
return;
}
return await this.model.ignore([uri]);
}
const uris = resourceStates
.filter(s => s instanceof Resource)
.map(r => r.resourceUri);
if (!uris.length) {
return;
}
await this.model.ignore(resources);
await this.model.ignore(uris);
}
private createCommand(id: string, key: string, method: Function, skipModelCheck: boolean): (...args: any[]) => any {
......
......@@ -536,11 +536,11 @@ export class Model implements Disposable {
return await this.run(Operation.GetCommitTemplate, async () => this.repository.getCommitTemplate());
}
async ignore(files: Resource[]): Promise<void> {
async ignore(files: Uri[]): Promise<void> {
return await this.run(Operation.Ignore, async () => {
const ignoreFile = `${this.repository.root}${path.sep}.gitignore`;
const textToAppend = files
.map(file => path.relative(this.repository.root, file.resourceUri.fsPath).replace(/\\/g, '/'))
.map(uri => path.relative(this.repository.root, uri.fsPath).replace(/\\/g, '/'))
.join('\n');
const document = await new Promise(c => fs.exists(ignoreFile, c))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册