如何使用drush进行git clone以下载模块的HEAD版本?


11

有没有办法在drupal.org git存储库中克隆或提取模块的HEAD版本?

例如,如果我在Drupal 7上,并且Views的最后一个分支是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分支。

这可能还是我在做梦?这对于开发确实有用。

Answers:


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

更新:

的确,如果在打包开发版本后进行提交,则需要git pull在通过drush dl签出后运行以进入HEAD。如果没有打包的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

修改以适合。


我刚刚尝试过,它会下载最新的开发版本,而不是HEAD。如果没有可用的开发版本,它将下载最新的推荐或支持的版本。
2013年

好的,请参阅更新的答案。
greg_1_anderson
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.