Changeset 119859 in spip-zone


Ignore:
Timestamp:
Jan 20, 2020, 1:53:10 PM (8 months ago)
Author:
Cerdic
Message:

gestion du push en git

Location:
_plugins_/trad-lang/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/trad-lang/trunk

    • Property subgit:lock:559e071284f799e18c1a0d8d80ca5b00feb1492d deleted
    • Property subgit:lock:e670a558b74eb7058f1a5759957e54a0ac6a082c set to 2020-01-20T15:00:30.188
  • _plugins_/trad-lang/trunk/inc/salvatore_git.php

    r119858 r119859  
    8787/**
    8888 * Commit une liste de fichiers avec un message et auteur fourni
     89 * on utilise pas $user et $pass en git pour commit
    8990 * @param string $dir_repo
    9091 * @param array $files
     
    106107        $commands = [
    107108                "git add $files 2>&1",
    108                 "git commit -m " . escapeshellarg($message)." --author=".escapeshellarg(salvatore_git_format_author($author)),
     109                "git commit -m " . escapeshellarg($message)." --author=".escapeshellarg(salvatore_git_format_author($author)) . " 2>&1",
    109110        ];
    110111
     
    122123        return array($res, implode("\n", $output));
    123124}
     125
     126/**
     127 * on utilise pas $user et $pass en git pour push car ils sont dans le remote si c'est un https
     128 * et si c'est ssh il faut une cle pour le user www-data
     129 *
     130 * @param string $dir_repo
     131 * @param null $user
     132 * @param null $pass
     133 * @return array
     134 */
     135function salvatore_git_push_repository($dir_repo, $user=null, $pass=null) {
     136        $d = getcwd();
     137        chdir($dir_repo);
     138        $output = array();
     139        $res = true;
     140        // on ajoute tous les fichiers pour commit
     141        $commands = [
     142                "git pull --rebase 2>&1",
     143                // TODO : activer le push quand on sera en prod
     144                //"git push 2>&1",
     145        ];
     146
     147        foreach ($commands as $command) {
     148                $output[] = "> $command";
     149                $return_var = 0;
     150                exec($command, $output, $return_var);
     151                // si une erreur a eu lieu le signaler dans le retour
     152                if ($return_var) {
     153                        $res = false;
     154                }
     155        }
     156        chdir($d);
     157
     158        return array($res, implode("\n", $output));
     159}
  • _plugins_/trad-lang/trunk/inc/salvatore_pousseur.php

    r119858 r119859  
    168168                                }
    169169
    170                                 // TODO : push
     170                                // tous les commits sont faits
     171                                // on peut supprimer le fichier qui liste les commits
     172                                @unlink($file_commit);
     173
     174                                // et push si besoin
    171175                                // ne fera rien en svn (deja pushe)
    172 
     176                                list($res,$out) = $salvatore_push_repository($dir_depots . $source['dir_checkout'], empty($source['user']) ? null : $source['user'], empty($source['pass']) ? null : $source['pass']);
     177                                salvatore_log($out);
     178                                if (!$res) {
     179                                        salvatore_fail("[Pousseur] Erreur sur $module", "Erreur lors du commit :\n$out");
     180                                }
    173181                        }
    174182                }
Note: See TracChangeset for help on using the changeset viewer.