Index: third_party/libvpx_new/update_libvpx.sh |
diff --git a/third_party/libvpx_new/update_libvpx.sh b/third_party/libvpx_new/update_libvpx.sh |
new file mode 100755 |
index 0000000000000000000000000000000000000000..56926bc40780114bc0605e26e671ba59b3df4177 |
--- /dev/null |
+++ b/third_party/libvpx_new/update_libvpx.sh |
@@ -0,0 +1,137 @@ |
+#!/bin/bash -e |
+# |
+# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+# This tool is used to update libvpx source code with the latest git |
+# repository. |
+# |
+# Make sure you run this in a git checkout of deps/third_party/libvpx! |
+ |
+# Usage: |
+# |
+# $ ./update_libvpx.sh [branch | revision | file or url containing a revision] |
+# When specifying a branch it may be necessary to prefix with origin/ |
+ |
+# Tools required for running this tool: |
+# |
+# 1. Linux / Mac |
+# 2. git |
+ |
+export LC_ALL=C |
+ |
+# Location for the remote git repository. |
+GIT_REPO="https://chromium.googlesource.com/webm/libvpx" |
+ |
+GIT_BRANCH="origin/master" |
+LIBVPX_SRC_DIR="source/libvpx" |
+BASE_DIR=`pwd` |
+ |
+if [ -n "$1" ]; then |
+ GIT_BRANCH="$1" |
+ if [ -f "$1" ]; then |
+ GIT_BRANCH=$(<"$1") |
+ elif [[ $1 = http* ]]; then |
+ GIT_BRANCH=`curl $1` |
+ fi |
+fi |
+ |
+prev_hash="$(egrep "^Commit: [[:alnum:]]" README.chromium | awk '{ print $2 }')" |
+echo "prev_hash:$prev_hash" |
+ |
+rm -rf $LIBVPX_SRC_DIR |
+mkdir $LIBVPX_SRC_DIR |
+cd $LIBVPX_SRC_DIR |
+ |
+# Start a local git repo. |
+git clone $GIT_REPO . |
+ |
+# Switch the content to the latest git repo. |
+git checkout -b tot $GIT_BRANCH |
+ |
+add="$(git diff-index --diff-filter=A $prev_hash | grep -v vp10/ | \ |
+tr -s [:blank:] ' ' | cut -f6 -d\ )" |
+delete="$(git diff-index --diff-filter=D $prev_hash | grep -v vp10/ | \ |
+tr -s [:blank:] ' ' | cut -f6 -d\ )" |
+ |
+# Get the current commit hash. |
+hash=$(git log -1 --format="%H") |
+ |
+# README reminder. |
+echo "Update README.chromium:" |
+echo "===============" |
+echo "Date: $(date +"%A %B %d %Y")" |
+echo "Branch: master" |
+echo "Commit: $hash" |
+echo "===============" |
+echo "" |
+ |
+# Commit message header. |
+echo "Commit message:" |
+echo "===============" |
+echo "libvpx: Pull from upstream" |
+echo "" |
+ |
+# Output the current commit hash. |
+echo "Current HEAD: $hash" |
+echo "" |
+ |
+# Output log for upstream from current hash. |
+if [ -n "$prev_hash" ]; then |
+ echo "git log from upstream:" |
+ pretty_git_log="$(git log \ |
+ --no-merges \ |
+ --topo-order \ |
+ --pretty="%h %s" \ |
+ --max-count=20 \ |
+ $prev_hash..$hash)" |
+ if [ -z "$pretty_git_log" ]; then |
+ echo "No log found. Checking for reverts." |
+ pretty_git_log="$(git log \ |
+ --no-merges \ |
+ --topo-order \ |
+ --pretty="%h %s" \ |
+ --max-count=20 \ |
+ $hash..$prev_hash)" |
+ fi |
+ echo "$pretty_git_log" |
+ # If it makes it to 20 then it's probably skipping even more. |
+ if [ `echo "$pretty_git_log" | wc -l` -eq 20 ]; then |
+ echo "<...>" |
+ fi |
+fi |
+ |
+# Commit message footer. |
+echo "" |
+echo "TBR=tomfinegan@chromium.org" |
+echo "===============" |
+ |
+# Git is useless now, remove the local git repo. |
+# Remove vp10 to cut down on code churn since it is not currently built. |
+rm -rf .git vp10 |
+ |
+# Add and remove files. |
+echo "$add" | xargs -I {} git add {} |
+echo "$delete" | xargs -I {} git rm --ignore-unmatch {} |
+ |
+# Find empty directories and remove them. |
+find . -type d -empty -exec git rm {} \; |
+ |
+# Mark the scripts as executable so presubmit doesn't complain. The important |
+# ones already have the x bit set but some of the files they include do not. |
+chmod 755 build/make/*.sh build/make/*.pl configure |
+ |
+# The build system doesn't support files with the same name. Search vp8, vp9 and vpx_dsp |
+# for such files. |
+duplicate_files=$(find vp8 vp9 vpx_dsp -type f | xargs basename | sort | uniq -d | \ |
+ egrep -v '(^exports_(dec|enc)|\.h)$' | \ |
+ xargs -I {} find vp8 vp9 vpx_dsp -name {}) |
+ |
+if [ -n "$duplicate_files" ]; then |
+ echo "WARNING: DUPLICATE FILES FOUND" |
+ echo "It would be a good idea to resolve these before attempting to roll" |
+ echo $duplicate_files |
+fi |
+ |
+cd $BASE_DIR |