2 #############################################################################
4 ## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
5 ## Contact: http://www.qt-project.org/
7 ## This file is the build configuration utility of the Qt Toolkit.
9 ## $QT_BEGIN_LICENSE:LGPL$
10 ## GNU Lesser General Public License Usage
11 ## This file may be used under the terms of the GNU Lesser General Public
12 ## License version 2.1 as published by the Free Software Foundation and
13 ## appearing in the file LICENSE.LGPL included in the packaging of this
14 ## file. Please review the following information to ensure the GNU Lesser
15 ## General Public License version 2.1 requirements will be met:
16 ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
18 ## In addition, as a special exception, Nokia gives you certain additional
19 ## rights. These rights are described in the Nokia Qt LGPL Exception
20 ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
22 ## GNU General Public License Usage
23 ## Alternatively, this file may be used under the terms of the GNU General
24 ## Public License version 3.0 as published by the Free Software Foundation
25 ## and appearing in the file LICENSE.GPL included in the packaging of this
26 ## file. Please review the following information to ensure the GNU General
27 ## Public License version 3.0 requirements will be met:
28 ## http://www.gnu.org/copyleft/gpl.html.
31 ## Alternatively, this file may be used in accordance with the terms and
32 ## conditions contained in a signed written agreement between you and Nokia.
41 #############################################################################
51 elif [ $# -eq 3 ]; then
56 die "usage: $0 [url] [commit] ([hash])"
59 require_clean_work_tree() {
60 # test if working tree is dirty
61 git rev-parse --verify HEAD > /dev/null &&
62 git update-index --refresh &&
63 git diff-files --quiet &&
64 git diff-index --cached --quiet HEAD ||
65 die "Working tree is dirty"
68 test -z "$(git rev-parse --show-cdup)" || {
70 echo >&2 "You need to run this command from the toplevel of the working tree."
74 echo "checking working tree"
75 require_clean_work_tree
78 git fetch $repository $tag
80 die "git fetch failed"
84 rev=`git rev-parse FETCH_HEAD`
87 srcdir=src/3rdparty/v8
88 absSrcDir=$PWD/$srcdir
91 echo "replacing $srcdir"
92 if [ -d $srcdir ]; then
93 git ls-files $srcdir | xargs rm
94 git ls-files -z $srcdir | git update-index --force-remove -z --stdin
95 lastImport=`git rev-list --max-count=1 HEAD -- $srcdir/ChangeLog`
96 changes=`git rev-list --no-merges --reverse $lastImport.. -- $srcdir`
97 localDiff=/tmp/v8_patch
99 for change in $changes; do
100 echo "Saving commit $change"
101 git show -p --stat "--pretty=format:%nFrom %H Mon Sep 17 00:00:00 2001%nFrom: %an <%ae>%nDate: %ad%nSubject: %s%n%b%n" $change -- $srcdir >> $localDiff
102 echo "-- " >> $localDiff
103 echo "1.2.3" >> $localDiff
106 if [ -s $localDiff ]; then
107 echo "Saved locally applied patches to $localDiff"
115 git read-tree --prefix=$srcdir $rev
121 cat >commitlog.txt <<EOT
122 Updated V8 from $repository to $rev
127 git --no-pager diff --name-status --cached $srcdir
130 echo "Wrote commitlog.txt. Use with"
132 echo " git commit -e -F commitlog.txt"
134 echo "to commit your changes"
136 if [ -n "$localDiff" ]; then
138 echo "The Qt specific modifications to V8 are now stored as a git patch in $localDiff"
139 echo "You may want to appy them with"
141 echo " git am -3 $localDiff"