Drush Make elimina las carpetas .git

11

Después de una sensación tonta con drush make y github descubrí que todas las carpetas .git (utilizadas por git para registrar el historial, la configuración, la ubicación de origen, etc.) fueron eliminadas por drush make y he oído hablar de esto antes, pero no me encontré yo mismo ya que no estaba manteniendo los archivos de creación.

Específicamente, drush make elimina la carpeta .git y puede ver que si la ejecuta con la opción --debug

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

En mi archivo make, obtengo 4 cosas de git repo porque deseo rastrear el desarrollo en ellos, 2 de ellos son mis componentes personalizados (1 módulo personalizado y 1 función que registra toda la configuración) y el otro núcleo de drupal y módulo de medios debido a gran volumen de arreglos que reciben. Todo el propósito parece derrotado si no puedo tener las carpetas .git respectivas, pero también estoy seguro de que hay una forma ya que otros están usando drush make con git pero no pudieron encontrarlo en mi búsqueda rápida.

¡Gracias por tu tiempo!

Dipen
fuente

Respuestas:

17

Pase el interruptor "--working-copy" a Drush Make.

drush make --working-copy site.make
Tom Kirkpatrick
fuente
55
Si desea control por proyecto sobre esto, puede agregarlo al archivo de creación:projects[project_name][options][working-copy] = TRUE
Andy
7

Y si está utilizando YAML para su archivo make, lo siguiente le permitirá preservar la información del repositorio .git:

projects:

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

Y además, si no desea que drush agregue información adicional a los archivos .info de los proyectos, asegúrese de usar la --no-gitinfofileopción cuando se ejecute drush make.

geerlingguy
fuente
3

Proyecto por proyecto, en un archivo make puede agregar la opción como esta

proyectos [nombre_proyecto] [descarga] [tipo] = git
proyectos [nombre_proyecto] [descarga] [url] = ssh: //[email protected]
proyectos [nombre_proyecto] [opciones] [copia de trabajo] = VERDADERO
thtas
fuente
Esto no es correcto; El comentario de Andy anterior realmente funciona. Debe utilizar la matriz de opciones, no la matriz de descarga, para obtener la copia de trabajo.
Ryan Szrama