¿Cómo hago git clone con drush para descargar la versión HEAD de un módulo?

11

¿Hay alguna forma de clonar o extraer la versión HEAD de un módulo en el repositorio git de drupal.org?

Por ejemplo, si estoy en Drupal 7, y la última rama de Vistas es 3, me gustaría hacer:

drush git-clone views

para lograr algo equivalente a:

cd sites/all/modules/
git clone --recursive --branch 7.x-3.x http://git.drupal.org/project/views.git

Idealmente, el uso drush git-clone views-3xdebería clonar la rama 3.x explícitamente.

¿Es esto posible o estoy soñando? Esto sería realmente útil para el desarrollo.

Pere
fuente

Respuestas:

10
drush dl views-7.x-3.x --package-handler=git_drupalorg

Actualizar:

Es cierto, si hay confirmaciones después de que se empaquetó la versión de desarrollo, deberá ejecutar git pullpara avanzar a HEAD después de verificar a través de drush dl. Si no hay una versión de desarrollo empaquetada y Drush comprueba una versión estable, entonces debe ejecutar git checkout 7.x-3.xdespués de drush dl.

No hay un comando Drush para hacer un clon literal de git; Parte del "valor agregado" de drush dl es que toma versiones publicadas. Si lo que quieres es git clone, quizás tu mejor solución sea un script corto de bash. Algo como esto:

Uso:

$ clonedev views 3

Script de ejemplo:

#!/bin/bash

MODULE=$1
VERSION=$2

DRUPAL=$(drush status "Drupal Version" --pipe | sed -e 's/\..*//')
if [ -n $DRUPAL ] ; then
  cd $(drush drupal-directory modules)
else
  DRUPAL=7
fi

git clone --recursive --branch $DRUPAL.x-$VERSION.x http://git.drupal.org/project/$MODULE.git

Modificar para adaptarse.

greg_1_anderson
fuente
Lo acabo de probar y descarga la última versión de desarrollo, no HEAD. Y si no hay una versión de desarrollo disponible, descarga la última versión recomendada o compatible.
Pere
Bien, mira la respuesta actualizada.
greg_1_anderson