Fonction MATLAB pour trouver le répertoire racine du projet via le dossier .git à partir du chemin du script actuel
Cette fonction localise le répertoire racine d’un dépôt Git en recherchant le dossier .git à partir du répertoire du script appelant. Elle remonte l’arborescence des répertoires jusqu’à ce qu’elle trouve un répertoire contenant un dossier .git ou atteigne la racine du système de fichiers.
find_git_root.m
find_git_root.m
function rootDir = find_git_root(scriptFullPath)
% FIND_GIT_ROOT Remonte l'arborescence des répertoires pour localiser le premier répertoire contenant un dossier .git.
% rootDir = FIND_GIT_ROOT(scriptFullPath) commence à partir du répertoire du scriptFullPath fourni
% et remonte jusqu'à ce qu'il trouve un dossier .git. Si aucun dossier .git n'est
% trouvé, une erreur est levée.
% Obtenir le répertoire du chemin complet du script fourni
scriptDirectory = fileparts(scriptFullPath);
% Initialiser le répertoire courant au répertoire du script
currentDir = scriptDirectory;
while true
% Vérifier si le répertoire courant contient un dossier .git
if exist(fullfile(currentDir, '.git'), 'dir')
fprintf('Directory containing ".git" found: %s\n', currentDir);
rootDir = currentDir;
return;
end
% Obtenir le répertoire parent
parentDir = fileparts(currentDir);
% Vérifier si nous avons atteint la racine sans trouver le dossier .git
if strcmp(currentDir, parentDir)
error('No directory containing ".git" was found in the path hierarchy.');
end
% Remonter au répertoire parent
currentDir = parentDir;
end
endExemple d’utilisation
Pour utiliser cette fonction, appelez-la simplement depuis n’importe quel script dans votre dépôt Git. Elle retournera le chemin vers le répertoire racine du dépôt.
find_git_root_usage.m
rootDir = find_git_root(mfilename('fullpath'));Consultez les articles similaires par catégorie :
MATLAB/Simulink
Si cet article vous a aidé, pensez à m'offrir un café ou à faire un don via PayPal pour soutenir la recherche et la publication de nouveaux articles sur TechOverflow