Как мне сделать git clone с помощью drush для загрузки HEAD-версии модуля?

11

Есть ли способ клонировать или извлечь версию HEAD модуля в git-репозитории drupal.org?

Например, если я нахожусь на Drupal 7, и последняя ветвь Представлений - 3, я хотел бы сделать:

drush git-clone views

достичь чего-то эквивалентного:

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

В идеале, использование drush git-clone views-3xдолжно клонировать ветку 3.x явно.

Это возможно или я сплю? Это было бы действительно полезно для разработки.

Pere
источник

Ответы:

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

Обновить:

Верно, если есть коммиты после того, как релиз dev был упакован, вам нужно git pullбудет перейти к HEAD после проверки через drush dl. Если нет упакованного выпуска dev, и Drush проверяет стабильный выпуск, то вам нужно запустить git checkout 7.x-3.xпосле drush dl.

Нет команды Drush, чтобы сделать дословный клон git; Часть «добавленной стоимости» drush dl заключается в том, что он захватывает опубликованные версии. Если вам нужен git clone, возможно, лучшим решением будет короткий скрипт bash. Что-то вроде этого:

Использование:

$ clonedev views 3

Пример скрипта:

#!/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

Изменить, чтобы удовлетворить.

greg_1_anderson
источник
Я только что попробовал, и он загружает последнюю версию разработки, а не HEAD. И если нет доступного выпуска dev, он загружает последний рекомендуемый или поддерживаемый выпуск.
Pere
Хорошо, смотрите обновленный ответ.
greg_1_anderson