| OLD | NEW |
| 1 #!/usr/bin/env bash | 1 #!/usr/bin/env bash |
| 2 | 2 |
| 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 # Abort on error. | 7 # Abort on error. |
| 8 set -e | 8 set -e |
| 9 | 9 |
| 10 export DEPOT_TOOLS_UPDATE=0 | 10 export DEPOT_TOOLS_UPDATE=0 |
| 11 export PYTHONUNBUFFERED= | 11 export PYTHONUNBUFFERED= |
| 12 | 12 |
| 13 PWD=$(pwd) | 13 PWD=$(pwd) |
| 14 REPO_URL=file://$PWD/svnrepo | 14 GITREPO_PATH=$PWD/git_remote |
| 15 TRUNK_URL=$REPO_URL/trunk | |
| 16 BRANCH_URL=$REPO_URL/branches/some_branch | |
| 17 GITREPO_PATH=$PWD/gitrepo | |
| 18 GITREPO_URL=file://$GITREPO_PATH | 15 GITREPO_URL=file://$GITREPO_PATH |
| 19 PATH="$(dirname $PWD):$PATH" | 16 PATH="$(dirname $PWD):$PATH" |
| 20 GIT_CL=$(dirname $PWD)/git-cl | 17 GIT_CL=$(dirname $PWD)/git-cl |
| 21 GIT_CL_STATUS="$GIT_CL status -f" | 18 GIT_CL_STATUS="$GIT_CL status -f" |
| 22 | 19 |
| 23 # Set up an SVN repo that has a few commits to trunk. | |
| 24 setup_initsvn() { | |
| 25 echo "Setting up test SVN repo..." | |
| 26 rm -rf svnrepo | |
| 27 svnadmin create svnrepo | |
| 28 # Need this in order for Mac SnowLeopard to work | |
| 29 echo "enable-rep-sharing = false" >> svnrepo/db/fsfs.conf | |
| 30 | |
| 31 svn mkdir -q -m 'creating trunk' --parents $TRUNK_URL | |
| 32 | |
| 33 rm -rf svn | |
| 34 svn co -q $TRUNK_URL svn | |
| 35 ( | |
| 36 cd svn | |
| 37 echo "test" > test | |
| 38 svn add -q test | |
| 39 svn commit -q -m "initial commit" | |
| 40 echo "test2" >> test | |
| 41 svn commit -q -m "second commit" | |
| 42 ) | |
| 43 | |
| 44 svn cp -q -m 'branching' --parents $TRUNK_URL $BRANCH_URL | |
| 45 } | |
| 46 | |
| 47 # Set up a git-svn checkout of the repo. | |
| 48 setup_gitsvn() { | |
| 49 echo "Setting up test git-svn repo..." | |
| 50 rm -rf git-svn | |
| 51 # There appears to be no way to make git-svn completely shut up, so we | |
| 52 # redirect its output. | |
| 53 # clone with --prefix origin/ to ensure the same behaviour with old and new | |
| 54 # versions of git (The default prefix was "" prior to Git 2.0) | |
| 55 git svn --prefix origin/ -q clone -s $REPO_URL git-svn >/dev/null 2>&1 | |
| 56 ( | |
| 57 cd git-svn | |
| 58 git remote add origin https://example.com/fake_refspec | |
| 59 git config user.name 'TestDood' | |
| 60 git config user.email 'TestDood@example.com' | |
| 61 ) | |
| 62 } | |
| 63 | |
| 64 # Set up a git-svn checkout of the repo and apply merge commits | |
| 65 # (like the submodule repo layout). | |
| 66 setup_gitsvn_submodule() { | |
| 67 echo "Setting up test remote git-svn-submodule repo..." | |
| 68 rm -rf git-svn-submodule | |
| 69 # clone with --prefix origin/ to ensure the same behaviour with old and new | |
| 70 # versions of git (The default prefix was "" prior to Git 2.0) | |
| 71 git svn --prefix origin/ -q clone -s $REPO_URL git-svn-submodule >/dev/null 2>
&1 | |
| 72 svn_revision=`svn info file://$PWD/svnrepo | grep ^Revision | \ | |
| 73 sed s/^.*:// | xargs` | |
| 74 ( | |
| 75 cd git-svn-submodule | |
| 76 git config user.name 'TestDood' | |
| 77 git config user.email 'TestDood@example.com' | |
| 78 echo 'merge-file line 1' > merge-file | |
| 79 git add merge-file; git commit -q -m 'First non-svn commit on master' | |
| 80 git checkout -q refs/remotes/origin/trunk | |
| 81 git merge -q --no-commit --no-ff refs/heads/master >/dev/null 2>&1 | |
| 82 echo 'merge-edit-file line 1' > merge-edit-file | |
| 83 git add merge-edit-file | |
| 84 git commit -q -m "SVN changes up to revision $svn_revision" | |
| 85 git update-ref refs/heads/master HEAD | |
| 86 git checkout master | |
| 87 ) | |
| 88 } | |
| 89 | |
| 90 # Set up a git repo that has a few commits to master. | 20 # Set up a git repo that has a few commits to master. |
| 91 setup_initgit() { | 21 setup_git_remote() { |
| 92 echo "Setting up test upstream git repo..." | 22 echo "Setting up test upstream git repo..." |
| 93 rm -rf gitrepo | 23 rm -rf git_remote |
| 94 mkdir gitrepo | 24 mkdir git_remote |
| 95 | 25 |
| 96 ( | 26 ( |
| 97 cd gitrepo | 27 cd git_remote |
| 98 git init -q | 28 git init -q |
| 99 git config user.name 'TestDood' | 29 git config user.name 'TestDood' |
| 100 git config user.email 'TestDood@example.com' | 30 git config user.email 'TestDood@example.com' |
| 101 echo "test" > test | 31 echo "test" > test |
| 102 git add test | 32 git add test |
| 103 git commit -qam "initial commit" | 33 git commit -qam "initial commit" |
| 104 echo "test2" >> test | 34 echo "test2" >> test |
| 105 git commit -qam "second commit" | 35 git commit -qam "second commit" |
| 106 # Hack: make sure master is not the current branch | 36 # Hack: make sure master is not the current branch |
| 107 # otherwise push will give a warning | 37 # otherwise push will give a warning |
| 108 git checkout -q --detach master | 38 git checkout -q --detach master |
| 109 ) | 39 ) |
| 110 } | 40 } |
| 111 | 41 |
| 112 # Set up a git checkout of the repo. | 42 # Set up a git checkout of the repo. |
| 113 setup_gitgit() { | 43 setup_git_checkout() { |
| 114 echo "Setting up test git repo..." | 44 echo "Setting up test git repo..." |
| 115 rm -rf git-git | 45 rm -rf git_checkout |
| 116 git clone -q $GITREPO_URL git-git | 46 git clone -q $GITREPO_URL git_checkout |
| 117 ( | 47 ( |
| 118 cd git-git | 48 cd git_checkout |
| 119 git config user.name 'TestDood' | 49 git config user.name 'TestDood' |
| 120 git config user.email 'TestDood@example.com' | 50 git config user.email 'TestDood@example.com' |
| 121 ) | 51 ) |
| 122 } | 52 } |
| 123 | 53 |
| 124 cleanup() { | 54 cleanup() { |
| 125 rm -rf gitrepo svnrepo svn git-git git-svn git-svn-submodule | 55 rm -rf git_remote git_checkout |
| 126 } | 56 } |
| 127 | 57 |
| 128 # Usage: test_expect_success "description of test" "test code". | 58 # Usage: test_expect_success "description of test" "test code". |
| 129 test_expect_success() { | 59 test_expect_success() { |
| 130 echo "TESTING: $1" | 60 echo "TESTING: $1" |
| 131 exit_code=0 | 61 exit_code=0 |
| 132 sh -c "$2" || exit_code=$? | 62 sh -c "$2" || exit_code=$? |
| 133 if [ $exit_code != 0 ]; then | 63 if [ $exit_code != 0 ]; then |
| 134 echo "FAILURE: $1" | 64 echo "FAILURE: $1" |
| 135 return $exit_code | 65 return $exit_code |
| (...skipping 10 matching lines...) Expand all Loading... |
| 146 return $exit_code | 76 return $exit_code |
| 147 fi | 77 fi |
| 148 } | 78 } |
| 149 | 79 |
| 150 # Grab the XSRF token from the review server and print it to stdout. | 80 # Grab the XSRF token from the review server and print it to stdout. |
| 151 print_xsrf_token() { | 81 print_xsrf_token() { |
| 152 curl --cookie dev_appserver_login="test@example.com:False" \ | 82 curl --cookie dev_appserver_login="test@example.com:False" \ |
| 153 --header 'X-Requesting-XSRF-Token: 1' \ | 83 --header 'X-Requesting-XSRF-Token: 1' \ |
| 154 http://localhost:10000/xsrf_token 2>/dev/null | 84 http://localhost:10000/xsrf_token 2>/dev/null |
| 155 } | 85 } |
| OLD | NEW |