DISTANT ($_target): N/A"; } } } /** * Récupère la date du dernier commit pour une cible donnée. * * @param string|null $_target Cible Git (par défaut HEAD). * @return string Retourne la date du commit formatée (d/m/Y à H:i:s). */ public static function getCommitDate($_target = NULL) { if ($_target == NULL) { $target = "HEAD"; } else { $target = "origin/" . $_target; } $commitDate = new \DateTime(trim(exec('git log -n1 --pretty=%ci ' . $target))); $commitDate->setTimezone(new \DateTimeZone('Europe/Paris')); return $commitDate->format('d/m/Y à H:i:s'); } /** * Récupère l'auteur du dernier commit pour une cible donnée. * * @param string|null $_target Cible Git (par défaut HEAD). * @return string Retourne le nom de l'auteur du commit. */ public static function getCommitAuthor($_target = NULL) { if ($_target == NULL) { $target = "HEAD"; } else { $target = "origin/" . $_target; } return exec('git log --pretty="%cn" -n1 ' . $target); } /** * Récupère le message du dernier commit pour une cible donnée. * * @param string|null $_target Cible Git (par défaut HEAD). * @return string Retourne le message du commit. */ public static function getCommitName($_target = NULL) { if ($_target == NULL) { $target = "HEAD"; } else { $target = "origin/" . $_target; } return exec('git log --pretty="%s" -n1 ' . $target); } /** * Récupère le nom de la branche actuelle ou d'une cible donnée. * * @param string|null $_target Cible Git (facultatif). * @return string Retourne le nom de la branche. */ public static function getBranchName($_target = NULL) { if ($_target == NULL) { return exec('git rev-parse --abbrev-ref HEAD'); } else { return $_target; } } /** * Affiche les informations de version pour une cible donnée. * * @param string|null $_target Cible Git (facultatif). * @return void */ public static function printVersion($_target = NULL) { echo sprintf( '
%s %s %s
%s
Le %s
', self::getCommitAuthor($_target), self::getBranchName($_target), self::getCommitHash($_target), self::getCommitName($_target), self::getCommitDate($_target) ); } }