Veröffentlicht am :
Systemdienstprogramm CREATION_INTERNE

Makro mp_gitstatus: Abrufen des Status eines Git-Repositorys

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Makro verwendet die nativen SAS© Git-Schnittstellenfunktionen (`git_status`, `git_status_get`), um die Anzahl der geänderten Dateien in einem Zielverzeichnis zu erhalten. Es iteriert dann über diese Dateien, um ihren Pfad, ihren Status (staged) und ihren Status (geändert, neu, gelöscht) zu extrahieren, wobei auch Fehlerfälle im Zusammenhang mit der libgit2-Bibliothek behandelt werden.
Datenanalyse

Type : CREATION_INTERNE


Die Daten werden direkt durch Aufrufe der SAS Git-Systemfunktionen aus dem angegebenen Verzeichnispfad generiert.

1 Codeblock
DATA STEP Data
Erklärung :
Initialisiert die Ausgabetabelle, prüft die Verfügbarkeit von Git über `git_status` und durchläuft die erkannten Dateien, um deren Metadaten über `git_status_get` zu extrahieren.
Kopiert!
1DATA &outds;
2 LENGTH gitdir path $ 1024 STATUS $ 64 STAGED $ 32;
3 call missing (of _all_);
4 gitdir=symget('gitdir');
5 cnt=git_status(trim(gitdir));
6 IF cnt=-1 THEN DO;
7 put "The libgit2 library is unavailable...";
8 END;
9 ELSE IF cnt=-2 THEN DO;
10 put "The libgit2 library is available, but...";
11 END;
12 ELSE DO n=1 to cnt;
13 rc=GIT_STATUS_GET(n,gitdir,'PATH',path);
14 rc=GIT_STATUS_GET(n,gitdir,'STAGED',staged);
15 rc=GIT_STATUS_GET(n,gitdir,'STATUS',STATUS);
16 OUTPUT;
17 /* Debug log si activé */
18 END;
19 rc=git_status_free(trim(gitdir));
20 drop rc cnt;
21RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.