#!/bin/bash # Copyright (C) 2013 Linaro # # This is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Linaro Image Tools. If not, see . # Top-level base of git repo tree, for convenience BASE=/srv/repositories # We allow to create bundles only for repos in specific subtree(s), just list # them space-saparated in SUBTREES below. For example, to add # `/srv/repositories/foo/bar', just add `$BASE/foo/bar': # SUBTREE="$BASE/lava $BASE/foo/bar" SUBTREES="$BASE/lava" # grep pattern of repository paths to exclude #EXCLUDE="repo\.git" EXCLUDE="" function create_bundle() { git bundle create clone.bundle master 1>/dev/null } for repo_path in $SUBTREES do for repository in $(find $repo_path -type d -name "*.git" -prune) do if [ -n "$EXCLUDE" ] && echo $repository | grep -q $EXCLUDE; then echo Skipping $repository continue fi cd $repository create_bundle done done