| Index: tools/git_clone_to_google3.sh
|
| diff --git a/tools/git_clone_to_google3.sh b/tools/git_clone_to_google3.sh
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..1e2f34f82dbcec546c928d9601775e484f64ba2c
|
| --- /dev/null
|
| +++ b/tools/git_clone_to_google3.sh
|
| @@ -0,0 +1,94 @@
|
| +#!/bin/bash
|
| +# Copyright 2014 Google Inc.
|
| +#
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +# Crude script to clone the git skia repo into the current directory, which
|
| +# must be a CitC client.
|
| +#
|
| +# Usage:
|
| +# ./tools/git_clone_to_google3.sh
|
| +
|
| +source gbash.sh || exit
|
| +DEFINE_string skia_rev "" "Git hash of Skia revision to clone, default LKGR."
|
| +
|
| +set -x -e
|
| +
|
| +# To run this script after making edits, run:
|
| +# g4 revert -k git_clone_to_google3.sh
|
| +# To get the file back into your CL, run:
|
| +# g4 edit git_clone_to_google3.sh
|
| +#g4 opened | grep -q "//depot" && gbash::die "Must run in a clean client."
|
| +
|
| +# Checkout LKGR of Skia in a temp location.
|
| +TMP=$(gbash::make_temp_dir)
|
| +pushd "${TMP}"
|
| +git clone https://skia.googlesource.com/skia
|
| +cd skia
|
| +git fetch
|
| +if [ -z "${FLAGS_skia_rev}" ]; then
|
| + # Retrieve last known good revision.
|
| + MY_DIR="$(gbash::get_absolute_caller_dir)"
|
| + FLAGS_skia_rev="$(${MY_DIR}/get_skia_lkgr.sh)"
|
| +fi
|
| +git checkout --detach "${FLAGS_skia_rev}"
|
| +
|
| +# Rsync to google3 location.
|
| +popd
|
| +# Use multichange client in case there are too many files for nomultichange. http://b/7292343
|
| +g4 client --set_option multichange
|
| +# Use allwrite to simplify opening the correct files after rsync.
|
| +g4 client --set_option allwrite
|
| +# Filter directories added to CitC.
|
| +rsync -avzJ \
|
| + --delete \
|
| + --delete-excluded \
|
| + --include=/bench \
|
| + --include=/dm \
|
| + --include=/gm \
|
| + --include=/include \
|
| + --include=/src \
|
| + --exclude=/src/animator \
|
| + --include=/tests \
|
| + --include=/third_party \
|
| + --include=/tools \
|
| + --include=/.git \
|
| + '--exclude=/*/' \
|
| + --include=/third_party/etc1 \
|
| + --include=/third_party/ktx \
|
| + --include=/third_party/libwebp \
|
| + '--exclude=/third_party/*/' \
|
| + "${TMP}/skia/" \
|
| + "./"
|
| +
|
| +# Open added/changed files for add/edit.
|
| +g4 reopen
|
| +# Revert files that are equivalent to the checked in version.
|
| +g4 revert -a
|
| +
|
| +# Tell CitC to ignore .git and .gitignore.
|
| +find . \
|
| + \( -name .git \
|
| + -o -name .gitignore \
|
| + \) \
|
| + -execdir g4 revert -k \{\} \;
|
| +
|
| +# Tell Git to ignore README.google and BUILD.
|
| +echo README.google >> .git/info/exclude
|
| +echo BUILD >> .git/info/exclude
|
| +g4 revert README.google
|
| +g4 revert BUILD
|
| +
|
| +# Use google3 version of OWNERS, README.google, and BUILD.
|
| +find . \
|
| + \( -name OWNERS -o -name README.google -o -name BUILD \) \
|
| + -exec git update-index --skip-worktree \{\} \; \
|
| + -execdir g4 revert \{\} \;
|
| +
|
| +# Tell git to ignore files left out of the rsync (i.e. "deleted" files).
|
| +git status --porcelain | \
|
| + grep -e "^ D" | \
|
| + cut -c 4- | \
|
| + xargs git update-index --skip-worktree
|
| +
|
|
|