Astuce Go : récupérer le nom d'un dépôt Git 🤘

Il peut être parfois intéressant d'avoir à récupérer le nom du dépôt Git dans lequel vous travaillez. Git possède une commande pour le faire et nous allons l'utiliser pour récupérer cette information.

Cette fameuse commande est git rev-parse --show-toplevel. 😁

Le seul problème avec cette commande est quelle vous retourne le chemin complet du dépôt Git localement stocké.

Ainsi, nous récupèrerons le nom du dépôt avec Go :

package main

import (
	"bytes"
	"fmt"
	"os/exec"
	"strings"
)

func main() {
	// Run the "git rev-parse --show-toplevel" command to get the path of the top-level directory of the repository.
	cmd := exec.Command("git", "rev-parse", "--show-toplevel")

	// Get the output of the command.
	var out bytes.Buffer
	cmd.Stdout = &out
	err := cmd.Run()
	if err != nil {
		fmt.Printf("Failed to run command: %v\n", err)
	}

	// Extract the repository name from the path.
	repoPath := strings.TrimSpace(out.String())
	repoName := filepath.Base(repoPath)

	fmt.Printf("Current repository name: %s\n", repoName)
}

Le code va extraire le nom du dépôt à partir du chemin en utilisant la fonction filepath.Base.

J'espère que cela vous aidera ! 🤷🏼‍♂️

Sur ce, bonne année 2023 ! 🚀