in src/desktop/gitlab/clone/gitlab_remote_source.ts [171:200]
async publishFolder(uri: vscode.Uri): Promise<void> {
const existingRepository = this.#gitAPI.repositories.find(r => r.rootUri.fsPath === uri.fsPath);
if (existingRepository) {
await this.publishRepository(existingRepository);
return;
}
const [anyFile] = await vscode.workspace.findFiles(
new vscode.RelativePattern(uri, '*'),
null,
1,
);
if (!anyFile) {
await vscode.window.showErrorMessage(
'Workspace is empty. To push to GitLab, first add a file to the folder.',
);
return;
}
await this.#publishToNewProject(uri, async () => {
const repository = await this.#gitAPI.init(uri);
if (!repository) {
throw new ModalError(
'Could not create local Git repository. Check the logs for more information.',
);
}
await repository.commit(DEFAULT_COMMIT_MESSAGE, { all: true });
return repository;
});
}