Drush Make supprime les dossiers .git

11

Après un sentiment stupide avec drush make et github, j'ai découvert que tous les dossiers .git (utilisés par git pour enregistrer l'historique, la configuration, l'emplacement d'origine, etc.) ont été supprimés par drush make et j'en ai entendu parler avant mais je n'en ai pas rencontré moi-même car je ne maintenais pas les fichiers make.

Plus précisément, drush make supprime le dossier .git et vous pouvez voir que si vous l'exécutez avec l'option --debug

Executing: rm -rf '/tmp/drush_make_tmp_1305733094/__git__/__build__/.git'

Dans mon fichier de création, je récupère 4 choses à partir de git repo parce que je souhaite suivre le développement sur celles-ci, 2 d'entre elles sont mes composants personnalisés (1 module personnalisé et 1 fonctionnalité qui enregistre toute la config) et l'autre noyau drupal et module multimédia en raison au volume élevé de correctifs qu'ils reçoivent. L'ensemble du but semble vaincu si je ne peux pas avoir les dossiers .git respectifs, mais je suis également sûr qu'il existe un moyen car d'autres utilisent drush make avec git mais ne l'ont pas trouvé dans ma recherche rapide.

Merci pour votre temps!

Dipen
la source

Réponses:

17

Passez le commutateur "--working-copy" à Drush Make.

drush make --working-copy site.make
Tom Kirkpatrick
la source
5
Si vous souhaitez contrôler cela par projet, vous pouvez ajouter au fichier make:projects[project_name][options][working-copy] = TRUE
Andy
7

Et si vous utilisez YAML pour votre fichier make, ce qui suit vous permettra de conserver les informations du référentiel .git:

projects:

  drupal:
    type: core
    version: 8.0.x
    download:
      working-copy: true

De plus, si vous ne voulez pas que drush ajoute des informations supplémentaires aux fichiers .info des projets, assurez-vous d'utiliser l' --no-gitinfofileoption lors de l'exécution drush make.

geerlingguy
la source
3

Projet par projet, dans un fichier de création, vous pouvez ajouter l'option comme celle-ci

projets [nom_projet] [téléchargement] [type] = git
projets [nom_projet] [téléchargement] [url] = ssh: //[email protected]
projets [nom_projet] [options] [copie de travail] = VRAI
thtas
la source
Ce n'est pas correct; Le commentaire d'Andy ci-dessus fonctionne réellement. Vous devez utiliser le tableau d'options, pas le tableau de téléchargement, pour récupérer la copie de travail.
Ryan Szrama