Publicado el :
Administración CREATION_INTERNE

Staging de archivos Git

Este código también está disponible en: Deutsch English Français Español
Attention : Este código requiere privilegios de administrador.
La macro `%mp_gitadd` está diseñada para automatizar la operación de staging de archivos en un repositorio Git. Toma como entrada la ruta del directorio Git (`gitdir`), un conjunto de datos (`inds`) que contiene la lista de archivos a considerar (generalmente proveniente de la macro `mp_gitstatus`), y un indicador de depuración (`mdebug`). Para cada archivo del conjunto de datos `inds` cuyo estado 'STAGED' no sea 'TRUE', la macro llama a la función `git_index_add`. Esta función integra el archivo en el índice de Git, marcándolo así como listo para el próximo commit. En caso de error de la función `git_index_add` o si el modo de depuración está activado, el código de retorno de la operación se muestra en el log de SAS©.
Análisis de datos

Type : CREATION_INTERNE


La macro utiliza un conjunto de datos de entrada (`inds`, por defecto `work.mp_gitadd`) que se espera que sea creado y gestionado dentro de la sesión SAS, por ejemplo, por otra macro como `mp_gitstatus`. No se trata de datos que provengan directamente de archivos externos en formato no-SAS (como archivos planos o bases de datos externas).

1 Bloque de código
DATA STEP
Explicación :
Este bloque `DATA _NULL_` recorre las observaciones del conjunto de datos de entrada especificado por `&inds`. Para cada observación, verifica si la variable `STAGED` no es igual a 'TRUE'. Si esta condición se cumple (el archivo aún no está en staging), invoca la función `git_index_add`. Esta función se encarga de agregar el archivo (identificado por `cats(path)`) desde el directorio Git (`&gitdir`) con su `status` al área de staging de Git. Se captura el código de retorno (`rc`) de `git_index_add`. Si `rc` es diferente de cero (indicando un error) o si la variable macro `&mdebug` es igual a 1, el valor de `rc` se escribe en el log de SAS con fines de diagnóstico.
¡Copiado!
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;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.