#!/bin/bash repo=/var/cache/git/reference_cache source_base_url=git://git-testing.drupal.org/project projects="drupal devel image mailhandler poormanscron privatemsg project redirect weather ecommerce captcha nodewords simpletest translation pathauto media comment_notify userpoints taxonews nodequeue porterstemmer g2 vote_up_down google_analytics taxonomy_filter geshifilter opensearch chessboard path_redirect token admin_menu services adminrole potx autoassignrole content_access l10n_server versioncontrol user_delete openlayers rules xmlsitemap css_injector userpoints_contrib talk millennium elements mollom linkchecker piwik storm plugin_manager realname languageicons project_issue_file_review uuid role_change_notify profile_permission userpoints_nc securepages_prevent_hijack search_by_page libraries og_statistics grammar_parser skinr faces nd encrypt password_change entitycache examples blogapi drupal_queue profile2 entity better_exposed_filters clock proxy contact vars simpletest_selenium sshkey multicron errornot fontyourface transformers date_popup_authored smartcrop embeddable edge rtsg field_collection comment_allow_anonymous field_formatter_settings myspace_sync references properties" # Create a temporary directory and arrange for cleanup on exit. TEMPDIR=`mktemp -d` trap "rm -Rf $TEMPDIR" EXIT if ! test -d $repo; then mkdir $repo fi cd $repo if ! test -d ".git"; then git init --bare git config core.compression 1 fi for project in $projects do git clone $source_base_url/$project.git $TEMPDIR/$project git remote add $project $TEMPDIR/$item git fetch --tags $project git remote set-url $project $source_base_url/$project.git done # To update, all we need to do is... git fetch --all