Veröffentlicht am :
Verwaltung CREATION_INTERNE

Staging von Git-Dateien

Dieser Code ist auch verfügbar auf: English Español Français Deutsch
Attention : Dieser Code erfordert Administratorrechte.
Das Makro `%mp_gitadd` wurde entwickelt, um den Staging-Vorgang von Dateien in einem Git-Repository zu automatisieren. Es nimmt den Pfad des Git-Verzeichnisses (`gitdir`), einen Datensatz (`inds`) mit der Liste der zu berücksichtigenden Dateien (normalerweise aus dem Makro `mp_gitstatus`) und einen Debug-Indikator (`mdebug`) als Eingabe entgegen. Für jede Datei im Datensatz `inds`, deren Status 'STAGED' nicht 'TRUE' ist, ruft das Makro die Funktion `git_index_add` auf. Diese Funktion integriert die Datei in den Git-Index und markiert sie somit als bereit für den nächsten Commit. Im Falle eines Fehlers der Funktion `git_index_add` oder wenn der Debug-Modus aktiviert ist, wird der Rückgabecode des Vorgangs im SAS©-Log angezeigt.
Datenanalyse

Type : CREATION_INTERNE


Das Makro verwendet einen Eingabedatensatz (`inds`, standardmäßig `work.mp_gitadd`), der innerhalb der SAS-Sitzung erstellt und verwaltet werden soll, z.B. durch ein anderes Makro wie `mp_gitstatus`. Es handelt sich nicht um Daten, die direkt aus externen Dateien im Nicht-SAS-Format (wie Flatfiles oder externe Datenbanken) stammen.

1 Codeblock
DATA STEP
Erklärung :
Dieser `DATA _NULL_`-Block durchläuft die Beobachtungen des durch `&inds` angegebenen Eingabedatensatzes. Für jede Beobachtung wird geprüft, ob die Variable `STAGED` nicht gleich 'TRUE' ist. Wenn diese Bedingung erfüllt ist (die Datei ist noch nicht gestaged), wird die Funktion `git_index_add` aufgerufen. Diese Funktion ist dafür zuständig, die Datei (identifiziert durch `cats(path)`) aus dem Git-Repository (`&gitdir`) mit ihrem `status` zum Git-Staging-Bereich hinzuzufügen. Der Rückgabecode (`rc`) von `git_index_add` wird erfasst. Wenn `rc` ungleich Null ist (was auf einen Fehler hinweist) oder wenn die Makrovariable `&mdebug` gleich 1 ist, wird der Wert von `rc` zu Diagnosezwecken in das SAS-Log geschrieben.
Kopiert!
1DATA _null_;
2 SET &inds;
3 IF STAGED ne "TRUE";
4 rc=git_index_add("&gitdir",cats(path),STATUS);
5 IF rc ne 0 or &mdebug=1 THEN put rc=;
6RUN;
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.