Bagaimana cara saya melakukan git clone dengan drush untuk mengunduh modul versi HEAD?

11

Apakah ada cara untuk mengkloning atau menarik modul versi HEAD di repositori git drupal.org?

Misalnya, jika saya menggunakan Drupal 7, dan cabang terakhir dari Views adalah 3, saya ingin melakukan:

drush git-clone views

untuk mencapai sesuatu yang setara dengan:

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

Idealnya, menggunakan drush git-clone views-3xharus mengkloning cabang 3.x secara eksplisit.

Apakah ini mungkin atau saya sedang bermimpi? Ini akan sangat berguna untuk pengembangan.

Pere
sumber

Jawaban:

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

Memperbarui:

Benar, jika ada komit setelah rilis dev dipaket, Anda harus berlari git pulluntuk maju ke HEAD setelah check out melalui drush dl. Jika tidak ada rilis dev yang dikemas, dan Drush memeriksa rilis yang stabil, maka Anda perlu menjalankan git checkout 7.x-3.xsetelah drush dl.

Tidak ada perintah Drush untuk melakukan klon kata demi kata; bagian dari "nilai tambah" dari drush dl adalah bahwa ia meraih rilis yang dipublikasikan. Jika git clone adalah yang Anda inginkan, mungkin skrip bash pendek akan menjadi solusi terbaik Anda. Sesuatu seperti ini:

Pemakaian:

$ clonedev views 3

Skrip contoh:

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

Ubah agar sesuai.

greg_1_anderson
sumber
Saya baru saja mencobanya, dan mengunduh rilis dev terbaru, bukan KEPALA. Dan jika tidak ada rilis dev yang tersedia, ia mengunduh rilis terbaru yang direkomendasikan atau didukung.
Pere
Oke, lihat jawaban yang diperbarui.
greg_1_anderson