Carnet Wiki

Installer SPIP avec GIT / Composer

Version 9 — Février 2020 Peetdu

À ce jour (novembre 2019), SPIP est herbergé en GIT sur https://git.spip.net/SPIP et https://github.com/spip/SPIP

La distribution est séparée en plusieurs dépôts : en attendant le basculement à Composer, il est nécessaire d’utiliser un script pour tout récupérer en une fois.

Retour d’expérience sur les scripts existants :

1) git_checkout

Script d’azertyu : https://git.spip.net/contrib/git_loader

Le script permet de récupérer une version précise (un tag) ou le master, de choisir une méthode (ssh ou http).

Utilisation :

git_loader/git_loader.sh [-v] [-d] [-m]

  • -v : version de SPIP master ou x.y.z, par défaut master
  • -d : répertoire cible où télécharger SPIP et ses plugins, par défaut : répertoire courant
  • -m : mode de téléchargement (git ou http), par défaut http

Documentation complète : consulter le Readme

Exemple :

Pour récupérer la version 3.2.5 dans le sous-dossier « mon_spip » :

bash git_loader.sh -d mon_spip -v 3.2.5

2) checkout.php

Script de Cerdic : https://zone.spip.net/trac/spip-zone/browser/spip-zone/_outils_/checkout.php

Le script permet de suivre une branche, de récupérer une révision précise, de choisir une méthode entre git/svn/ftp, et d’indiquer un dépôt à utiliser (autres que ceux par défaut).

Utilisation :

checkout.php [methode] [-rRevision] [-bBranche] repoSource dirDest

checkout.php --help pour plus d’explications.

Exemple :

Pour récupérer en git la branche 3.2 dans le sous-dossier « mon_spip » :

php checkout.php spip -b3.2  mon_spip

3) spip-composer

Script de marcimat : https://github.com/marcimat/spip-composer

4) composer-installer

Script de James : https://git.spip.net/contrib/composer-installer

5) Récupérer un patch GIT pour SPIP

Exemple : appliquer le patch https://git.spip.net/spip/spip/pulls/17

Méthode 1  : récupérer le patch et l’appliquer
Cette méthode à l’avantage de marcher quelque soit la façon SPIP a été installé ( FTP , spip_loader , SVN , GIT )
<code
<
code >
wget https://git.spip.net/spip/spip/pulls/17.patch
git apply 17.patch

Méthode 2 : faire un checkout de la branche directement
Il me semble que celle-ci ne marche que si on a installé SPIP via une commande GIT.

<code Méthode 2  : faire un checkout de la branche directement
<
code >
git fetch origin pull/17/head:prive_fluide