From e874cbefd61ef54e0ab0a142637e612f82c224d8 Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 31 Oct 2024 14:58:36 +0100 Subject: [PATCH] feat(gitea-git-clone): add support for creating repositories in Gitea * Added: * - Users can now create new repositories in a selected Gitea instance directly from VSCode. Options include: * - Selecting the Gitea instance (if multiple are configured). * - Choosing the owner (personal account or organization). * - Setting the repository visibility (private by default, or public). * - Selecting a `.gitignore` template (if available via API). * - The repository is initialized with an MIT license. * - After creation, the new repository is automatically cloned and opened in VSCode. * Changed: * - Updated localization files to include new messages related to repository creation. * * Fixed: * - Improved error handling and messages throughout the extension. --- gitea-git-clone/CHANGELOG.md | 21 +- gitea-git-clone/README.md | 14 +- gitea-git-clone/i18n/package.nls.de.json | 11 +- gitea-git-clone/i18n/package.nls.json | 11 +- gitea-git-clone/package.json | 7 +- .../releases/gitea-workflow-1.4.0.vsix | Bin 0 -> 97834 bytes gitea-git-clone/src/extension.ts | 237 ++++++++++++++++++ 7 files changed, 296 insertions(+), 5 deletions(-) create mode 100644 gitea-git-clone/releases/gitea-workflow-1.4.0.vsix diff --git a/gitea-git-clone/CHANGELOG.md b/gitea-git-clone/CHANGELOG.md index 75edcb4..c3553bb 100644 --- a/gitea-git-clone/CHANGELOG.md +++ b/gitea-git-clone/CHANGELOG.md @@ -2,6 +2,25 @@ All notable changes to the “gitea-workflow” extension will be documented in this file. +## 1.4.0 + +### Added + +- **Create Repositories**: Users can now create new repositories in a selected Gitea instance directly from VSCode. Options include: + - Selecting the Gitea instance (if multiple are configured). + - Choosing the owner (personal account or organization). + - Setting the repository visibility (private by default, or public). + - Selecting a `.gitignore` template (if available via API). + - The repository is initialized with an MIT license. +- **Automatic Cloning**: After creation, the new repository is automatically cloned and opened in VSCode. + +### Changed + +- **Localization**: Updated localization files to include new messages related to repository creation. + +### Fixed + +- **Minor Bug Fixes**: Improved error handling and messages throughout the extension. ## 1.3 @@ -34,7 +53,7 @@ All notable changes to the “gitea-workflow” extension will be documented in - no errors if not a Git-Repository - no errors if not a Gitea-Repository with configured upstream -- no Statusbar icons if not Git/Gitea-Repository +- no Status bar icons if not Git/Gitea-Repository - truncate Commit Titles longer than 255 characters ## 1.2.1 diff --git a/gitea-git-clone/README.md b/gitea-git-clone/README.md index 9af4dfc..9a496fa 100644 --- a/gitea-git-clone/README.md +++ b/gitea-git-clone/README.md @@ -19,11 +19,12 @@ A Visual Studio Code extension that allows you to manage your Gitea repositories - `Gitea: Clone Repository` → Clone a repository from a selected Gitea instance via SSH. - `Gitea: Create Pull Request` → Create a pull request for the current repository. - `Gitea: Show Open Pull Requests` → Show open pull requests for the current repository and link to them. +- `Gitea: Create Repository` → Create a new repository in a selected Gitea instance. ## Requirements - A Gitea instance with SSH access. -- A Personal Access Token (PAT) from your Gitea instance(s) for authentication. +- A Personal Access Token (PAT) from your Gitea instance(s) with necessary permissions (e.g., `repo`, `admin:org`). ## Configuration @@ -70,6 +71,17 @@ Choose the repository you want to clone. Select the folder where you want to clone the repository. The repository will be cloned via SSH and automatically opened in a new VSCode window. +### Creating a Repository + +Run `Gitea: Create Repository` from the command palette. +Select the Gitea instance where you want to create the repository. +Choose the owner (your personal account or an organization you belong to). +Enter the name of the new repository. +The repository name will be sanitized and formatted to meet Gitea's requirements. +Select the visibility of the repository (Private or Public). +The repository will be created with an MIT license and initialized with a `.gitignore` template for Visual Studio Code. +After creation, the repository will be cloned, and you can start working immediately. + ### Creating a Pull Request Ensure that you are on the branch for which you want to create a Pull Request. diff --git a/gitea-git-clone/i18n/package.nls.de.json b/gitea-git-clone/i18n/package.nls.de.json index 339fcf6..d90b40e 100644 --- a/gitea-git-clone/i18n/package.nls.de.json +++ b/gitea-git-clone/i18n/package.nls.de.json @@ -36,5 +36,14 @@ "giteaClone.selectPullRequest": "Wählen Sie einen Pull Request zum Anzeigen aus", "giteaClone.showOpenPullRequestsTooltip": "Offene Pull Requests anzeigen", "giteaClone.branchStatusTooltip": "Aktueller Branch-Status", - "giteaClone.buildStatusTooltip": "Build-Status des aktuellen Commits" + "giteaClone.buildStatusTooltip": "Build-Status des aktuellen Commits", + "giteaClone.createRepository": "Repository erstellen", + "giteaClone.selectOwner": "Wählen Sie den Besitzer für das Repository aus", + "giteaClone.noOwnerSelected": "Kein Besitzer ausgewählt.", + "giteaClone.enterRepoName": "Geben Sie den Namen des neuen Repositories ein", + "giteaClone.noRepoName": "Kein Repository-Name angegeben.", + "giteaClone.selectVisibility": "Wählen Sie die Sichtbarkeit des Repositories", + "giteaClone.selectGitignore": ".gitignore-Template auswählen (optional)", + "giteaClone.repoCreated": "Repository '{0}' erfolgreich erstellt.", + "giteaClone.createRepoError": "Fehler beim Erstellen des Repositories: {0}" } diff --git a/gitea-git-clone/i18n/package.nls.json b/gitea-git-clone/i18n/package.nls.json index 83fe2ec..9a41f19 100644 --- a/gitea-git-clone/i18n/package.nls.json +++ b/gitea-git-clone/i18n/package.nls.json @@ -36,5 +36,14 @@ "giteaClone.selectPullRequest": "Select a pull request to view", "giteaClone.showOpenPullRequestsTooltip": "Show open pull requests", "giteaClone.branchStatusTooltip": "Current branch status", - "giteaClone.buildStatusTooltip": "Build status of the current commit" + "giteaClone.buildStatusTooltip": "Build status of the current commit", + "giteaClone.createRepository": "Create Repository", + "giteaClone.selectOwner": "Select the owner for the repository", + "giteaClone.noOwnerSelected": "No owner selected.", + "giteaClone.enterRepoName": "Enter the name of the new repository", + "giteaClone.noRepoName": "No repository name provided.", + "giteaClone.selectVisibility": "Select the visibility of the repository", + "giteaClone.selectGitignore": "Select a .gitignore template (optional)", + "giteaClone.repoCreated": "Repository '{0}' created successfully.", + "giteaClone.createRepoError": "Error creating repository: {0}" } diff --git a/gitea-git-clone/package.json b/gitea-git-clone/package.json index a345cb8..8bfd1fe 100644 --- a/gitea-git-clone/package.json +++ b/gitea-git-clone/package.json @@ -2,7 +2,7 @@ "name": "gitea-workflow", "displayName": "Gitea Workflow", "description": "Clone from Gitea instances; Create PRs", - "version": "1.3.0", + "version": "1.4.0", "publisher": "computerliebe", "engines": { "vscode": "^1.94.0" @@ -45,6 +45,11 @@ "command": "gitea.showOpenPullRequests", "title": " Show open Pull Requests", "category": "Gitea" + }, + { + "command": "gitea.createRepository", + "title": " Create Repository", + "category": "Gitea" } ], "configuration": { diff --git a/gitea-git-clone/releases/gitea-workflow-1.4.0.vsix b/gitea-git-clone/releases/gitea-workflow-1.4.0.vsix new file mode 100644 index 0000000000000000000000000000000000000000..1272ca5caaec1dcb7821647260edf261980c20d7 GIT binary patch literal 97834 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 literal 0 HcmV?d00001 diff --git a/gitea-git-clone/src/extension.ts b/gitea-git-clone/src/extension.ts index 7c836ad..61037d3 100644 --- a/gitea-git-clone/src/extension.ts +++ b/gitea-git-clone/src/extension.ts @@ -88,6 +88,239 @@ async function isGitRepository(folderPath: string): Promise { }); } +// Helper function to slugify the repository name +function slugify(text: string): string { + return text + .toString() + .toLowerCase() + .trim() + .replace(/[\s\W-]+/g, '-'); // Replace spaces and non-word characters with a dash +} + +// UPDATED FUNCTION: Creating a Repository in Gitea +async function createGiteaRepository() { + const instances = getGiteaInstances(); + + if (instances.length === 0) { + vscode.window.showErrorMessage(localize('giteaClone.configMissing', 'No Gitea instances are configured.')); + return; + } + + // User selects a Gitea instance + const instanceNames = instances.map(instance => instance.name); + const selectedInstanceName = await vscode.window.showQuickPick(instanceNames, { + placeHolder: localize('giteaClone.selectInstance', 'Select a Gitea instance to create the repository in') + }); + + if (!selectedInstanceName) { + vscode.window.showInformationMessage(localize('giteaClone.noInstanceSelected', 'No Gitea instance selected.')); + return; + } + + const selectedInstance = instances.find(instance => instance.name === selectedInstanceName); + + if (!selectedInstance) { + vscode.window.showErrorMessage(localize('giteaClone.invalidInstance', 'Invalid Gitea instance selected.')); + return; + } + + const instanceUrl = selectedInstance.url; + const token = selectedInstance.token; + + try { + // Fetch user organizations + const organizations = await getUserOrganizations(instanceUrl, token); + const ownerChoices = ['(Personal)'].concat(organizations.map(org => org.username)); + + // User selects the owner (personal account or organization) + const selectedOwner = await vscode.window.showQuickPick(ownerChoices, { + placeHolder: localize('giteaClone.selectOwner', 'Select the owner for the repository') + }); + + if (selectedOwner === undefined) { + vscode.window.showInformationMessage(localize('giteaClone.noOwnerSelected', 'No owner selected.')); + return; + } + + const owner = selectedOwner === '(Personal)' ? null : selectedOwner; + + // User inputs the repository name + const repoNameInput = await vscode.window.showInputBox({ + prompt: localize('giteaClone.enterRepoName', 'Enter the name of the new repository'), + placeHolder: 'my-new-repo' + }); + + if (!repoNameInput) { + vscode.window.showInformationMessage(localize('giteaClone.noRepoName', 'No repository name provided.')); + return; + } + + // Sanitize and slugify the repository name + const repoName = slugify(repoNameInput); + + if (!repoName) { + vscode.window.showErrorMessage(localize('giteaClone.invalidRepoName', 'Invalid repository name.')); + return; + } + + // User selects the visibility + const visibilityChoice = await vscode.window.showQuickPick(['Private', 'Public'], { + placeHolder: localize('giteaClone.selectVisibility', 'Select the visibility of the repository'), + canPickMany: false + }); + + const isPrivate = visibilityChoice !== 'Public'; // Default to Private if undefined + + // Set the .gitignore template to 'VisualStudioCode' by default + const gitignoreTemplate = 'VisualStudioCode'; + + // Repository creation data + const repoData = { + name: repoName, // Slugified name + repo_name: repoNameInput, // Original name for display purposes + private: isPrivate, + auto_init: true, + license: 'MIT', + gitignores: gitignoreTemplate + }; + + const apiUrl = owner + ? `${instanceUrl}/api/v1/orgs/${owner}/repos` + : `${instanceUrl}/api/v1/user/repos`; + + const response = await axios.post(apiUrl, repoData, { + headers: { + 'Authorization': `token ${token}`, + 'Content-Type': 'application/json' + } + }); + + const repo = response.data; + + vscode.window.showInformationMessage(localize('giteaClone.repoCreated', `Repository '${repoNameInput}' created successfully.`)); + + // Clone the repository + await cloneRepository(repo.ssh_url, repoName); + + } catch (err: any) { + let errMessage = ''; + + if (axios.isAxiosError(err)) { + const axiosError = err as AxiosError; + if (axiosError.response && axiosError.response.data) { + const data = axiosError.response.data as GiteaErrorResponse; + if (typeof data === 'string') { + errMessage = data; + } else if (data.message) { + errMessage = data.message; + } + } else if (axiosError.message) { + errMessage = axiosError.message; + } + } else { + errMessage = err.message; + } + + let errorMessage = localize('giteaClone.createRepoError', `Error creating repository: ${errMessage}`); + vscode.window.showErrorMessage(errorMessage); + console.error('Error creating repository:', err); + } +} + +// Hilfsfunktion zum Abrufen der Benutzerorganisationen +async function getUserOrganizations(instanceUrl: string, token: string): Promise { + try { + const response = await axios.get(`${instanceUrl}/api/v1/user/orgs`, { + headers: { + 'Authorization': `token ${token}` + } + }); + + if (response.status === 200) { + return response.data; + } else { + return []; + } + } catch (err) { + console.error('Error fetching user organizations:', err); + return []; + } +} + +// Hilfsfunktion zum Abrufen der verfügbaren .gitignore-Templates +async function getGitignoreTemplates(instanceUrl: string, token: string): Promise { + try { + const response = await axios.get(`${instanceUrl}/api/v1/gitignores`, { + headers: { + 'Authorization': `token ${token}` + } + }); + + if (response.status === 200) { + return response.data; + } else { + return []; + } + } catch (err) { + console.error('Error fetching gitignore templates:', err); + return []; + } +} + +// Hilfsfunktion zum Klonen eines Repositories +async function cloneRepository(sshUrl: string, repoName: string) { + const folderUri = await vscode.window.showOpenDialog({ + canSelectFiles: false, + canSelectFolders: true, + canSelectMany: false, + openLabel: localize('giteaClone.selectFolder', 'Select folder to clone into') + }); + + if (folderUri && folderUri[0]) { + const folderPath = folderUri[0].fsPath; + const targetPath = path.join(folderPath, repoName); + + // Überprüfen, ob das Zielverzeichnis bereits existiert + if (fs.existsSync(targetPath)) { + vscode.window.showErrorMessage(localize('giteaClone.targetExists', `The target directory "${targetPath}" already exists.`)); + return; + } + + vscode.window.withProgress({ + location: vscode.ProgressLocation.Notification, + title: localize('giteaClone.cloningRepo', `Cloning ${repoName}`), + cancellable: false + }, async (progress, token) => { + progress.report({ message: localize('giteaClone.cloningProgress', 'Cloning in progress...'), increment: 0 }); + + return new Promise((resolve, reject) => { + exec(`git clone ${sshUrl} "${targetPath}"`, (error, stdout, stderr) => { + if (error) { + vscode.window.showErrorMessage(localize('giteaClone.cloneError', 'Error cloning the repository.')); + console.error(stderr); + reject(error); + } else { + progress.report({ message: localize('giteaClone.cloneComplete', 'Repository cloned successfully.'), increment: 100 }); + vscode.window.showInformationMessage(localize('giteaClone.cloneSuccess', `Repository ${repoName} cloned successfully.`)); + + // Öffne das geklonte Repository im VSCode + try { + vscode.commands.executeCommand('vscode.openFolder', vscode.Uri.file(targetPath), true) + .then(() => resolve()); + } catch (err: unknown) { + vscode.window.showErrorMessage(localize('giteaClone.openRepoError', 'Error opening the cloned repository.')); + console.error(err); + reject(err); + } + } + }); + }); + }); + } else { + vscode.window.showInformationMessage(localize('giteaClone.noFolderSelected', 'No target folder selected.')); + } +} + // Funktion zum Erstellen eines Pull Requests async function createGiteaPullRequest() { // Aktuellen Workspace-Ordner abrufen @@ -959,6 +1192,10 @@ export async function activate(context: vscode.ExtensionContext) { let showPRCommand = vscode.commands.registerCommand('gitea.showOpenPullRequests', showOpenPullRequests); context.subscriptions.push(showPRCommand); + // NEUER BEFEHL zum Erstellen eines Repositories + let createRepoCommand = vscode.commands.registerCommand('gitea.createRepository', createGiteaRepository); + context.subscriptions.push(createRepoCommand); + // Statusleisten-Icon erstellen statusBarItem = await addStatusBarIcon(); if (statusBarItem) {