CMD: ' . htmlspecialchars($cmd) . "\nRETVAL: $retval\nOUTPUT: " . print_r($output, true) . "\nRESULT: $result"; } return substr(trim($result), 0, 10); } /** * 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