summaryrefslogtreecommitdiff
path: root/tests/migrate-oldstyle-repos.setup
diff options
context:
space:
mode:
Diffstat (limited to 'tests/migrate-oldstyle-repos.setup')
-rwxr-xr-xtests/migrate-oldstyle-repos.setup56
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/migrate-oldstyle-repos.setup b/tests/migrate-oldstyle-repos.setup
new file mode 100755
index 0000000..eea87eb
--- /dev/null
+++ b/tests/migrate-oldstyle-repos.setup
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# Tests migration of old-style working repositories
+#
+# Copyright (C) 2012-2013, 2020 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 the repository
+repo="$DATADIR/migrate-test-repo"
+mkdir "$repo"
+cd "$repo"
+git init --quiet
+
+# add the test file
+echo "first line" > test.txt
+git add test.txt
+
+# make a commit
+git commit --quiet -m "first commit"
+
+# create the .lorry file for the repository
+cat <<EOF > $DATADIR/migrate-test-repo.lorry
+{
+ "migrate-test-repo": {
+ "type": "git",
+ "url": "file://$repo"
+ }
+}
+EOF
+
+# create the working directory
+workdir="$DATADIR/work-dir"
+test -d "$workdir" || mkdir "$workdir"
+
+# create old-style working repositories
+for work_repo in "$workdir/migrate-test-repo/git" \
+ "$workdir/migrate-test-repo/git-pre-update"; do
+ git init --bare "$work_repo"
+ git -C "$work_repo" fetch "$repo" '+refs/heads/*:refs/heads/*'
+ git -C "$work_repo" gc --aggressive
+done