1*b32fbb63SXin Li#!/bin/bash 2*b32fbb63SXin Li 3*b32fbb63SXin Li# Copyright (C) 2020 The Android Open Source Project 4*b32fbb63SXin Li# 5*b32fbb63SXin Li# Licensed under the Apache License, Version 2.0 (the "License"); 6*b32fbb63SXin Li# you may not use this file except in compliance with the License. 7*b32fbb63SXin Li# You may obtain a copy of the License at 8*b32fbb63SXin Li# 9*b32fbb63SXin Li# http://www.apache.org/licenses/LICENSE-2.0 10*b32fbb63SXin Li# 11*b32fbb63SXin Li# Unless required by applicable law or agreed to in writing, software 12*b32fbb63SXin Li# distributed under the License is distributed on an "AS IS" BASIS, 13*b32fbb63SXin Li# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*b32fbb63SXin Li# See the License for the specific language governing permissions and 15*b32fbb63SXin Li# limitations under the License. 16*b32fbb63SXin Li 17*b32fbb63SXin Lireadme() { 18*b32fbb63SXin Li echo ' 19*b32fbb63SXin LiClone a git project for the unbundled development workflows in instead of 20*b32fbb63SXin Li the whole Android repo 21*b32fbb63SXin Lie.g. 22*b32fbb63SXin LiGIT_REPO_URL="https://android.googlesource.com" \ 23*b32fbb63SXin Li PROJECT="platform/tools/aadevtools" \ 24*b32fbb63SXin Li WORK_DIR="$PWD" \ 25*b32fbb63SXin Li ./aadevtools/dev/clone_proj.sh 26*b32fbb63SXin Li' 27*b32fbb63SXin Li} 28*b32fbb63SXin Li 29*b32fbb63SXin Liif [[ -z $GIT_REPO_URL ]]; then 30*b32fbb63SXin Li readme 31*b32fbb63SXin Li GIT_REPO_URL="https://android.googlesource.com" 32*b32fbb63SXin Lifi 33*b32fbb63SXin Liecho "GIT_REPO_URL=$GIT_REPO_URL" 34*b32fbb63SXin Li 35*b32fbb63SXin Liif [[ -z $PROJECT ]]; then 36*b32fbb63SXin Li PROJECT="platform/tools/aadevtools" 37*b32fbb63SXin Lifi 38*b32fbb63SXin Liecho "PROJECT=$PROJECT" 39*b32fbb63SXin Li 40*b32fbb63SXin Li# e.g. taking "aadevtools" from "platform/tools/aadevtools" 41*b32fbb63SXin LiPROJECT_DIR=${PROJECT##*/} 42*b32fbb63SXin Li 43*b32fbb63SXin LiTODAY=$(date +"%y%m%d") 44*b32fbb63SXin Liif [[ -z $WORK_DIR ]]; then 45*b32fbb63SXin Li export WORK_DIR="$PWD/$TODAY/$BRANCH" 46*b32fbb63SXin Lifi 47*b32fbb63SXin Liecho "WORK_DIR=$WORK_DIR" 48*b32fbb63SXin Li 49*b32fbb63SXin Limkdir -p $WORK_DIR 50*b32fbb63SXin Licd $WORK_DIR 51*b32fbb63SXin Li 52*b32fbb63SXin LiSECONDS=0 53*b32fbb63SXin Liecho "Cloning $PROJECT" 54*b32fbb63SXin Li 55*b32fbb63SXin Liif [[ -z $BRANCH ]]; then 56*b32fbb63SXin Li git clone "$GIT_REPO_URL/$PROJECT" 57*b32fbb63SXin Lielse 58*b32fbb63SXin Li echo echo "BRANCH=$BRANCH" 59*b32fbb63SXin Li git clone -b $BRANCH "$GIT_REPO_URL/$PROJECT" 60*b32fbb63SXin Lifi 61*b32fbb63SXin Li 62*b32fbb63SXin Liecho "Setup gerrit hooks" 63*b32fbb63SXin Licd "$WORK_DIR/$PROJECT_DIR" 64*b32fbb63SXin Lif=`git rev-parse --git-dir`/hooks/commit-msg ; mkdir -p $(dirname $f) ; curl -Lo $f https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x $f 65*b32fbb63SXin Li 66*b32fbb63SXin Licd $WORK_DIR 67*b32fbb63SXin Lils -l 68*b32fbb63SXin Li 69*b32fbb63SXin Liecho " 70*b32fbb63SXin LiCloned $PROJECT projects took $SECONDS sec. 71*b32fbb63SXin Li 72*b32fbb63SXin LiDo your magic and then get the change pushed for review, e.g.: 73*b32fbb63SXin Ligit add . 74*b32fbb63SXin Ligit commit 75*b32fbb63SXin Ligit push origin HEAD:refs/for/'BRANCH' 76*b32fbb63SXin Li" 77