Jak mogę sklonować git z drush, aby pobrać wersję modułu HEAD?

11

Czy istnieje sposób sklonowania lub pobrania wersji HEAD modułu w repozytorium git drupal.org?

Na przykład, jeśli korzystam z Drupal 7, a ostatnia gałąź Widoków to 3, chciałbym zrobić:

drush git-clone views

aby osiągnąć coś równoważnego z:

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

Najlepiej, używając, drush git-clone views-3xpowinno jawnie sklonować gałąź 3.x.

Czy to możliwe, czy marzę? Byłoby to bardzo przydatne do rozwijania.

Pere
źródło

Odpowiedzi:

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

Aktualizacja:

To prawda, że ​​po zatwierdzeniu git pullpakietu deweloperskiego istnieją zatwierdzenia, po przejściu przez drush dl musisz uruchomić, aby przejść do HEAD. Jeśli nie ma zapakowanego wydania dewelopera, a Drush sprawdza stabilne wydanie, musisz uruchomić git checkout 7.x-3.xpo drush dl.

Nie ma polecenia Drush, aby wykonać dosłowny klon git; częścią „wartości dodanej” drush dl jest to, że chwyta opublikowane wydania. Jeśli chcesz użyć git clone, być może najlepszym rozwiązaniem będzie krótki skrypt bash. Coś takiego:

Stosowanie:

$ clonedev views 3

Przykładowy skrypt:

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

Zmodyfikuj, aby dopasować.

greg_1_anderson
źródło
Właśnie go wypróbowałem i pobiera najnowsze wydanie deweloperskie, a nie HEAD. A jeśli nie ma dostępnej wersji dla programistów, pobiera najnowszą zalecaną lub obsługiwaną wersję.
Pere
OK, zobacz zaktualizowaną odpowiedź.
greg_1_anderson