summaryrefslogtreecommitdiff
path: root/tests/setup_once
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@codethink.co.uk>2012-03-13 10:21:23 +0000
committerRichard Maw <richard.maw@codethink.co.uk>2012-03-13 10:21:23 +0000
commitf92acb1aa6489468f0fb005f8c9eda4a9c49cf13 (patch)
treecab67cbe1f9652a769c174887f055699360bcb65 /tests/setup_once
parent8d3e147ce89ad191d91441fbb30a242033c865e1 (diff)
downloadlorry-f92acb1aa6489468f0fb005f8c9eda4a9c49cf13.tar.gz
tests: add new test, use same setup
Add a test for only pushing the refs specified. This checks whether the set of pushed refs is the same as those specified Also move no-pushspec-pushall.setup to setup_once as both pushspec tests share the same setup
Diffstat (limited to 'tests/setup_once')
-rwxr-xr-xtests/setup_once50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/setup_once b/tests/setup_once
new file mode 100755
index 0000000..afaaaf0
--- /dev/null
+++ b/tests/setup_once
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# Create an upstream git repository with multiple branches and tags
+#
+# Copyright (C) 2012 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+set -e
+
+# create a test repo with multiple branches and tags
+git_upstream="$DATADIR"/git-upstream
+
+# make the initial commit and tag it
+git init --quiet "$git_upstream"
+cd "$git_upstream"
+echo line 1 >file.txt
+git add file.txt
+git commit --quiet -m 'initial commit'
+git tag initial-commit
+
+# make multiple branches with different changes then tag when merging
+git branch topic/morelines
+git checkout -b topic/newfile
+echo newfile >newfile.txt
+git add newfile.txt
+git commit --quiet -m 'add newfile.txt'
+git checkout master
+git merge topic/newfile
+git tag rc1
+git checkout topic/morelines
+for i in `seq 2 10`; do
+ echo line $i >>file.txt
+done
+git commit --quiet -m 'add more lines' file.txt
+git checkout master
+git merge topic/morelines
+git tag rc2
+