Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Unified Diff: tools/git_clone_to_google3.sh

Issue 1291603003: Add files from google3 to Git repo. (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: Remove BUILD, add BUILD.public, and update sync script to replace BUILD.google with BUILD. Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
+
« BUILD.public ('K') | « tools/get_skia_lkgr.sh ('k') | tools/sync_google3.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698