blob: ad36e98dfba9f5ce8d517e92c648febc2f56fbcf [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This script is used to migrate modules from SVN to Git
#!/bin/sh
if [ ! -f check_staged_release.sh ]; then
echo "Please run this script from the root of the Sling SVN repository"
exit 1
fi
# prefixes to strip from module paths. trailing slash is mandatory
prefixes='bundles/extensions/ bundles/ contrib/bundles contrib/extensions/ contrib/ karaf/ tooling/maven/'
git_repo_location='../sling-modules'
for module in $(./tooling/scm/scripts/gen-repo-candidates.sh); do
module_orig=$module
for prefix in $prefixes; do
module=${module#${prefix}}
done
repo_name=${module//\//-} # slashes to dashes
repo_name="sling-${repo_name}" # add TLP prefix
echo "---- Preparing to migrate $module_orig to $repo_name ---"
status=$(curl -s -o /dev/null -I -w "%{http_code}" https://git-wip-us.apache.org/repos/asf?p=${repo_name})
if [ $status = "404" ]; then
echo "Repository not found, will create";
elif [ $status = "200" ] ;then
echo "Repository exists, skipping";
else
echo "Unhandled HTTP status code ${status}, aborting"
exit 1
fi
if [ ! -d ${git_repo_location}/${repo_name}/.git ]; then
echo "Converting from SVN to Git..."
# TODO - migrate the repository from SVN to git
exit 2 # unimplemented
else
echo "Already converted"
fi
# TODO - create the repository using the ASF self-service tool
echo "Creating GIT repository ..."
exit 2 # unimplemented
cd ${git_repo_location}/${repo_name}
git remote add origin https://git-wip-us.apache.org/repos/asf/${repo_name}.git
git push -u origin master
done