Skip to content
Extraits de code Groupes Projets
Valider e670a558 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

gestion du push en git

parent 559e0712
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -86,6 +86,7 @@ function salvatore_git_status_file($dir_repo, $file_or_files) { ...@@ -86,6 +86,7 @@ function salvatore_git_status_file($dir_repo, $file_or_files) {
/** /**
* Commit une liste de fichiers avec un message et auteur fourni * Commit une liste de fichiers avec un message et auteur fourni
* on utilise pas $user et $pass en git pour commit
* @param string $dir_repo * @param string $dir_repo
* @param array $files * @param array $files
* @param string $message * @param string $message
...@@ -105,7 +106,7 @@ function salvatore_git_commit_files($dir_repo, $files, $message, $author, $user= ...@@ -105,7 +106,7 @@ function salvatore_git_commit_files($dir_repo, $files, $message, $author, $user=
// on ajoute tous les fichiers pour commit // on ajoute tous les fichiers pour commit
$commands = [ $commands = [
"git add $files 2>&1", "git add $files 2>&1",
"git commit -m " . escapeshellarg($message)." --author=".escapeshellarg(salvatore_git_format_author($author)), "git commit -m " . escapeshellarg($message)." --author=".escapeshellarg(salvatore_git_format_author($author)) . " 2>&1",
]; ];
foreach ($commands as $command) { foreach ($commands as $command) {
...@@ -121,3 +122,38 @@ function salvatore_git_commit_files($dir_repo, $files, $message, $author, $user= ...@@ -121,3 +122,38 @@ function salvatore_git_commit_files($dir_repo, $files, $message, $author, $user=
return array($res, implode("\n", $output)); return array($res, implode("\n", $output));
} }
/**
* on utilise pas $user et $pass en git pour push car ils sont dans le remote si c'est un https
* et si c'est ssh il faut une cle pour le user www-data
*
* @param string $dir_repo
* @param null $user
* @param null $pass
* @return array
*/
function salvatore_git_push_repository($dir_repo, $user=null, $pass=null) {
$d = getcwd();
chdir($dir_repo);
$output = array();
$res = true;
// on ajoute tous les fichiers pour commit
$commands = [
"git pull --rebase 2>&1",
// TODO : activer le push quand on sera en prod
//"git push 2>&1",
];
foreach ($commands as $command) {
$output[] = "> $command";
$return_var = 0;
exec($command, $output, $return_var);
// si une erreur a eu lieu le signaler dans le retour
if ($return_var) {
$res = false;
}
}
chdir($d);
return array($res, implode("\n", $output));
}
\ No newline at end of file
...@@ -167,9 +167,17 @@ function salvatore_pousser($liste_sources, $dir_modules=null, $dir_depots=null) ...@@ -167,9 +167,17 @@ function salvatore_pousser($liste_sources, $dir_modules=null, $dir_depots=null)
} }
} }
// TODO : push // tous les commits sont faits
// ne fera rien en svn (deja pushe) // on peut supprimer le fichier qui liste les commits
@unlink($file_commit);
// et push si besoin
// ne fera rien en svn (deja pushe)
list($res,$out) = $salvatore_push_repository($dir_depots . $source['dir_checkout'], empty($source['user']) ? null : $source['user'], empty($source['pass']) ? null : $source['pass']);
salvatore_log($out);
if (!$res) {
salvatore_fail("[Pousseur] Erreur sur $module", "Erreur lors du commit :\n$out");
}
} }
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter