Como faço para clonar git com drush para baixar a versão HEAD de um módulo?


11

Existe alguma maneira de clonar ou extrair a versão HEAD de um módulo no repositório drupal.org git?

Por exemplo, se eu estiver no Drupal 7 e o último ramo do Views for 3, eu gostaria de fazer:

drush git-clone views

para alcançar algo equivalente a:

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

Idealmente, o uso drush git-clone views-3xdeve clonar a ramificação 3.x explicitamente.

Isso é possível ou estou sonhando? Isso seria realmente útil para o desenvolvimento.

Respostas:


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

Atualizar:

É verdade que, se houver confirmações após o empacotamento da versão do desenvolvedor, você precisará executar git pullpara avançar para o HEAD após o check-out via drush dl. Se não houver uma versão de desenvolvimento empacotada e o Drush verificar uma versão estável, será necessário executar o git checkout 7.x-3.xdrush dl.

Não há comando Drush para executar um clone git literal; parte do "valor agregado" do drush dl é que ele obtém lançamentos publicados. Se o git clone é o que você deseja, talvez um script bash curto seja sua melhor solução. Algo assim:

Uso:

$ clonedev views 3

Script de exemplo:

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

Modifique para se adequar.


Eu apenas tentei e ele baixa a versão mais recente do desenvolvedor, não o HEAD. E se não houver uma versão de desenvolvedor disponível, ele fará o download da versão mais recente recomendada ou suportada.
Pere

Ok, veja a resposta atualizada.
Greg_1_anderson
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.